@veloceapps/sdk 7.0.2-7 → 7.0.2-71

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 (192) 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 +6 -5
  6. package/cms/components/preview/preview.module.d.ts +2 -1
  7. package/cms/components/preview/preview.types.d.ts +4 -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/types/common.types.d.ts +11 -1
  23. package/cms/types/index.d.ts +2 -0
  24. package/cms/types/integration.types.d.ts +1 -0
  25. package/cms/types/layouts.types.d.ts +30 -2
  26. package/cms/types/pages.types.d.ts +1 -0
  27. package/cms/utils/element.utils.d.ts +1 -1
  28. package/cms/utils/elements-resolver.d.ts +6 -2
  29. package/cms/utils/index.d.ts +1 -0
  30. package/cms/utils/script.utils.d.ts +2 -0
  31. package/cms/utils/ui-builder-layout.utils.d.ts +4 -0
  32. package/cms/vendor-map.d.ts +15 -19
  33. package/core/core.module.d.ts +2 -0
  34. package/core/directives/directives.module.d.ts +7 -0
  35. package/core/directives/index.d.ts +2 -0
  36. package/core/directives/primeng-calendar.directive.d.ts +14 -0
  37. package/core/index.d.ts +2 -0
  38. package/core/modules/configuration/helpers.d.ts +4 -2
  39. package/core/modules/configuration/index.d.ts +1 -0
  40. package/core/modules/configuration/services/configuration-runtime.service.d.ts +2 -2
  41. package/core/modules/configuration/services/configuration.service.d.ts +6 -4
  42. package/core/modules/configuration/types/configuration-runtime.types.d.ts +1 -0
  43. package/core/modules/configuration/types/configuration.types.d.ts +10 -0
  44. package/core/modules/flow-configuration/services/flow-configuration.service.d.ts +2 -1
  45. package/core/pipes/date.pipe.d.ts +12 -0
  46. package/core/pipes/index.d.ts +4 -0
  47. package/core/pipes/number.pipe.d.ts +10 -0
  48. package/core/pipes/pipes.module.d.ts +9 -0
  49. package/core/pipes/price.pipe.d.ts +10 -0
  50. package/core/services/index.d.ts +1 -0
  51. package/core/services/runtime-settings.service.d.ts +21 -0
  52. package/core/types/formatting-settings.types.d.ts +11 -0
  53. package/core/types/index.d.ts +1 -0
  54. package/core/types/runtime.types.d.ts +1 -2
  55. package/core/types/ui-definition.types.d.ts +0 -40
  56. package/core/utils/line-item.utils.d.ts +10 -15
  57. package/core/utils/line-item.worker.d.ts +3 -6
  58. package/core/utils/ui-definition.utils.d.ts +1 -1
  59. package/esm2020/cms/cms.actions.mjs +140 -40
  60. package/esm2020/cms/cms.default.mjs +1 -1
  61. package/esm2020/cms/cms.elements.mjs +16 -4
  62. package/esm2020/cms/cms.layouts.mjs +73 -13
  63. package/esm2020/cms/components/element-children/element-children.component.mjs +11 -6
  64. package/esm2020/cms/components/element-drop-handle/element-drop-handle.component.mjs +2 -2
  65. package/esm2020/cms/components/element-tools-panel/element-tools-panel.component.mjs +35 -0
  66. package/esm2020/cms/components/preview/preview.component.mjs +18 -16
  67. package/esm2020/cms/components/preview/preview.module.mjs +22 -4
  68. package/esm2020/cms/components/preview/preview.types.mjs +1 -1
  69. package/esm2020/cms/definitions/index.mjs +2 -0
  70. package/esm2020/cms/definitions/ui-builder.definitions.mjs +18 -0
  71. package/esm2020/cms/index.mjs +3 -1
  72. package/esm2020/cms/injection-tokens.mjs +1 -2
  73. package/esm2020/cms/modules/migrations/migrations.mjs +10 -3
  74. package/esm2020/cms/modules/migrations/services/migrations.service.mjs +1 -1
  75. package/esm2020/cms/modules/migrations/types/migrations.types.mjs +1 -1
  76. package/esm2020/cms/modules/runtime/index.mjs +2 -1
  77. package/esm2020/cms/modules/runtime/services/compilation.service.mjs +5 -3
  78. package/esm2020/cms/modules/runtime/services/runtime-editor.service.mjs +5 -3
  79. package/esm2020/cms/modules/runtime/services/runtime.service.mjs +41 -6
  80. package/esm2020/cms/modules/runtime/types/runtime.actions.mjs +1 -1
  81. package/esm2020/cms/plugins/element-hover.plugin.mjs +121 -0
  82. package/esm2020/cms/plugins/page.plugin.mjs +37 -0
  83. package/esm2020/cms/plugins/region.plugin.mjs +3 -2
  84. package/esm2020/cms/plugins/script.plugin.mjs +6 -40
  85. package/esm2020/cms/services/integration.state.mjs +3 -6
  86. package/esm2020/cms/services/io-provider.service.mjs +7 -5
  87. package/esm2020/cms/types/common.types.mjs +1 -1
  88. package/esm2020/cms/types/index.mjs +3 -1
  89. package/esm2020/cms/types/integration.types.mjs +1 -1
  90. package/esm2020/cms/types/layouts.types.mjs +70 -1
  91. package/esm2020/cms/types/pages.types.mjs +2 -0
  92. package/esm2020/cms/utils/element.utils.mjs +1 -1
  93. package/esm2020/cms/utils/elements-resolver.mjs +22 -8
  94. package/esm2020/cms/utils/index.mjs +2 -1
  95. package/esm2020/cms/utils/script.utils.mjs +42 -0
  96. package/esm2020/cms/utils/ui-builder-layout.utils.mjs +46 -0
  97. package/esm2020/cms/vendor-map.mjs +5 -3
  98. package/esm2020/core/core.module.mjs +33 -4
  99. package/esm2020/core/directives/directives.module.mjs +16 -0
  100. package/esm2020/core/directives/index.mjs +3 -0
  101. package/esm2020/core/directives/primeng-calendar.directive.mjs +41 -0
  102. package/esm2020/core/index.mjs +3 -1
  103. package/esm2020/core/modules/configuration/configuration.module.mjs +2 -2
  104. package/esm2020/core/modules/configuration/helpers.mjs +37 -7
  105. package/esm2020/core/modules/configuration/index.mjs +2 -1
  106. package/esm2020/core/modules/configuration/services/configuration-runtime.service.mjs +3 -2
  107. package/esm2020/core/modules/configuration/services/configuration.service.mjs +35 -10
  108. package/esm2020/core/modules/configuration/services/runtime-context.service.mjs +6 -12
  109. package/esm2020/core/modules/configuration/types/configuration-runtime.types.mjs +1 -1
  110. package/esm2020/core/modules/configuration/types/configuration.types.mjs +2 -0
  111. package/esm2020/core/modules/flow-configuration/services/flow-configuration.service.mjs +4 -4
  112. package/esm2020/core/pipes/date.pipe.mjs +38 -0
  113. package/esm2020/core/pipes/index.mjs +5 -0
  114. package/esm2020/core/pipes/number.pipe.mjs +27 -0
  115. package/esm2020/core/pipes/pipes.module.mjs +18 -0
  116. package/esm2020/core/pipes/price.pipe.mjs +30 -0
  117. package/esm2020/core/services/index.mjs +2 -1
  118. package/esm2020/core/services/runtime-settings.service.mjs +88 -0
  119. package/esm2020/core/types/formatting-settings.types.mjs +3 -0
  120. package/esm2020/core/types/index.mjs +2 -1
  121. package/esm2020/core/types/runtime.types.mjs +1 -1
  122. package/esm2020/core/types/ui-definition.types.mjs +1 -1
  123. package/esm2020/core/utils/line-item.utils.mjs +22 -9
  124. package/esm2020/core/utils/line-item.worker.mjs +5 -5
  125. package/esm2020/core/utils/ui-definition.utils.mjs +1 -1
  126. package/esm2020/runtime/components/ui-runtime-preview/runtime-preview.component.mjs +2 -2
  127. package/esm2020/runtime/services/runtime-context.service.mjs +8 -5
  128. package/esm2020/runtime/services/runtime.service.mjs +1 -1
  129. package/esm2020/runtime/types/runtime.types.mjs +1 -1
  130. package/esm2020/src/components/dialog/dialog.component.mjs +3 -3
  131. package/esm2020/src/components/doc-gen/doc-gen.component.mjs +30 -7
  132. package/esm2020/src/components/guided-selling/guided-selling.component.mjs +117 -0
  133. package/esm2020/src/components/guided-selling/guided-selling.module.mjs +19 -0
  134. package/esm2020/src/components/header/cart-overlay/cart-preview.component.mjs +5 -6
  135. package/esm2020/src/components/header/cart-overlay/cart-preview.module.mjs +7 -4
  136. package/esm2020/src/components/header/header.component.mjs +59 -45
  137. package/esm2020/src/components/header/header.module.mjs +7 -3
  138. package/esm2020/src/components/header/metrics/metrics.component.mjs +35 -7
  139. package/esm2020/src/components/header/metrics/metrics.module.mjs +7 -3
  140. package/esm2020/src/flow-routing.module.mjs +1 -1
  141. package/esm2020/src/flow.component.mjs +4 -3
  142. package/esm2020/src/flow.module.mjs +11 -6
  143. package/esm2020/src/guards/context.guard.mjs +11 -8
  144. package/esm2020/src/pages/assets/assets.component.mjs +2 -2
  145. package/esm2020/src/pages/catalog/catalog.component.mjs +3 -3
  146. package/esm2020/src/pages/product/product.component.mjs +16 -9
  147. package/esm2020/src/pages/remote/remote.component.mjs +1 -1
  148. package/esm2020/src/pages/shopping-cart/shopping-cart.component.mjs +3 -3
  149. package/esm2020/src/services/flow-dialog.service.mjs +15 -15
  150. package/esm2020/src/services/flow-router.service.mjs +10 -5
  151. package/esm2020/src/services/flow.service.mjs +2 -2
  152. package/esm2020/src/services/guided-selling.service.mjs +33 -0
  153. package/esm2020/src/types/flow-customization.types.mjs +1 -1
  154. package/fesm2015/veloceapps-sdk-cms.mjs +872 -394
  155. package/fesm2015/veloceapps-sdk-cms.mjs.map +1 -1
  156. package/fesm2015/veloceapps-sdk-core.mjs +371 -47
  157. package/fesm2015/veloceapps-sdk-core.mjs.map +1 -1
  158. package/fesm2015/veloceapps-sdk-runtime.mjs +7 -4
  159. package/fesm2015/veloceapps-sdk-runtime.mjs.map +1 -1
  160. package/fesm2015/veloceapps-sdk.mjs +374 -135
  161. package/fesm2015/veloceapps-sdk.mjs.map +1 -1
  162. package/fesm2020/veloceapps-sdk-cms.mjs +955 -396
  163. package/fesm2020/veloceapps-sdk-cms.mjs.map +1 -1
  164. package/fesm2020/veloceapps-sdk-core.mjs +361 -44
  165. package/fesm2020/veloceapps-sdk-core.mjs.map +1 -1
  166. package/fesm2020/veloceapps-sdk-runtime.mjs +7 -4
  167. package/fesm2020/veloceapps-sdk-runtime.mjs.map +1 -1
  168. package/fesm2020/veloceapps-sdk.mjs +364 -133
  169. package/fesm2020/veloceapps-sdk.mjs.map +1 -1
  170. package/package.json +1 -1
  171. package/runtime/components/ui-runtime-preview/runtime-preview.component.d.ts +3 -3
  172. package/runtime/services/runtime.service.d.ts +2 -2
  173. package/runtime/types/runtime.types.d.ts +2 -2
  174. package/src/components/doc-gen/doc-gen.component.d.ts +7 -3
  175. package/src/components/guided-selling/guided-selling.component.d.ts +29 -0
  176. package/src/components/guided-selling/guided-selling.module.d.ts +9 -0
  177. package/src/components/header/cart-overlay/cart-preview.component.d.ts +1 -1
  178. package/src/components/header/cart-overlay/cart-preview.module.d.ts +1 -1
  179. package/src/components/header/header.component.d.ts +3 -4
  180. package/src/components/header/header.module.d.ts +2 -1
  181. package/src/components/header/metrics/metrics.component.d.ts +10 -2
  182. package/src/components/header/metrics/metrics.module.d.ts +2 -1
  183. package/src/flow.module.d.ts +6 -5
  184. package/src/guards/context.guard.d.ts +3 -2
  185. package/src/pages/assets/assets.component.d.ts +2 -1
  186. package/src/pages/catalog/catalog.component.d.ts +2 -1
  187. package/src/pages/product/product.component.d.ts +6 -3
  188. package/src/pages/remote/remote.component.d.ts +2 -1
  189. package/src/pages/shopping-cart/shopping-cart.component.d.ts +2 -1
  190. package/src/services/flow-router.service.d.ts +3 -1
  191. package/src/services/guided-selling.service.d.ts +13 -0
  192. package/src/types/flow-customization.types.d.ts +2 -2
