@colijnit/configurator 261.1.1 → 261.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{fesm2015/colijnit-configurator.js → fesm2022/colijnit-configurator.mjs} +19087 -18481
- package/fesm2022/colijnit-configurator.mjs.map +1 -0
- package/index.d.ts +3299 -0
- package/lib/components/answer-card/style/_layout.scss +3 -3
- package/lib/components/answers-slideout/style/_layout.scss +1 -0
- package/lib/style/configurator-globals.scss +1 -21
- package/package.json +24 -19
- package/bundles/colijnit-configurator.umd.js +0 -20167
- package/bundles/colijnit-configurator.umd.js.map +0 -1
- package/colijnit-configurator.d.ts +0 -5
- package/esm2015/colijnit-configurator.js +0 -5
- package/esm2015/lib/builder.js +0 -795
- package/esm2015/lib/components/answer-card/answer-card.component.js +0 -313
- package/esm2015/lib/components/answer-card/answer-card.module.js +0 -50
- package/esm2015/lib/components/answer-info-dialog/answer-info-dialog.component.js +0 -182
- package/esm2015/lib/components/answer-info-dialog/answer-info-dialog.module.js +0 -34
- package/esm2015/lib/components/answers-slideout/answers-slideout.component.js +0 -490
- package/esm2015/lib/components/answers-slideout/answers-slideout.module.js +0 -61
- package/esm2015/lib/components/color-filter/color-filter.component.js +0 -59
- package/esm2015/lib/components/color-filter/color-filter.module.js +0 -26
- package/esm2015/lib/components/configurator/configurator.component.js +0 -133
- package/esm2015/lib/components/configurator/configurator.module.js +0 -42
- package/esm2015/lib/components/configurator-dialog/configurator-camera-settings.component.js +0 -222
- package/esm2015/lib/components/configurator-dialog/configurator-dialog.module.js +0 -48
- package/esm2015/lib/components/configurator-dialog/configurator-error-dialog.component.js +0 -82
- package/esm2015/lib/components/configurator-dialog/configurator-export-dialog.component.js +0 -163
- package/esm2015/lib/components/configurator-loader/configurator-loader.component.js +0 -49
- package/esm2015/lib/components/configurator-loader/configurator-loader.module.js +0 -33
- package/esm2015/lib/components/configurator-scene/configurator-scene.component.js +0 -60
- package/esm2015/lib/components/configurator-scene/configurator-scene.module.js +0 -17
- package/esm2015/lib/components/configurator-scene-loader/configurator-scene-loader.component.js +0 -46
- package/esm2015/lib/components/configurator-scene-loader/configurator-scene-loader.module.js +0 -26
- package/esm2015/lib/components/element-buttons/element-buttons.component.js +0 -168
- package/esm2015/lib/components/element-buttons/element-buttons.module.js +0 -30
- package/esm2015/lib/components/element-toolbar/element-toolbar.component.js +0 -186
- package/esm2015/lib/components/element-toolbar/element-toolbar.module.js +0 -34
- package/esm2015/lib/components/image-zoom/image-zoom.component.js +0 -61
- package/esm2015/lib/components/image-zoom/image-zoom.module.js +0 -30
- package/esm2015/lib/components/lite-selector/lite-selector.component.js +0 -206
- package/esm2015/lib/components/lite-selector/lite-selector.module.js +0 -34
- package/esm2015/lib/components/product-configurator/product-configurator.component.js +0 -184
- package/esm2015/lib/components/product-configurator/product-configurator.module.js +0 -72
- package/esm2015/lib/components/product-configurator-selector/product-configurator-selector.component.js +0 -237
- package/esm2015/lib/components/product-configurator-selector/product-configurator-selector.module.js +0 -38
- package/esm2015/lib/components/product-configurator-selector-option/product-configurator-selector-option.component.js +0 -284
- package/esm2015/lib/components/product-configurator-selector-option/product-configurator-selector-option.module.js +0 -42
- package/esm2015/lib/components/product-configurator-selector-option-button/product-configurator-selector-option-button.component.js +0 -72
- package/esm2015/lib/components/product-configurator-selector-option-button/product-configurator-selector-option-button.module.js +0 -34
- package/esm2015/lib/components/product-configurator-selector-option-checkbox/product-configurator-selector-option-checkbox.component.js +0 -82
- package/esm2015/lib/components/product-configurator-selector-option-checkbox/product-configurator-selector-option-checkbox.module.js +0 -30
- package/esm2015/lib/components/product-configurator-selector-option-dropdown/product-configurator-selector-option-dropdown.component.js +0 -80
- package/esm2015/lib/components/product-configurator-selector-option-dropdown/product-configurator-selector-option-dropdown.module.js +0 -34
- package/esm2015/lib/components/product-configurator-selector-option-tile/product-configurator-selector-option-tile.component.js +0 -93
- package/esm2015/lib/components/product-configurator-selector-option-tile/product-configurator-selector-option-tile.module.js +0 -34
- package/esm2015/lib/components/progress-bar/progress-bar.component.js +0 -55
- package/esm2015/lib/components/progress-bar/progress-bar.module.js +0 -29
- package/esm2015/lib/components/scene-options/scene-options.component.js +0 -164
- package/esm2015/lib/components/scene-options/scene-options.module.js +0 -38
- package/esm2015/lib/components/selections-summary/selections-summary.component.js +0 -163
- package/esm2015/lib/components/selections-summary/selections-summary.module.js +0 -45
- package/esm2015/lib/components/selections-summary-line/selections-summary-line.component.js +0 -171
- package/esm2015/lib/components/selections-summary-line/selections-summary-line.module.js +0 -34
- package/esm2015/lib/components/slideout/slideout.component.js +0 -83
- package/esm2015/lib/components/slideout/slideout.module.js +0 -17
- package/esm2015/lib/components/summary-line/summary-line.component.js +0 -273
- package/esm2015/lib/components/summary-line/summary-line.module.js +0 -44
- package/esm2015/lib/components/tag-filter/tag-filter.component.js +0 -39
- package/esm2015/lib/components/tag-filter/tag-filter.module.js +0 -21
- package/esm2015/lib/components/threedselector/threedselector.component.js +0 -155
- package/esm2015/lib/components/threedselector/threedselector.module.js +0 -34
- package/esm2015/lib/core/helper/variation-helper.js +0 -553
- package/esm2015/lib/core/shader/floor-fade.shader.js +0 -33
- package/esm2015/lib/core/textures/depth-data-texture.js +0 -19
- package/esm2015/lib/directives/directives.module.js +0 -26
- package/esm2015/lib/directives/visibility-observer-master.directive.js +0 -53
- package/esm2015/lib/directives/visibility-observer.directive.js +0 -54
- package/esm2015/lib/enum/ar-feature.enum.js +0 -14
- package/esm2015/lib/enum/configuration-key.enum.js +0 -41
- package/esm2015/lib/enum/configuration-template.enum.js +0 -6
- package/esm2015/lib/enum/device-size-type.js +0 -7
- package/esm2015/lib/enum/device-tier.enum.js +0 -7
- package/esm2015/lib/enum/icon.enum.js +0 -113
- package/esm2015/lib/enum/item-type.enum.js +0 -23
- package/esm2015/lib/enum/light.enum.js +0 -9
- package/esm2015/lib/enum/navigator-type.enum.js +0 -6
- package/esm2015/lib/enum/output-encoding.enum.js +0 -9
- package/esm2015/lib/enum/result-type.enum.js +0 -21
- package/esm2015/lib/enum/scene-event.enum.js +0 -12
- package/esm2015/lib/enum/shadow-map-type.enum.js +0 -8
- package/esm2015/lib/enum/texture-type.js +0 -9
- package/esm2015/lib/enum/tone-mapping-local.enum.js +0 -12
- package/esm2015/lib/enum/view-mode.enum.js +0 -7
- package/esm2015/lib/enum/xr-mode.enum.js +0 -6
- package/esm2015/lib/environments/environment.js +0 -8
- package/esm2015/lib/interfaces/aa-options.interface.js +0 -2
- package/esm2015/lib/interfaces/adjustable-element.interface.js +0 -2
- package/esm2015/lib/interfaces/ao-options.interface.js +0 -2
- package/esm2015/lib/interfaces/changes.interface.js +0 -2
- package/esm2015/lib/interfaces/configuration-data.interface.js +0 -2
- package/esm2015/lib/interfaces/light-preset.interface.js +0 -2
- package/esm2015/lib/interfaces/post-processing-setting.interface.js +0 -2
- package/esm2015/lib/interfaces/scene-option-button.interface.js +0 -6
- package/esm2015/lib/interfaces/screen-size-info.js +0 -2
- package/esm2015/lib/interfaces/setting.interface.js +0 -2
- package/esm2015/lib/interfaces/texture.interface.js +0 -2
- package/esm2015/lib/interfaces/vignette-options.interface.js +0 -2
- package/esm2015/lib/model/ar-position-indicator.js +0 -18
- package/esm2015/lib/model/camera-settings.js +0 -14
- package/esm2015/lib/model/configuration-result-object.js +0 -6
- package/esm2015/lib/model/configurator-error-message.js +0 -9
- package/esm2015/lib/model/configurator-settings.js +0 -25
- package/esm2015/lib/model/custom-button.js +0 -16
- package/esm2015/lib/model/factory.js +0 -28
- package/esm2015/lib/model/icon.js +0 -112
- package/esm2015/lib/model/intersected-objects.js +0 -7
- package/esm2015/lib/model/light-preset.js +0 -73
- package/esm2015/lib/model/light-properties.js +0 -45
- package/esm2015/lib/model/material.js +0 -11
- package/esm2015/lib/model/metadata.js +0 -2
- package/esm2015/lib/model/render-parameters.js +0 -16
- package/esm2015/lib/model/setting-options.js +0 -71
- package/esm2015/lib/model/settings.js +0 -16
- package/esm2015/lib/model/shadow-properties.js +0 -10
- package/esm2015/lib/model/skin.js +0 -3
- package/esm2015/lib/model/texture.js +0 -76
- package/esm2015/lib/model/variation-settings.js +0 -54
- package/esm2015/lib/model/variation.js +0 -3
- package/esm2015/lib/model/xr-reticle.js +0 -79
- package/esm2015/lib/modules/render/enum/scene-type.enum.js +0 -6
- package/esm2015/lib/modules/render/model/ar-parameters.js +0 -12
- package/esm2015/lib/modules/render/model/scene-setting.js +0 -6
- package/esm2015/lib/modules/render/model/scene-settings.js +0 -3
- package/esm2015/lib/pipes/append.pipe.js +0 -21
- package/esm2015/lib/pipes/google-translate.pipe.js +0 -21
- package/esm2015/lib/pipes/localize.pipe.js +0 -28
- package/esm2015/lib/pipes/pipes.module.js +0 -41
- package/esm2015/lib/pipes/prepend.pipe.js +0 -21
- package/esm2015/lib/pipes/strip-html.pipe.js +0 -17
- package/esm2015/lib/services/app-event.service.js +0 -36
- package/esm2015/lib/services/app-initializer.service.js +0 -27
- package/esm2015/lib/services/ar.service.js +0 -844
- package/esm2015/lib/services/build-furniture-base.service.js +0 -1181
- package/esm2015/lib/services/build-furniture-without-scene.service.js +0 -86
- package/esm2015/lib/services/build-furniture.service.js +0 -169
- package/esm2015/lib/services/bundle-initialzer.service.js +0 -113
- package/esm2015/lib/services/camera.service.js +0 -123
- package/esm2015/lib/services/configuration.service.js +0 -79
- package/esm2015/lib/services/configurator-connector.service.js +0 -830
- package/esm2015/lib/services/configurator.service.js +0 -285
- package/esm2015/lib/services/configuring.service.js +0 -119
- package/esm2015/lib/services/controls.js +0 -799
- package/esm2015/lib/services/debug.service.js +0 -43
- package/esm2015/lib/services/dictionary.service.js +0 -65
- package/esm2015/lib/services/dynamic-camera.service.js +0 -96
- package/esm2015/lib/services/floor-plane.service.js +0 -252
- package/esm2015/lib/services/font.service.js +0 -27
- package/esm2015/lib/services/google-translate.service.js +0 -79
- package/esm2015/lib/services/icon-cache.service.js +0 -44
- package/esm2015/lib/services/intersection.service.js +0 -47
- package/esm2015/lib/services/item.service.js +0 -75
- package/esm2015/lib/services/json-utils.service.js +0 -48
- package/esm2015/lib/services/light-creation.service.js +0 -35
- package/esm2015/lib/services/light-presets.service.js +0 -157
- package/esm2015/lib/services/lights.service.js +0 -146
- package/esm2015/lib/services/load-furniture-base.service.js +0 -164
- package/esm2015/lib/services/load-furniture-without-scene.service.js +0 -45
- package/esm2015/lib/services/load-furniture.service.js +0 -72
- package/esm2015/lib/services/loader.service.js +0 -32
- package/esm2015/lib/services/locator.service.js +0 -11
- package/esm2015/lib/services/message-board.service.js +0 -50
- package/esm2015/lib/services/post-processing.service.js +0 -378
- package/esm2015/lib/services/product-configurator.service.js +0 -16
- package/esm2015/lib/services/progress.service.js +0 -20
- package/esm2015/lib/services/scene-event.service.js +0 -246
- package/esm2015/lib/services/scene-options.service.js +0 -24
- package/esm2015/lib/services/scene.service.js +0 -313
- package/esm2015/lib/services/screen-size-analysis.service.js +0 -97
- package/esm2015/lib/services/settings.service.js +0 -142
- package/esm2015/lib/services/switch-build-furniture.service.js +0 -37
- package/esm2015/lib/services/switch-load-furniture.service.js +0 -35
- package/esm2015/lib/services/threedselector.service.js +0 -72
- package/esm2015/lib/services/utils.service.js +0 -207
- package/esm2015/lib/services/variation-cache.service.js +0 -143
- package/esm2015/lib/services/variation.service.js +0 -490
- package/esm2015/lib/services/view-mode.service.js +0 -37
- package/esm2015/lib/services/vr.service.js +0 -191
- package/esm2015/lib/services/xr.service.js +0 -294
- package/esm2015/lib/utils/asset.utils.js +0 -120
- package/esm2015/lib/utils/base-utils.js +0 -9
- package/esm2015/lib/utils/color.utils.js +0 -30
- package/esm2015/lib/utils/debug.utils.js +0 -9
- package/esm2015/lib/utils/device.utils.js +0 -25
- package/esm2015/lib/utils/file.utils.js +0 -167
- package/esm2015/lib/utils/image.utils.js +0 -61
- package/esm2015/lib/utils/json-parser.utils.js +0 -180
- package/esm2015/lib/utils/material.utils.js +0 -433
- package/esm2015/lib/utils/object.utils.js +0 -360
- package/esm2015/lib/utils/relative-position.utils.js +0 -75
- package/esm2015/lib/utils/rotation-helper.utils.js +0 -15
- package/esm2015/lib/utils/scene-3d.utils.js +0 -213
- package/esm2015/lib/utils/scene-utils.js +0 -191
- package/esm2015/lib/utils/text-utils.js +0 -68
- package/esm2015/lib/utils/threed.utils.js +0 -281
- package/esm2015/lib/utils/variation-utils.js +0 -459
- package/esm2015/public-api.js +0 -65
- package/fesm2015/colijnit-configurator.js.map +0 -1
- package/lib/builder.d.ts +0 -83
- package/lib/components/answer-card/answer-card.component.d.ts +0 -58
- package/lib/components/answer-card/answer-card.module.d.ts +0 -11
- package/lib/components/answer-info-dialog/answer-info-dialog.component.d.ts +0 -38
- package/lib/components/answer-info-dialog/answer-info-dialog.module.d.ts +0 -10
- package/lib/components/answers-slideout/answers-slideout.component.d.ts +0 -86
- package/lib/components/answers-slideout/answers-slideout.module.d.ts +0 -16
- package/lib/components/color-filter/color-filter.component.d.ts +0 -20
- package/lib/components/color-filter/color-filter.module.d.ts +0 -8
- package/lib/components/configurator/configurator.component.d.ts +0 -37
- package/lib/components/configurator/configurator.module.d.ts +0 -12
- package/lib/components/configurator-dialog/configurator-camera-settings.component.d.ts +0 -30
- package/lib/components/configurator-dialog/configurator-dialog.module.d.ts +0 -13
- package/lib/components/configurator-dialog/configurator-error-dialog.component.d.ts +0 -16
- package/lib/components/configurator-dialog/configurator-export-dialog.component.d.ts +0 -26
- package/lib/components/configurator-loader/configurator-loader.component.d.ts +0 -7
- package/lib/components/configurator-loader/configurator-loader.module.d.ts +0 -9
- package/lib/components/configurator-scene/configurator-scene.component.d.ts +0 -24
- package/lib/components/configurator-scene/configurator-scene.module.d.ts +0 -7
- package/lib/components/configurator-scene-loader/configurator-scene-loader.component.d.ts +0 -7
- package/lib/components/configurator-scene-loader/configurator-scene-loader.module.d.ts +0 -8
- package/lib/components/element-buttons/element-buttons.component.d.ts +0 -32
- package/lib/components/element-buttons/element-buttons.module.d.ts +0 -9
- package/lib/components/element-toolbar/element-toolbar.component.d.ts +0 -27
- package/lib/components/element-toolbar/element-toolbar.module.d.ts +0 -10
- package/lib/components/image-zoom/image-zoom.component.d.ts +0 -15
- package/lib/components/image-zoom/image-zoom.module.d.ts +0 -9
- package/lib/components/lite-selector/lite-selector.component.d.ts +0 -40
- package/lib/components/lite-selector/lite-selector.module.d.ts +0 -10
- package/lib/components/product-configurator/product-configurator.component.d.ts +0 -50
- package/lib/components/product-configurator/product-configurator.module.d.ts +0 -15
- package/lib/components/product-configurator-selector/product-configurator-selector.component.d.ts +0 -35
- package/lib/components/product-configurator-selector/product-configurator-selector.module.d.ts +0 -11
- package/lib/components/product-configurator-selector-option/product-configurator-selector-option.component.d.ts +0 -31
- package/lib/components/product-configurator-selector-option/product-configurator-selector-option.module.d.ts +0 -13
- package/lib/components/product-configurator-selector-option-button/product-configurator-selector-option-button.component.d.ts +0 -20
- package/lib/components/product-configurator-selector-option-button/product-configurator-selector-option-button.module.d.ts +0 -10
- package/lib/components/product-configurator-selector-option-checkbox/product-configurator-selector-option-checkbox.component.d.ts +0 -20
- package/lib/components/product-configurator-selector-option-checkbox/product-configurator-selector-option-checkbox.module.d.ts +0 -10
- package/lib/components/product-configurator-selector-option-dropdown/product-configurator-selector-option-dropdown.component.d.ts +0 -21
- package/lib/components/product-configurator-selector-option-dropdown/product-configurator-selector-option-dropdown.module.d.ts +0 -10
- package/lib/components/product-configurator-selector-option-tile/product-configurator-selector-option-tile.component.d.ts +0 -21
- package/lib/components/product-configurator-selector-option-tile/product-configurator-selector-option-tile.module.d.ts +0 -10
- package/lib/components/progress-bar/progress-bar.component.d.ts +0 -10
- package/lib/components/progress-bar/progress-bar.module.d.ts +0 -8
- package/lib/components/scene-options/scene-options.component.d.ts +0 -24
- package/lib/components/scene-options/scene-options.module.d.ts +0 -11
- package/lib/components/selections-summary/selections-summary.component.d.ts +0 -38
- package/lib/components/selections-summary/selections-summary.module.d.ts +0 -12
- package/lib/components/selections-summary-line/selections-summary-line.component.d.ts +0 -27
- package/lib/components/selections-summary-line/selections-summary-line.module.d.ts +0 -10
- package/lib/components/slideout/slideout.component.d.ts +0 -22
- package/lib/components/slideout/slideout.module.d.ts +0 -7
- package/lib/components/summary-line/summary-line.component.d.ts +0 -50
- package/lib/components/summary-line/summary-line.module.d.ts +0 -11
- package/lib/components/tag-filter/tag-filter.component.d.ts +0 -9
- package/lib/components/tag-filter/tag-filter.module.d.ts +0 -7
- package/lib/components/threedselector/threedselector.component.d.ts +0 -38
- package/lib/components/threedselector/threedselector.module.d.ts +0 -10
- package/lib/core/helper/variation-helper.d.ts +0 -25
- package/lib/core/shader/floor-fade.shader.d.ts +0 -5
- package/lib/core/textures/depth-data-texture.d.ts +0 -5
- package/lib/directives/directives.module.d.ts +0 -8
- package/lib/directives/visibility-observer-master.directive.d.ts +0 -12
- package/lib/directives/visibility-observer.directive.d.ts +0 -16
- package/lib/enum/ar-feature.enum.d.ts +0 -12
- package/lib/enum/configuration-key.enum.d.ts +0 -39
- package/lib/enum/configuration-template.enum.d.ts +0 -4
- package/lib/enum/device-size-type.d.ts +0 -5
- package/lib/enum/device-tier.enum.d.ts +0 -5
- package/lib/enum/icon.enum.d.ts +0 -111
- package/lib/enum/item-type.enum.d.ts +0 -21
- package/lib/enum/light.enum.d.ts +0 -7
- package/lib/enum/navigator-type.enum.d.ts +0 -4
- package/lib/enum/output-encoding.enum.d.ts +0 -7
- package/lib/enum/result-type.enum.d.ts +0 -19
- package/lib/enum/scene-event.enum.d.ts +0 -10
- package/lib/enum/shadow-map-type.enum.d.ts +0 -6
- package/lib/enum/texture-type.d.ts +0 -7
- package/lib/enum/tone-mapping-local.enum.d.ts +0 -10
- package/lib/enum/view-mode.enum.d.ts +0 -5
- package/lib/enum/xr-mode.enum.d.ts +0 -4
- package/lib/environments/environment.d.ts +0 -4
- package/lib/interfaces/aa-options.interface.d.ts +0 -4
- package/lib/interfaces/adjustable-element.interface.d.ts +0 -5
- package/lib/interfaces/ao-options.interface.d.ts +0 -18
- package/lib/interfaces/changes.interface.d.ts +0 -9
- package/lib/interfaces/configuration-data.interface.d.ts +0 -40
- package/lib/interfaces/light-preset.interface.d.ts +0 -22
- package/lib/interfaces/post-processing-setting.interface.d.ts +0 -11
- package/lib/interfaces/scene-option-button.interface.d.ts +0 -19
- package/lib/interfaces/screen-size-info.d.ts +0 -10
- package/lib/interfaces/setting.interface.d.ts +0 -8
- package/lib/interfaces/texture.interface.d.ts +0 -44
- package/lib/interfaces/vignette-options.interface.d.ts +0 -4
- package/lib/model/ar-position-indicator.d.ts +0 -4
- package/lib/model/camera-settings.d.ts +0 -12
- package/lib/model/configuration-result-object.d.ts +0 -30
- package/lib/model/configurator-error-message.d.ts +0 -8
- package/lib/model/configurator-settings.d.ts +0 -62
- package/lib/model/custom-button.d.ts +0 -10
- package/lib/model/factory.d.ts +0 -5
- package/lib/model/icon.d.ts +0 -4
- package/lib/model/intersected-objects.d.ts +0 -6
- package/lib/model/light-preset.d.ts +0 -33
- package/lib/model/light-properties.d.ts +0 -25
- package/lib/model/material.d.ts +0 -41
- package/lib/model/metadata.d.ts +0 -78
- package/lib/model/render-parameters.d.ts +0 -12
- package/lib/model/setting-options.d.ts +0 -67
- package/lib/model/settings.d.ts +0 -10
- package/lib/model/shadow-properties.d.ts +0 -7
- package/lib/model/skin.d.ts +0 -15
- package/lib/model/texture.d.ts +0 -52
- package/lib/model/variation-settings.d.ts +0 -55
- package/lib/model/variation.d.ts +0 -11
- package/lib/model/xr-reticle.d.ts +0 -17
- package/lib/modules/render/enum/scene-type.enum.d.ts +0 -4
- package/lib/modules/render/model/ar-parameters.d.ts +0 -9
- package/lib/modules/render/model/scene-setting.d.ts +0 -13
- package/lib/modules/render/model/scene-settings.d.ts +0 -4
- package/lib/pipes/append.pipe.d.ts +0 -7
- package/lib/pipes/google-translate.pipe.d.ts +0 -11
- package/lib/pipes/localize.pipe.d.ts +0 -10
- package/lib/pipes/pipes.module.d.ts +0 -11
- package/lib/pipes/prepend.pipe.d.ts +0 -7
- package/lib/pipes/strip-html.pipe.d.ts +0 -7
- package/lib/services/app-event.service.d.ts +0 -32
- package/lib/services/app-initializer.service.d.ts +0 -14
- package/lib/services/ar.service.d.ts +0 -120
- package/lib/services/build-furniture-base.service.d.ts +0 -117
- package/lib/services/build-furniture-without-scene.service.d.ts +0 -14
- package/lib/services/build-furniture.service.d.ts +0 -14
- package/lib/services/bundle-initialzer.service.d.ts +0 -45
- package/lib/services/camera.service.d.ts +0 -44
- package/lib/services/configuration.service.d.ts +0 -18
- package/lib/services/configurator-connector.service.d.ts +0 -140
- package/lib/services/configurator.service.d.ts +0 -62
- package/lib/services/configuring.service.d.ts +0 -46
- package/lib/services/controls.d.ts +0 -11
- package/lib/services/debug.service.d.ts +0 -16
- package/lib/services/dictionary.service.d.ts +0 -15
- package/lib/services/dynamic-camera.service.d.ts +0 -21
- package/lib/services/floor-plane.service.d.ts +0 -47
- package/lib/services/font.service.d.ts +0 -10
- package/lib/services/google-translate.service.d.ts +0 -26
- package/lib/services/icon-cache.service.d.ts +0 -21
- package/lib/services/intersection.service.d.ts +0 -11
- package/lib/services/item.service.d.ts +0 -18
- package/lib/services/json-utils.service.d.ts +0 -7
- package/lib/services/light-creation.service.d.ts +0 -9
- package/lib/services/light-presets.service.d.ts +0 -34
- package/lib/services/lights.service.d.ts +0 -34
- package/lib/services/load-furniture-base.service.d.ts +0 -37
- package/lib/services/load-furniture-without-scene.service.d.ts +0 -9
- package/lib/services/load-furniture.service.d.ts +0 -9
- package/lib/services/loader.service.d.ts +0 -11
- package/lib/services/locator.service.d.ts +0 -7
- package/lib/services/message-board.service.d.ts +0 -18
- package/lib/services/post-processing.service.d.ts +0 -74
- package/lib/services/product-configurator.service.d.ts +0 -11
- package/lib/services/progress.service.d.ts +0 -9
- package/lib/services/scene-event.service.d.ts +0 -72
- package/lib/services/scene-options.service.d.ts +0 -11
- package/lib/services/scene.service.d.ts +0 -71
- package/lib/services/screen-size-analysis.service.d.ts +0 -32
- package/lib/services/settings.service.d.ts +0 -24
- package/lib/services/switch-build-furniture.service.d.ts +0 -21
- package/lib/services/switch-load-furniture.service.d.ts +0 -21
- package/lib/services/threedselector.service.d.ts +0 -17
- package/lib/services/utils.service.d.ts +0 -24
- package/lib/services/variation-cache.service.d.ts +0 -23
- package/lib/services/variation.service.d.ts +0 -26
- package/lib/services/view-mode.service.d.ts +0 -17
- package/lib/services/vr.service.d.ts +0 -42
- package/lib/services/xr.service.d.ts +0 -56
- package/lib/utils/asset.utils.d.ts +0 -19
- package/lib/utils/base-utils.d.ts +0 -4
- package/lib/utils/color.utils.d.ts +0 -8
- package/lib/utils/debug.utils.d.ts +0 -3
- package/lib/utils/device.utils.d.ts +0 -7
- package/lib/utils/file.utils.d.ts +0 -30
- package/lib/utils/image.utils.d.ts +0 -9
- package/lib/utils/json-parser.utils.d.ts +0 -9
- package/lib/utils/material.utils.d.ts +0 -34
- package/lib/utils/object.utils.d.ts +0 -32
- package/lib/utils/relative-position.utils.d.ts +0 -12
- package/lib/utils/rotation-helper.utils.d.ts +0 -6
- package/lib/utils/scene-3d.utils.d.ts +0 -8
- package/lib/utils/scene-utils.d.ts +0 -7
- package/lib/utils/text-utils.d.ts +0 -4
- package/lib/utils/threed.utils.d.ts +0 -20
- package/lib/utils/variation-utils.d.ts +0 -18
- package/public-api.d.ts +0 -60
- /package/lib/style/{template_variables.scss → _variables.scss} +0 -0
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { Component, EventEmitter, HostBinding, Input, Output, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
3
|
-
import { animate, state, style, transition, trigger } from '@angular/animations';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../../services/switch-build-furniture.service";
|
|
6
|
-
import * as i2 from "../../services/configurator-connector.service";
|
|
7
|
-
import * as i3 from "../../services/configuring.service";
|
|
8
|
-
import * as i4 from "../selections-summary/selections-summary.component";
|
|
9
|
-
import * as i5 from "../answers-slideout/answers-slideout.component";
|
|
10
|
-
import * as i6 from "@angular/common";
|
|
11
|
-
export class LiteSelectorComponent {
|
|
12
|
-
constructor(buildFurnitureService, configuratorConnectorService, _configuringService) {
|
|
13
|
-
this.buildFurnitureService = buildFurnitureService;
|
|
14
|
-
this.configuratorConnectorService = configuratorConnectorService;
|
|
15
|
-
this._configuringService = _configuringService;
|
|
16
|
-
this.showLabel = true;
|
|
17
|
-
this.canClose = true;
|
|
18
|
-
this.customDimensions = false;
|
|
19
|
-
this.showChange = new EventEmitter();
|
|
20
|
-
this.answerChosen = new EventEmitter();
|
|
21
|
-
this.inlineAnswers = false;
|
|
22
|
-
this.animateSlideout = true;
|
|
23
|
-
this._answersShowing = false;
|
|
24
|
-
this._showSelections = false;
|
|
25
|
-
this._subs = [];
|
|
26
|
-
}
|
|
27
|
-
showClass() {
|
|
28
|
-
return true;
|
|
29
|
-
}
|
|
30
|
-
set showAnswers(value) {
|
|
31
|
-
this._showAnswers = value;
|
|
32
|
-
if (!this.showAnswers) {
|
|
33
|
-
setTimeout(() => {
|
|
34
|
-
this.animateSlideout = true;
|
|
35
|
-
}, 400);
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
this.animateSlideout = false;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
get showAnswers() {
|
|
42
|
-
return this._showAnswers;
|
|
43
|
-
}
|
|
44
|
-
set showSelections(value) {
|
|
45
|
-
this._showSelections = value;
|
|
46
|
-
}
|
|
47
|
-
get showSelections() {
|
|
48
|
-
return this._showSelections;
|
|
49
|
-
}
|
|
50
|
-
ngOnDestroy() {
|
|
51
|
-
this._subs.forEach(s => s.unsubscribe());
|
|
52
|
-
this.templateAnswers = undefined;
|
|
53
|
-
}
|
|
54
|
-
onCloseLiteSelectorButtonClick() {
|
|
55
|
-
this.show = false;
|
|
56
|
-
this.showChange.emit(false);
|
|
57
|
-
}
|
|
58
|
-
// todo: move to threedselector.component to be able to handle errors?
|
|
59
|
-
onSelectionsSummarySelectSelection(selection, forceBackToNode, after) {
|
|
60
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
-
if (this.inlineAnswers && this.answerToShowFromSelectionText) {
|
|
62
|
-
if (this._selectionSelected !== selection) {
|
|
63
|
-
if (this._answersShowing) {
|
|
64
|
-
yield this.buildFurnitureService.currentActiveService.cancelAnswer(this._configuringService.buildResult, false);
|
|
65
|
-
}
|
|
66
|
-
yield this.buildFurnitureService.currentActiveService.selectSelection(selection, this._configuringService.buildResult, forceBackToNode, after);
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
if (this._answersShowing) {
|
|
70
|
-
yield this.buildFurnitureService.currentActiveService.cancelAnswer(this._configuringService.buildResult, false);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
yield this.buildFurnitureService.currentActiveService.selectSelection(selection, this._configuringService.buildResult, forceBackToNode, after);
|
|
76
|
-
}
|
|
77
|
-
this._selectionSelected = selection;
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
onSelectionsSummaryDeleteSelection(selection) {
|
|
81
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
82
|
-
this.buildFurnitureService.currentActiveService.deleteSelection(selection, this._configuringService.buildResult);
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
onAnswersSlideoutAnswerChosen(answerSelected) {
|
|
86
|
-
this._answersShowing = false;
|
|
87
|
-
this.buildFurnitureService.currentActiveService.selectAnswer(answerSelected.answer, answerSelected.input, this._configuringService.buildResult);
|
|
88
|
-
this.answerChosen.next(answerSelected.answer);
|
|
89
|
-
// this.iOne.getMoodImageForAnswerSelection(answerSelected.answer, false);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
LiteSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LiteSelectorComponent, deps: [{ token: i1.SwitchBuildFurnitureService }, { token: i2.ConfiguratorConnectorService }, { token: i3.ConfiguringService }], target: i0.ɵɵFactoryTarget.Component });
|
|
93
|
-
LiteSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: LiteSelectorComponent, selector: "co-lite-selector", inputs: { showAnswers: "showAnswers", show: "show", showSelections: "showSelections", showLabel: "showLabel", canClose: "canClose", customDimensions: "customDimensions" }, outputs: { showChange: "showChange", answerChosen: "answerChosen" }, host: { properties: { "class.co-lite-selector": "this.showClass", "class.custom-dimensions": "this.customDimensions" } }, viewQueries: [{ propertyName: "templateAnswers", first: true, predicate: ["templateAnswers"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: `
|
|
94
|
-
<ng-container>
|
|
95
|
-
<co-selections-summary
|
|
96
|
-
*ngIf="showSelections && configuratorConnectorService.selectionsToDisplay.length > 0" @showSelections [@.disabled]="!animateSlideout"
|
|
97
|
-
class="rp-selections-summary"
|
|
98
|
-
[showLabel]="showLabel"
|
|
99
|
-
[canClose]="canClose"
|
|
100
|
-
[customDimensions]="customDimensions"
|
|
101
|
-
[answersTemplate]="inlineAnswers ? templateAnswers : undefined"
|
|
102
|
-
[answerToShowFromSelectionText]="answerToShowFromSelectionText"
|
|
103
|
-
[selections]="configuratorConnectorService.selectionsToDisplay"
|
|
104
|
-
(selectSelection)="onSelectionsSummarySelectSelection($event)"
|
|
105
|
-
(repeatSelection)="onSelectionsSummarySelectSelection($event, false, true)"
|
|
106
|
-
(deleteSelection)="onSelectionsSummaryDeleteSelection($event)"
|
|
107
|
-
(closeClick)="onCloseLiteSelectorButtonClick()"
|
|
108
|
-
>
|
|
109
|
-
</co-selections-summary>
|
|
110
|
-
<ng-container *ngIf="!inlineAnswers" [ngTemplateOutlet]="templateAnswers"></ng-container>
|
|
111
|
-
</ng-container>
|
|
112
|
-
|
|
113
|
-
<ng-template #templateAnswers>
|
|
114
|
-
<co-answers-slideout
|
|
115
|
-
class="rp-answers-slideout"
|
|
116
|
-
[isShown]="showAnswers && configuratorConnectorService.activeAnswers.length > 0"
|
|
117
|
-
[showTitle]="!inlineAnswers"
|
|
118
|
-
[showFilter]="!inlineAnswers"
|
|
119
|
-
[useSlideout]="!inlineAnswers"
|
|
120
|
-
[customDimensions]="customDimensions"
|
|
121
|
-
[question]="configuratorConnectorService.activeQuestion"
|
|
122
|
-
[answers]="configuratorConnectorService.activeAnswers"
|
|
123
|
-
(answerChosen)="onAnswersSlideoutAnswerChosen($event)"
|
|
124
|
-
></co-answers-slideout>
|
|
125
|
-
</ng-template>
|
|
126
|
-
`, isInline: true, components: [{ type: i4.SelectionsSummaryComponent, selector: "co-selections-summary", inputs: ["selections", "showLabel", "canClose", "answersTemplate", "answerToShowFromSelectionText", "customDimensions"], outputs: ["closeClick", "cancelAnswers", "selectSelection", "repeatSelection", "deleteSelection"] }, { type: i5.AnswersSlideoutComponent, selector: "co-answers-slideout", inputs: ["isShown", "question", "showTitle", "showFilter", "answers", "useSlideout", "customDimensions"], outputs: ["isShownChange", "answerChosen"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], animations: [
|
|
127
|
-
trigger('showSelections', [
|
|
128
|
-
state('void', style({ 'transform': 'translateX(100%)', opacity: 0 })),
|
|
129
|
-
state('*', style({ 'transform': 'translateX(0%)', opacity: 1 })),
|
|
130
|
-
transition('void <=> *', animate(200))
|
|
131
|
-
])
|
|
132
|
-
], encapsulation: i0.ViewEncapsulation.None });
|
|
133
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LiteSelectorComponent, decorators: [{
|
|
134
|
-
type: Component,
|
|
135
|
-
args: [{
|
|
136
|
-
selector: 'co-lite-selector',
|
|
137
|
-
template: `
|
|
138
|
-
<ng-container>
|
|
139
|
-
<co-selections-summary
|
|
140
|
-
*ngIf="showSelections && configuratorConnectorService.selectionsToDisplay.length > 0" @showSelections [@.disabled]="!animateSlideout"
|
|
141
|
-
class="rp-selections-summary"
|
|
142
|
-
[showLabel]="showLabel"
|
|
143
|
-
[canClose]="canClose"
|
|
144
|
-
[customDimensions]="customDimensions"
|
|
145
|
-
[answersTemplate]="inlineAnswers ? templateAnswers : undefined"
|
|
146
|
-
[answerToShowFromSelectionText]="answerToShowFromSelectionText"
|
|
147
|
-
[selections]="configuratorConnectorService.selectionsToDisplay"
|
|
148
|
-
(selectSelection)="onSelectionsSummarySelectSelection($event)"
|
|
149
|
-
(repeatSelection)="onSelectionsSummarySelectSelection($event, false, true)"
|
|
150
|
-
(deleteSelection)="onSelectionsSummaryDeleteSelection($event)"
|
|
151
|
-
(closeClick)="onCloseLiteSelectorButtonClick()"
|
|
152
|
-
>
|
|
153
|
-
</co-selections-summary>
|
|
154
|
-
<ng-container *ngIf="!inlineAnswers" [ngTemplateOutlet]="templateAnswers"></ng-container>
|
|
155
|
-
</ng-container>
|
|
156
|
-
|
|
157
|
-
<ng-template #templateAnswers>
|
|
158
|
-
<co-answers-slideout
|
|
159
|
-
class="rp-answers-slideout"
|
|
160
|
-
[isShown]="showAnswers && configuratorConnectorService.activeAnswers.length > 0"
|
|
161
|
-
[showTitle]="!inlineAnswers"
|
|
162
|
-
[showFilter]="!inlineAnswers"
|
|
163
|
-
[useSlideout]="!inlineAnswers"
|
|
164
|
-
[customDimensions]="customDimensions"
|
|
165
|
-
[question]="configuratorConnectorService.activeQuestion"
|
|
166
|
-
[answers]="configuratorConnectorService.activeAnswers"
|
|
167
|
-
(answerChosen)="onAnswersSlideoutAnswerChosen($event)"
|
|
168
|
-
></co-answers-slideout>
|
|
169
|
-
</ng-template>
|
|
170
|
-
`,
|
|
171
|
-
encapsulation: ViewEncapsulation.None,
|
|
172
|
-
animations: [
|
|
173
|
-
trigger('showSelections', [
|
|
174
|
-
state('void', style({ 'transform': 'translateX(100%)', opacity: 0 })),
|
|
175
|
-
state('*', style({ 'transform': 'translateX(0%)', opacity: 1 })),
|
|
176
|
-
transition('void <=> *', animate(200))
|
|
177
|
-
])
|
|
178
|
-
]
|
|
179
|
-
}]
|
|
180
|
-
}], ctorParameters: function () { return [{ type: i1.SwitchBuildFurnitureService }, { type: i2.ConfiguratorConnectorService }, { type: i3.ConfiguringService }]; }, propDecorators: { showClass: [{
|
|
181
|
-
type: HostBinding,
|
|
182
|
-
args: ['class.co-lite-selector']
|
|
183
|
-
}], templateAnswers: [{
|
|
184
|
-
type: ViewChild,
|
|
185
|
-
args: ['templateAnswers', { read: TemplateRef, static: true }]
|
|
186
|
-
}], showAnswers: [{
|
|
187
|
-
type: Input
|
|
188
|
-
}], show: [{
|
|
189
|
-
type: Input
|
|
190
|
-
}], showSelections: [{
|
|
191
|
-
type: Input
|
|
192
|
-
}], showLabel: [{
|
|
193
|
-
type: Input
|
|
194
|
-
}], canClose: [{
|
|
195
|
-
type: Input
|
|
196
|
-
}], customDimensions: [{
|
|
197
|
-
type: HostBinding,
|
|
198
|
-
args: ['class.custom-dimensions']
|
|
199
|
-
}, {
|
|
200
|
-
type: Input
|
|
201
|
-
}], showChange: [{
|
|
202
|
-
type: Output
|
|
203
|
-
}], answerChosen: [{
|
|
204
|
-
type: Output
|
|
205
|
-
}] } });
|
|
206
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl0ZS1zZWxlY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25maWd1cmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2xpdGUtc2VsZWN0b3IvbGl0ZS1zZWxlY3Rvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFJeEksT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7QUFtRC9FLE1BQU0sT0FBTyxxQkFBcUI7SUFpRWhDLFlBQ1MscUJBQWtELEVBQ2xELDRCQUEwRCxFQUN6RCxtQkFBdUM7UUFGeEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUE2QjtRQUNsRCxpQ0FBNEIsR0FBNUIsNEJBQTRCLENBQThCO1FBQ3pELHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUE5QjFDLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFHMUIsYUFBUSxHQUFZLElBQUksQ0FBQztRQUt6QixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFHekIsZUFBVSxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBR2hFLGlCQUFZLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFJekUsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDL0Isb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFHL0Isb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFDakMsb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFFakMsVUFBSyxHQUFtQixFQUFFLENBQUM7SUFRbkMsQ0FBQztJQXJFTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENB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SDtpQkFDRjs4TEFHUSxTQUFTO3NCQURmLFdBQVc7dUJBQUMsd0JBQXdCO2dCQU05QixlQUFlO3NCQURyQixTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUl0RCxXQUFXO3NCQURyQixLQUFLO2dCQWlCQyxJQUFJO3NCQURWLEtBQUs7Z0JBSUssY0FBYztzQkFEeEIsS0FBSztnQkFVQyxTQUFTO3NCQURmLEtBQUs7Z0JBSUMsUUFBUTtzQkFEZCxLQUFLO2dCQU1DLGdCQUFnQjtzQkFGdEIsV0FBVzt1QkFBQyx5QkFBeUI7O3NCQUNyQyxLQUFLO2dCQUlVLFVBQVU7c0JBRHpCLE1BQU07Z0JBSVMsWUFBWTtzQkFEM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtTZWxlY3Rpb259IGZyb20gJ0Bjb2xpam5pdC9jb25maWd1cmF0b3JhcGkvYnVpbGQvbW9kZWwvc2VsZWN0aW9uJztcclxuaW1wb3J0IHtBbnN3ZXJ9IGZyb20gJ0Bjb2xpam5pdC9jb25maWd1cmF0b3JhcGkvYnVpbGQvbW9kZWwvYW5zd2VyJztcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge2FuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7U3dpdGNoQnVpbGRGdXJuaXR1cmVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zd2l0Y2gtYnVpbGQtZnVybml0dXJlLnNlcnZpY2UnO1xyXG5pbXBvcnQge0NvbmZpZ3VyYXRvckNvbm5lY3RvclNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbmZpZ3VyYXRvci1jb25uZWN0b3Iuc2VydmljZSc7XHJcbmltcG9ydCB7Q29uZmlndXJhdGlvblJlc3VsdE9iamVjdH0gZnJvbSAnLi4vLi4vbW9kZWwvY29uZmlndXJhdGlvbi1yZXN1bHQtb2JqZWN0JztcclxuaW1wb3J0IHtDb25maWd1cmluZ1NlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbmZpZ3VyaW5nLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby1saXRlLXNlbGVjdG9yJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPG5nLWNvbnRhaW5lcj5cclxuICAgICAgPGNvLXNlbGVjdGlvbnMtc3VtbWFyeVxyXG4gICAgICAgICpuZ0lmPVwic2hvd1NlbGVjdGlvbnMgJiYgY29uZmlndXJhdG9yQ29ubmVjdG9yU2VydmljZS5zZWxlY3Rpb25zVG9EaXNwbGF5Lmxlbmd0aCA+IDBcIiBAc2hvd1NlbGVjdGlvbnMgW0AuZGlzYWJsZWRdPVwiIWFuaW1hdGVTbGlkZW91dFwiXHJcbiAgICAgICAgY2xhc3M9XCJycC1zZWxlY3Rpb25zLXN1bW1hcnlcIlxyXG4gICAgICAgIFtzaG93TGFiZWxdPVwic2hvd0xhYmVsXCJcclxuICAgICAgICBbY2FuQ2xvc2VdPVwiY2FuQ2xvc2VcIlxyXG4gICAgICAgIFtjdXN0b21EaW1lbnNpb25zXT1cImN1c3RvbURpbWVuc2lvbnNcIlxyXG4gICAgICAgIFthbnN3ZXJzVGVtcGxhdGVdPVwiaW5saW5lQW5zd2VycyA/IHRlbXBsYXRlQW5zd2VycyA6IHVuZGVmaW5lZFwiXHJcbiAgICAgICAgW2Fuc3dlclRvU2hvd0Zyb21TZWxlY3Rpb25UZXh0XT1cImFuc3dlclRvU2hvd0Zyb21TZWxlY3Rpb25UZXh0XCJcclxuICAgICAgICBbc2VsZWN0aW9uc109XCJjb25maWd1cmF0b3JDb25uZWN0b3JTZXJ2aWNlLnNlbGVjdGlvbnNUb0Rpc3BsYXlcIlxyXG4gICAgICAgIChzZWxlY3RTZWxlY3Rpb24pPVwib25TZWxlY3Rpb25zU3VtbWFyeVNlbGVjdFNlbGVjdGlvbigkZXZlbnQpXCJcclxuICAgICAgICAocmVwZWF0U2VsZWN0aW9uKT1cIm9uU2VsZWN0aW9uc1N1bW1hcnlTZWxlY3RTZWxlY3Rpb24oJGV2ZW50LCBmYWxzZSwgdHJ1ZSlcIlxyXG4gICAgICAgIChkZWxldGVTZWxlY3Rpb24pPVwib25TZWxlY3Rpb25zU3VtbWFyeURlbGV0ZVNlbGVjdGlvbigkZXZlbnQpXCJcclxuICAgICAgICAoY2xvc2VDbGljayk9XCJvbkNsb3NlTGl0ZVNlbGVjdG9yQnV0dG9uQ2xpY2soKVwiXHJcbiAgICAgID5cclxuICAgICAgPC9jby1zZWxlY3Rpb25zLXN1bW1hcnk+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaW5saW5lQW5zd2Vyc1wiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRlbXBsYXRlQW5zd2Vyc1wiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZUFuc3dlcnM+XHJcbiAgICAgIDxjby1hbnN3ZXJzLXNsaWRlb3V0XHJcbiAgICAgICAgY2xhc3M9XCJycC1hbnN3ZXJzLXNsaWRlb3V0XCJcclxuICAgICAgICBbaXNTaG93bl09XCJzaG93QW5zd2VycyAmJiBjb25maWd1cmF0b3JDb25uZWN0b3JTZXJ2aWNlLmFjdGl2ZUFuc3dlcnMubGVuZ3RoID4gMFwiXHJcbiAgICAgICAgW3Nob3dUaXRsZV09XCIhaW5saW5lQW5zd2Vyc1wiXHJcbiAgICAgICAgW3Nob3dGaWx0ZXJdPVwiIWlubGluZUFuc3dlcnNcIlxyXG4gICAgICAgIFt1c2VTbGlkZW91dF09XCIhaW5saW5lQW5zd2Vyc1wiXHJcbiAgICAgICAgW2N1c3RvbURpbWVuc2lvbnNdPVwiY3VzdG9tRGltZW5zaW9uc1wiXHJcbiAgICAgICAgW3F1ZXN0aW9uXT1cImNvbmZpZ3VyYXRvckNvbm5lY3RvclNlcnZpY2UuYWN0aXZlUXVlc3Rpb25cIlxyXG4gICAgICAgIFthbnN3ZXJzXT1cImNvbmZpZ3VyYXRvckNvbm5lY3RvclNlcnZpY2UuYWN0aXZlQW5zd2Vyc1wiXHJcbiAgICAgICAgKGFuc3dlckNob3Nlbik9XCJvbkFuc3dlcnNTbGlkZW91dEFuc3dlckNob3NlbigkZXZlbnQpXCJcclxuICAgICAgPjwvY28tYW5zd2Vycy1zbGlkZW91dD5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ3Nob3dTZWxlY3Rpb25zJywgW1xyXG4gICAgICBzdGF0ZSgndm9pZCcsIHN0eWxlKHsndHJhbnNmb3JtJzogJ3RyYW5zbGF0ZVgoMTAwJSknLCBvcGFjaXR5OiAwfSkpLFxyXG4gICAgICBzdGF0ZSgnKicsIHN0eWxlKHsndHJhbnNmb3JtJzogJ3RyYW5zbGF0ZVgoMCUpJywgb3BhY2l0eTogMX0pKSxcclxuICAgICAgdHJhbnNpdGlvbigndm9pZCA8PT4gKicsIGFuaW1hdGUoMjAwKSlcclxuICAgIF0pXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGl0ZVNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLWxpdGUtc2VsZWN0b3InKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3RlbXBsYXRlQW5zd2VycycsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KVxyXG4gIHB1YmxpYyB0ZW1wbGF0ZUFuc3dlcnM6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBzaG93QW5zd2Vycyh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fc2hvd0Fuc3dlcnMgPSB2YWx1ZTtcclxuICAgIGlmICghdGhpcy5zaG93QW5zd2Vycykge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmFuaW1hdGVTbGlkZW91dCA9IHRydWU7XHJcbiAgICAgIH0sIDQwMCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmFuaW1hdGVTbGlkZW91dCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBzaG93QW5zd2VycygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9zaG93QW5zd2VycztcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3c6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBzaG93U2VsZWN0aW9ucyh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fc2hvd1NlbGVjdGlvbnMgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgc2hvd1NlbGVjdGlvbnMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2hvd1NlbGVjdGlvbnM7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93TGFiZWw6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjYW5DbG9zZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmN1c3RvbS1kaW1lbnNpb25zJylcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjdXN0b21EaW1lbnNpb25zOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBzaG93Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBhbnN3ZXJDaG9zZW46IEV2ZW50RW1pdHRlcjxBbnN3ZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxBbnN3ZXI+KCk7XHJcblxyXG4gIHB1YmxpYyBhbnN3ZXJUb1Nob3dGcm9tU2VsZWN0aW9uVGV4dDogc3RyaW5nO1xyXG5cclxuICBwdWJsaWMgaW5saW5lQW5zd2VyczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBhbmltYXRlU2xpZGVvdXQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwcml2YXRlIF9zaG93QW5zd2VyczogYm9vbGVhbjtcclxuICBwcml2YXRlIF9hbnN3ZXJzU2hvd2luZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX3Nob3dTZWxlY3Rpb25zOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfc2VsZWN0aW9uU2VsZWN0ZWQ6IFNlbGVjdGlvbjtcclxuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBidWlsZEZ1cm5pdHVyZVNlcnZpY2U6IFN3aXRjaEJ1aWxkRnVybml0dXJlU2VydmljZSxcclxuICAgIHB1YmxpYyBjb25maWd1cmF0b3JDb25uZWN0b3JTZXJ2aWNlOiBDb25maWd1cmF0b3JDb25uZWN0b3JTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY29uZmlndXJpbmdTZXJ2aWNlOiBDb25maWd1cmluZ1NlcnZpY2UsXHJcbiAgKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgdGhpcy50ZW1wbGF0ZUFuc3dlcnMgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DbG9zZUxpdGVTZWxlY3RvckJ1dHRvbkNsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93ID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgfVxyXG5cclxuICAvLyB0b2RvOiBtb3ZlIHRvIHRocmVlZHNlbGVjdG9yLmNvbXBvbmVudCB0byBiZSBhYmxlIHRvIGhhbmRsZSBlcnJvcnM/XHJcbiAgcHVibGljIGFzeW5jIG9uU2VsZWN0aW9uc1N1bW1hcnlTZWxlY3RTZWxlY3Rpb24oc2VsZWN0aW9uOiBTZWxlY3Rpb24sIGZvcmNlQmFja1RvTm9kZT86IGJvb2xlYW4sIGFmdGVyPzogYm9vbGVhbik6IFByb21pc2U8dm9pZD4ge1xyXG5cclxuICAgIGlmICh0aGlzLmlubGluZUFuc3dlcnMgJiYgdGhpcy5hbnN3ZXJUb1Nob3dGcm9tU2VsZWN0aW9uVGV4dCkge1xyXG4gICAgICBpZiAodGhpcy5fc2VsZWN0aW9uU2VsZWN0ZWQgIT09IHNlbGVjdGlvbikge1xyXG4gICAgICAgIGlmICh0aGlzLl9hbnN3ZXJzU2hvd2luZykge1xyXG4gICAgICAgICAgYXdhaXQgdGhpcy5idWlsZEZ1cm5pdHVyZVNlcnZpY2UuY3VycmVudEFjdGl2ZVNlcnZpY2UuY2FuY2VsQW5zd2VyKHRoaXMuX2NvbmZpZ3VyaW5nU2VydmljZS5idWlsZFJlc3VsdCwgZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhd2FpdCB0aGlzLmJ1aWxkRnVybml0dXJlU2VydmljZS5jdXJyZW50QWN0aXZlU2VydmljZS5zZWxlY3RTZWxlY3Rpb24oc2VsZWN0aW9uLCB0aGlzLl9jb25maWd1cmluZ1NlcnZpY2UuYnVpbGRSZXN1bHQsIGZvcmNlQmFja1RvTm9kZSwgYWZ0ZXIpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmICh0aGlzLl9hbnN3ZXJzU2hvd2luZykge1xyXG4gICAgICAgICAgYXdhaXQgdGhpcy5idWlsZEZ1cm5pdHVyZVNlcnZpY2UuY3VycmVudEFjdGl2ZVNlcnZpY2UuY2FuY2VsQW5zd2VyKHRoaXMuX2NvbmZpZ3VyaW5nU2VydmljZS5idWlsZFJlc3VsdCwgZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgYXdhaXQgdGhpcy5idWlsZEZ1cm5pdHVyZVNlcnZpY2UuY3VycmVudEFjdGl2ZVNlcnZpY2Uuc2VsZWN0U2VsZWN0aW9uKHNlbGVjdGlvbiwgdGhpcy5fY29uZmlndXJpbmdTZXJ2aWNlLmJ1aWxkUmVzdWx0LCBmb3JjZUJhY2tUb05vZGUsIGFmdGVyKTtcclxuICAgIH1cclxuICAgIHRoaXMuX3NlbGVjdGlvblNlbGVjdGVkID0gc2VsZWN0aW9uO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIG9uU2VsZWN0aW9uc1N1bW1hcnlEZWxldGVTZWxlY3Rpb24oc2VsZWN0aW9uOiBTZWxlY3Rpb24pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuYnVpbGRGdXJuaXR1cmVTZXJ2aWNlLmN1cnJlbnRBY3RpdmVTZXJ2aWNlLmRlbGV0ZVNlbGVjdGlvbihzZWxlY3Rpb24sIHRoaXMuX2NvbmZpZ3VyaW5nU2VydmljZS5idWlsZFJlc3VsdCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25BbnN3ZXJzU2xpZGVvdXRBbnN3ZXJDaG9zZW4oYW5zd2VyU2VsZWN0ZWQ6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5fYW5zd2Vyc1Nob3dpbmcgPSBmYWxzZTtcclxuICAgIHRoaXMuYnVpbGRGdXJuaXR1cmVTZXJ2aWNlLmN1cnJlbnRBY3RpdmVTZXJ2aWNlLnNlbGVjdEFuc3dlcihhbnN3ZXJTZWxlY3RlZC5hbnN3ZXIsIGFuc3dlclNlbGVjdGVkLmlucHV0LCB0aGlzLl9jb25maWd1cmluZ1NlcnZpY2UuYnVpbGRSZXN1bHQpO1xyXG4gICAgdGhpcy5hbnN3ZXJDaG9zZW4ubmV4dChhbnN3ZXJTZWxlY3RlZC5hbnN3ZXIpO1xyXG4gICAgLy8gdGhpcy5pT25lLmdldE1vb2RJbWFnZUZvckFuc3dlclNlbGVjdGlvbihhbnN3ZXJTZWxlY3RlZC5hbnN3ZXIsIGZhbHNlKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { LiteSelectorComponent } from './lite-selector.component';
|
|
3
|
-
import { AnswersSlideoutModule } from '../answers-slideout/answers-slideout.module';
|
|
4
|
-
import { CommonModule } from '@angular/common';
|
|
5
|
-
import { SelectionsSummaryModule } from '../selections-summary/selections-summary.module';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class LiteSelectorModule {
|
|
8
|
-
}
|
|
9
|
-
LiteSelectorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LiteSelectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
-
LiteSelectorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LiteSelectorModule, declarations: [LiteSelectorComponent], imports: [AnswersSlideoutModule,
|
|
11
|
-
CommonModule,
|
|
12
|
-
SelectionsSummaryModule], exports: [LiteSelectorComponent] });
|
|
13
|
-
LiteSelectorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LiteSelectorModule, imports: [[
|
|
14
|
-
AnswersSlideoutModule,
|
|
15
|
-
CommonModule,
|
|
16
|
-
SelectionsSummaryModule
|
|
17
|
-
]] });
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LiteSelectorModule, decorators: [{
|
|
19
|
-
type: NgModule,
|
|
20
|
-
args: [{
|
|
21
|
-
imports: [
|
|
22
|
-
AnswersSlideoutModule,
|
|
23
|
-
CommonModule,
|
|
24
|
-
SelectionsSummaryModule
|
|
25
|
-
],
|
|
26
|
-
declarations: [
|
|
27
|
-
LiteSelectorComponent
|
|
28
|
-
],
|
|
29
|
-
exports: [
|
|
30
|
-
LiteSelectorComponent
|
|
31
|
-
]
|
|
32
|
-
}]
|
|
33
|
-
}] });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl0ZS1zZWxlY3Rvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25maWd1cmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2xpdGUtc2VsZWN0b3IvbGl0ZS1zZWxlY3Rvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNsRixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0saURBQWlELENBQUM7O0FBZ0J4RixNQUFNLE9BQU8sa0JBQWtCOztnSEFBbEIsa0JBQWtCO2lIQUFsQixrQkFBa0IsaUJBUDNCLHFCQUFxQixhQUxyQixxQkFBcUI7UUFDckIsWUFBWTtRQUNaLHVCQUF1QixhQU12QixxQkFBcUI7aUhBSVosa0JBQWtCLFlBYnBCO1lBQ1AscUJBQXFCO1lBQ3JCLFlBQVk7WUFDWix1QkFBdUI7U0FDeEI7NEZBU1Usa0JBQWtCO2tCQWQ5QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxxQkFBcUI7d0JBQ3JCLFlBQVk7d0JBQ1osdUJBQXVCO3FCQUN4QjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1oscUJBQXFCO3FCQUN0QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AscUJBQXFCO3FCQUN0QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0xpdGVTZWxlY3RvckNvbXBvbmVudH0gZnJvbSAnLi9saXRlLXNlbGVjdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7QW5zd2Vyc1NsaWRlb3V0TW9kdWxlfSBmcm9tICcuLi9hbnN3ZXJzLXNsaWRlb3V0L2Fuc3dlcnMtc2xpZGVvdXQubW9kdWxlJztcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7U2VsZWN0aW9uc1N1bW1hcnlNb2R1bGV9IGZyb20gJy4uL3NlbGVjdGlvbnMtc3VtbWFyeS9zZWxlY3Rpb25zLXN1bW1hcnkubW9kdWxlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQW5zd2Vyc1NsaWRlb3V0TW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgU2VsZWN0aW9uc1N1bW1hcnlNb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgTGl0ZVNlbGVjdG9yQ29tcG9uZW50XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBMaXRlU2VsZWN0b3JDb21wb25lbnRcclxuICBdXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgTGl0ZVNlbGVjdG9yTW9kdWxlIHtcclxufVxyXG4iXX0=
|
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
3
|
-
import { IconEnum } from '../../enum/icon.enum';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../../services/configurator-connector.service";
|
|
6
|
-
import * as i2 from "../../services/switch-build-furniture.service";
|
|
7
|
-
import * as i3 from "../../services/settings.service";
|
|
8
|
-
import * as i4 from "../../services/product-configurator.service";
|
|
9
|
-
import * as i5 from "../../services/icon-cache.service";
|
|
10
|
-
import * as i6 from "@angular/platform-browser";
|
|
11
|
-
import * as i7 from "../../services/configuring.service";
|
|
12
|
-
import * as i8 from "@colijnit/corecomponents_v12";
|
|
13
|
-
import * as i9 from "../product-configurator-selector/product-configurator-selector.component";
|
|
14
|
-
import * as i10 from "@angular/common";
|
|
15
|
-
import * as i11 from "../../pipes/localize.pipe";
|
|
16
|
-
export class ProductConfiguratorComponent {
|
|
17
|
-
constructor(configuratorConnectorService, buildFurnitureService, settingsService, productConfiguratorService, iconService, _sanitizer, _configuringService) {
|
|
18
|
-
this.configuratorConnectorService = configuratorConnectorService;
|
|
19
|
-
this.buildFurnitureService = buildFurnitureService;
|
|
20
|
-
this.settingsService = settingsService;
|
|
21
|
-
this.productConfiguratorService = productConfiguratorService;
|
|
22
|
-
this.iconService = iconService;
|
|
23
|
-
this._sanitizer = _sanitizer;
|
|
24
|
-
this._configuringService = _configuringService;
|
|
25
|
-
this.icons = IconEnum;
|
|
26
|
-
this.showHeaderInformation = true;
|
|
27
|
-
this.showLabel = true;
|
|
28
|
-
this.canClose = true;
|
|
29
|
-
this.customDimensions = false;
|
|
30
|
-
this.showChange = new EventEmitter();
|
|
31
|
-
this.answerChosen = new EventEmitter();
|
|
32
|
-
this.valutaSymbol = '€'; // TODO this should be a setting
|
|
33
|
-
this.selectionList = [];
|
|
34
|
-
this._showSelections = false;
|
|
35
|
-
this._show = false;
|
|
36
|
-
this._subs = [];
|
|
37
|
-
this._subs.push(this.settingsService.settingsLoaded.subscribe((loaded) => {
|
|
38
|
-
if (loaded && this.settingsService.settings.currencySymbol) {
|
|
39
|
-
this.valutaSymbol = this.settingsService.settings.currencySymbol;
|
|
40
|
-
}
|
|
41
|
-
}), this.productConfiguratorService.selectSelection.subscribe((selection) => {
|
|
42
|
-
if (selection) {
|
|
43
|
-
this.onSelectionsSummarySelectSelection(selection);
|
|
44
|
-
}
|
|
45
|
-
}));
|
|
46
|
-
}
|
|
47
|
-
showClass() {
|
|
48
|
-
return true;
|
|
49
|
-
}
|
|
50
|
-
set show(value) {
|
|
51
|
-
this._show = value;
|
|
52
|
-
}
|
|
53
|
-
get show() {
|
|
54
|
-
return this._show;
|
|
55
|
-
}
|
|
56
|
-
set showSelections(value) {
|
|
57
|
-
this._showSelections = value;
|
|
58
|
-
}
|
|
59
|
-
get showSelections() {
|
|
60
|
-
return this._showSelections;
|
|
61
|
-
}
|
|
62
|
-
ngOnInit() {
|
|
63
|
-
this.article = this.configuratorConnectorService.article;
|
|
64
|
-
this.selectionList = this.configuratorConnectorService.selectionWithAnswers;
|
|
65
|
-
if (this.article.texts && this.article.texts.length > 0) {
|
|
66
|
-
const texts = this.article.texts
|
|
67
|
-
.map(t => t.text)
|
|
68
|
-
.filter(t => !!t)
|
|
69
|
-
.join('<br><br>');
|
|
70
|
-
this.safeDescription = this._sanitizer.bypassSecurityTrustHtml(texts);
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
this.safeDescription = this._sanitizer.bypassSecurityTrustHtml(this.article.description);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
ngOnDestroy() {
|
|
77
|
-
this._subs.forEach(s => s.unsubscribe());
|
|
78
|
-
}
|
|
79
|
-
onSelectionsSummarySelectSelection(chosenOption) {
|
|
80
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
81
|
-
yield this.configuratorConnectorService.navigateTo(chosenOption, true);
|
|
82
|
-
yield this.buildFurnitureService.currentActiveService.selectSelectionAsAnswer(chosenOption, this._configuringService.buildResult);
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
handleCloseClick() {
|
|
86
|
-
this.showChange.emit(false);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
ProductConfiguratorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ProductConfiguratorComponent, deps: [{ token: i1.ConfiguratorConnectorService }, { token: i2.SwitchBuildFurnitureService }, { token: i3.SettingsService }, { token: i4.ProductConfiguratorService }, { token: i5.IconCacheService }, { token: i6.DomSanitizer }, { token: i7.ConfiguringService }], target: i0.ɵɵFactoryTarget.Component });
|
|
90
|
-
ProductConfiguratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ProductConfiguratorComponent, selector: "co-product-configurator", inputs: { show: "show", showHeaderInformation: "showHeaderInformation", showSelections: "showSelections", showLabel: "showLabel", canClose: "canClose", customDimensions: "customDimensions" }, outputs: { showChange: "showChange", answerChosen: "answerChosen" }, host: { properties: { "class.co-product-configurator": "this.showClass" } }, ngImport: i0, template: `
|
|
91
|
-
<ng-container *ngIf="show">
|
|
92
|
-
<div class="product-configurator-container">
|
|
93
|
-
<div class="product-configurator-header" *ngIf="showHeaderInformation">
|
|
94
|
-
<div class="product-configurator-head">
|
|
95
|
-
<h2 class="product-configurator-header-text" [textContent]="article.name"></h2>
|
|
96
|
-
<p class="product-configurator-text" [innerHTML]="safeDescription"></p>
|
|
97
|
-
</div>
|
|
98
|
-
<div class="product-configurator-close" (click)="handleCloseClick()">
|
|
99
|
-
<co-icon [iconData]="iconService.getIcon(icons.Cross)"></co-icon>
|
|
100
|
-
</div>
|
|
101
|
-
</div>
|
|
102
|
-
<div class="product-configurator-details" #scrollcontainer>
|
|
103
|
-
<ng-container *ngFor="let displaySelection of configuratorConnectorService.selectionWithAnswers let index = index">
|
|
104
|
-
<co-product-configurator-selector
|
|
105
|
-
[selection]="displaySelection.selector"
|
|
106
|
-
[options]="displaySelection.selectorOptions"
|
|
107
|
-
[lastNodeWithChildren]="displaySelection.lastNodeWithChildren"
|
|
108
|
-
[markAsException]="displaySelection.markForExceptionNotification"
|
|
109
|
-
[selectionIndex]="index + 1">
|
|
110
|
-
</co-product-configurator-selector>
|
|
111
|
-
</ng-container>
|
|
112
|
-
</div>
|
|
113
|
-
<div class="product-configurator-summary" *ngIf="configuratorConnectorService.totalPrice !== undefined">
|
|
114
|
-
<div class="product-configurator-summary-price-container">
|
|
115
|
-
<div class="sum" *ngIf="settingsService.settings.options.showAsConfigured">
|
|
116
|
-
<label [textContent]="'AS_CONFIGURED' | localize"></label><span class="total-price"></span>
|
|
117
|
-
<div class="price" [textContent]="configuratorConnectorService.totalPrice | priceDisplay"></div>
|
|
118
|
-
</div>
|
|
119
|
-
</div>
|
|
120
|
-
</div>
|
|
121
|
-
</div>
|
|
122
|
-
</ng-container>
|
|
123
|
-
`, isInline: true, components: [{ type: i8.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { type: i9.ProductConfiguratorSelectorComponent, selector: "co-product-configurator-selector", inputs: ["selection", "options", "lastNodeWithChildren", "selectionIndex", "treeLevelIndex", "isActive", "markAsException"], outputs: ["activate"] }], directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "localize": i11.LocalizePipe, "priceDisplay": i8.PriceDisplayPipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
124
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ProductConfiguratorComponent, decorators: [{
|
|
125
|
-
type: Component,
|
|
126
|
-
args: [{
|
|
127
|
-
selector: 'co-product-configurator',
|
|
128
|
-
template: `
|
|
129
|
-
<ng-container *ngIf="show">
|
|
130
|
-
<div class="product-configurator-container">
|
|
131
|
-
<div class="product-configurator-header" *ngIf="showHeaderInformation">
|
|
132
|
-
<div class="product-configurator-head">
|
|
133
|
-
<h2 class="product-configurator-header-text" [textContent]="article.name"></h2>
|
|
134
|
-
<p class="product-configurator-text" [innerHTML]="safeDescription"></p>
|
|
135
|
-
</div>
|
|
136
|
-
<div class="product-configurator-close" (click)="handleCloseClick()">
|
|
137
|
-
<co-icon [iconData]="iconService.getIcon(icons.Cross)"></co-icon>
|
|
138
|
-
</div>
|
|
139
|
-
</div>
|
|
140
|
-
<div class="product-configurator-details" #scrollcontainer>
|
|
141
|
-
<ng-container *ngFor="let displaySelection of configuratorConnectorService.selectionWithAnswers let index = index">
|
|
142
|
-
<co-product-configurator-selector
|
|
143
|
-
[selection]="displaySelection.selector"
|
|
144
|
-
[options]="displaySelection.selectorOptions"
|
|
145
|
-
[lastNodeWithChildren]="displaySelection.lastNodeWithChildren"
|
|
146
|
-
[markAsException]="displaySelection.markForExceptionNotification"
|
|
147
|
-
[selectionIndex]="index + 1">
|
|
148
|
-
</co-product-configurator-selector>
|
|
149
|
-
</ng-container>
|
|
150
|
-
</div>
|
|
151
|
-
<div class="product-configurator-summary" *ngIf="configuratorConnectorService.totalPrice !== undefined">
|
|
152
|
-
<div class="product-configurator-summary-price-container">
|
|
153
|
-
<div class="sum" *ngIf="settingsService.settings.options.showAsConfigured">
|
|
154
|
-
<label [textContent]="'AS_CONFIGURED' | localize"></label><span class="total-price"></span>
|
|
155
|
-
<div class="price" [textContent]="configuratorConnectorService.totalPrice | priceDisplay"></div>
|
|
156
|
-
</div>
|
|
157
|
-
</div>
|
|
158
|
-
</div>
|
|
159
|
-
</div>
|
|
160
|
-
</ng-container>
|
|
161
|
-
`,
|
|
162
|
-
encapsulation: ViewEncapsulation.None
|
|
163
|
-
}]
|
|
164
|
-
}], ctorParameters: function () { return [{ type: i1.ConfiguratorConnectorService }, { type: i2.SwitchBuildFurnitureService }, { type: i3.SettingsService }, { type: i4.ProductConfiguratorService }, { type: i5.IconCacheService }, { type: i6.DomSanitizer }, { type: i7.ConfiguringService }]; }, propDecorators: { showClass: [{
|
|
165
|
-
type: HostBinding,
|
|
166
|
-
args: ['class.co-product-configurator']
|
|
167
|
-
}], show: [{
|
|
168
|
-
type: Input
|
|
169
|
-
}], showHeaderInformation: [{
|
|
170
|
-
type: Input
|
|
171
|
-
}], showSelections: [{
|
|
172
|
-
type: Input
|
|
173
|
-
}], showLabel: [{
|
|
174
|
-
type: Input
|
|
175
|
-
}], canClose: [{
|
|
176
|
-
type: Input
|
|
177
|
-
}], customDimensions: [{
|
|
178
|
-
type: Input
|
|
179
|
-
}], showChange: [{
|
|
180
|
-
type: Output
|
|
181
|
-
}], answerChosen: [{
|
|
182
|
-
type: Output
|
|
183
|
-
}] } });
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1jb25maWd1cmF0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29uZmlndXJhdG9yL3NyYy9saWIvY29tcG9uZW50cy9wcm9kdWN0LWNvbmZpZ3VyYXRvci9wcm9kdWN0LWNvbmZpZ3VyYXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQVl4SCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUEwQzlDLE1BQU0sT0FBTyw0QkFBNEI7SUF3RHZDLFlBQ1MsNEJBQTBELEVBQzFELHFCQUFrRCxFQUNsRCxlQUFnQyxFQUNoQywwQkFBc0QsRUFDdEQsV0FBNkIsRUFDNUIsVUFBd0IsRUFDeEIsbUJBQXVDO1FBTnhDLGlDQUE0QixHQUE1Qiw0QkFBNEIsQ0FBOEI7UUFDMUQsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUE2QjtRQUNsRCxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUE0QjtRQUN0RCxnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFDNUIsZUFBVSxHQUFWLFVBQVUsQ0FBYztRQUN4Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBekRqQyxVQUFLLEdBQW9CLFFBQVEsQ0FBQztRQVkzQywwQkFBcUIsR0FBWSxJQUFJLENBQUM7UUFZdEMsY0FBUyxHQUFZLElBQUksQ0FBQztRQUcxQixhQUFRLEdBQVksSUFBSSxDQUFDO1FBR3pCLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUd6QixlQUFVLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFHaEUsaUJBQVksR0FBeUIsSUFBSSxZQUFZ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Z0JBQWdCO1FBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7OzBIQTFHVSw0QkFBNEI7OEdBQTVCLDRCQUE0QixpWkFwQzdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQ1Q7NEZBR1UsNEJBQTRCO2tCQXRDeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlDVDtvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7K1RBR1EsU0FBUztzQkFEZixXQUFXO3VCQUFDLCtCQUErQjtnQkFRakMsSUFBSTtzQkFEZCxLQUFLO2dCQVVDLHFCQUFxQjtzQkFEM0IsS0FBSztnQkFJSyxjQUFjO3NCQUR4QixLQUFLO2dCQVVDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxRQUFRO3NCQURkLEtBQUs7Z0JBSUMsZ0JBQWdCO3NCQUR0QixLQUFLO2dCQUlVLFVBQVU7c0JBRHpCLE1BQU07Z0JBSVMsWUFBWTtzQkFEM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1NlbGVjdGlvbn0gZnJvbSAnQGNvbGlqbml0L2NvbmZpZ3VyYXRvcmFwaS9idWlsZC9tb2RlbC9zZWxlY3Rpb24nO1xyXG5pbXBvcnQge0Fuc3dlcn0gZnJvbSAnQGNvbGlqbml0L2NvbmZpZ3VyYXRvcmFwaS9idWlsZC9tb2RlbC9hbnN3ZXInO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7U2VsZWN0b3JTdHJ1Y3R1cmV9IGZyb20gJ0Bjb2xpam5pdC9jb25maWd1cmF0b3JhcGkvYnVpbGQvbW9kZWwvc2VsZWN0b3Itc3RydWN0dXJlLmJvJztcclxuaW1wb3J0IHtBcnRpY2xlfSBmcm9tICdAY29saWpuaXQvY29uZmlndXJhdG9yYXBpL2J1aWxkL21vZGVsL2FydGljbGUnO1xyXG5pbXBvcnQge1NlbGVjdG9yV2l0aE9wdGlvbnN9IGZyb20gJ0Bjb2xpam5pdC9jb25maWd1cmF0b3JhcGkvYnVpbGQvbW9kZWwvc2VsZWN0b3Itd2l0aC1vcHRpb25zJztcclxuaW1wb3J0IHtEb21TYW5pdGl6ZXIsIFNhZmVIdG1sfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHtTd2l0Y2hCdWlsZEZ1cm5pdHVyZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N3aXRjaC1idWlsZC1mdXJuaXR1cmUuc2VydmljZSc7XHJcbmltcG9ydCB7UHJvZHVjdENvbmZpZ3VyYXRvclNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Byb2R1Y3QtY29uZmlndXJhdG9yLnNlcnZpY2UnO1xyXG5pbXBvcnQge0NvbmZpZ3VyYXRvckNvbm5lY3RvclNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbmZpZ3VyYXRvci1jb25uZWN0b3Iuc2VydmljZSc7XHJcbmltcG9ydCB7U2V0dGluZ3NTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zZXR0aW5ncy5zZXJ2aWNlJztcclxuaW1wb3J0IHtJY29uRW51bX0gZnJvbSAnLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7Q29uZmlndXJpbmdTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25maWd1cmluZy5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tcHJvZHVjdC1jb25maWd1cmF0b3InLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicHJvZHVjdC1jb25maWd1cmF0b3ItY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInByb2R1Y3QtY29uZmlndXJhdG9yLWhlYWRlclwiICpuZ0lmPVwic2hvd0hlYWRlckluZm9ybWF0aW9uXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZHVjdC1jb25maWd1cmF0b3ItaGVhZFwiPlxyXG4gICAgICAgICAgICA8aDIgY2xhc3M9XCJwcm9kdWN0LWNvbmZpZ3VyYXRvci1oZWFkZXItdGV4dFwiIFt0ZXh0Q29udGVudF09XCJhcnRpY2xlLm5hbWVcIj48L2gyPlxyXG4gICAgICAgICAgICA8cCBjbGFzcz1cInByb2R1Y3QtY29uZmlndXJhdG9yLXRleHRcIiBbaW5uZXJIVE1MXT1cInNhZmVEZXNjcmlwdGlvblwiPjwvcD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInByb2R1Y3QtY29uZmlndXJhdG9yLWNsb3NlXCIgKGNsaWNrKT1cImhhbmRsZUNsb3NlQ2xpY2soKVwiPlxyXG4gICAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvblNlcnZpY2UuZ2V0SWNvbihpY29ucy5Dcm9zcylcIj48L2NvLWljb24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZHVjdC1jb25maWd1cmF0b3ItZGV0YWlsc1wiICNzY3JvbGxjb250YWluZXI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBkaXNwbGF5U2VsZWN0aW9uIG9mIGNvbmZpZ3VyYXRvckNvbm5lY3RvclNlcnZpY2Uuc2VsZWN0aW9uV2l0aEFuc3dlcnMgbGV0IGluZGV4ID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgPGNvLXByb2R1Y3QtY29uZmlndXJhdG9yLXNlbGVjdG9yXHJcbiAgICAgICAgICAgICAgW3NlbGVjdGlvbl09XCJkaXNwbGF5U2VsZWN0aW9uLnNlbGVjdG9yXCJcclxuICAgICAgICAgICAgICBbb3B0aW9uc109XCJkaXNwbGF5U2VsZWN0aW9uLnNlbGVjdG9yT3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgW2xhc3ROb2RlV2l0aENoaWxkcmVuXT1cImRpc3BsYXlTZWxlY3Rpb24ubGFzdE5vZGVXaXRoQ2hpbGRyZW5cIlxyXG4gICAgICAgICAgICAgIFttYXJrQXNFeGNlcHRpb25dPVwiZGlzcGxheVNlbGVjdGlvbi5tYXJrRm9yRXhjZXB0aW9uTm90aWZpY2F0aW9uXCJcclxuICAgICAgICAgICAgICBbc2VsZWN0aW9uSW5kZXhdPVwiaW5kZXggKyAxXCI+XHJcbiAgICAgICAgICAgIDwvY28tcHJvZHVjdC1jb25maWd1cmF0b3Itc2VsZWN0b3I+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZHVjdC1jb25maWd1cmF0b3Itc3VtbWFyeVwiICpuZ0lmPVwiY29uZmlndXJhdG9yQ29ubmVjdG9yU2VydmljZS50b3RhbFByaWNlICE9PSB1bmRlZmluZWRcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9kdWN0LWNvbmZpZ3VyYXRvci1zdW1tYXJ5LXByaWNlLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VtXCIgKm5nSWY9XCJzZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3Mub3B0aW9ucy5zaG93QXNDb25maWd1cmVkXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIFt0ZXh0Q29udGVudF09XCInQVNfQ09ORklHVVJFRCcgfCBsb2NhbGl6ZVwiPjwvbGFiZWw+PHNwYW4gY2xhc3M9XCJ0b3RhbC1wcmljZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2VcIiBbdGV4dENvbnRlbnRdPVwiY29uZmlndXJhdG9yQ29ubmVjdG9yU2VydmljZS50b3RhbFByaWNlIHwgcHJpY2VEaXNwbGF5XCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9kdWN0Q29uZmlndXJhdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28tcHJvZHVjdC1jb25maWd1cmF0b3InKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb25FbnVtID0gSWNvbkVudW07XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBzaG93KHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9zaG93ID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHNob3coKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2hvdztcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dIZWFkZXJJbmZvcm1hdGlvbjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBzaG93U2VsZWN0aW9ucyh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fc2hvd1NlbGVjdGlvbnMgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgc2hvd1NlbGVjdGlvbnMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2hvd1NlbGVjdGlvbnM7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93TGFiZWw6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjYW5DbG9zZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGN1c3RvbURpbWVuc2lvbnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IHNob3dDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IGFuc3dlckNob3NlbjogRXZlbnRFbWl0dGVyPEFuc3dlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPEFuc3dlcj4oKTtcclxuXHJcbiAgcHVibGljIHZhbHV0YVN5bWJvbDogc3RyaW5nID0gJ+KCrCc7IC8vIFRPRE8gdGhpcyBzaG91bGQgYmUgYSBzZXR0aW5nXHJcbiAgcHVibGljIGFydGljbGU6IEFydGljbGU7XHJcblxyXG4gIHB1YmxpYyBzZWxlY3Rpb25MaXN0OiBTZWxlY3RvcldpdGhPcHRpb25zW10gPSBbXTtcclxuXHJcbiAgcHVibGljIHNhZmVEZXNjcmlwdGlvbjogU2FmZUh0bWw7XHJcblxyXG4gIHByaXZhdGUgX3Nob3dTZWxlY3Rpb25zOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfc2hvdzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX3NlbGVjdGlvblNlbGVjdGVkOiBTZWxlY3Rpb247XHJcbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgY29uZmlndXJhdG9yQ29ubmVjdG9yU2VydmljZTogQ29uZmlndXJhdG9yQ29ubmVjdG9yU2VydmljZSxcclxuICAgIHB1YmxpYyBidWlsZEZ1cm5pdHVyZVNlcnZpY2U6IFN3aXRjaEJ1aWxkRnVybml0dXJlU2VydmljZSxcclxuICAgIHB1YmxpYyBzZXR0aW5nc1NlcnZpY2U6IFNldHRpbmdzU2VydmljZSxcclxuICAgIHB1YmxpYyBwcm9kdWN0Q29uZmlndXJhdG9yU2VydmljZTogUHJvZHVjdENvbmZpZ3VyYXRvclNlcnZpY2UsXHJcbiAgICBwdWJsaWMgaWNvblNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zYW5pdGl6ZXI6IERvbVNhbml0aXplcixcclxuICAgIHByaXZhdGUgX2NvbmZpZ3VyaW5nU2VydmljZTogQ29uZmlndXJpbmdTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLl9zdWJzLnB1c2goXHJcbiAgICAgIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzTG9hZGVkLnN1YnNjcmliZSgobG9hZGVkOiBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgaWYgKGxvYWRlZCAmJiB0aGlzLnNldHRpbmdzU2VydmljZS5zZXR0aW5ncy5jdXJyZW5jeVN5bWJvbCkge1xyXG4gICAgICAgICAgdGhpcy52YWx1dGFTeW1ib2wgPSB0aGlzLnNldHRpbmdzU2VydmljZS5zZXR0aW5ncy5jdXJyZW5jeVN5bWJvbDtcclxuICAgICAgICB9XHJcbiAgICAgIH0pLFxyXG4gICAgICB0aGlzLnByb2R1Y3RDb25maWd1cmF0b3JTZXJ2aWNlLnNlbGVjdFNlbGVjdGlvbi5zdWJzY3JpYmUoKHNlbGVjdGlvbjogU2VsZWN0b3JTdHJ1Y3R1cmUpID0+IHtcclxuICAgICAgICBpZiAoc2VsZWN0aW9uKSB7XHJcbiAgICAgICAgICB0aGlzLm9uU2VsZWN0aW9uc1N1bW1hcnlTZWxlY3RTZWxlY3Rpb24oc2VsZWN0aW9uKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmFydGljbGUgPSB0aGlzLmNvbmZpZ3VyYXRvckNvbm5lY3RvclNlcnZpY2UuYXJ0aWNsZTtcclxuICAgIHRoaXMuc2VsZWN0aW9uTGlzdCA9IHRoaXMuY29uZmlndXJhdG9yQ29ubmVjdG9yU2VydmljZS5zZWxlY3Rpb25XaXRoQW5zd2VycztcclxuXHJcbiAgICBpZiAodGhpcy5hcnRpY2xlLnRleHRzICYmIHRoaXMuYXJ0aWNsZS50ZXh0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IHRleHRzID0gdGhpcy5hcnRpY2xlLnRleHRzXHJcbiAgICAgICAgLm1hcCh0ID0+IHQudGV4dClcclxuICAgICAgICAuZmlsdGVyKHQgPT4gISF0KVxyXG4gICAgICAgIC5qb2luKCc8YnI+PGJyPicpO1xyXG5cclxuICAgICAgdGhpcy5zYWZlRGVzY3JpcHRpb24gPSB0aGlzLl9zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodGV4dHMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zYWZlRGVzY3JpcHRpb24gPSB0aGlzLl9zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodGhpcy5hcnRpY2xlLmRlc2NyaXB0aW9uKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3Vicy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBvblNlbGVjdGlvbnNTdW1tYXJ5U2VsZWN0U2VsZWN0aW9uKGNob3Nlbk9wdGlvbjogU2VsZWN0b3JTdHJ1Y3R1cmUpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGF3YWl0IHRoaXMuY29uZmlndXJhdG9yQ29ubmVjdG9yU2VydmljZS5uYXZpZ2F0ZVRvKGNob3Nlbk9wdGlvbiwgdHJ1ZSk7XHJcbiAgICBhd2FpdCB0aGlzLmJ1aWxkRnVybml0dXJlU2VydmljZS5jdXJyZW50QWN0aXZlU2VydmljZS5zZWxlY3RTZWxlY3Rpb25Bc0Fuc3dlcihjaG9zZW5PcHRpb24sIHRoaXMuX2NvbmZpZ3VyaW5nU2VydmljZS5idWlsZFJlc3VsdCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ2xvc2VDbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd0NoYW5nZS5lbWl0KGZhbHNlKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
4
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
-
import { FormsModule } from '@angular/forms';
|
|
6
|
-
import { PipesModule } from '../../pipes/pipes.module';
|
|
7
|
-
import { ButtonModule, CardModule, IconModule, InputTextModule, PriceDisplayPipeModule, TooltipDirectiveModule } from '@colijnit/corecomponents_v12';
|
|
8
|
-
import { ProductConfiguratorComponent } from './product-configurator.component';
|
|
9
|
-
import { ProductConfiguratorSelectorModule } from '../product-configurator-selector/product-configurator-selector.module';
|
|
10
|
-
import { SlideoutModule } from '../slideout/slideout.module';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
export class ProductConfiguratorModule {
|
|
13
|
-
}
|
|
14
|
-
ProductConfiguratorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ProductConfiguratorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
15
|
-
ProductConfiguratorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ProductConfiguratorModule, declarations: [ProductConfiguratorComponent], imports: [CommonModule,
|
|
16
|
-
MatIconModule,
|
|
17
|
-
MatButtonModule,
|
|
18
|
-
CardModule,
|
|
19
|
-
SlideoutModule,
|
|
20
|
-
PriceDisplayPipeModule,
|
|
21
|
-
ButtonModule,
|
|
22
|
-
InputTextModule,
|
|
23
|
-
FormsModule,
|
|
24
|
-
PipesModule,
|
|
25
|
-
IconModule,
|
|
26
|
-
TooltipDirectiveModule,
|
|
27
|
-
ProductConfiguratorSelectorModule], exports: [ProductConfiguratorComponent] });
|
|
28
|
-
ProductConfiguratorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ProductConfiguratorModule, imports: [[
|
|
29
|
-
CommonModule,
|
|
30
|
-
MatIconModule,
|
|
31
|
-
MatButtonModule,
|
|
32
|
-
CardModule,
|
|
33
|
-
SlideoutModule,
|
|
34
|
-
PriceDisplayPipeModule,
|
|
35
|
-
ButtonModule,
|
|
36
|
-
InputTextModule,
|
|
37
|
-
FormsModule,
|
|
38
|
-
PipesModule,
|
|
39
|
-
IconModule,
|
|
40
|
-
TooltipDirectiveModule,
|
|
41
|
-
ProductConfiguratorSelectorModule
|
|
42
|
-
]] });
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ProductConfiguratorModule, decorators: [{
|
|
44
|
-
type: NgModule,
|
|
45
|
-
args: [{
|
|
46
|
-
imports: [
|
|
47
|
-
CommonModule,
|
|
48
|
-
MatIconModule,
|
|
49
|
-
MatButtonModule,
|
|
50
|
-
CardModule,
|
|
51
|
-
SlideoutModule,
|
|
52
|
-
PriceDisplayPipeModule,
|
|
53
|
-
ButtonModule,
|
|
54
|
-
InputTextModule,
|
|
55
|
-
FormsModule,
|
|
56
|
-
PipesModule,
|
|
57
|
-
IconModule,
|
|
58
|
-
TooltipDirectiveModule,
|
|
59
|
-
ProductConfiguratorSelectorModule
|
|
60
|
-
],
|
|
61
|
-
schemas: [
|
|
62
|
-
NO_ERRORS_SCHEMA
|
|
63
|
-
],
|
|
64
|
-
declarations: [
|
|
65
|
-
ProductConfiguratorComponent
|
|
66
|
-
],
|
|
67
|
-
exports: [
|
|
68
|
-
ProductConfiguratorComponent
|
|
69
|
-
]
|
|
70
|
-
}]
|
|
71
|
-
}] });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1jb25maWd1cmF0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29uZmlndXJhdG9yL3NyYy9saWIvY29tcG9uZW50cy9wcm9kdWN0LWNvbmZpZ3VyYXRvci9wcm9kdWN0LWNvbmZpZ3VyYXRvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNuSixPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUM5RSxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSx1RUFBdUUsQ0FBQztBQUN4SCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7O0FBNEIzRCxNQUFNLE9BQU8seUJBQXlCOzt1SEFBekIseUJBQXlCO3dIQUF6Qix5QkFBeUIsaUJBTmxDLDRCQUE0QixhQWxCNUIsWUFBWTtRQUNaLGFBQWE7UUFDYixlQUFlO1FBQ2YsVUFBVTtRQUNWLGNBQWM7UUFDZCxzQkFBc0I7UUFDdEIsWUFBWTtRQUNaLGVBQWU7UUFDZixXQUFXO1FBQ1gsV0FBVztRQUNYLFVBQVU7UUFDVixzQkFBc0I7UUFDdEIsaUNBQWlDLGFBU2pDLDRCQUE0Qjt3SEFHbkIseUJBQXlCLFlBekIzQjtZQUNQLFlBQVk7WUFDWixhQUFhO1lBQ2IsZUFBZTtZQUNmLFVBQVU7WUFDVixjQUFjO1lBQ2Qsc0JBQXNCO1lBQ3RCLFlBQVk7WUFDWixlQUFlO1lBQ2YsV0FBVztZQUNYLFdBQVc7WUFDWCxVQUFVO1lBQ1Ysc0JBQXNCO1lBQ3RCLGlDQUFpQztTQUNsQzs0RkFXVSx5QkFBeUI7a0JBMUJyQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixVQUFVO3dCQUNWLGNBQWM7d0JBQ2Qsc0JBQXNCO3dCQUN0QixZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsV0FBVzt3QkFDWCxXQUFXO3dCQUNYLFVBQVU7d0JBQ1Ysc0JBQXNCO3dCQUN0QixpQ0FBaUM7cUJBQ2xDO29CQUNELE9BQU8sRUFBRTt3QkFDUCxnQkFBZ0I7cUJBQ2pCO29CQUNELFlBQVksRUFBRTt3QkFDWiw0QkFBNEI7cUJBQzdCO29CQUNELE9BQU8sRUFBRTt3QkFDUCw0QkFBNEI7cUJBQzdCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZSwgTk9fRVJST1JTX1NDSEVNQX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge01hdEJ1dHRvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHtNYXRJY29uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge1BpcGVzTW9kdWxlfSBmcm9tICcuLi8uLi9waXBlcy9waXBlcy5tb2R1bGUnO1xyXG5pbXBvcnQge0J1dHRvbk1vZHVsZSwgQ2FyZE1vZHVsZSwgSWNvbk1vZHVsZSwgSW5wdXRUZXh0TW9kdWxlLCBQcmljZURpc3BsYXlQaXBlTW9kdWxlLCBUb29sdGlwRGlyZWN0aXZlTW9kdWxlfSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcclxuaW1wb3J0IHtQcm9kdWN0Q29uZmlndXJhdG9yQ29tcG9uZW50fSBmcm9tICcuL3Byb2R1Y3QtY29uZmlndXJhdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7UHJvZHVjdENvbmZpZ3VyYXRvclNlbGVjdG9yTW9kdWxlfSBmcm9tICcuLi9wcm9kdWN0LWNvbmZpZ3VyYXRvci1zZWxlY3Rvci9wcm9kdWN0LWNvbmZpZ3VyYXRvci1zZWxlY3Rvci5tb2R1bGUnO1xyXG5pbXBvcnQge1NsaWRlb3V0TW9kdWxlfSBmcm9tICcuLi9zbGlkZW91dC9zbGlkZW91dC5tb2R1bGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgQ2FyZE1vZHVsZSxcclxuICAgIFNsaWRlb3V0TW9kdWxlLFxyXG4gICAgUHJpY2VEaXNwbGF5UGlwZU1vZHVsZSxcclxuICAgIEJ1dHRvbk1vZHVsZSxcclxuICAgIElucHV0VGV4dE1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUGlwZXNNb2R1bGUsXHJcbiAgICBJY29uTW9kdWxlLFxyXG4gICAgVG9vbHRpcERpcmVjdGl2ZU1vZHVsZSxcclxuICAgIFByb2R1Y3RDb25maWd1cmF0b3JTZWxlY3Rvck1vZHVsZVxyXG4gIF0sXHJcbiAgc2NoZW1hczogW1xyXG4gICAgTk9fRVJST1JTX1NDSEVNQVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBQcm9kdWN0Q29uZmlndXJhdG9yQ29tcG9uZW50XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBQcm9kdWN0Q29uZmlndXJhdG9yQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZHVjdENvbmZpZ3VyYXRvck1vZHVsZSB7XHJcbn1cclxuIl19
|