@veloceapps/sdk 6.0.0-5 → 6.0.0-7
Sign up to get free protection for your applications and to get access to all the features.
- package/bundles/veloceapps-sdk-cms.umd.js +1 -0
- package/bundles/veloceapps-sdk-cms.umd.js.map +1 -1
- package/bundles/veloceapps-sdk-core.umd.js +18 -0
- package/bundles/veloceapps-sdk-core.umd.js.map +1 -1
- package/cms/vendor-map.d.ts +2 -1
- package/core/modules/flow-configuration/services/flow-configuration.service.d.ts +3 -1
- package/esm2015/cms/vendor-map.js +3 -2
- package/esm2015/core/modules/configuration/services/configuration.service.js +1 -1
- package/esm2015/core/modules/flow-configuration/services/flow-configuration.service.js +8 -1
- package/fesm2015/veloceapps-sdk-cms.js +2 -1
- package/fesm2015/veloceapps-sdk-cms.js.map +1 -1
- package/fesm2015/veloceapps-sdk-core.js +7 -0
- package/fesm2015/veloceapps-sdk-core.js.map +1 -1
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"veloceapps-sdk-cms.umd.js","sources":["../../../../libs/sdk/cms/cms.actions.ts","../../../../node_modules/tslib/tslib.es6.js","../../../../libs/sdk/cms/injection-tokens.ts","../../../../libs/sdk/cms/engine/models/entity.ts","../../../../libs/sdk/cms/components/element.component.ts","../../../../libs/sdk/cms/utils/path.utils.ts","../../../../libs/sdk/cms/services/dynamic-module.service.ts","../../../../libs/sdk/cms/services/io-provider.service.ts","../../../../libs/sdk/cms/services/templates.service.ts","../../../../libs/sdk/cms/plugins/io.plugin.ts","../../../../libs/sdk/cms/plugins/script.plugin.ts","../../../../libs/sdk/cms/cms.elements.ts","../../../../libs/sdk/cms/utils/element.utils.ts","../../../../libs/sdk/cms/services/element-context.service.ts","../../../../libs/sdk/cms/components/element-renderer/element-renderer.component.ts","../../../../libs/sdk/cms/components/element-renderer/element-renderer.component.html","../../../../libs/sdk/cms/components/element-children/element-children.component.ts","../../../../libs/sdk/cms/components/element-children/element-children.component.html","../../../../libs/sdk/cms/directives/custom-template.directive.ts","../../../../libs/sdk/cms/modules/federated/default-options.ts","../../../../libs/sdk/cms/modules/federated/federated.utils.ts","../../../../libs/sdk/cms/modules/federated/federated.component.ts","../../../../libs/sdk/cms/modules/federated/federated.component.html","../../../../libs/sdk/cms/modules/federated/federated.module.ts","../../../../libs/sdk/cms/plugins/configuration.plugin.ts","../../../../libs/sdk/cms/cms.default.ts","../../../../libs/sdk/cms/services/integration.state.ts","../../../../libs/sdk/cms/vendor-map.ts","../../../../libs/sdk/cms/utils/elements-resolver.ts","../../../../libs/sdk/cms/services/launcher.service.ts","../../../../libs/sdk/cms/components/preview/preview.component.ts","../../../../libs/sdk/cms/components/preview/preview.component.html","../../../../libs/sdk/cms/components/element-renderer/element-renderer.module.ts","../../../../libs/sdk/cms/components/element-children/element-children.module.ts","../../../../libs/sdk/cms/components/preview/preview.module.ts","../../../../libs/sdk/cms/decorators/element.decorator.ts","../../../../libs/sdk/cms/launcher.module.ts","../../../../libs/sdk/cms/veloceapps-sdk-cms.ts"],"sourcesContent":["import { IntegrationAction, Metric } from './types';\n\nexport enum FlowAction {\n FLOW_CONFIGURE_PRODUCT = 'FLOW_CONFIGURE_PRODUCT',\n FLOW_NAVIGATE_BACK = 'FLOW_NAVIGATE_BACK',\n FLOW_NAVIGATE_TO_CATALOG = 'FLOW_NAVIGATE_TO_CATALOG',\n FLOW_APPLY_PRODUCT_CONFIGURATION = 'FLOW_APPLY_PRODUCT_CONFIGURATION',\n FLOW_OPEN_DOC_GEN = 'FLOW_OPEN_DOC_GEN',\n FLOW_CLOSE_DOC_GEN = 'FLOW_CLOSE_DOC_GEN',\n FLOW_SWITCH_OBJECT = 'FLOW_SWITCH_OBJECT',\n REMOTE_APPLY = 'REMOTE_APPLY',\n REMOTE_CANCEL = 'REMOTE_CANCEL',\n SET_DEFAULT_METRICS = 'SET_DEFAULT_METRICS',\n}\n\nexport const ConfigureProductAction = ({\n lineItemId,\n productId,\n}: {\n lineItemId?: string;\n productId?: string;\n}): IntegrationAction => ({\n type: FlowAction.FLOW_CONFIGURE_PRODUCT,\n payload: { lineItemId, productId },\n});\n\nexport const NavigateBackAction = (): IntegrationAction => ({\n type: FlowAction.FLOW_NAVIGATE_BACK,\n});\n\nexport const NavigateToCatalogAction = (): IntegrationAction => ({\n type: FlowAction.FLOW_NAVIGATE_TO_CATALOG,\n});\n\nexport const ApplyProductConfigurationAction = (): IntegrationAction => ({\n type: FlowAction.FLOW_APPLY_PRODUCT_CONFIGURATION,\n});\n\nexport const OpenDocGenAction = (): IntegrationAction => ({\n type: FlowAction.FLOW_OPEN_DOC_GEN,\n});\n\nexport const CloseDocGenAction = (): IntegrationAction => ({\n type: FlowAction.FLOW_CLOSE_DOC_GEN,\n});\n\nexport const RemoteApplyAction = (): IntegrationAction => ({\n type: FlowAction.REMOTE_APPLY,\n});\n\nexport const RemoteCancelAction = (): IntegrationAction => ({\n type: FlowAction.REMOTE_CANCEL,\n});\n\nexport const SwitchObjectAction = (payload: { id: string }): IntegrationAction => ({\n type: FlowAction.FLOW_SWITCH_OBJECT,\n payload,\n});\n\nexport const SetDefaultMetrics = (metrics: Metric[]): IntegrationAction => ({\n type: FlowAction.SET_DEFAULT_METRICS,\n payload: { metrics },\n});\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { InjectionToken } from '@angular/core';\nimport { UIDefinitionMetadata } from '@veloceapps/sdk/core';\nimport { Dictionary } from 'lodash';\nimport { Plugin } from './engine/models/plugin';\nimport { ElementConfig, ElementMetadata } from './types/common.types';\n\nexport const DEFAULT_PLUGINS_TOKEN = new InjectionToken<typeof Plugin[]>('DEFAULT_PLUGINS_TOKEN');\n\nexport const UI_DEFINITION_METADATA = new InjectionToken<UIDefinitionMetadata>('UI_DEFINITION_METADATA_TOKEN');\nexport const ELEMENT_METADATA = new InjectionToken<ElementMetadata>('ELEMENT_METADATA_TOKEN');\nexport const SHARED_ELEMENT_METADATA = new InjectionToken<ElementMetadata>('SHARED_ELEMENT_METADATA_TOKEN');\nexport const ELEMENT_CONFIG = new InjectionToken<ElementConfig>('ELEMENT_CONFIG_TOKEN');\nexport const VENDOR_MAP = new InjectionToken<Dictionary<any>>('VENDOR_MAP');\n","import { Injector } from '@angular/core';\nimport { DEFAULT_PLUGINS_TOKEN, ELEMENT_CONFIG } from '../../injection-tokens';\nimport { ElementConfig } from '../../types/common.types';\nimport { Plugin } from './plugin';\n\nexport class Entity {\n protected readonly plugins: Plugin[] = [];\n\n private config: ElementConfig;\n private defaultPlugins: typeof Plugin[];\n\n constructor(public injector: Injector) {\n this.config = this.injector.get(ELEMENT_CONFIG);\n this.defaultPlugins = this.injector.get(DEFAULT_PLUGINS_TOKEN);\n }\n\n public initPlugins(): void {\n this.defaultPlugins.forEach(plugin => this.registerPlugin(new plugin(this)));\n this.config.plugins?.forEach(plugin => this.registerPlugin(new plugin(this)));\n }\n\n public registerPlugin(plugin: Plugin): void {\n this.plugins.push(plugin);\n }\n}\n","/* eslint-disable @angular-eslint/no-conflicting-lifecycle */\nimport {\n AfterContentInit,\n AfterViewChecked,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n DoCheck,\n Inject,\n Injector,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges,\n} from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { Entity } from '../engine/models/entity';\nimport { IPluginComponent } from './plugin.component';\n\n@Component({\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n jit: true,\n})\nexport class ElementComponent\n extends Entity\n implements OnChanges, OnInit, DoCheck, AfterContentInit, AfterViewInit, AfterViewChecked, OnDestroy\n{\n public readonly model$ = new BehaviorSubject<any | undefined>(undefined);\n public readonly plugins!: IPluginComponent[];\n\n constructor(@Inject(Injector) public injector: Injector) {\n super(injector);\n\n super.initPlugins();\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n this.plugins.forEach(plugin => plugin.ngOnChanges?.(changes));\n }\n\n public ngOnInit(): void {\n this.plugins.forEach(plugin => plugin.ngOnInit?.());\n }\n\n public ngDoCheck(): void {\n this.plugins.forEach(plugin => plugin.ngDoCheck?.());\n }\n\n public ngAfterContentInit(): void {\n this.plugins.forEach(plugin => plugin.ngAfterContentInit?.());\n }\n\n public ngAfterViewInit(): void {\n this.plugins.forEach(plugin => plugin.ngAfterViewInit?.());\n }\n\n public ngAfterViewChecked(): void {\n this.plugins.forEach(plugin => plugin.ngAfterViewChecked?.());\n }\n\n public ngOnDestroy(): void {\n this.plugins.forEach(plugin => plugin.ngOnDestroy?.());\n }\n}\n","import { compact } from 'lodash';\nimport { ElementMetadata, ElementPath, PathBlock } from '../types';\n\nexport const parseBoundPath = (path: string): PathBlock[] => {\n const regexp = new RegExp(`(?:\\\\/)(?:\\\\w+)(?:\\\\/)(?:ports|attributes)(?:\\\\/)(?:\\\\w+)|(?:\\\\/)(?:\\\\w+)`, 'g');\n const blocks: PathBlock[] =\n path.match(regexp)?.map(match => {\n const [type, property, name] = compact(match.split('/'));\n return { type, property, name };\n }) ?? [];\n\n return blocks;\n};\n\nexport const parsePath = (path: string): ElementPath => {\n const segments = path.split('/');\n let module: string | undefined;\n let variable: string | undefined;\n\n if (segments[0]?.startsWith('@')) {\n module = segments.shift()?.substring(1);\n }\n\n if (segments[segments.length - 1]?.[0] === ':') {\n variable = segments.pop()?.substring(1);\n }\n\n const isAbsolute = !segments[0];\n const nonEmptySegments = segments.filter(Boolean);\n\n if (!isAbsolute && nonEmptySegments[0] === '.') {\n nonEmptySegments.shift();\n }\n\n return {\n isAbsolute,\n segments: nonEmptySegments,\n module,\n variable,\n };\n};\n\nexport const findElementByModule = (\n elements: ElementMetadata[],\n module: string,\n elementName: string,\n): ElementMetadata | undefined => {\n for (const el of elements) {\n if (el.module === module && el.name === elementName) {\n return el;\n }\n\n const child = findElementByModule(el.children, module, elementName);\n if (child) {\n return child;\n }\n }\n\n return;\n};\n\nexport const getAbsolutePath = (\n elements: ElementMetadata[],\n subject: ElementMetadata,\n path: ElementPath,\n): string | undefined => {\n if (path.module) {\n return findElementByModule(elements, path.module, path.segments[0])?.path;\n }\n\n const subjectSegments = subject.path?.split('/') ?? [];\n const segments = [...path.segments];\n\n if (path.isAbsolute) {\n return segments.join('/');\n }\n\n while (segments.length) {\n const segment = segments.shift();\n\n if (segment === '..') {\n subjectSegments.pop();\n } else if (segment) {\n subjectSegments.push(segment);\n }\n }\n\n return subjectSegments.join('/');\n};\n","import { ComponentFactory, Injectable } from '@angular/core';\nimport { ElementMetadata } from '../types/common.types';\n\n@Injectable()\nexport class DynamicModuleService {\n private _elementsTree: ElementMetadata[] = [];\n private _componentFactories: ComponentFactory<any>[] = [];\n\n public set componentFactories(data: ComponentFactory<any>[]) {\n this._componentFactories = data;\n }\n\n public get componentFactories(): ComponentFactory<any>[] {\n return this._componentFactories;\n }\n\n public getComponentFactory(element: ElementMetadata): ComponentFactory<any> | undefined {\n return this.componentFactories.find(f => (f.componentType as any).path === element.path);\n }\n\n public get elementsTree(): ElementMetadata[] {\n return this._elementsTree;\n }\n\n public set elementsTree(tree: ElementMetadata[]) {\n this._elementsTree = tree;\n }\n\n public clear(): void {\n this._elementsTree = [];\n this.componentFactories = [];\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Dictionary } from 'lodash';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { ElementMetadata } from '../types/common.types';\nimport { getAbsolutePath, parsePath } from '../utils/path.utils';\nimport { DynamicModuleService } from './dynamic-module.service';\n\n@Injectable()\nexport class IOProviderService {\n private inputs: Dictionary<Dictionary<BehaviorSubject<any>>> = {};\n\n constructor(private dynamicModuleService: DynamicModuleService) {}\n\n public connect(el: ElementMetadata, name: string, target?: string | null): Observable<any> | undefined {\n return this.resolveTarget(el, name, target)?.asObservable();\n }\n\n public provide(el: ElementMetadata, name: string, target?: string | null): BehaviorSubject<any> | undefined {\n return this.resolveTarget(el, name, target);\n }\n\n private resolveTarget(el: ElementMetadata, name: string, target?: string | null): BehaviorSubject<any> | undefined {\n const isHost = !target;\n\n if (isHost) {\n return this.createSubjectSafe(el.path ?? '', name);\n }\n\n const elPath = parsePath(target as string);\n const pathIsValue =\n elPath.segments.length === 1 && elPath.segments[0].startsWith('\"') && elPath.segments[0].endsWith('\"');\n\n const finalName = elPath.variable ?? name;\n const value = pathIsValue ? new BehaviorSubject(elPath.segments[0].slice(1, -1)) : undefined;\n\n const absolutePath = !pathIsValue ? getAbsolutePath(this.dynamicModuleService.elementsTree, el, elPath) : el.path;\n return this.createSubjectSafe(absolutePath ?? '', finalName, value);\n }\n\n private createSubjectSafe(path: string, name: string, subject?: BehaviorSubject<any>): BehaviorSubject<any> {\n if (!this.inputs[path]) {\n this.inputs[path] = {};\n }\n\n const subjectAlreadyExists = Boolean(this.inputs[path][name]);\n\n if (!this.inputs[path][name]) {\n this.inputs[path][name] = subject ?? new BehaviorSubject<any>(undefined);\n }\n\n if (subject && subjectAlreadyExists) {\n // push delayed value to workaround 'changed after it was checked' issue\n setTimeout(() => this.inputs[path][name].next(subject.value));\n }\n\n return this.inputs[path][name];\n }\n}\n","import { Injectable, TemplateRef } from '@angular/core';\nimport { Dictionary } from 'lodash';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\ntype Template = TemplateRef<any> | undefined;\n\n@Injectable()\nexport class TemplatesService {\n private templates: Dictionary<BehaviorSubject<Template>> = {};\n\n public register(name: string, templateRef: TemplateRef<any>): void {\n this.ensureStorage(name);\n this.templates[name].next(templateRef);\n }\n\n public get(name: string): Template {\n this.ensureStorage(name);\n return this.templates[name].value;\n }\n\n public get$(name: string): Observable<Template> {\n this.ensureStorage(name);\n return this.templates[name].asObservable();\n }\n\n private ensureStorage(name: string): void {\n if (!this.templates[name]) {\n this.templates[name] = new BehaviorSubject<Template>(undefined);\n }\n }\n}\n","import { Directive } from '@angular/core';\nimport { ElementComponent } from '../components/element.component';\nimport { PluginComponent } from '../components/plugin.component';\nimport { ELEMENT_METADATA } from '../injection-tokens';\nimport { IOProviderService } from '../services/io-provider.service';\nimport { ElementMetadata } from '../types/common.types';\n\n@Directive()\nexport class IOPlugin implements PluginComponent {\n constructor(public host: ElementComponent) {\n const elementMetadata: ElementMetadata = this.host.injector.get(ELEMENT_METADATA);\n const inputProvider: IOProviderService = this.host.injector.get(IOProviderService);\n\n const inputs = Object.entries(elementMetadata.inputs ?? {});\n const outputs = Object.entries(elementMetadata.outputs ?? {});\n\n inputs.forEach(([key, path]) => {\n if (path && typeof path !== 'string') {\n console.error(`The value of '${key}' input should be a string`);\n }\n\n if (elementMetadata.outputs?.[key] !== undefined) {\n console.warn(\n `'${key}' appears both in inputs and outputs. To prevent inconsistent behavior please keep them unique `,\n );\n }\n\n (this.host as any)[key] = inputProvider.connect(elementMetadata, key, path);\n });\n\n outputs.forEach(([key, path]) => {\n if (path && typeof path !== 'string') {\n console.error(`The value of '${key}' output should be a string`);\n }\n\n (this.host as any)[key] = inputProvider.provide(elementMetadata, key, path);\n });\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Directive } from '@angular/core';\nimport { UUID } from '@veloceapps/core';\nimport { Dictionary } from 'lodash';\nimport { ElementComponent } from '../components/element.component';\nimport { PluginComponent } from '../components/plugin.component';\nimport { ELEMENT_METADATA, SHARED_ELEMENT_METADATA, VENDOR_MAP } from '../injection-tokens';\nimport { ElementMetadata } from '../types/common.types';\n\n@Directive()\nexport class ScriptPlugin implements PluginComponent {\n private document: Document;\n private vendorMap: Dictionary<any>;\n\n constructor(public host: ElementComponent) {\n this.document = this.host.injector.get(DOCUMENT);\n this.vendorMap = this.host.injector.get(VENDOR_MAP);\n const elementMetadata: ElementMetadata = this.host.injector.get(ELEMENT_METADATA);\n const sharedElementMetadata: ElementMetadata | undefined = this.host.injector.get(SHARED_ELEMENT_METADATA);\n\n this.addScript(sharedElementMetadata);\n this.addScript(elementMetadata);\n }\n\n private addScript(metadata?: ElementMetadata): void {\n if (!metadata?.script) {\n return;\n }\n\n const id = btoa(UUID.UUID());\n const script = this.document.createElement('script');\n script.type = `text/javascript`;\n\n let scriptContent = this.normalizeImports(metadata.script, metadata.path ?? metadata.name);\n\n const classMatch = /export class (\\S+)/.exec(scriptContent);\n const className = classMatch?.[1];\n\n if (!classMatch || !className) {\n console.error(\"Script doesn't have exported class\");\n return;\n }\n\n scriptContent = scriptContent.replace(classMatch[0], `class ${className}`);\n\n script.text = `var ${id} = function(vendor) {${scriptContent}\n return ${className}; };`;\n\n this.document.body.appendChild(script);\n\n const ScriptClass = (window as any)[id](this.vendorMap);\n if (ScriptClass instanceof Object) {\n this.host.registerPlugin(new ScriptClass(this.host));\n }\n\n this.document.body.removeChild(script);\n }\n\n private normalizeImports = (script: string, elementPath: string): string => {\n const regexp = new RegExp(\n `import([ \\\\n\\\\t]*(?:[^ \\\\n\\\\t\\\\{\\\\}]+[ \\\\n\\\\t]*,?)?(?:[ \\\\n\\\\t]*\\\\{(?:[ \\\\n\\\\t]*[^ \\\\n\\\\t\"'\\\\{\\\\}]+[ \\\\n\\\\t]*,?)+\\\\})?[ \\\\n\\\\t]*)from[ \\\\n\\\\t]*(['\"])([^'\"\\\\n]+)(?:['\"]);`,\n 'g',\n );\n const result = script.replace(regexp, (match, g1, g2, src) => {\n const imports = (g1 as string)\n .trim()\n .slice(1, -1)\n .split(',')\n .map(item => item.trim());\n\n imports.forEach(item => {\n if (!this.vendorMap[src]?.[item]) {\n throw new Error(`Failed to import ${item} from '${src}' in ${elementPath}/script.ts`);\n }\n });\n\n return `const ${g1} = vendor['${src}'];`;\n });\n return result;\n };\n}\n","import { ElementComponent } from './components/element.component';\nimport { IOPlugin } from './plugins/io.plugin';\nimport { ScriptPlugin } from './plugins/script.plugin';\nimport { ElementConfig, ELEMENT_TYPE } from './types/common.types';\n\n/*\n * ScriptPlugin must always be the last plugin in the list to make sure user code is running after all pre-initializers.\n */\n\nexport const CONFIG: { [key in ELEMENT_TYPE]: ElementConfig } = {\n CUSTOM: {\n component: ElementComponent,\n plugins: [IOPlugin, ScriptPlugin],\n },\n CONTAINER: {\n component: ElementComponent,\n defaultTemplate: '<element-children></element-children>',\n plugins: [ScriptPlugin],\n },\n SERVICE: {\n component: ElementComponent,\n plugins: [IOPlugin, ScriptPlugin],\n suppressTemplate: true,\n suppressStyles: true,\n },\n REFERENCE: {\n component: ElementComponent,\n plugins: [IOPlugin, ScriptPlugin],\n suppressTemplate: true,\n },\n};\n","import { UIElement } from '@veloceapps/sdk/core';\nimport { flatten } from 'lodash';\nimport { CONFIG } from '../cms.elements';\nimport { IOPlugin } from '../plugins/io.plugin';\nimport { ElementConfig, ElementDefaultMetadata, ElementMetadata, ElementModel, ELEMENT_TYPE } from '../types';\n\nconst EXPORTED_CLASS_REGEX = /export class (\\S+)/;\nconst METADATA_DECORATOR_REGEX = /@ElementDefinition\\(([\\s\\S]+)\\)(\\n|\\r\\n|.)*export class/g;\n\nexport class UiBuildError extends Error {\n public affectedMetadata: ElementMetadata;\n constructor(message: string, affectedMetadata: ElementMetadata) {\n super(message);\n this.name = this.constructor.name;\n this.affectedMetadata = affectedMetadata;\n }\n}\n\nexport const elementToMetadata = (el: UIElement, parentPath?: string): ElementMetadata => {\n const script = el.script && window.atob(el.script);\n const template = el.template && window.atob(el.template);\n const styles = el.styles && window.atob(el.styles);\n\n const exportedClassName = script && (EXPORTED_CLASS_REGEX.exec(script) ?? [])[1];\n\n if (!exportedClassName) {\n throw new Error(\"Script doesn't have exported class\");\n }\n\n const elementMetadata = extractElementMetadata(script || '');\n const path = (parentPath ? parentPath + '/' : '') + elementMetadata.name;\n\n return {\n ...elementMetadata,\n path,\n script: script?.replace(METADATA_DECORATOR_REGEX, 'export class'),\n template,\n styles,\n children: el.children.map(child => elementToMetadata(child, path)),\n };\n};\n\nexport const metadataToElement = (metadata: ElementMetadata, recursive: boolean = true): UIElement => {\n const elMetadata: ElementDefaultMetadata = {\n name: metadata.name,\n isShared: metadata.isShared,\n type: metadata.type,\n model: metadata.model,\n module: metadata.module,\n reference: metadata.reference,\n inputs: metadata.inputs,\n outputs: metadata.outputs,\n children: metadata.children.map(({ name }) => name),\n configuredStyles: metadata.configuredStyles,\n };\n const normalizedElMetadata = normalizeElementMetadata(elMetadata);\n\n if (!metadata.script || !EXPORTED_CLASS_REGEX.test(metadata.script)) {\n throw new UiBuildError(`'${metadata.name}' component script is missing an exported class`, metadata);\n }\n\n const script =\n metadata.script &&\n window.btoa(\n metadata.script.replace(\n EXPORTED_CLASS_REGEX,\n `@ElementDefinition(${stringifyElementMetadata(normalizedElMetadata)})\\nexport class Script`,\n ),\n );\n const template = metadata.template && window.btoa(metadata.template);\n const styles = metadata.styles && window.btoa(metadata.styles);\n\n return {\n script,\n template,\n styles,\n children: recursive ? metadata.children.map(meta => metadataToElement(meta)) : [],\n };\n};\n\nexport const normalizeElementMetadata = (elementMetadata: ElementDefaultMetadata): ElementDefaultMetadata => {\n const metadata = { ...elementMetadata };\n\n // model\n const { lineItem, path } = metadata.model ?? {};\n const model: ElementModel | undefined = lineItem ? { lineItem } : path ? { path } : undefined;\n if (model) {\n metadata.model = model;\n } else {\n delete metadata.model;\n }\n\n // module\n if (!metadata.module) {\n delete metadata.module;\n }\n\n // reference\n if (!metadata.reference) {\n delete metadata.reference;\n }\n\n // inputs\n const inputs = Object.entries(metadata.inputs ?? {}).reduce((acc, [key, value]) => {\n return { ...acc, [key]: value || null };\n }, {});\n if (inputs && Object.keys(inputs).length > 0) {\n metadata.inputs = inputs;\n } else {\n delete metadata.inputs;\n }\n\n // outputs\n const outputs = Object.entries(metadata.outputs ?? {}).reduce((acc, [key, value]) => {\n return { ...acc, [key]: value || null };\n }, {});\n if (outputs && Object.keys(outputs).length > 0) {\n metadata.outputs = outputs;\n } else {\n delete metadata.outputs;\n }\n\n // children\n if (!metadata.children?.length) {\n delete metadata.children;\n }\n\n // isShared\n if (!metadata.isShared) {\n delete metadata.isShared;\n }\n\n // configuredStyles\n if (!metadata.configuredStyles) {\n delete metadata.configuredStyles;\n }\n\n return metadata;\n};\n\nexport const extractElementMetadata = (script: string): ElementDefaultMetadata => {\n const metadataString = (METADATA_DECORATOR_REGEX.exec(script) ?? [])[1];\n\n // need to reset regex last index to prevent null result for next execution\n METADATA_DECORATOR_REGEX.lastIndex = 0;\n\n return new Function(`return ${metadataString}`)();\n};\n\nexport const extendElementMetadata = (script: string, extend: Partial<ElementDefaultMetadata>): string => {\n const metadataString = (METADATA_DECORATOR_REGEX.exec(script) ?? [])[1];\n\n // need to reset regex last index to prevent null result for next execution\n METADATA_DECORATOR_REGEX.lastIndex = 0;\n\n if (!metadataString) {\n return script;\n }\n\n const updated = { ...new Function(`return ${metadataString}`)(), ...extend };\n return script.replace(metadataString, stringifyElementMetadata(updated));\n};\n\nexport const getElementConfig = (type: ELEMENT_TYPE): ElementConfig => {\n return CONFIG[type];\n};\n\nexport const doesElementSupportIO = (type: ELEMENT_TYPE): boolean => {\n return getElementConfig(type).plugins?.includes(IOPlugin) ?? false;\n};\n\nexport function stringifyElementMetadata(elementMetadata: ElementDefaultMetadata): string {\n const cleaned = JSON.stringify(elementMetadata, null, 2);\n\n return cleaned.replace(/^[\\t ]*\"[^:\\n\\r]+(?<!\\\\)\":/gm, function (match) {\n return match.replace(/\"/g, '');\n });\n}\n\nexport const isValidScript = (script?: string): boolean => {\n if (!script) {\n return false;\n }\n\n const exportedClassName = script && (EXPORTED_CLASS_REGEX.exec(script) ?? [])[1];\n if (!exportedClassName) {\n return false;\n }\n\n const meta = extractElementMetadata(script);\n if (!meta.name || !meta.type) {\n return false;\n }\n\n return true;\n};\n\nexport function flattenElements(elements: ElementMetadata[]): ElementMetadata[] {\n return flatten(elements.map(el => [el, ...flattenElements(el.children)]));\n}\n\nexport function isSharedElement(el: ElementMetadata): boolean {\n return Boolean(el.isShared) && el.type !== 'REFERENCE';\n}\n","import { Injectable } from '@angular/core';\nimport { ElementMetadata } from '../types/common.types';\n\n@Injectable()\nexport class ElementContextService {\n public metadata?: ElementMetadata;\n public parentModelId?: string;\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentFactory,\n ComponentRef,\n ElementRef,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n SkipSelf,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { LineItem, UUID } from '@veloceapps/core';\nimport { ConfigurationService } from '@veloceapps/sdk/core';\nimport { Dictionary, isArray, pull } from 'lodash';\nimport { map, Observable, Subject, takeUntil } from 'rxjs';\nimport { DynamicModuleService } from '../../services/dynamic-module.service';\nimport { ElementContextService } from '../../services/element-context.service';\nimport { IOProviderService } from '../../services/io-provider.service';\nimport { ElementMetadata } from '../../types/common.types';\nimport { parseBoundPath } from '../../utils/path.utils';\n\n@Component({\n selector: 'vl-cms-element-renderer',\n templateUrl: './element-renderer.component.html',\n styleUrls: ['./element-renderer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [ElementContextService],\n})\nexport class ElementRendererComponent implements OnInit, OnDestroy {\n @ViewChild('el', { read: ViewContainerRef, static: true }) public el?: ViewContainerRef;\n\n @Input() public meta!: ElementMetadata;\n\n private factory?: ComponentFactory<any>;\n private refs: Dictionary<ComponentRef<any> | undefined> = {};\n private destroy$ = new Subject<void>();\n\n constructor(\n @SkipSelf() private parentInjector: Injector,\n private dynamicModuleService: DynamicModuleService,\n private elementContext: ElementContextService,\n private ioProviderService: IOProviderService,\n private configurationService: ConfigurationService,\n private elementRef: ElementRef,\n private cdr: ChangeDetectorRef,\n ) {}\n\n public ngOnInit(): void {\n this.elementContext.metadata = this.meta;\n this.factory = this.dynamicModuleService.getComponentFactory(this.meta);\n\n this.createComponents();\n }\n\n public ngOnDestroy(): void {\n this.destroyComponents();\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private createComponents(): void {\n const modelMeta = this.meta.model;\n\n if (!modelMeta) {\n this.refs[UUID.UUID()] = this.createComponent();\n return;\n }\n\n if (modelMeta.lineItem) {\n this.createFromLineItem(modelMeta.lineItem);\n } else if (modelMeta.path) {\n this.createFromPath(modelMeta.path);\n }\n }\n\n private createFromPath(path: string): void {\n const array$ = this.ioProviderService.connect(this.meta, 'children$', path);\n\n array$?.pipe(takeUntil(this.destroy$)).subscribe(children => {\n if (!isArray(children)) {\n return;\n }\n\n this.processChildren(children);\n });\n }\n\n private getModelComponent(): ElementRendererComponent | null {\n let component: ElementRendererComponent | null = null;\n let injector = this.parentInjector;\n\n while (!component) {\n const parentComp = injector.get(ElementRendererComponent, null);\n\n if (parentComp?.meta.model) {\n component = parentComp;\n break;\n }\n\n if (parentComp) {\n injector = parentComp.parentInjector;\n } else {\n break;\n }\n }\n\n return component;\n }\n\n private createFromLineItem(path: string): void {\n const parentComp = this.getModelComponent();\n const parentPath = parentComp?.meta.model?.lineItem;\n\n const pathBlocks = parseBoundPath(path).reverse();\n const { property, name } = pathBlocks[1] ?? {};\n const finalPath = pathBlocks[0];\n\n const children$ = this.getParentLineItem$(parentComp).pipe(\n map(model => {\n if (!model) {\n return [];\n }\n\n if (property === 'ports' && !finalPath.property && parentPath !== path) {\n return model.lineItems.filter(({ port }) => port === name) ?? [];\n }\n\n return [model];\n }),\n );\n\n children$.pipe(takeUntil(this.destroy$)).subscribe(children => {\n this.processChildren(children);\n });\n }\n\n private processChildren(children: any[]): void {\n const refs = children.reduce((acc, data, index) => {\n const key = String(data?.id ?? UUID.UUID());\n const existingRef = this.refs[key];\n\n const ref = existingRef ?? this.createComponent(data, index);\n if (existingRef) {\n this.updateComponent(existingRef, data, index);\n }\n\n return ref ? { ...acc, [key]: ref } : acc;\n }, {} as Dictionary<ComponentRef<any>>);\n\n const existingKeys = Object.keys(this.refs);\n const newKeys = Object.keys(refs);\n\n pull(existingKeys, ...newKeys).forEach(key => {\n this.destroyComponent(key);\n });\n\n this.refs = refs;\n this.cdr.detectChanges();\n }\n\n private getParentLineItem$(parentComp: ElementRendererComponent | null): Observable<LineItem | undefined> {\n const parentRefs = Object.values(parentComp?.refs ?? {});\n const parentRef = parentRefs.find(ref =>\n (ref?.location.nativeElement as HTMLElement)?.contains(this.elementRef.nativeElement),\n );\n\n const parentModel$ = parentRef?.instance.model$;\n\n return parentModel$ ?? this.configurationService.get();\n }\n\n private createComponent(data?: any, index?: number): ComponentRef<any> | undefined {\n if (!this.factory) {\n return;\n }\n\n const componentRef = this.el?.createComponent(this.factory, index);\n\n if (componentRef) {\n componentRef.location.nativeElement.setAttribute('name', this.meta.name);\n componentRef.location.nativeElement.setAttribute('path', this.meta.path);\n componentRef.instance?.model$.next(data);\n }\n\n return componentRef;\n }\n\n private updateComponent(ref: ComponentRef<any>, data: any, index: number): void {\n ref.instance.model$.next(data);\n\n if (this.el && this.el.indexOf(ref.hostView) !== index) {\n this.el.move(ref.hostView, index);\n }\n }\n\n private destroyComponent(key: string): void {\n this.refs[key]?.destroy();\n delete this.refs[key];\n }\n\n private destroyComponents(): void {\n Object.values(this.refs).forEach(ref => ref?.destroy());\n this.refs = {};\n }\n}\n","<ng-template #el></ng-template>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { ElementContextService } from '../../services/element-context.service';\nimport { ElementMetadata } from '../../types/common.types';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'element-children',\n templateUrl: 'element-children.component.html',\n styleUrls: ['./element-children.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ElementChildrenComponent {\n public metadata?: ElementMetadata;\n\n constructor(private elementContext: ElementContextService) {\n this.metadata = this.elementContext.metadata;\n }\n}\n","<ng-container *ngIf=\"metadata?.children.length\">\n <ng-container *ngFor=\"let child of metadata.children\">\n <vl-cms-element-renderer [meta]=\"child\"></vl-cms-element-renderer>\n </ng-container>\n</ng-container>\n","import { AfterViewInit, Directive, Input, TemplateRef } from '@angular/core';\nimport { TemplatesService } from '../services/templates.service';\n\n// eslint-disable-next-line @angular-eslint/directive-selector\n@Directive({ selector: '[customTemplate]' })\nexport class CustomTemplateDirective implements AfterViewInit {\n constructor(private templateRef: TemplateRef<any>, private templatesService: TemplatesService) {}\n\n @Input() public customTemplate: string | undefined;\n\n public ngAfterViewInit(): void {\n if (!this.customTemplate) {\n return;\n }\n\n this.templatesService.register(this.customTemplate, this.templateRef);\n }\n}\n","export const defaultOptions = {\n suppressLoading: false,\n loadingLabel: 'LOADING',\n};\n","import { Dictionary } from 'lodash';\n\ntype Scope = unknown;\ntype Factory = () => any;\n\ntype Container = {\n init(shareScope: Scope): void;\n get(module: string): Factory;\n};\n\ndeclare const __webpack_init_sharing__: (shareScope: string) => Promise<void>;\ndeclare const __webpack_share_scopes__: { default: Scope };\n\nconst moduleMap: Dictionary<boolean> = {};\n\nfunction loadRemoteEntry(remoteEntry: string): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n if (moduleMap[remoteEntry]) {\n resolve();\n return;\n }\n\n const script = document.createElement('script');\n script.src = remoteEntry;\n\n script.onerror = reject;\n\n script.onload = (): void => {\n moduleMap[remoteEntry] = true;\n resolve(); // window is the global namespace\n };\n\n document.body.append(script);\n });\n}\n\nasync function lookupExposedModule(remoteName: string, exposedModule: string): Promise<any> {\n // Initializes the share scope. This fills it with known provided modules from this build and all remotes\n await __webpack_init_sharing__('default');\n const container = (window as any)[remoteName] as Container; // or get the container somewhere else\n // Initialize the container, it may provide shared modules\n\n await container.init(__webpack_share_scopes__.default);\n const factory = await container.get(exposedModule);\n const Module = factory();\n return Module;\n}\n\nexport async function loadRemoteModule(remoteEntry: string, remoteName: string, exposedModule: string): Promise<any> {\n await loadRemoteEntry(remoteEntry);\n\n return await lookupExposedModule(remoteName, exposedModule);\n}\n","import {\n AfterViewInit,\n ApplicationRef,\n ChangeDetectionStrategy,\n Compiler,\n Component,\n ElementRef,\n Injector,\n Input,\n OnChanges,\n OnInit,\n Renderer2,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { defaultOptions } from './default-options';\nimport { FederatedComponentInstance, FederatedModuleOptions } from './federated.types';\nimport { loadRemoteModule } from './federated.utils';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'veloce-host-federated',\n templateUrl: './federated.component.html',\n styleUrls: ['./federated.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FederatedComponent implements OnInit, AfterViewInit, OnChanges {\n @ViewChild('moduleHost', { static: false }) public moduleHostRef?: ElementRef;\n\n @Input() public remoteEntry?: string;\n @Input() public remoteName?: string;\n @Input() public exposedModule?: string;\n @Input() public data?: any;\n @Input() public options?: FederatedModuleOptions;\n\n public isLoading$ = new BehaviorSubject(false);\n\n // configs\n public suppressLoading = defaultOptions.suppressLoading;\n public loadingLabel = defaultOptions.loadingLabel;\n\n private instance?: FederatedComponentInstance;\n\n constructor(\n private injector: Injector,\n private compiler: Compiler,\n private appRef: ApplicationRef,\n private renderer: Renderer2,\n ) {}\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (changes.data && this.instance) {\n this.instance.data = this.data;\n }\n\n if (changes.options) {\n this.suppressLoading = this.options?.suppressLoading ?? defaultOptions.suppressLoading;\n this.loadingLabel = this.options?.loadingLabel ?? defaultOptions.loadingLabel;\n }\n }\n\n public ngOnInit(): void {\n this.isLoading$.next(true);\n }\n\n public ngAfterViewInit(): void {\n const remoteEntry = this.options?.remoteEntry ?? this.remoteEntry;\n const remoteName = this.options?.remoteName ?? this.remoteName;\n const exposedModule = this.options?.exposedModule ?? this.exposedModule;\n\n if (!remoteEntry || !remoteName || !exposedModule) {\n return;\n }\n\n loadRemoteModule(remoteEntry, remoteName, exposedModule).then(federated => {\n this.compiler.compileModuleAsync(federated[exposedModule as string]).then(moduleFactory => {\n const rootModuleRef = moduleFactory.create(this.injector);\n const rootComponentFactory = rootModuleRef.componentFactoryResolver.resolveComponentFactory(\n federated[exposedModule as string].rootComponent,\n );\n const node = document.createElement('div');\n const { instance, hostView } = rootComponentFactory.create(this.injector, [], node);\n\n this.instance = instance as FederatedComponentInstance;\n this.instance.data = this.data;\n\n this.renderer.appendChild(this.moduleHostRef?.nativeElement, node);\n this.appRef.attachView(hostView);\n\n this.options?.onReady?.();\n this.isLoading$.next(false);\n });\n });\n }\n}\n","<div #moduleHost></div>\n\n<vl-loader *ngIf=\"!suppressLoading && (isLoading$ | async)\" [label]=\"loadingLabel\"></vl-loader>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { LoaderModule } from '@veloceapps/components';\nimport { FederatedComponent } from './federated.component';\n\n@NgModule({\n declarations: [FederatedComponent],\n imports: [CommonModule, LoaderModule],\n exports: [FederatedComponent],\n})\nexport class FederatedModule {}\n","import { Directive, OnDestroy } from '@angular/core';\nimport { LineItem } from '@veloceapps/core';\nimport { ConfigurationService, generateLineItem, getAttributeValue, LineItemWorker } from '@veloceapps/sdk/core';\nimport { map, Observable, Subject, takeUntil } from 'rxjs';\nimport { ElementComponent } from '../components/element.component';\nimport { PluginComponent } from '../components/plugin.component';\nimport { ELEMENT_METADATA } from '../injection-tokens';\nimport { AttributeElement, ConfigurationElement, PortElement, TypeElement } from '../types';\nimport { ElementMetadata } from '../types/common.types';\nimport { parseBoundPath } from '../utils/path.utils';\n\n@Directive()\nexport class ConfigurationPlugin implements PluginComponent, OnDestroy {\n private modelSnapshot?: LineItem;\n private destroy$ = new Subject<void>();\n\n private elementMetadata: ElementMetadata;\n private configurationService: ConfigurationService;\n\n constructor(public host: ElementComponent & ConfigurationElement) {\n this.elementMetadata = this.host.injector.get(ELEMENT_METADATA);\n this.configurationService = this.host.injector.get(ConfigurationService);\n\n if (this.elementMetadata.model?.lineItem) {\n this.host.model$.pipe(takeUntil(this.destroy$)).subscribe(model => (this.modelSnapshot = model));\n\n const pathBlocks = parseBoundPath(this.elementMetadata.model?.lineItem);\n const { type, property, name } = pathBlocks.reverse()[0];\n\n this.host.boundName = name ?? type;\n\n this.register(type, property, name);\n }\n }\n\n public ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private register(type?: string, property?: string, name?: string): void {\n if (!type) {\n return;\n }\n\n if (!property) {\n this.registerType();\n } else if (property === 'ports' && name) {\n this.registerPort(name);\n } else if (property === 'attributes' && name) {\n this.registerAttribute(name);\n }\n }\n\n private registerType(): void {\n const remove = (): void => {\n const rootLineItem = this.configurationService.getSnapshot();\n if (!rootLineItem || !this.modelSnapshot) {\n return;\n }\n this.configurationService.patch(new LineItemWorker(rootLineItem).remove(this.modelSnapshot.id).li);\n };\n\n this.typeHost.remove = remove;\n }\n\n private registerPort(name: string): void {\n const model$ = this.host.model$ as Observable<LineItem | undefined>;\n\n const portItems$ = model$.pipe(map(model => model?.lineItems.filter(li => li.port === this.host.boundName) ?? []));\n const portDomain$ = model$.pipe(map(model => model?.portDomains[this.host.boundName]));\n\n const add = (type: string, attributes: { name: string; value: any }[] = []): void => {\n if (!this.modelSnapshot) {\n return;\n }\n\n const portDomain = this.modelSnapshot.portDomains[name];\n if (!portDomain) {\n return;\n }\n\n const generated = generateLineItem(portDomain.name, type, this.modelSnapshot.id, attributes);\n this.configurationService.patch(\n new LineItemWorker(this.modelSnapshot).insert(this.modelSnapshot.id, generated).li,\n );\n };\n\n this.portHost.portItems$ = portItems$;\n this.portHost.portDomain$ = portDomain$;\n this.portHost.addPortItem = add;\n }\n\n private registerAttribute(name: string): void {\n if (!this.host.model$) {\n return;\n }\n\n const value$ = this.host.model$.pipe(map(model => getAttributeValue(model?.attributes ?? [], name)));\n\n const patch = (value: any): void => {\n if (!this.modelSnapshot) {\n return;\n }\n this.configurationService.patch(new LineItemWorker(this.modelSnapshot).patchAttribute([{ name, value }]).li);\n };\n\n this.attributeHost.value$ = value$;\n this.attributeHost.patch = patch;\n }\n\n private get attributeHost(): ElementComponent & AttributeElement {\n return this.host as ElementComponent & AttributeElement;\n }\n\n private get typeHost(): ElementComponent & TypeElement {\n return this.host as ElementComponent & TypeElement;\n }\n\n private get portHost(): ElementComponent & PortElement {\n return this.host as ElementComponent & PortElement;\n }\n}\n","import { UIDefinitionType } from '@veloceapps/sdk/core';\nimport { Plugin } from './engine/models/plugin';\nimport { ConfigurationPlugin } from './plugins/configuration.plugin';\n\nexport const DEFAULT_PLUGINS: { [key in UIDefinitionType]: typeof Plugin[] } = {\n CONFIGURATION: [ConfigurationPlugin],\n DEFAULT: [],\n};\n","import { Injectable } from '@angular/core';\nimport { Dictionary } from 'lodash';\nimport { BehaviorSubject, filter, map, Observable } from 'rxjs';\nimport { IntegrationAction } from '../types/integration.types';\n\nconst InitAction: IntegrationAction = { type: 'INIT' };\nconst ClearAction: IntegrationAction = { type: 'CLEAR' };\n\n@Injectable({ providedIn: 'root' })\nexport class IntegrationState<S = Dictionary<any>> {\n private readonly stateSubj$ = new BehaviorSubject<S>({} as S);\n private readonly action$ = new BehaviorSubject<IntegrationAction>(InitAction);\n\n public get state$(): Observable<S> {\n return this.stateSubj$.asObservable();\n }\n\n public get state(): S {\n return this.stateSubj$.getValue();\n }\n\n public patchState(update: Partial<S>): void {\n this.stateSubj$.next({ ...this.stateSubj$.getValue(), ...update });\n }\n\n public dispatch(action: IntegrationAction): void {\n this.action$.next(action);\n }\n\n public listen$<P = any>(actionType: string): Observable<P> {\n return this.action$.pipe(\n filter(action => action.type === actionType),\n map(action => action.payload as P),\n );\n }\n\n public listenAll$<T extends IntegrationAction>(): Observable<T> {\n return this.action$.asObservable() as Observable<T>;\n }\n\n public clear(): void {\n this.stateSubj$.next({} as S);\n this.action$.next(ClearAction);\n }\n}\n","import * as angularCore from '@angular/core';\nimport * as angularForms from '@angular/forms';\nimport {\n CatalogApiService,\n DeltaApiService,\n DocumentAttachmentApiService,\n DocumentTemplatesApiService,\n PicklistsApiService,\n PriceApiService,\n QuoteApiService,\n RampApiService,\n SalesforceApiService,\n} from '@veloceapps/api';\nimport {\n ConfigurationService,\n FlowConfigurationService,\n lineItemUtils,\n LineItemWorker,\n ProductImagesService,\n QuoteDraftService,\n} from '@veloceapps/sdk/core';\nimport * as lodash from 'lodash';\nimport * as rxjs from 'rxjs';\nimport * as rxjsOperators from 'rxjs/operators';\nimport * as cmsActions from './cms.actions';\nimport * as cmsInjectionTokens from './injection-tokens';\nimport { IntegrationState } from './services/integration.state';\nimport { TemplatesService } from './services/templates.service';\n\nconst VELOCE_LIBS = {\n '@veloceapps/sdk/core': {\n ConfigurationService,\n QuoteDraftService,\n FlowConfigurationService,\n LineItemWorker,\n ProductImagesService,\n ...lineItemUtils,\n },\n '@veloceapps/sdk/cms': {\n ...cmsInjectionTokens,\n ...cmsActions,\n TemplatesService,\n IntegrationState,\n },\n '@veloceapps/api': {\n SalesforceApiService,\n QuoteApiService,\n DocumentTemplatesApiService,\n DocumentAttachmentApiService,\n RampApiService,\n CatalogApiService,\n DeltaApiService,\n PicklistsApiService,\n PriceApiService,\n },\n};\n\nconst VELOCE_LIBS_BACKWARDS_COMPATIBLE = Object.entries(VELOCE_LIBS).reduce(\n (trunk, [key, value]) => ({ ...trunk, [key.replace('@veloceapps/', '@veloce/')]: value }),\n {},\n);\n\nexport const vendorMap = {\n ...VELOCE_LIBS,\n\n // TODO: remove when projects/demos are migrated to @veloceapps organization libraries\n ...VELOCE_LIBS_BACKWARDS_COMPATIBLE,\n\n '@angular/core': angularCore,\n '@angular/forms': angularForms,\n rxjs: rxjs,\n 'rxjs/operators': rxjsOperators,\n lodash: lodash,\n};\n\nexport type VendorMap = typeof vendorMap;\n","import { Component, Type } from '@angular/core';\nimport { transform } from '@babel/standalone';\nimport { UIDefinitionMetadata } from '@veloceapps/sdk/core';\nimport { flatten, kebabCase, set } from 'lodash';\nimport { DEFAULT_PLUGINS } from '../cms.default';\nimport { CONFIG } from '../cms.elements';\nimport {\n DEFAULT_PLUGINS_TOKEN,\n ELEMENT_CONFIG,\n ELEMENT_METADATA,\n SHARED_ELEMENT_METADATA,\n UI_DEFINITION_METADATA,\n VENDOR_MAP,\n} from '../injection-tokens';\nimport { ElementMetadata, ElementStyleDeclaration } from '../types';\nimport { vendorMap } from '../vendor-map';\n\nexport class ElementsResolver {\n public readonly elements: ElementMetadata[];\n\n private renderableElements: ElementMetadata[] = [];\n private sharedElements: ElementMetadata[] = [];\n\n constructor(private uiDef: UIDefinitionMetadata, elements: ElementMetadata[]) {\n const transpiledElements = this.transpileScripts(elements);\n\n this.sharedElements = this.flattenElements(transpiledElements).filter(el => this.isSharedElement(el));\n\n this.elements = transpiledElements.map(el => this.processElementMetadata(el)).filter(Boolean) as ElementMetadata[];\n\n this.renderableElements = this.getRenderableElements(this.elements);\n }\n\n public getNgComponents(): Type<any>[] {\n return this.renderableElements.map(el => this.resolveElement(el)).filter(Boolean) as Type<any>[];\n }\n\n private transpile(el: ElementMetadata): string | undefined {\n if (!el.script) {\n return;\n }\n\n const transformed = transform(el.script, {\n filename: el.name + '.ts',\n presets: ['typescript'],\n sourceMaps: 'inline',\n });\n\n return transformed.code ?? undefined;\n }\n\n private transpileScripts(elements: ElementMetadata[]): ElementMetadata[] {\n return elements.map(el => ({\n ...el,\n script: this.transpile(el),\n children: this.transpileScripts(el.children),\n }));\n }\n\n private flattenElements(elements: ElementMetadata[]): ElementMetadata[] {\n return flatten(elements.map(el => [el, ...this.flattenElements(el.children)]));\n }\n\n private isSharedElement(el: ElementMetadata): boolean {\n return Boolean(el.isShared) && el.type !== 'REFERENCE';\n }\n\n private getRenderableElements(elements: ElementMetadata[]): ElementMetadata[] {\n const renderable: ElementMetadata[] = [];\n\n for (const el of elements) {\n if (!this.isSharedElement(el)) {\n const children = el.children.filter(child => !this.isSharedElement(child));\n const renderableChildren = this.getRenderableElements(children);\n renderable.push({ ...el, children }, ...renderableChildren);\n }\n }\n\n return renderable;\n }\n\n private getSharedElement(element: ElementMetadata): ElementMetadata | undefined {\n if (!element.reference) {\n return;\n }\n\n return this.sharedElements.find(el => element.reference === el.name);\n }\n\n private resolveElementTemplate(element: ElementMetadata): string {\n const config = CONFIG[element.type];\n const template = !config.suppressTemplate ? element.template : '';\n\n return template || config.defaultTemplate || '';\n }\n\n private resolveElementStyles(element: ElementMetadata): string {\n const config = CONFIG[element.type];\n return !config.suppressStyles ? element.styles ?? '' : '';\n }\n\n private processElementMetadata(sourceElement: ElementMetadata): ElementMetadata | undefined {\n let finalElement: ElementMetadata;\n\n if (sourceElement.type === 'REFERENCE') {\n const sharedElement = this.getSharedElement(sourceElement);\n\n if (!sharedElement) {\n console.warn(`Shared element \"${sourceElement.reference}\" not found`);\n return;\n }\n\n finalElement = {\n ...sourceElement,\n children: this.getSharedChildren(sharedElement.children, sourceElement.path),\n type: sharedElement.type,\n template: sharedElement.template,\n styles: (sharedElement.styles ?? '') + '\\n' + (sourceElement.styles ?? ''),\n inputs: {\n ...sharedElement.inputs,\n ...sourceElement.inputs,\n },\n outputs: {\n ...sharedElement.outputs,\n ...sourceElement.outputs,\n },\n };\n } else {\n finalElement = sourceElement;\n delete sourceElement.reference;\n }\n\n finalElement.template = this.resolveElementTemplate(finalElement);\n finalElement.styles = this.resolveElementStyles(finalElement);\n\n return {\n ...finalElement,\n children: finalElement.children\n .map(child => this.processElementMetadata(child))\n .filter(Boolean) as ElementMetadata[],\n };\n }\n\n private getSharedChildren(children: ElementMetadata[], parentPath?: string): ElementMetadata[] {\n return children.map(c => {\n if (!c.path) {\n return c;\n }\n\n const [elName] = c.path.split('/').reverse();\n const path = parentPath + '/' + elName;\n\n return {\n ...c,\n path,\n children: this.getSharedChildren(c.children, path),\n };\n });\n }\n\n private resolveElement(element: ElementMetadata): Type<any> | undefined {\n const config = CONFIG[element.type];\n const defaultPlugins = DEFAULT_PLUGINS[this.uiDef.type] ?? [];\n\n if (!config) {\n console.warn(`Unknown element type \"${element.type}\"`);\n return;\n }\n\n const styles = this.getElementStyles(element);\n\n const component: Component = {\n selector: 'vl-element',\n template: element.template,\n ...(styles ? { styles: [styles] } : {}),\n providers: [\n { provide: DEFAULT_PLUGINS_TOKEN, useValue: defaultPlugins },\n { provide: UI_DEFINITION_METADATA, useValue: this.uiDef },\n { provide: ELEMENT_METADATA, useValue: element },\n { provide: SHARED_ELEMENT_METADATA, useValue: this.getSharedElement(element) },\n { provide: ELEMENT_CONFIG, useValue: config },\n { provide: VENDOR_MAP, useValue: vendorMap },\n ],\n };\n\n const cmp = Component(component)(class C extends config.component {});\n\n set(cmp, 'path', element.path);\n\n return cmp;\n }\n\n private getElementStyles(element: ElementMetadata): string | undefined {\n let result = '';\n\n const configuredStyles = this.convertInlineStylesToCSS(element.configuredStyles);\n if (configuredStyles) {\n // order is important: styles written by user in CSS code should has higher priority\n result += configuredStyles;\n }\n\n if (element.styles) {\n result += element.styles;\n }\n\n return result || undefined;\n }\n\n private convertInlineStylesToCSS(styles?: ElementStyleDeclaration): string {\n if (!styles) {\n return '';\n }\n\n const entries = Object.entries(styles);\n let result = ':host {\\n';\n\n entries.forEach(([style, value]) => {\n result += ` ${kebabCase(style)}:${value};\\n`;\n });\n\n result += '}\\n';\n\n return result;\n }\n}\n","import { DragDropModule } from '@angular/cdk/drag-drop';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CommonModule } from '@angular/common';\nimport { Compiler, Injectable, ModuleWithComponentFactories, NgModule, Type } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { UIDefinitionMetadata } from '@veloceapps/sdk/core';\nimport { from, map, Observable, tap } from 'rxjs';\nimport { ElementChildrenComponent } from '../components/element-children/element-children.component';\nimport { ElementRendererComponent } from '../components/element-renderer/element-renderer.component';\nimport { CustomTemplateDirective } from '../directives/custom-template.directive';\nimport { FederatedModule } from '../modules/federated/federated.module';\nimport { CompilationResult, ElementMetadata } from '../types';\nimport { ElementsResolver } from '../utils';\nimport { DynamicModuleService } from './dynamic-module.service';\n\n@Injectable()\nexport class LauncherService {\n private module?: Type<NgModule>;\n private moduleInstance?: ModuleWithComponentFactories<NgModule>;\n\n constructor(private compiler: Compiler, private dynamicModuleService: DynamicModuleService) {}\n\n public compileModule(uiDef: UIDefinitionMetadata, elements: ElementMetadata[]): Observable<CompilationResult> {\n const elementsResolver = new ElementsResolver(uiDef, elements);\n\n this.dynamicModuleService.elementsTree = elementsResolver.elements;\n this.module = this.getModule(elementsResolver.getNgComponents());\n\n return from(this.compiler.compileModuleAndAllComponentsAsync(this.module)).pipe(\n tap(m => {\n this.dynamicModuleService.componentFactories = m.componentFactories;\n this.moduleInstance = m;\n }),\n map(m => ({ module: m, elements: elementsResolver.elements })),\n );\n }\n\n public destroy(): void {\n if (this.moduleInstance) {\n this.dynamicModuleService.clear();\n this.moduleInstance = undefined;\n }\n\n if (this.module) {\n this.compiler.clearCacheFor(this.module);\n this.module = undefined;\n }\n }\n\n private getModule(components: Type<any>[]): Type<NgModule> {\n const staticComponents = [ElementChildrenComponent, ElementRendererComponent, CustomTemplateDirective];\n\n @NgModule({\n imports: [CommonModule, FormsModule, ReactiveFormsModule, FederatedModule, DragDropModule, ScrollingModule],\n declarations: [...staticComponents, ...components],\n jit: true,\n })\n class DynamicModule {}\n\n return DynamicModule;\n }\n}\n","import { ChangeDetectionStrategy, Component, Input, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\nimport { ConfigurationRuntimeService, ConfigurationService, UIDefinition, UIElement } from '@veloceapps/sdk/core';\nimport { MessageService } from 'primeng/api';\nimport { BehaviorSubject, catchError, forkJoin, Observable, of, Subject, switchMap, takeUntil, tap } from 'rxjs';\nimport { IntegrationState } from '../../services';\nimport { IOProviderService } from '../../services/io-provider.service';\nimport { LauncherService } from '../../services/launcher.service';\nimport { TemplatesService } from '../../services/templates.service';\nimport { ElementMetadata } from '../../types/common.types';\nimport { elementToMetadata } from '../../utils/element.utils';\n\ninterface State {\n loading: boolean;\n failure: boolean;\n}\n\n@Component({\n selector: 'vl-cms-preview',\n templateUrl: './preview.component.html',\n styleUrls: ['./preview.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [IOProviderService, TemplatesService],\n // use shadow DOM to prevent UI from being affected by global styles\n encapsulation: ViewEncapsulation.ShadowDom,\n})\nexport class PreviewComponent implements OnInit, OnDestroy {\n @Input() public modelId?: string;\n @Input() public uiDefinition?: UIDefinition;\n @Input() public clearState = false;\n\n public state$ = new BehaviorSubject<State>({ loading: true, failure: false });\n public elements: ElementMetadata[] = [];\n\n private destroy$ = new Subject<void>();\n\n constructor(\n private launcherService: LauncherService,\n private configurationService: ConfigurationService,\n private messageService: MessageService,\n private runtimeService: ConfigurationRuntimeService,\n private integrationState: IntegrationState,\n ) {}\n\n public ngOnInit(): void {\n if (this.clearState) {\n this.integrationState.clear();\n }\n\n this.startPreview();\n }\n\n public ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n\n this.configurationService.reset();\n }\n\n private initializeConfiguration$(): Observable<any> {\n const isAlreadyInitialized = this.runtimeService.isInitialized;\n if (!this.uiDefinition || this.uiDefinition.type !== 'CONFIGURATION' || isAlreadyInitialized) {\n return of({});\n }\n\n if (!this.modelId) {\n console.warn(`No modelId is given for uiDefinition with '${this.uiDefinition.type}' type`);\n return of({});\n }\n\n // If still not initialized - init configuration in Test mode\n return this.runtimeService\n .initTestMode(this.modelId, this.uiDefinition)\n .pipe(switchMap(() => this.configurationService.configure()));\n }\n\n private elementToMetadataSafe(elements: UIElement[]): ElementMetadata[] {\n try {\n return elements.map(element => elementToMetadata(element));\n } catch (e) {\n console.error(e);\n\n if (!this.uiDefinition?.properties?.suppressToastMessages) {\n this.messageService.add({ severity: 'error', summary: String(e) });\n }\n\n return [];\n }\n }\n\n private startPreview(): void {\n if (!this.uiDefinition) {\n return;\n }\n\n const { children, ...uiDefinitionMeta } = this.uiDefinition;\n const elements = this.elementToMetadataSafe(children);\n\n const compilation$ = this.launcherService.compileModule(uiDefinitionMeta, elements);\n\n forkJoin([compilation$, this.initializeConfiguration$()])\n .pipe(\n tap(([result]) => {\n this.elements = result.elements;\n this.state$.next({ loading: false, failure: false });\n }),\n catchError(error => {\n console.error(error);\n\n if (!this.uiDefinition?.properties?.suppressToastMessages) {\n this.messageService.add({ severity: 'error', summary: error });\n }\n\n this.state$.next({ loading: false, failure: true });\n\n return of();\n }),\n takeUntil(this.destroy$),\n )\n .subscribe();\n }\n}\n","<ng-container *ngIf=\"state$ | async as state\">\n <vl-loader *ngIf=\"state.loading; else content\" [label]=\"'Loading UI'\"></vl-loader>\n\n <ng-template #content>\n <ng-container *ngIf=\"!state.failure\">\n <vl-cms-element-renderer *ngFor=\"let el of elements\" [meta]=\"el\"></vl-cms-element-renderer>\n </ng-container>\n </ng-template>\n</ng-container>\n","import { NgModule } from '@angular/core';\nimport { ElementRendererComponent } from './element-renderer.component';\n\n@NgModule({\n declarations: [ElementRendererComponent],\n exports: [ElementRendererComponent],\n})\nexport class ElementRendererModule {}\n","import { NgModule } from '@angular/core';\nimport { ElementRendererModule } from '../element-renderer/element-renderer.module';\nimport { ElementChildrenComponent } from './element-children.component';\n\n@NgModule({\n declarations: [ElementChildrenComponent],\n imports: [ElementRendererModule],\n exports: [ElementChildrenComponent],\n})\nexport class ElementChildrenModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { LoaderModule } from '@veloceapps/components';\nimport { IntegrationState } from '../../services';\nimport { ElementChildrenModule } from '../element-children/element-children.module';\nimport { ElementRendererModule } from '../element-renderer/element-renderer.module';\nimport { PreviewComponent } from './preview.component';\n\n@NgModule({\n declarations: [PreviewComponent],\n imports: [CommonModule, LoaderModule, ElementRendererModule, ElementChildrenModule],\n providers: [IntegrationState],\n exports: [PreviewComponent],\n})\nexport class PreviewModule {}\n","import { ElementDefaultMetadata } from '../types';\n\nexport function ElementDefinition(definition: ElementDefaultMetadata) {\n return function (constructor: any): any {\n return constructor;\n };\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ApiModule } from '@veloceapps/api';\nimport { CoreModule } from '@veloceapps/core';\nimport { SdkCoreModule } from '@veloceapps/sdk/core';\nimport { DialogService } from 'primeng/dynamicdialog';\nimport { IntegrationState } from './services';\nimport { DynamicModuleService } from './services/dynamic-module.service';\nimport { LauncherService } from './services/launcher.service';\n\n@NgModule({\n imports: [CommonModule, CoreModule, ApiModule, SdkCoreModule],\n providers: [LauncherService, IntegrationState, DynamicModuleService, DialogService],\n})\nexport class LauncherModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["FlowAction","InjectionToken","ElementComponent","BehaviorSubject","Component","ChangeDetectionStrategy","Inject","Injector","compact","Injectable","Directive","DOCUMENT","UUID","flatten","Subject","takeUntil","isArray","map","pull","ViewContainerRef","SkipSelf","ViewChild","Input","CommonModule","LoaderModule","NgModule","ConfigurationService","LineItemWorker","generateLineItem","getAttributeValue","filter","lineItemUtils","angularCore","angularForms","rxjs","rxjsOperators","lodash","transform","set","kebabCase","from","tap","FormsModule","ReactiveFormsModule","DragDropModule","ScrollingModule","of","switchMap","forkJoin","catchError","ViewEncapsulation","CoreModule","ApiModule","SdkCoreModule","DialogService"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"veloceapps-sdk-cms.umd.js","sources":["../../../../libs/sdk/cms/cms.actions.ts","../../../../node_modules/tslib/tslib.es6.js","../../../../libs/sdk/cms/injection-tokens.ts","../../../../libs/sdk/cms/engine/models/entity.ts","../../../../libs/sdk/cms/components/element.component.ts","../../../../libs/sdk/cms/utils/path.utils.ts","../../../../libs/sdk/cms/services/dynamic-module.service.ts","../../../../libs/sdk/cms/services/io-provider.service.ts","../../../../libs/sdk/cms/services/templates.service.ts","../../../../libs/sdk/cms/plugins/io.plugin.ts","../../../../libs/sdk/cms/plugins/script.plugin.ts","../../../../libs/sdk/cms/cms.elements.ts","../../../../libs/sdk/cms/utils/element.utils.ts","../../../../libs/sdk/cms/services/element-context.service.ts","../../../../libs/sdk/cms/components/element-renderer/element-renderer.component.ts","../../../../libs/sdk/cms/components/element-renderer/element-renderer.component.html","../../../../libs/sdk/cms/components/element-children/element-children.component.ts","../../../../libs/sdk/cms/components/element-children/element-children.component.html","../../../../libs/sdk/cms/directives/custom-template.directive.ts","../../../../libs/sdk/cms/modules/federated/default-options.ts","../../../../libs/sdk/cms/modules/federated/federated.utils.ts","../../../../libs/sdk/cms/modules/federated/federated.component.ts","../../../../libs/sdk/cms/modules/federated/federated.component.html","../../../../libs/sdk/cms/modules/federated/federated.module.ts","../../../../libs/sdk/cms/plugins/configuration.plugin.ts","../../../../libs/sdk/cms/cms.default.ts","../../../../libs/sdk/cms/services/integration.state.ts","../../../../libs/sdk/cms/vendor-map.ts","../../../../libs/sdk/cms/utils/elements-resolver.ts","../../../../libs/sdk/cms/services/launcher.service.ts","../../../../libs/sdk/cms/components/preview/preview.component.ts","../../../../libs/sdk/cms/components/preview/preview.component.html","../../../../libs/sdk/cms/components/element-renderer/element-renderer.module.ts","../../../../libs/sdk/cms/components/element-children/element-children.module.ts","../../../../libs/sdk/cms/components/preview/preview.module.ts","../../../../libs/sdk/cms/decorators/element.decorator.ts","../../../../libs/sdk/cms/launcher.module.ts","../../../../libs/sdk/cms/veloceapps-sdk-cms.ts"],"sourcesContent":["import { IntegrationAction, Metric } from './types';\n\nexport enum FlowAction {\n FLOW_CONFIGURE_PRODUCT = 'FLOW_CONFIGURE_PRODUCT',\n FLOW_NAVIGATE_BACK = 'FLOW_NAVIGATE_BACK',\n FLOW_NAVIGATE_TO_CATALOG = 'FLOW_NAVIGATE_TO_CATALOG',\n FLOW_APPLY_PRODUCT_CONFIGURATION = 'FLOW_APPLY_PRODUCT_CONFIGURATION',\n FLOW_OPEN_DOC_GEN = 'FLOW_OPEN_DOC_GEN',\n FLOW_CLOSE_DOC_GEN = 'FLOW_CLOSE_DOC_GEN',\n FLOW_SWITCH_OBJECT = 'FLOW_SWITCH_OBJECT',\n REMOTE_APPLY = 'REMOTE_APPLY',\n REMOTE_CANCEL = 'REMOTE_CANCEL',\n SET_DEFAULT_METRICS = 'SET_DEFAULT_METRICS',\n}\n\nexport const ConfigureProductAction = ({\n lineItemId,\n productId,\n}: {\n lineItemId?: string;\n productId?: string;\n}): IntegrationAction => ({\n type: FlowAction.FLOW_CONFIGURE_PRODUCT,\n payload: { lineItemId, productId },\n});\n\nexport const NavigateBackAction = (): IntegrationAction => ({\n type: FlowAction.FLOW_NAVIGATE_BACK,\n});\n\nexport const NavigateToCatalogAction = (): IntegrationAction => ({\n type: FlowAction.FLOW_NAVIGATE_TO_CATALOG,\n});\n\nexport const ApplyProductConfigurationAction = (): IntegrationAction => ({\n type: FlowAction.FLOW_APPLY_PRODUCT_CONFIGURATION,\n});\n\nexport const OpenDocGenAction = (): IntegrationAction => ({\n type: FlowAction.FLOW_OPEN_DOC_GEN,\n});\n\nexport const CloseDocGenAction = (): IntegrationAction => ({\n type: FlowAction.FLOW_CLOSE_DOC_GEN,\n});\n\nexport const RemoteApplyAction = (): IntegrationAction => ({\n type: FlowAction.REMOTE_APPLY,\n});\n\nexport const RemoteCancelAction = (): IntegrationAction => ({\n type: FlowAction.REMOTE_CANCEL,\n});\n\nexport const SwitchObjectAction = (payload: { id: string }): IntegrationAction => ({\n type: FlowAction.FLOW_SWITCH_OBJECT,\n payload,\n});\n\nexport const SetDefaultMetrics = (metrics: Metric[]): IntegrationAction => ({\n type: FlowAction.SET_DEFAULT_METRICS,\n payload: { metrics },\n});\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { InjectionToken } from '@angular/core';\nimport { UIDefinitionMetadata } from '@veloceapps/sdk/core';\nimport { Dictionary } from 'lodash';\nimport { Plugin } from './engine/models/plugin';\nimport { ElementConfig, ElementMetadata } from './types/common.types';\n\nexport const DEFAULT_PLUGINS_TOKEN = new InjectionToken<typeof Plugin[]>('DEFAULT_PLUGINS_TOKEN');\n\nexport const UI_DEFINITION_METADATA = new InjectionToken<UIDefinitionMetadata>('UI_DEFINITION_METADATA_TOKEN');\nexport const ELEMENT_METADATA = new InjectionToken<ElementMetadata>('ELEMENT_METADATA_TOKEN');\nexport const SHARED_ELEMENT_METADATA = new InjectionToken<ElementMetadata>('SHARED_ELEMENT_METADATA_TOKEN');\nexport const ELEMENT_CONFIG = new InjectionToken<ElementConfig>('ELEMENT_CONFIG_TOKEN');\nexport const VENDOR_MAP = new InjectionToken<Dictionary<any>>('VENDOR_MAP');\n","import { Injector } from '@angular/core';\nimport { DEFAULT_PLUGINS_TOKEN, ELEMENT_CONFIG } from '../../injection-tokens';\nimport { ElementConfig } from '../../types/common.types';\nimport { Plugin } from './plugin';\n\nexport class Entity {\n protected readonly plugins: Plugin[] = [];\n\n private config: ElementConfig;\n private defaultPlugins: typeof Plugin[];\n\n constructor(public injector: Injector) {\n this.config = this.injector.get(ELEMENT_CONFIG);\n this.defaultPlugins = this.injector.get(DEFAULT_PLUGINS_TOKEN);\n }\n\n public initPlugins(): void {\n this.defaultPlugins.forEach(plugin => this.registerPlugin(new plugin(this)));\n this.config.plugins?.forEach(plugin => this.registerPlugin(new plugin(this)));\n }\n\n public registerPlugin(plugin: Plugin): void {\n this.plugins.push(plugin);\n }\n}\n","/* eslint-disable @angular-eslint/no-conflicting-lifecycle */\nimport {\n AfterContentInit,\n AfterViewChecked,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n DoCheck,\n Inject,\n Injector,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges,\n} from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { Entity } from '../engine/models/entity';\nimport { IPluginComponent } from './plugin.component';\n\n@Component({\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n jit: true,\n})\nexport class ElementComponent\n extends Entity\n implements OnChanges, OnInit, DoCheck, AfterContentInit, AfterViewInit, AfterViewChecked, OnDestroy\n{\n public readonly model$ = new BehaviorSubject<any | undefined>(undefined);\n public readonly plugins!: IPluginComponent[];\n\n constructor(@Inject(Injector) public injector: Injector) {\n super(injector);\n\n super.initPlugins();\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n this.plugins.forEach(plugin => plugin.ngOnChanges?.(changes));\n }\n\n public ngOnInit(): void {\n this.plugins.forEach(plugin => plugin.ngOnInit?.());\n }\n\n public ngDoCheck(): void {\n this.plugins.forEach(plugin => plugin.ngDoCheck?.());\n }\n\n public ngAfterContentInit(): void {\n this.plugins.forEach(plugin => plugin.ngAfterContentInit?.());\n }\n\n public ngAfterViewInit(): void {\n this.plugins.forEach(plugin => plugin.ngAfterViewInit?.());\n }\n\n public ngAfterViewChecked(): void {\n this.plugins.forEach(plugin => plugin.ngAfterViewChecked?.());\n }\n\n public ngOnDestroy(): void {\n this.plugins.forEach(plugin => plugin.ngOnDestroy?.());\n }\n}\n","import { compact } from 'lodash';\nimport { ElementMetadata, ElementPath, PathBlock } from '../types';\n\nexport const parseBoundPath = (path: string): PathBlock[] => {\n const regexp = new RegExp(`(?:\\\\/)(?:\\\\w+)(?:\\\\/)(?:ports|attributes)(?:\\\\/)(?:\\\\w+)|(?:\\\\/)(?:\\\\w+)`, 'g');\n const blocks: PathBlock[] =\n path.match(regexp)?.map(match => {\n const [type, property, name] = compact(match.split('/'));\n return { type, property, name };\n }) ?? [];\n\n return blocks;\n};\n\nexport const parsePath = (path: string): ElementPath => {\n const segments = path.split('/');\n let module: string | undefined;\n let variable: string | undefined;\n\n if (segments[0]?.startsWith('@')) {\n module = segments.shift()?.substring(1);\n }\n\n if (segments[segments.length - 1]?.[0] === ':') {\n variable = segments.pop()?.substring(1);\n }\n\n const isAbsolute = !segments[0];\n const nonEmptySegments = segments.filter(Boolean);\n\n if (!isAbsolute && nonEmptySegments[0] === '.') {\n nonEmptySegments.shift();\n }\n\n return {\n isAbsolute,\n segments: nonEmptySegments,\n module,\n variable,\n };\n};\n\nexport const findElementByModule = (\n elements: ElementMetadata[],\n module: string,\n elementName: string,\n): ElementMetadata | undefined => {\n for (const el of elements) {\n if (el.module === module && el.name === elementName) {\n return el;\n }\n\n const child = findElementByModule(el.children, module, elementName);\n if (child) {\n return child;\n }\n }\n\n return;\n};\n\nexport const getAbsolutePath = (\n elements: ElementMetadata[],\n subject: ElementMetadata,\n path: ElementPath,\n): string | undefined => {\n if (path.module) {\n return findElementByModule(elements, path.module, path.segments[0])?.path;\n }\n\n const subjectSegments = subject.path?.split('/') ?? [];\n const segments = [...path.segments];\n\n if (path.isAbsolute) {\n return segments.join('/');\n }\n\n while (segments.length) {\n const segment = segments.shift();\n\n if (segment === '..') {\n subjectSegments.pop();\n } else if (segment) {\n subjectSegments.push(segment);\n }\n }\n\n return subjectSegments.join('/');\n};\n","import { ComponentFactory, Injectable } from '@angular/core';\nimport { ElementMetadata } from '../types/common.types';\n\n@Injectable()\nexport class DynamicModuleService {\n private _elementsTree: ElementMetadata[] = [];\n private _componentFactories: ComponentFactory<any>[] = [];\n\n public set componentFactories(data: ComponentFactory<any>[]) {\n this._componentFactories = data;\n }\n\n public get componentFactories(): ComponentFactory<any>[] {\n return this._componentFactories;\n }\n\n public getComponentFactory(element: ElementMetadata): ComponentFactory<any> | undefined {\n return this.componentFactories.find(f => (f.componentType as any).path === element.path);\n }\n\n public get elementsTree(): ElementMetadata[] {\n return this._elementsTree;\n }\n\n public set elementsTree(tree: ElementMetadata[]) {\n this._elementsTree = tree;\n }\n\n public clear(): void {\n this._elementsTree = [];\n this.componentFactories = [];\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Dictionary } from 'lodash';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { ElementMetadata } from '../types/common.types';\nimport { getAbsolutePath, parsePath } from '../utils/path.utils';\nimport { DynamicModuleService } from './dynamic-module.service';\n\n@Injectable()\nexport class IOProviderService {\n private inputs: Dictionary<Dictionary<BehaviorSubject<any>>> = {};\n\n constructor(private dynamicModuleService: DynamicModuleService) {}\n\n public connect(el: ElementMetadata, name: string, target?: string | null): Observable<any> | undefined {\n return this.resolveTarget(el, name, target)?.asObservable();\n }\n\n public provide(el: ElementMetadata, name: string, target?: string | null): BehaviorSubject<any> | undefined {\n return this.resolveTarget(el, name, target);\n }\n\n private resolveTarget(el: ElementMetadata, name: string, target?: string | null): BehaviorSubject<any> | undefined {\n const isHost = !target;\n\n if (isHost) {\n return this.createSubjectSafe(el.path ?? '', name);\n }\n\n const elPath = parsePath(target as string);\n const pathIsValue =\n elPath.segments.length === 1 && elPath.segments[0].startsWith('\"') && elPath.segments[0].endsWith('\"');\n\n const finalName = elPath.variable ?? name;\n const value = pathIsValue ? new BehaviorSubject(elPath.segments[0].slice(1, -1)) : undefined;\n\n const absolutePath = !pathIsValue ? getAbsolutePath(this.dynamicModuleService.elementsTree, el, elPath) : el.path;\n return this.createSubjectSafe(absolutePath ?? '', finalName, value);\n }\n\n private createSubjectSafe(path: string, name: string, subject?: BehaviorSubject<any>): BehaviorSubject<any> {\n if (!this.inputs[path]) {\n this.inputs[path] = {};\n }\n\n const subjectAlreadyExists = Boolean(this.inputs[path][name]);\n\n if (!this.inputs[path][name]) {\n this.inputs[path][name] = subject ?? new BehaviorSubject<any>(undefined);\n }\n\n if (subject && subjectAlreadyExists) {\n // push delayed value to workaround 'changed after it was checked' issue\n setTimeout(() => this.inputs[path][name].next(subject.value));\n }\n\n return this.inputs[path][name];\n }\n}\n","import { Injectable, TemplateRef } from '@angular/core';\nimport { Dictionary } from 'lodash';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\ntype Template = TemplateRef<any> | undefined;\n\n@Injectable()\nexport class TemplatesService {\n private templates: Dictionary<BehaviorSubject<Template>> = {};\n\n public register(name: string, templateRef: TemplateRef<any>): void {\n this.ensureStorage(name);\n this.templates[name].next(templateRef);\n }\n\n public get(name: string): Template {\n this.ensureStorage(name);\n return this.templates[name].value;\n }\n\n public get$(name: string): Observable<Template> {\n this.ensureStorage(name);\n return this.templates[name].asObservable();\n }\n\n private ensureStorage(name: string): void {\n if (!this.templates[name]) {\n this.templates[name] = new BehaviorSubject<Template>(undefined);\n }\n }\n}\n","import { Directive } from '@angular/core';\nimport { ElementComponent } from '../components/element.component';\nimport { PluginComponent } from '../components/plugin.component';\nimport { ELEMENT_METADATA } from '../injection-tokens';\nimport { IOProviderService } from '../services/io-provider.service';\nimport { ElementMetadata } from '../types/common.types';\n\n@Directive()\nexport class IOPlugin implements PluginComponent {\n constructor(public host: ElementComponent) {\n const elementMetadata: ElementMetadata = this.host.injector.get(ELEMENT_METADATA);\n const inputProvider: IOProviderService = this.host.injector.get(IOProviderService);\n\n const inputs = Object.entries(elementMetadata.inputs ?? {});\n const outputs = Object.entries(elementMetadata.outputs ?? {});\n\n inputs.forEach(([key, path]) => {\n if (path && typeof path !== 'string') {\n console.error(`The value of '${key}' input should be a string`);\n }\n\n if (elementMetadata.outputs?.[key] !== undefined) {\n console.warn(\n `'${key}' appears both in inputs and outputs. To prevent inconsistent behavior please keep them unique `,\n );\n }\n\n (this.host as any)[key] = inputProvider.connect(elementMetadata, key, path);\n });\n\n outputs.forEach(([key, path]) => {\n if (path && typeof path !== 'string') {\n console.error(`The value of '${key}' output should be a string`);\n }\n\n (this.host as any)[key] = inputProvider.provide(elementMetadata, key, path);\n });\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Directive } from '@angular/core';\nimport { UUID } from '@veloceapps/core';\nimport { Dictionary } from 'lodash';\nimport { ElementComponent } from '../components/element.component';\nimport { PluginComponent } from '../components/plugin.component';\nimport { ELEMENT_METADATA, SHARED_ELEMENT_METADATA, VENDOR_MAP } from '../injection-tokens';\nimport { ElementMetadata } from '../types/common.types';\n\n@Directive()\nexport class ScriptPlugin implements PluginComponent {\n private document: Document;\n private vendorMap: Dictionary<any>;\n\n constructor(public host: ElementComponent) {\n this.document = this.host.injector.get(DOCUMENT);\n this.vendorMap = this.host.injector.get(VENDOR_MAP);\n const elementMetadata: ElementMetadata = this.host.injector.get(ELEMENT_METADATA);\n const sharedElementMetadata: ElementMetadata | undefined = this.host.injector.get(SHARED_ELEMENT_METADATA);\n\n this.addScript(sharedElementMetadata);\n this.addScript(elementMetadata);\n }\n\n private addScript(metadata?: ElementMetadata): void {\n if (!metadata?.script) {\n return;\n }\n\n const id = btoa(UUID.UUID());\n const script = this.document.createElement('script');\n script.type = `text/javascript`;\n\n let scriptContent = this.normalizeImports(metadata.script, metadata.path ?? metadata.name);\n\n const classMatch = /export class (\\S+)/.exec(scriptContent);\n const className = classMatch?.[1];\n\n if (!classMatch || !className) {\n console.error(\"Script doesn't have exported class\");\n return;\n }\n\n scriptContent = scriptContent.replace(classMatch[0], `class ${className}`);\n\n script.text = `var ${id} = function(vendor) {${scriptContent}\n return ${className}; };`;\n\n this.document.body.appendChild(script);\n\n const ScriptClass = (window as any)[id](this.vendorMap);\n if (ScriptClass instanceof Object) {\n this.host.registerPlugin(new ScriptClass(this.host));\n }\n\n this.document.body.removeChild(script);\n }\n\n private normalizeImports = (script: string, elementPath: string): string => {\n const regexp = new RegExp(\n `import([ \\\\n\\\\t]*(?:[^ \\\\n\\\\t\\\\{\\\\}]+[ \\\\n\\\\t]*,?)?(?:[ \\\\n\\\\t]*\\\\{(?:[ \\\\n\\\\t]*[^ \\\\n\\\\t\"'\\\\{\\\\}]+[ \\\\n\\\\t]*,?)+\\\\})?[ \\\\n\\\\t]*)from[ \\\\n\\\\t]*(['\"])([^'\"\\\\n]+)(?:['\"]);`,\n 'g',\n );\n const result = script.replace(regexp, (match, g1, g2, src) => {\n const imports = (g1 as string)\n .trim()\n .slice(1, -1)\n .split(',')\n .map(item => item.trim());\n\n imports.forEach(item => {\n if (!this.vendorMap[src]?.[item]) {\n throw new Error(`Failed to import ${item} from '${src}' in ${elementPath}/script.ts`);\n }\n });\n\n return `const ${g1} = vendor['${src}'];`;\n });\n return result;\n };\n}\n","import { ElementComponent } from './components/element.component';\nimport { IOPlugin } from './plugins/io.plugin';\nimport { ScriptPlugin } from './plugins/script.plugin';\nimport { ElementConfig, ELEMENT_TYPE } from './types/common.types';\n\n/*\n * ScriptPlugin must always be the last plugin in the list to make sure user code is running after all pre-initializers.\n */\n\nexport const CONFIG: { [key in ELEMENT_TYPE]: ElementConfig } = {\n CUSTOM: {\n component: ElementComponent,\n plugins: [IOPlugin, ScriptPlugin],\n },\n CONTAINER: {\n component: ElementComponent,\n defaultTemplate: '<element-children></element-children>',\n plugins: [ScriptPlugin],\n },\n SERVICE: {\n component: ElementComponent,\n plugins: [IOPlugin, ScriptPlugin],\n suppressTemplate: true,\n suppressStyles: true,\n },\n REFERENCE: {\n component: ElementComponent,\n plugins: [IOPlugin, ScriptPlugin],\n suppressTemplate: true,\n },\n};\n","import { UIElement } from '@veloceapps/sdk/core';\nimport { flatten } from 'lodash';\nimport { CONFIG } from '../cms.elements';\nimport { IOPlugin } from '../plugins/io.plugin';\nimport { ElementConfig, ElementDefaultMetadata, ElementMetadata, ElementModel, ELEMENT_TYPE } from '../types';\n\nconst EXPORTED_CLASS_REGEX = /export class (\\S+)/;\nconst METADATA_DECORATOR_REGEX = /@ElementDefinition\\(([\\s\\S]+)\\)(\\n|\\r\\n|.)*export class/g;\n\nexport class UiBuildError extends Error {\n public affectedMetadata: ElementMetadata;\n constructor(message: string, affectedMetadata: ElementMetadata) {\n super(message);\n this.name = this.constructor.name;\n this.affectedMetadata = affectedMetadata;\n }\n}\n\nexport const elementToMetadata = (el: UIElement, parentPath?: string): ElementMetadata => {\n const script = el.script && window.atob(el.script);\n const template = el.template && window.atob(el.template);\n const styles = el.styles && window.atob(el.styles);\n\n const exportedClassName = script && (EXPORTED_CLASS_REGEX.exec(script) ?? [])[1];\n\n if (!exportedClassName) {\n throw new Error(\"Script doesn't have exported class\");\n }\n\n const elementMetadata = extractElementMetadata(script || '');\n const path = (parentPath ? parentPath + '/' : '') + elementMetadata.name;\n\n return {\n ...elementMetadata,\n path,\n script: script?.replace(METADATA_DECORATOR_REGEX, 'export class'),\n template,\n styles,\n children: el.children.map(child => elementToMetadata(child, path)),\n };\n};\n\nexport const metadataToElement = (metadata: ElementMetadata, recursive: boolean = true): UIElement => {\n const elMetadata: ElementDefaultMetadata = {\n name: metadata.name,\n isShared: metadata.isShared,\n type: metadata.type,\n model: metadata.model,\n module: metadata.module,\n reference: metadata.reference,\n inputs: metadata.inputs,\n outputs: metadata.outputs,\n children: metadata.children.map(({ name }) => name),\n configuredStyles: metadata.configuredStyles,\n };\n const normalizedElMetadata = normalizeElementMetadata(elMetadata);\n\n if (!metadata.script || !EXPORTED_CLASS_REGEX.test(metadata.script)) {\n throw new UiBuildError(`'${metadata.name}' component script is missing an exported class`, metadata);\n }\n\n const script =\n metadata.script &&\n window.btoa(\n metadata.script.replace(\n EXPORTED_CLASS_REGEX,\n `@ElementDefinition(${stringifyElementMetadata(normalizedElMetadata)})\\nexport class Script`,\n ),\n );\n const template = metadata.template && window.btoa(metadata.template);\n const styles = metadata.styles && window.btoa(metadata.styles);\n\n return {\n script,\n template,\n styles,\n children: recursive ? metadata.children.map(meta => metadataToElement(meta)) : [],\n };\n};\n\nexport const normalizeElementMetadata = (elementMetadata: ElementDefaultMetadata): ElementDefaultMetadata => {\n const metadata = { ...elementMetadata };\n\n // model\n const { lineItem, path } = metadata.model ?? {};\n const model: ElementModel | undefined = lineItem ? { lineItem } : path ? { path } : undefined;\n if (model) {\n metadata.model = model;\n } else {\n delete metadata.model;\n }\n\n // module\n if (!metadata.module) {\n delete metadata.module;\n }\n\n // reference\n if (!metadata.reference) {\n delete metadata.reference;\n }\n\n // inputs\n const inputs = Object.entries(metadata.inputs ?? {}).reduce((acc, [key, value]) => {\n return { ...acc, [key]: value || null };\n }, {});\n if (inputs && Object.keys(inputs).length > 0) {\n metadata.inputs = inputs;\n } else {\n delete metadata.inputs;\n }\n\n // outputs\n const outputs = Object.entries(metadata.outputs ?? {}).reduce((acc, [key, value]) => {\n return { ...acc, [key]: value || null };\n }, {});\n if (outputs && Object.keys(outputs).length > 0) {\n metadata.outputs = outputs;\n } else {\n delete metadata.outputs;\n }\n\n // children\n if (!metadata.children?.length) {\n delete metadata.children;\n }\n\n // isShared\n if (!metadata.isShared) {\n delete metadata.isShared;\n }\n\n // configuredStyles\n if (!metadata.configuredStyles) {\n delete metadata.configuredStyles;\n }\n\n return metadata;\n};\n\nexport const extractElementMetadata = (script: string): ElementDefaultMetadata => {\n const metadataString = (METADATA_DECORATOR_REGEX.exec(script) ?? [])[1];\n\n // need to reset regex last index to prevent null result for next execution\n METADATA_DECORATOR_REGEX.lastIndex = 0;\n\n return new Function(`return ${metadataString}`)();\n};\n\nexport const extendElementMetadata = (script: string, extend: Partial<ElementDefaultMetadata>): string => {\n const metadataString = (METADATA_DECORATOR_REGEX.exec(script) ?? [])[1];\n\n // need to reset regex last index to prevent null result for next execution\n METADATA_DECORATOR_REGEX.lastIndex = 0;\n\n if (!metadataString) {\n return script;\n }\n\n const updated = { ...new Function(`return ${metadataString}`)(), ...extend };\n return script.replace(metadataString, stringifyElementMetadata(updated));\n};\n\nexport const getElementConfig = (type: ELEMENT_TYPE): ElementConfig => {\n return CONFIG[type];\n};\n\nexport const doesElementSupportIO = (type: ELEMENT_TYPE): boolean => {\n return getElementConfig(type).plugins?.includes(IOPlugin) ?? false;\n};\n\nexport function stringifyElementMetadata(elementMetadata: ElementDefaultMetadata): string {\n const cleaned = JSON.stringify(elementMetadata, null, 2);\n\n return cleaned.replace(/^[\\t ]*\"[^:\\n\\r]+(?<!\\\\)\":/gm, function (match) {\n return match.replace(/\"/g, '');\n });\n}\n\nexport const isValidScript = (script?: string): boolean => {\n if (!script) {\n return false;\n }\n\n const exportedClassName = script && (EXPORTED_CLASS_REGEX.exec(script) ?? [])[1];\n if (!exportedClassName) {\n return false;\n }\n\n const meta = extractElementMetadata(script);\n if (!meta.name || !meta.type) {\n return false;\n }\n\n return true;\n};\n\nexport function flattenElements(elements: ElementMetadata[]): ElementMetadata[] {\n return flatten(elements.map(el => [el, ...flattenElements(el.children)]));\n}\n\nexport function isSharedElement(el: ElementMetadata): boolean {\n return Boolean(el.isShared) && el.type !== 'REFERENCE';\n}\n","import { Injectable } from '@angular/core';\nimport { ElementMetadata } from '../types/common.types';\n\n@Injectable()\nexport class ElementContextService {\n public metadata?: ElementMetadata;\n public parentModelId?: string;\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentFactory,\n ComponentRef,\n ElementRef,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n SkipSelf,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { LineItem, UUID } from '@veloceapps/core';\nimport { ConfigurationService } from '@veloceapps/sdk/core';\nimport { Dictionary, isArray, pull } from 'lodash';\nimport { map, Observable, Subject, takeUntil } from 'rxjs';\nimport { DynamicModuleService } from '../../services/dynamic-module.service';\nimport { ElementContextService } from '../../services/element-context.service';\nimport { IOProviderService } from '../../services/io-provider.service';\nimport { ElementMetadata } from '../../types/common.types';\nimport { parseBoundPath } from '../../utils/path.utils';\n\n@Component({\n selector: 'vl-cms-element-renderer',\n templateUrl: './element-renderer.component.html',\n styleUrls: ['./element-renderer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [ElementContextService],\n})\nexport class ElementRendererComponent implements OnInit, OnDestroy {\n @ViewChild('el', { read: ViewContainerRef, static: true }) public el?: ViewContainerRef;\n\n @Input() public meta!: ElementMetadata;\n\n private factory?: ComponentFactory<any>;\n private refs: Dictionary<ComponentRef<any> | undefined> = {};\n private destroy$ = new Subject<void>();\n\n constructor(\n @SkipSelf() private parentInjector: Injector,\n private dynamicModuleService: DynamicModuleService,\n private elementContext: ElementContextService,\n private ioProviderService: IOProviderService,\n private configurationService: ConfigurationService,\n private elementRef: ElementRef,\n private cdr: ChangeDetectorRef,\n ) {}\n\n public ngOnInit(): void {\n this.elementContext.metadata = this.meta;\n this.factory = this.dynamicModuleService.getComponentFactory(this.meta);\n\n this.createComponents();\n }\n\n public ngOnDestroy(): void {\n this.destroyComponents();\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private createComponents(): void {\n const modelMeta = this.meta.model;\n\n if (!modelMeta) {\n this.refs[UUID.UUID()] = this.createComponent();\n return;\n }\n\n if (modelMeta.lineItem) {\n this.createFromLineItem(modelMeta.lineItem);\n } else if (modelMeta.path) {\n this.createFromPath(modelMeta.path);\n }\n }\n\n private createFromPath(path: string): void {\n const array$ = this.ioProviderService.connect(this.meta, 'children$', path);\n\n array$?.pipe(takeUntil(this.destroy$)).subscribe(children => {\n if (!isArray(children)) {\n return;\n }\n\n this.processChildren(children);\n });\n }\n\n private getModelComponent(): ElementRendererComponent | null {\n let component: ElementRendererComponent | null = null;\n let injector = this.parentInjector;\n\n while (!component) {\n const parentComp = injector.get(ElementRendererComponent, null);\n\n if (parentComp?.meta.model) {\n component = parentComp;\n break;\n }\n\n if (parentComp) {\n injector = parentComp.parentInjector;\n } else {\n break;\n }\n }\n\n return component;\n }\n\n private createFromLineItem(path: string): void {\n const parentComp = this.getModelComponent();\n const parentPath = parentComp?.meta.model?.lineItem;\n\n const pathBlocks = parseBoundPath(path).reverse();\n const { property, name } = pathBlocks[1] ?? {};\n const finalPath = pathBlocks[0];\n\n const children$ = this.getParentLineItem$(parentComp).pipe(\n map(model => {\n if (!model) {\n return [];\n }\n\n if (property === 'ports' && !finalPath.property && parentPath !== path) {\n return model.lineItems.filter(({ port }) => port === name) ?? [];\n }\n\n return [model];\n }),\n );\n\n children$.pipe(takeUntil(this.destroy$)).subscribe(children => {\n this.processChildren(children);\n });\n }\n\n private processChildren(children: any[]): void {\n const refs = children.reduce((acc, data, index) => {\n const key = String(data?.id ?? UUID.UUID());\n const existingRef = this.refs[key];\n\n const ref = existingRef ?? this.createComponent(data, index);\n if (existingRef) {\n this.updateComponent(existingRef, data, index);\n }\n\n return ref ? { ...acc, [key]: ref } : acc;\n }, {} as Dictionary<ComponentRef<any>>);\n\n const existingKeys = Object.keys(this.refs);\n const newKeys = Object.keys(refs);\n\n pull(existingKeys, ...newKeys).forEach(key => {\n this.destroyComponent(key);\n });\n\n this.refs = refs;\n this.cdr.detectChanges();\n }\n\n private getParentLineItem$(parentComp: ElementRendererComponent | null): Observable<LineItem | undefined> {\n const parentRefs = Object.values(parentComp?.refs ?? {});\n const parentRef = parentRefs.find(ref =>\n (ref?.location.nativeElement as HTMLElement)?.contains(this.elementRef.nativeElement),\n );\n\n const parentModel$ = parentRef?.instance.model$;\n\n return parentModel$ ?? this.configurationService.get();\n }\n\n private createComponent(data?: any, index?: number): ComponentRef<any> | undefined {\n if (!this.factory) {\n return;\n }\n\n const componentRef = this.el?.createComponent(this.factory, index);\n\n if (componentRef) {\n componentRef.location.nativeElement.setAttribute('name', this.meta.name);\n componentRef.location.nativeElement.setAttribute('path', this.meta.path);\n componentRef.instance?.model$.next(data);\n }\n\n return componentRef;\n }\n\n private updateComponent(ref: ComponentRef<any>, data: any, index: number): void {\n ref.instance.model$.next(data);\n\n if (this.el && this.el.indexOf(ref.hostView) !== index) {\n this.el.move(ref.hostView, index);\n }\n }\n\n private destroyComponent(key: string): void {\n this.refs[key]?.destroy();\n delete this.refs[key];\n }\n\n private destroyComponents(): void {\n Object.values(this.refs).forEach(ref => ref?.destroy());\n this.refs = {};\n }\n}\n","<ng-template #el></ng-template>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { ElementContextService } from '../../services/element-context.service';\nimport { ElementMetadata } from '../../types/common.types';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'element-children',\n templateUrl: 'element-children.component.html',\n styleUrls: ['./element-children.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ElementChildrenComponent {\n public metadata?: ElementMetadata;\n\n constructor(private elementContext: ElementContextService) {\n this.metadata = this.elementContext.metadata;\n }\n}\n","<ng-container *ngIf=\"metadata?.children.length\">\n <ng-container *ngFor=\"let child of metadata.children\">\n <vl-cms-element-renderer [meta]=\"child\"></vl-cms-element-renderer>\n </ng-container>\n</ng-container>\n","import { AfterViewInit, Directive, Input, TemplateRef } from '@angular/core';\nimport { TemplatesService } from '../services/templates.service';\n\n// eslint-disable-next-line @angular-eslint/directive-selector\n@Directive({ selector: '[customTemplate]' })\nexport class CustomTemplateDirective implements AfterViewInit {\n constructor(private templateRef: TemplateRef<any>, private templatesService: TemplatesService) {}\n\n @Input() public customTemplate: string | undefined;\n\n public ngAfterViewInit(): void {\n if (!this.customTemplate) {\n return;\n }\n\n this.templatesService.register(this.customTemplate, this.templateRef);\n }\n}\n","export const defaultOptions = {\n suppressLoading: false,\n loadingLabel: 'LOADING',\n};\n","import { Dictionary } from 'lodash';\n\ntype Scope = unknown;\ntype Factory = () => any;\n\ntype Container = {\n init(shareScope: Scope): void;\n get(module: string): Factory;\n};\n\ndeclare const __webpack_init_sharing__: (shareScope: string) => Promise<void>;\ndeclare const __webpack_share_scopes__: { default: Scope };\n\nconst moduleMap: Dictionary<boolean> = {};\n\nfunction loadRemoteEntry(remoteEntry: string): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n if (moduleMap[remoteEntry]) {\n resolve();\n return;\n }\n\n const script = document.createElement('script');\n script.src = remoteEntry;\n\n script.onerror = reject;\n\n script.onload = (): void => {\n moduleMap[remoteEntry] = true;\n resolve(); // window is the global namespace\n };\n\n document.body.append(script);\n });\n}\n\nasync function lookupExposedModule(remoteName: string, exposedModule: string): Promise<any> {\n // Initializes the share scope. This fills it with known provided modules from this build and all remotes\n await __webpack_init_sharing__('default');\n const container = (window as any)[remoteName] as Container; // or get the container somewhere else\n // Initialize the container, it may provide shared modules\n\n await container.init(__webpack_share_scopes__.default);\n const factory = await container.get(exposedModule);\n const Module = factory();\n return Module;\n}\n\nexport async function loadRemoteModule(remoteEntry: string, remoteName: string, exposedModule: string): Promise<any> {\n await loadRemoteEntry(remoteEntry);\n\n return await lookupExposedModule(remoteName, exposedModule);\n}\n","import {\n AfterViewInit,\n ApplicationRef,\n ChangeDetectionStrategy,\n Compiler,\n Component,\n ElementRef,\n Injector,\n Input,\n OnChanges,\n OnInit,\n Renderer2,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { defaultOptions } from './default-options';\nimport { FederatedComponentInstance, FederatedModuleOptions } from './federated.types';\nimport { loadRemoteModule } from './federated.utils';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'veloce-host-federated',\n templateUrl: './federated.component.html',\n styleUrls: ['./federated.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FederatedComponent implements OnInit, AfterViewInit, OnChanges {\n @ViewChild('moduleHost', { static: false }) public moduleHostRef?: ElementRef;\n\n @Input() public remoteEntry?: string;\n @Input() public remoteName?: string;\n @Input() public exposedModule?: string;\n @Input() public data?: any;\n @Input() public options?: FederatedModuleOptions;\n\n public isLoading$ = new BehaviorSubject(false);\n\n // configs\n public suppressLoading = defaultOptions.suppressLoading;\n public loadingLabel = defaultOptions.loadingLabel;\n\n private instance?: FederatedComponentInstance;\n\n constructor(\n private injector: Injector,\n private compiler: Compiler,\n private appRef: ApplicationRef,\n private renderer: Renderer2,\n ) {}\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (changes.data && this.instance) {\n this.instance.data = this.data;\n }\n\n if (changes.options) {\n this.suppressLoading = this.options?.suppressLoading ?? defaultOptions.suppressLoading;\n this.loadingLabel = this.options?.loadingLabel ?? defaultOptions.loadingLabel;\n }\n }\n\n public ngOnInit(): void {\n this.isLoading$.next(true);\n }\n\n public ngAfterViewInit(): void {\n const remoteEntry = this.options?.remoteEntry ?? this.remoteEntry;\n const remoteName = this.options?.remoteName ?? this.remoteName;\n const exposedModule = this.options?.exposedModule ?? this.exposedModule;\n\n if (!remoteEntry || !remoteName || !exposedModule) {\n return;\n }\n\n loadRemoteModule(remoteEntry, remoteName, exposedModule).then(federated => {\n this.compiler.compileModuleAsync(federated[exposedModule as string]).then(moduleFactory => {\n const rootModuleRef = moduleFactory.create(this.injector);\n const rootComponentFactory = rootModuleRef.componentFactoryResolver.resolveComponentFactory(\n federated[exposedModule as string].rootComponent,\n );\n const node = document.createElement('div');\n const { instance, hostView } = rootComponentFactory.create(this.injector, [], node);\n\n this.instance = instance as FederatedComponentInstance;\n this.instance.data = this.data;\n\n this.renderer.appendChild(this.moduleHostRef?.nativeElement, node);\n this.appRef.attachView(hostView);\n\n this.options?.onReady?.();\n this.isLoading$.next(false);\n });\n });\n }\n}\n","<div #moduleHost></div>\n\n<vl-loader *ngIf=\"!suppressLoading && (isLoading$ | async)\" [label]=\"loadingLabel\"></vl-loader>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { LoaderModule } from '@veloceapps/components';\nimport { FederatedComponent } from './federated.component';\n\n@NgModule({\n declarations: [FederatedComponent],\n imports: [CommonModule, LoaderModule],\n exports: [FederatedComponent],\n})\nexport class FederatedModule {}\n","import { Directive, OnDestroy } from '@angular/core';\nimport { LineItem } from '@veloceapps/core';\nimport { ConfigurationService, generateLineItem, getAttributeValue, LineItemWorker } from '@veloceapps/sdk/core';\nimport { map, Observable, Subject, takeUntil } from 'rxjs';\nimport { ElementComponent } from '../components/element.component';\nimport { PluginComponent } from '../components/plugin.component';\nimport { ELEMENT_METADATA } from '../injection-tokens';\nimport { AttributeElement, ConfigurationElement, PortElement, TypeElement } from '../types';\nimport { ElementMetadata } from '../types/common.types';\nimport { parseBoundPath } from '../utils/path.utils';\n\n@Directive()\nexport class ConfigurationPlugin implements PluginComponent, OnDestroy {\n private modelSnapshot?: LineItem;\n private destroy$ = new Subject<void>();\n\n private elementMetadata: ElementMetadata;\n private configurationService: ConfigurationService;\n\n constructor(public host: ElementComponent & ConfigurationElement) {\n this.elementMetadata = this.host.injector.get(ELEMENT_METADATA);\n this.configurationService = this.host.injector.get(ConfigurationService);\n\n if (this.elementMetadata.model?.lineItem) {\n this.host.model$.pipe(takeUntil(this.destroy$)).subscribe(model => (this.modelSnapshot = model));\n\n const pathBlocks = parseBoundPath(this.elementMetadata.model?.lineItem);\n const { type, property, name } = pathBlocks.reverse()[0];\n\n this.host.boundName = name ?? type;\n\n this.register(type, property, name);\n }\n }\n\n public ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private register(type?: string, property?: string, name?: string): void {\n if (!type) {\n return;\n }\n\n if (!property) {\n this.registerType();\n } else if (property === 'ports' && name) {\n this.registerPort(name);\n } else if (property === 'attributes' && name) {\n this.registerAttribute(name);\n }\n }\n\n private registerType(): void {\n const remove = (): void => {\n const rootLineItem = this.configurationService.getSnapshot();\n if (!rootLineItem || !this.modelSnapshot) {\n return;\n }\n this.configurationService.patch(new LineItemWorker(rootLineItem).remove(this.modelSnapshot.id).li);\n };\n\n this.typeHost.remove = remove;\n }\n\n private registerPort(name: string): void {\n const model$ = this.host.model$ as Observable<LineItem | undefined>;\n\n const portItems$ = model$.pipe(map(model => model?.lineItems.filter(li => li.port === this.host.boundName) ?? []));\n const portDomain$ = model$.pipe(map(model => model?.portDomains[this.host.boundName]));\n\n const add = (type: string, attributes: { name: string; value: any }[] = []): void => {\n if (!this.modelSnapshot) {\n return;\n }\n\n const portDomain = this.modelSnapshot.portDomains[name];\n if (!portDomain) {\n return;\n }\n\n const generated = generateLineItem(portDomain.name, type, this.modelSnapshot.id, attributes);\n this.configurationService.patch(\n new LineItemWorker(this.modelSnapshot).insert(this.modelSnapshot.id, generated).li,\n );\n };\n\n this.portHost.portItems$ = portItems$;\n this.portHost.portDomain$ = portDomain$;\n this.portHost.addPortItem = add;\n }\n\n private registerAttribute(name: string): void {\n if (!this.host.model$) {\n return;\n }\n\n const value$ = this.host.model$.pipe(map(model => getAttributeValue(model?.attributes ?? [], name)));\n\n const patch = (value: any): void => {\n if (!this.modelSnapshot) {\n return;\n }\n this.configurationService.patch(new LineItemWorker(this.modelSnapshot).patchAttribute([{ name, value }]).li);\n };\n\n this.attributeHost.value$ = value$;\n this.attributeHost.patch = patch;\n }\n\n private get attributeHost(): ElementComponent & AttributeElement {\n return this.host as ElementComponent & AttributeElement;\n }\n\n private get typeHost(): ElementComponent & TypeElement {\n return this.host as ElementComponent & TypeElement;\n }\n\n private get portHost(): ElementComponent & PortElement {\n return this.host as ElementComponent & PortElement;\n }\n}\n","import { UIDefinitionType } from '@veloceapps/sdk/core';\nimport { Plugin } from './engine/models/plugin';\nimport { ConfigurationPlugin } from './plugins/configuration.plugin';\n\nexport const DEFAULT_PLUGINS: { [key in UIDefinitionType]: typeof Plugin[] } = {\n CONFIGURATION: [ConfigurationPlugin],\n DEFAULT: [],\n};\n","import { Injectable } from '@angular/core';\nimport { Dictionary } from 'lodash';\nimport { BehaviorSubject, filter, map, Observable } from 'rxjs';\nimport { IntegrationAction } from '../types/integration.types';\n\nconst InitAction: IntegrationAction = { type: 'INIT' };\nconst ClearAction: IntegrationAction = { type: 'CLEAR' };\n\n@Injectable({ providedIn: 'root' })\nexport class IntegrationState<S = Dictionary<any>> {\n private readonly stateSubj$ = new BehaviorSubject<S>({} as S);\n private readonly action$ = new BehaviorSubject<IntegrationAction>(InitAction);\n\n public get state$(): Observable<S> {\n return this.stateSubj$.asObservable();\n }\n\n public get state(): S {\n return this.stateSubj$.getValue();\n }\n\n public patchState(update: Partial<S>): void {\n this.stateSubj$.next({ ...this.stateSubj$.getValue(), ...update });\n }\n\n public dispatch(action: IntegrationAction): void {\n this.action$.next(action);\n }\n\n public listen$<P = any>(actionType: string): Observable<P> {\n return this.action$.pipe(\n filter(action => action.type === actionType),\n map(action => action.payload as P),\n );\n }\n\n public listenAll$<T extends IntegrationAction>(): Observable<T> {\n return this.action$.asObservable() as Observable<T>;\n }\n\n public clear(): void {\n this.stateSubj$.next({} as S);\n this.action$.next(ClearAction);\n }\n}\n","import * as angularCore from '@angular/core';\nimport * as angularForms from '@angular/forms';\nimport {\n CatalogApiService,\n DeltaApiService,\n DocumentAttachmentApiService,\n DocumentTemplatesApiService,\n PicklistsApiService,\n PriceApiService,\n QuoteApiService,\n RampApiService,\n SalesforceApiService,\n ShoppingCartSettingsApiService,\n} from '@veloceapps/api';\nimport {\n ConfigurationService,\n FlowConfigurationService,\n lineItemUtils,\n LineItemWorker,\n ProductImagesService,\n QuoteDraftService,\n} from '@veloceapps/sdk/core';\nimport * as lodash from 'lodash';\nimport * as rxjs from 'rxjs';\nimport * as rxjsOperators from 'rxjs/operators';\nimport * as cmsActions from './cms.actions';\nimport * as cmsInjectionTokens from './injection-tokens';\nimport { IntegrationState } from './services/integration.state';\nimport { TemplatesService } from './services/templates.service';\n\nconst VELOCE_LIBS = {\n '@veloceapps/sdk/core': {\n ConfigurationService,\n QuoteDraftService,\n FlowConfigurationService,\n LineItemWorker,\n ProductImagesService,\n ...lineItemUtils,\n },\n '@veloceapps/sdk/cms': {\n ...cmsInjectionTokens,\n ...cmsActions,\n TemplatesService,\n IntegrationState,\n },\n '@veloceapps/api': {\n SalesforceApiService,\n QuoteApiService,\n DocumentTemplatesApiService,\n DocumentAttachmentApiService,\n RampApiService,\n CatalogApiService,\n DeltaApiService,\n PicklistsApiService,\n PriceApiService,\n ShoppingCartSettingsApiService,\n },\n};\n\nconst VELOCE_LIBS_BACKWARDS_COMPATIBLE = Object.entries(VELOCE_LIBS).reduce(\n (trunk, [key, value]) => ({ ...trunk, [key.replace('@veloceapps/', '@veloce/')]: value }),\n {},\n);\n\nexport const vendorMap = {\n ...VELOCE_LIBS,\n\n // TODO: remove when projects/demos are migrated to @veloceapps organization libraries\n ...VELOCE_LIBS_BACKWARDS_COMPATIBLE,\n\n '@angular/core': angularCore,\n '@angular/forms': angularForms,\n rxjs: rxjs,\n 'rxjs/operators': rxjsOperators,\n lodash: lodash,\n};\n\nexport type VendorMap = typeof vendorMap;\n","import { Component, Type } from '@angular/core';\nimport { transform } from '@babel/standalone';\nimport { UIDefinitionMetadata } from '@veloceapps/sdk/core';\nimport { flatten, kebabCase, set } from 'lodash';\nimport { DEFAULT_PLUGINS } from '../cms.default';\nimport { CONFIG } from '../cms.elements';\nimport {\n DEFAULT_PLUGINS_TOKEN,\n ELEMENT_CONFIG,\n ELEMENT_METADATA,\n SHARED_ELEMENT_METADATA,\n UI_DEFINITION_METADATA,\n VENDOR_MAP,\n} from '../injection-tokens';\nimport { ElementMetadata, ElementStyleDeclaration } from '../types';\nimport { vendorMap } from '../vendor-map';\n\nexport class ElementsResolver {\n public readonly elements: ElementMetadata[];\n\n private renderableElements: ElementMetadata[] = [];\n private sharedElements: ElementMetadata[] = [];\n\n constructor(private uiDef: UIDefinitionMetadata, elements: ElementMetadata[]) {\n const transpiledElements = this.transpileScripts(elements);\n\n this.sharedElements = this.flattenElements(transpiledElements).filter(el => this.isSharedElement(el));\n\n this.elements = transpiledElements.map(el => this.processElementMetadata(el)).filter(Boolean) as ElementMetadata[];\n\n this.renderableElements = this.getRenderableElements(this.elements);\n }\n\n public getNgComponents(): Type<any>[] {\n return this.renderableElements.map(el => this.resolveElement(el)).filter(Boolean) as Type<any>[];\n }\n\n private transpile(el: ElementMetadata): string | undefined {\n if (!el.script) {\n return;\n }\n\n const transformed = transform(el.script, {\n filename: el.name + '.ts',\n presets: ['typescript'],\n sourceMaps: 'inline',\n });\n\n return transformed.code ?? undefined;\n }\n\n private transpileScripts(elements: ElementMetadata[]): ElementMetadata[] {\n return elements.map(el => ({\n ...el,\n script: this.transpile(el),\n children: this.transpileScripts(el.children),\n }));\n }\n\n private flattenElements(elements: ElementMetadata[]): ElementMetadata[] {\n return flatten(elements.map(el => [el, ...this.flattenElements(el.children)]));\n }\n\n private isSharedElement(el: ElementMetadata): boolean {\n return Boolean(el.isShared) && el.type !== 'REFERENCE';\n }\n\n private getRenderableElements(elements: ElementMetadata[]): ElementMetadata[] {\n const renderable: ElementMetadata[] = [];\n\n for (const el of elements) {\n if (!this.isSharedElement(el)) {\n const children = el.children.filter(child => !this.isSharedElement(child));\n const renderableChildren = this.getRenderableElements(children);\n renderable.push({ ...el, children }, ...renderableChildren);\n }\n }\n\n return renderable;\n }\n\n private getSharedElement(element: ElementMetadata): ElementMetadata | undefined {\n if (!element.reference) {\n return;\n }\n\n return this.sharedElements.find(el => element.reference === el.name);\n }\n\n private resolveElementTemplate(element: ElementMetadata): string {\n const config = CONFIG[element.type];\n const template = !config.suppressTemplate ? element.template : '';\n\n return template || config.defaultTemplate || '';\n }\n\n private resolveElementStyles(element: ElementMetadata): string {\n const config = CONFIG[element.type];\n return !config.suppressStyles ? element.styles ?? '' : '';\n }\n\n private processElementMetadata(sourceElement: ElementMetadata): ElementMetadata | undefined {\n let finalElement: ElementMetadata;\n\n if (sourceElement.type === 'REFERENCE') {\n const sharedElement = this.getSharedElement(sourceElement);\n\n if (!sharedElement) {\n console.warn(`Shared element \"${sourceElement.reference}\" not found`);\n return;\n }\n\n finalElement = {\n ...sourceElement,\n children: this.getSharedChildren(sharedElement.children, sourceElement.path),\n type: sharedElement.type,\n template: sharedElement.template,\n styles: (sharedElement.styles ?? '') + '\\n' + (sourceElement.styles ?? ''),\n inputs: {\n ...sharedElement.inputs,\n ...sourceElement.inputs,\n },\n outputs: {\n ...sharedElement.outputs,\n ...sourceElement.outputs,\n },\n };\n } else {\n finalElement = sourceElement;\n delete sourceElement.reference;\n }\n\n finalElement.template = this.resolveElementTemplate(finalElement);\n finalElement.styles = this.resolveElementStyles(finalElement);\n\n return {\n ...finalElement,\n children: finalElement.children\n .map(child => this.processElementMetadata(child))\n .filter(Boolean) as ElementMetadata[],\n };\n }\n\n private getSharedChildren(children: ElementMetadata[], parentPath?: string): ElementMetadata[] {\n return children.map(c => {\n if (!c.path) {\n return c;\n }\n\n const [elName] = c.path.split('/').reverse();\n const path = parentPath + '/' + elName;\n\n return {\n ...c,\n path,\n children: this.getSharedChildren(c.children, path),\n };\n });\n }\n\n private resolveElement(element: ElementMetadata): Type<any> | undefined {\n const config = CONFIG[element.type];\n const defaultPlugins = DEFAULT_PLUGINS[this.uiDef.type] ?? [];\n\n if (!config) {\n console.warn(`Unknown element type \"${element.type}\"`);\n return;\n }\n\n const styles = this.getElementStyles(element);\n\n const component: Component = {\n selector: 'vl-element',\n template: element.template,\n ...(styles ? { styles: [styles] } : {}),\n providers: [\n { provide: DEFAULT_PLUGINS_TOKEN, useValue: defaultPlugins },\n { provide: UI_DEFINITION_METADATA, useValue: this.uiDef },\n { provide: ELEMENT_METADATA, useValue: element },\n { provide: SHARED_ELEMENT_METADATA, useValue: this.getSharedElement(element) },\n { provide: ELEMENT_CONFIG, useValue: config },\n { provide: VENDOR_MAP, useValue: vendorMap },\n ],\n };\n\n const cmp = Component(component)(class C extends config.component {});\n\n set(cmp, 'path', element.path);\n\n return cmp;\n }\n\n private getElementStyles(element: ElementMetadata): string | undefined {\n let result = '';\n\n const configuredStyles = this.convertInlineStylesToCSS(element.configuredStyles);\n if (configuredStyles) {\n // order is important: styles written by user in CSS code should has higher priority\n result += configuredStyles;\n }\n\n if (element.styles) {\n result += element.styles;\n }\n\n return result || undefined;\n }\n\n private convertInlineStylesToCSS(styles?: ElementStyleDeclaration): string {\n if (!styles) {\n return '';\n }\n\n const entries = Object.entries(styles);\n let result = ':host {\\n';\n\n entries.forEach(([style, value]) => {\n result += ` ${kebabCase(style)}:${value};\\n`;\n });\n\n result += '}\\n';\n\n return result;\n }\n}\n","import { DragDropModule } from '@angular/cdk/drag-drop';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CommonModule } from '@angular/common';\nimport { Compiler, Injectable, ModuleWithComponentFactories, NgModule, Type } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { UIDefinitionMetadata } from '@veloceapps/sdk/core';\nimport { from, map, Observable, tap } from 'rxjs';\nimport { ElementChildrenComponent } from '../components/element-children/element-children.component';\nimport { ElementRendererComponent } from '../components/element-renderer/element-renderer.component';\nimport { CustomTemplateDirective } from '../directives/custom-template.directive';\nimport { FederatedModule } from '../modules/federated/federated.module';\nimport { CompilationResult, ElementMetadata } from '../types';\nimport { ElementsResolver } from '../utils';\nimport { DynamicModuleService } from './dynamic-module.service';\n\n@Injectable()\nexport class LauncherService {\n private module?: Type<NgModule>;\n private moduleInstance?: ModuleWithComponentFactories<NgModule>;\n\n constructor(private compiler: Compiler, private dynamicModuleService: DynamicModuleService) {}\n\n public compileModule(uiDef: UIDefinitionMetadata, elements: ElementMetadata[]): Observable<CompilationResult> {\n const elementsResolver = new ElementsResolver(uiDef, elements);\n\n this.dynamicModuleService.elementsTree = elementsResolver.elements;\n this.module = this.getModule(elementsResolver.getNgComponents());\n\n return from(this.compiler.compileModuleAndAllComponentsAsync(this.module)).pipe(\n tap(m => {\n this.dynamicModuleService.componentFactories = m.componentFactories;\n this.moduleInstance = m;\n }),\n map(m => ({ module: m, elements: elementsResolver.elements })),\n );\n }\n\n public destroy(): void {\n if (this.moduleInstance) {\n this.dynamicModuleService.clear();\n this.moduleInstance = undefined;\n }\n\n if (this.module) {\n this.compiler.clearCacheFor(this.module);\n this.module = undefined;\n }\n }\n\n private getModule(components: Type<any>[]): Type<NgModule> {\n const staticComponents = [ElementChildrenComponent, ElementRendererComponent, CustomTemplateDirective];\n\n @NgModule({\n imports: [CommonModule, FormsModule, ReactiveFormsModule, FederatedModule, DragDropModule, ScrollingModule],\n declarations: [...staticComponents, ...components],\n jit: true,\n })\n class DynamicModule {}\n\n return DynamicModule;\n }\n}\n","import { ChangeDetectionStrategy, Component, Input, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\nimport { ConfigurationRuntimeService, ConfigurationService, UIDefinition, UIElement } from '@veloceapps/sdk/core';\nimport { MessageService } from 'primeng/api';\nimport { BehaviorSubject, catchError, forkJoin, Observable, of, Subject, switchMap, takeUntil, tap } from 'rxjs';\nimport { IntegrationState } from '../../services';\nimport { IOProviderService } from '../../services/io-provider.service';\nimport { LauncherService } from '../../services/launcher.service';\nimport { TemplatesService } from '../../services/templates.service';\nimport { ElementMetadata } from '../../types/common.types';\nimport { elementToMetadata } from '../../utils/element.utils';\n\ninterface State {\n loading: boolean;\n failure: boolean;\n}\n\n@Component({\n selector: 'vl-cms-preview',\n templateUrl: './preview.component.html',\n styleUrls: ['./preview.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [IOProviderService, TemplatesService],\n // use shadow DOM to prevent UI from being affected by global styles\n encapsulation: ViewEncapsulation.ShadowDom,\n})\nexport class PreviewComponent implements OnInit, OnDestroy {\n @Input() public modelId?: string;\n @Input() public uiDefinition?: UIDefinition;\n @Input() public clearState = false;\n\n public state$ = new BehaviorSubject<State>({ loading: true, failure: false });\n public elements: ElementMetadata[] = [];\n\n private destroy$ = new Subject<void>();\n\n constructor(\n private launcherService: LauncherService,\n private configurationService: ConfigurationService,\n private messageService: MessageService,\n private runtimeService: ConfigurationRuntimeService,\n private integrationState: IntegrationState,\n ) {}\n\n public ngOnInit(): void {\n if (this.clearState) {\n this.integrationState.clear();\n }\n\n this.startPreview();\n }\n\n public ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n\n this.configurationService.reset();\n }\n\n private initializeConfiguration$(): Observable<any> {\n const isAlreadyInitialized = this.runtimeService.isInitialized;\n if (!this.uiDefinition || this.uiDefinition.type !== 'CONFIGURATION' || isAlreadyInitialized) {\n return of({});\n }\n\n if (!this.modelId) {\n console.warn(`No modelId is given for uiDefinition with '${this.uiDefinition.type}' type`);\n return of({});\n }\n\n // If still not initialized - init configuration in Test mode\n return this.runtimeService\n .initTestMode(this.modelId, this.uiDefinition)\n .pipe(switchMap(() => this.configurationService.configure()));\n }\n\n private elementToMetadataSafe(elements: UIElement[]): ElementMetadata[] {\n try {\n return elements.map(element => elementToMetadata(element));\n } catch (e) {\n console.error(e);\n\n if (!this.uiDefinition?.properties?.suppressToastMessages) {\n this.messageService.add({ severity: 'error', summary: String(e) });\n }\n\n return [];\n }\n }\n\n private startPreview(): void {\n if (!this.uiDefinition) {\n return;\n }\n\n const { children, ...uiDefinitionMeta } = this.uiDefinition;\n const elements = this.elementToMetadataSafe(children);\n\n const compilation$ = this.launcherService.compileModule(uiDefinitionMeta, elements);\n\n forkJoin([compilation$, this.initializeConfiguration$()])\n .pipe(\n tap(([result]) => {\n this.elements = result.elements;\n this.state$.next({ loading: false, failure: false });\n }),\n catchError(error => {\n console.error(error);\n\n if (!this.uiDefinition?.properties?.suppressToastMessages) {\n this.messageService.add({ severity: 'error', summary: error });\n }\n\n this.state$.next({ loading: false, failure: true });\n\n return of();\n }),\n takeUntil(this.destroy$),\n )\n .subscribe();\n }\n}\n","<ng-container *ngIf=\"state$ | async as state\">\n <vl-loader *ngIf=\"state.loading; else content\" [label]=\"'Loading UI'\"></vl-loader>\n\n <ng-template #content>\n <ng-container *ngIf=\"!state.failure\">\n <vl-cms-element-renderer *ngFor=\"let el of elements\" [meta]=\"el\"></vl-cms-element-renderer>\n </ng-container>\n </ng-template>\n</ng-container>\n","import { NgModule } from '@angular/core';\nimport { ElementRendererComponent } from './element-renderer.component';\n\n@NgModule({\n declarations: [ElementRendererComponent],\n exports: [ElementRendererComponent],\n})\nexport class ElementRendererModule {}\n","import { NgModule } from '@angular/core';\nimport { ElementRendererModule } from '../element-renderer/element-renderer.module';\nimport { ElementChildrenComponent } from './element-children.component';\n\n@NgModule({\n declarations: [ElementChildrenComponent],\n imports: [ElementRendererModule],\n exports: [ElementChildrenComponent],\n})\nexport class ElementChildrenModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { LoaderModule } from '@veloceapps/components';\nimport { IntegrationState } from '../../services';\nimport { ElementChildrenModule } from '../element-children/element-children.module';\nimport { ElementRendererModule } from '../element-renderer/element-renderer.module';\nimport { PreviewComponent } from './preview.component';\n\n@NgModule({\n declarations: [PreviewComponent],\n imports: [CommonModule, LoaderModule, ElementRendererModule, ElementChildrenModule],\n providers: [IntegrationState],\n exports: [PreviewComponent],\n})\nexport class PreviewModule {}\n","import { ElementDefaultMetadata } from '../types';\n\nexport function ElementDefinition(definition: ElementDefaultMetadata) {\n return function (constructor: any): any {\n return constructor;\n };\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ApiModule } from '@veloceapps/api';\nimport { CoreModule } from '@veloceapps/core';\nimport { SdkCoreModule } from '@veloceapps/sdk/core';\nimport { DialogService } from 'primeng/dynamicdialog';\nimport { IntegrationState } from './services';\nimport { DynamicModuleService } from './services/dynamic-module.service';\nimport { LauncherService } from './services/launcher.service';\n\n@NgModule({\n imports: [CommonModule, CoreModule, ApiModule, SdkCoreModule],\n providers: [LauncherService, IntegrationState, DynamicModuleService, DialogService],\n})\nexport class LauncherModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["FlowAction","InjectionToken","ElementComponent","BehaviorSubject","Component","ChangeDetectionStrategy","Inject","Injector","compact","Injectable","Directive","DOCUMENT","UUID","flatten","Subject","takeUntil","isArray","map","pull","ViewContainerRef","SkipSelf","ViewChild","Input","CommonModule","LoaderModule","NgModule","ConfigurationService","LineItemWorker","generateLineItem","getAttributeValue","filter","lineItemUtils","angularCore","angularForms","rxjs","rxjsOperators","lodash","transform","set","kebabCase","from","tap","FormsModule","ReactiveFormsModule","DragDropModule","ScrollingModule","of","switchMap","forkJoin","catchError","ViewEncapsulation","CoreModule","ApiModule","SdkCoreModule","DialogService"],"mappings":"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"}
|