@@ -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, 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,34 @@ 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;
75
71
  QuoteDraftService: typeof QuoteDraftService;
76
72
  FlowConfigurationService: typeof FlowConfigurationService;
77
73
  LineItemWorker: typeof LineItemWorker;
78
74
  ProductImagesService: typeof ProductImagesService;
79
75
  ContextService: typeof ContextService;
76
+ RuntimeSettingsService: typeof RuntimeSettingsService;
80
77
  };
81
78
  '@veloceapps/sdk/cms': {
82
79
  TemplatesService: typeof TemplatesService;
@@ -99,11 +96,10 @@ export declare const vendorMap: {
99
96
  }) => import("@veloceapps/sdk/cms").IntegrationAction<any>;
100
97
  CmsAction: typeof cmsActions.CmsAction;
101
98
  DEFAULT_PLUGINS_TOKEN: angularCore.InjectionToken<typeof import("./engine/models/plugin").Plugin[]>;
102
- UI_DEFINITION_METADATA: angularCore.InjectionToken<import("@veloceapps/sdk/core").UIDefinitionMetadata>;
99
+ UI_DEFINITION_METADATA: angularCore.InjectionToken<import("@veloceapps/core").UIDefinitionMetadata>;
103
100
  ELEMENT_METADATA: angularCore.InjectionToken<import("@veloceapps/sdk/cms").ElementMetadata>;
104
- SHARED_ELEMENT_METADATA: angularCore.InjectionToken<import("@veloceapps/sdk/cms").ElementMetadata>;
101
+ SHARED_ELEMENT_METADATA: angularCore.InjectionToken<import("@veloceapps/sdk/cms").ElementMetadata | undefined>;
105
102
  ELEMENT_CONFIG: angularCore.InjectionToken<import("@veloceapps/sdk/cms").ElementConfig>;
106
- VENDOR_MAP: angularCore.InjectionToken<lodash.Dictionary<any>>;
107
103
  };
108
104
  };
109
105
  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;
@@ -2,3 +2,4 @@ export * from './helpers';
2
2
  export * from './services/configuration-runtime.service';
3
3
  export * from './services/configuration.service';
4
4
  export * from './types/configuration-runtime.types';
5
+ 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, UIDefinition, 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";
@@ -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, 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 {
@@ -24,8 +25,8 @@ export declare class ConfigurationService {
24
25
  hasUnsavedChanges: boolean;
25
26
  constructor(quoteDraftService: QuoteDraftService, runtimeService: ConfigurationRuntimeService, contextService: ContextService, configurationApiService: ConfigurationApiService, messageService: MessageService, dialogService: DialogService);
26
27
  reset(): void;
27
- patch$(lineItem: LineItem): Observable<LineItem>;
28
- patch(lineItem: LineItem): void;
28
+ patch$(lineItem: LineItem, options?: PatchLineItemOptions): Observable<LineItem>;
29
+ patch(lineItem: LineItem, options?: PatchLineItemOptions): void;
29
30
  setConfigurableRamp(lineItem: LineItem): void;
30
31
  get(): Observable<LineItem | undefined>;
31
32
  getSnapshot(): LineItem | undefined;
@@ -38,7 +39,8 @@ export declare class ConfigurationService {
38
39
  get pricePlans$(): Observable<Dictionary<CompiledPricePlan>>;
39
40
  get pricePlansSnapshot(): Dictionary<CompiledPricePlan>;
40
41
  configure(): Observable<LineItem>;
41
- configureExternal$(productId: string, qty?: number): Observable<LineItem>;
42
+ configureExternal$(props: ExternalConfigurationProps): Observable<LineItem>;
43
+ configureGuidedSelling$(data: GuidedSellingSubmitData): Observable<ConfigurePrice>;
42
44
  private createRequest;
43
45
  private showInactiveProductsConfirmation;
44
46
  private getAsset;
@@ -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, UIDefinition } from '@veloceapps/core';
3
2
  export declare enum RuntimeMode {
4
3
  TEST = 0,
5
4
  PROD = 1
@@ -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;