@colijnit/corecomponents_v12 12.2.23 → 12.2.25
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/.browserslistrc +17 -0
- package/.editorconfig +16 -0
- package/.idea/CoreComponents_v12.iml +12 -0
- package/.idea/misc.xml +9 -0
- package/.idea/modules.xml +8 -0
- package/.idea/vcs.xml +6 -0
- package/CoreComponents_v12.iml +12 -0
- package/README.md +12 -9
- package/angular.json +149 -0
- package/dist/corecomponentstest/favicon.ico +0 -0
- package/dist/corecomponentstest/index.html +13 -0
- package/dist/corecomponentstest/main.js +24187 -0
- package/dist/corecomponentstest/main.js.map +1 -0
- package/dist/corecomponentstest/polyfills.js +2891 -0
- package/dist/corecomponentstest/polyfills.js.map +1 -0
- package/dist/corecomponentstest/runtime.js +161 -0
- package/dist/corecomponentstest/runtime.js.map +1 -0
- package/dist/corecomponentstest/styles.css +2926 -0
- package/dist/corecomponentstest/styles.css.map +1 -0
- package/dist/corecomponentstest/vendor.js +118790 -0
- package/dist/corecomponentstest/vendor.js.map +1 -0
- package/karma.conf.js +44 -0
- package/move-assets.js +14 -0
- package/package.json +43 -22
- package/projects/corecomponents/README.md +24 -0
- package/projects/corecomponents/karma.conf.js +44 -0
- package/projects/corecomponents/ng-package.json +10 -0
- package/projects/corecomponents/package-lock.json +13 -0
- package/projects/corecomponents/package.json +19 -0
- package/projects/corecomponents/src/lib/components/article-tile/article-tile.component.ts +95 -0
- package/projects/corecomponents/src/lib/components/article-tile/article-tile.module.ts +34 -0
- package/projects/corecomponents/src/lib/components/base/base-input.component.ts +988 -0
- package/projects/corecomponents/src/lib/components/base/base.module.ts +22 -0
- package/projects/corecomponents/src/lib/components/base/commit-buttons/commit-buttons.component.ts +120 -0
- package/projects/corecomponents/src/lib/components/base/commit-buttons/commit-buttons.module.ts +19 -0
- package/projects/corecomponents/src/lib/components/base/dialog-base.component.ts +8 -0
- package/projects/corecomponents/src/lib/components/base-input-date-picker/base-input-date-picker.directive.ts +32 -0
- package/projects/corecomponents/src/lib/components/base-input-time/base-input-time-directive.ts +31 -0
- package/projects/corecomponents/src/lib/components/button/button.component.ts +117 -0
- package/projects/corecomponents/src/lib/components/button/button.module.ts +18 -0
- package/projects/corecomponents/src/lib/components/calendar/calendar-template.component.ts +392 -0
- package/projects/corecomponents/src/lib/components/calendar/calendar.component.ts +54 -0
- package/projects/corecomponents/src/lib/components/calendar/calendar.module.ts +26 -0
- package/projects/corecomponents/src/lib/components/card/card.component.ts +94 -0
- package/projects/corecomponents/src/lib/components/card/card.module.ts +34 -0
- package/projects/corecomponents/src/lib/components/carousel/carousel.component.ts +128 -0
- package/projects/corecomponents/src/lib/components/carousel/carousel.module.ts +28 -0
- package/projects/corecomponents/src/lib/components/carousel-3d/carousel-3d.component.ts +392 -0
- package/projects/corecomponents/src/lib/components/carousel-3d/carousel-3d.module.ts +17 -0
- package/projects/corecomponents/src/lib/components/carousel-3d/carouselItem.ts +77 -0
- package/projects/corecomponents/src/lib/components/checkmark-overlay/checkmark-overlay.component.ts +99 -0
- package/projects/corecomponents/src/lib/components/checkmark-overlay/checkmark-overlay.module.ts +18 -0
- package/projects/corecomponents/src/lib/components/co-dialog/animation.ts +2 -0
- package/projects/corecomponents/src/lib/components/co-dialog/co-dialog.component.ts +130 -0
- package/projects/corecomponents/src/lib/components/co-dialog/co-dialog.module.ts +17 -0
- package/projects/corecomponents/src/lib/components/co-dialog-wizard/co-dialog-wizard.component.ts +50 -0
- package/projects/corecomponents/src/lib/components/co-dialog-wizard/co-dialog-wizard.module.ts +15 -0
- package/projects/corecomponents/src/lib/components/collapsible/collapsible.component.ts +114 -0
- package/projects/corecomponents/src/lib/components/collapsible/collapsible.module.ts +17 -0
- package/projects/corecomponents/src/lib/components/color-picker/color-picker.component.ts +40 -0
- package/projects/corecomponents/src/lib/components/color-picker/color-picker.module.ts +19 -0
- package/projects/corecomponents/src/lib/components/core-dialog/confirmation-dialog/confirmation-dialog.component.ts +86 -0
- package/projects/corecomponents/src/lib/components/core-dialog/core-dialog.module.ts +37 -0
- package/projects/corecomponents/src/lib/components/core-dialog/core-dialog.service.ts +61 -0
- package/projects/corecomponents/src/lib/components/core-dialog/core-dynamic-component.service.ts +101 -0
- package/projects/corecomponents/src/lib/components/double-calendar/double-calendar.component.ts +102 -0
- package/projects/corecomponents/src/lib/components/double-calendar/double-calendar.module.ts +23 -0
- package/projects/corecomponents/src/lib/components/filter-item/filter-item-viewmodel.ts +20 -0
- package/projects/corecomponents/src/lib/components/filter-item/filter-item.component.ts +715 -0
- package/projects/corecomponents/src/lib/components/filter-item/filter-item.module.ts +42 -0
- package/projects/corecomponents/src/lib/components/filter-item/filter-viewmodel.ts +11 -0
- package/projects/corecomponents/src/lib/components/form/form.component.ts +211 -0
- package/projects/corecomponents/src/lib/components/form/form.module.ts +22 -0
- package/projects/corecomponents/src/lib/components/grid-toolbar/grid-toolbar.component.ts +62 -0
- package/projects/corecomponents/src/lib/components/grid-toolbar/grid-toolbar.module.ts +21 -0
- package/projects/corecomponents/src/lib/components/grid-toolbar-button/grid-toolbar-button.component.ts +28 -0
- package/projects/corecomponents/src/lib/components/grid-toolbar-button/grid-toolbar-button.module.ts +17 -0
- package/projects/corecomponents/src/lib/components/icon/icon-cache.service.ts +57 -0
- package/projects/corecomponents/src/lib/components/icon/icon.component.ts +54 -0
- package/projects/corecomponents/src/lib/components/icon/icon.module.ts +24 -0
- package/projects/corecomponents/src/lib/components/icon-collapse-handle/icon-collapse-handle.component.ts +75 -0
- package/projects/corecomponents/src/lib/components/icon-collapse-handle/icon-collapse-handle.module.ts +21 -0
- package/projects/corecomponents/src/lib/components/image/image.component.ts +51 -0
- package/projects/corecomponents/src/lib/components/image/image.module.ts +12 -0
- package/projects/corecomponents/src/lib/components/input-checkbox/input-checkbox.component.ts +85 -0
- package/projects/corecomponents/src/lib/components/input-checkbox/input-checkbox.module.ts +17 -0
- package/projects/corecomponents/src/lib/components/input-date-picker/input-date-picker.component.ts +103 -0
- package/projects/corecomponents/src/lib/components/input-date-picker/input-date-picker.module.ts +24 -0
- package/projects/corecomponents/src/lib/components/input-date-range-picker/input-date-range-picker.component.ts +155 -0
- package/projects/corecomponents/src/lib/components/input-date-range-picker/input-date-range-picker.module.ts +25 -0
- package/projects/corecomponents/src/lib/components/input-number-picker/input-number-picker.component.ts +378 -0
- package/projects/corecomponents/src/lib/components/input-number-picker/input-number-picker.module.ts +20 -0
- package/projects/corecomponents/src/lib/components/input-radio-button/input-radio-button.component.ts +86 -0
- package/projects/corecomponents/src/lib/components/input-radio-button/input-radio-button.module.ts +17 -0
- package/projects/corecomponents/src/lib/components/input-scanner/bar-code-scanner.ts +25 -0
- package/projects/corecomponents/src/lib/components/input-scanner/input-scanner.component.ts +89 -0
- package/projects/corecomponents/src/lib/components/input-scanner/input-scanner.module.ts +19 -0
- package/projects/corecomponents/src/lib/components/input-scanner/scanner.service.ts +28 -0
- package/projects/corecomponents/src/lib/components/input-search/input-search.component.ts +85 -0
- package/projects/corecomponents/src/lib/components/input-search/input-search.module.ts +20 -0
- package/projects/corecomponents/src/lib/components/input-text/input-text.component.ts +294 -0
- package/projects/corecomponents/src/lib/components/input-text/input-text.module.ts +31 -0
- package/projects/corecomponents/src/lib/components/input-textarea/input-textarea.component.ts +81 -0
- package/projects/corecomponents/src/lib/components/input-textarea/input-textarea.module.ts +25 -0
- package/projects/corecomponents/src/lib/components/input-time/input-time.component.ts +72 -0
- package/projects/corecomponents/src/lib/components/input-time/input-time.module.ts +22 -0
- package/projects/corecomponents/src/lib/components/level-indicator/level-indicator-level.enum.ts +5 -0
- package/projects/corecomponents/src/lib/components/level-indicator/level-indicator.component.ts +42 -0
- package/projects/corecomponents/src/lib/components/level-indicator/level-indicator.module.ts +13 -0
- package/projects/corecomponents/src/lib/components/list-of-values/list-of-values-multiselect-popup.component.ts +132 -0
- package/projects/corecomponents/src/lib/components/list-of-values/list-of-values-popup.component.ts +281 -0
- package/projects/corecomponents/src/lib/components/list-of-values/list-of-values.component.ts +257 -0
- package/projects/corecomponents/src/lib/components/list-of-values/list-of-values.module.ts +35 -0
- package/projects/corecomponents/src/lib/components/loader/loader.component.ts +82 -0
- package/projects/corecomponents/src/lib/components/loader/loader.module.ts +17 -0
- package/projects/corecomponents/src/lib/components/pagination/paginate.pipe.ts +116 -0
- package/projects/corecomponents/src/lib/components/pagination/pagination-instance.ts +18 -0
- package/projects/corecomponents/src/lib/components/pagination/pagination.component.ts +160 -0
- package/projects/corecomponents/src/lib/components/pagination/pagination.module.ts +26 -0
- package/projects/corecomponents/src/lib/components/pagination/pagination.service.ts +99 -0
- package/projects/corecomponents/src/lib/components/pagination-bar/pagination-bar.component.ts +178 -0
- package/projects/corecomponents/src/lib/components/pagination-bar/pagination-bar.module.ts +17 -0
- package/projects/corecomponents/src/lib/components/popup/const/popup-window-token.ts +4 -0
- package/projects/corecomponents/src/lib/components/popup/interface/popup-button.ts +14 -0
- package/projects/corecomponents/src/lib/components/popup/interface/popup-close-event.ts +8 -0
- package/projects/corecomponents/src/lib/components/popup/interface/popup-settings.ts +70 -0
- package/projects/corecomponents/src/lib/components/popup/interface/popup.ts +17 -0
- package/projects/corecomponents/src/lib/components/popup/model/popup-button-globals.ts +11 -0
- package/projects/corecomponents/src/lib/components/popup/model/popup-window.ts +51 -0
- package/projects/corecomponents/src/lib/components/popup/popup-buttons.component.ts +61 -0
- package/projects/corecomponents/src/lib/components/popup/popup-message-display.component.ts +49 -0
- package/projects/corecomponents/src/lib/components/popup/popup-window-shell.component.ts +222 -0
- package/projects/corecomponents/src/lib/components/popup/popup.module.ts +48 -0
- package/projects/corecomponents/src/lib/components/popup/service/popup-shower.service.ts +98 -0
- package/projects/corecomponents/src/lib/components/popup/service/prompt.service.ts +127 -0
- package/projects/corecomponents/src/lib/components/popup/text-input-popup.component.ts +36 -0
- package/projects/corecomponents/src/lib/components/responsive-text/responsive-text.component.ts +24 -0
- package/projects/corecomponents/src/lib/components/responsive-text/responsive-text.module.ts +17 -0
- package/projects/corecomponents/src/lib/components/simple-grid/base-simple-grid.component.ts +194 -0
- package/projects/corecomponents/src/lib/components/simple-grid/simple-grid-cell.component.ts +192 -0
- package/projects/corecomponents/src/lib/components/simple-grid/simple-grid-column.directive.ts +143 -0
- package/projects/corecomponents/src/lib/components/simple-grid/simple-grid.component.ts +489 -0
- package/projects/corecomponents/src/lib/components/simple-grid/simple-grid.module.ts +38 -0
- package/projects/corecomponents/src/lib/components/tile/tile.component.ts +71 -0
- package/projects/corecomponents/src/lib/components/tile/tile.module.ts +21 -0
- package/projects/corecomponents/src/lib/components/tile-select/tile-select.component.ts +36 -0
- package/projects/corecomponents/src/lib/components/tile-select/tile-select.module.ts +19 -0
- package/projects/corecomponents/src/lib/components/tooltip/tooltip.component.ts +96 -0
- package/projects/corecomponents/src/lib/components/tooltip/tooltip.module.ts +17 -0
- package/projects/corecomponents/src/lib/components/validation-error/validation-error.component.ts +45 -0
- package/projects/corecomponents/src/lib/components/validation-error/validation-error.module.ts +24 -0
- package/projects/corecomponents/src/lib/components/view-mode-buttons/content-view-mode.enum.ts +9 -0
- package/projects/corecomponents/src/lib/components/view-mode-buttons/view-mode-buttons.component.ts +63 -0
- package/projects/corecomponents/src/lib/components/view-mode-buttons/view-mode-buttons.module.ts +19 -0
- package/projects/corecomponents/src/lib/core/abstract/collection-based-component.ts +488 -0
- package/projects/corecomponents/src/lib/core/config/device-environment.ts +26 -0
- package/projects/corecomponents/src/lib/core/constant/default-upper-bound-for-range-components.ts +4 -0
- package/projects/corecomponents/src/lib/core/constant/java-max-int.ts +1 -0
- package/projects/corecomponents/src/lib/core/constant/number-inputs-key-down-white-list.ts +46 -0
- package/projects/corecomponents/src/lib/core/decorator/input-boolean.decorator.ts +35 -0
- package/projects/corecomponents/src/lib/core/enum/co-direction.ts +7 -0
- package/projects/corecomponents/src/lib/core/enum/co-document-image-display-kind.enum.ts +5 -0
- package/projects/corecomponents/src/lib/core/enum/co-document-type.enum.ts +9 -0
- package/projects/corecomponents/src/lib/core/enum/co-orientation.ts +18 -0
- package/projects/corecomponents/src/lib/core/enum/collection-based-component-input-driver-prop.enum.ts +10 -0
- package/projects/corecomponents/src/lib/core/enum/color-sequence-name.enum.ts +5 -0
- package/projects/corecomponents/src/lib/core/enum/core-components-icon.enum.ts +299 -0
- package/projects/corecomponents/src/lib/core/enum/file-type-internal.enum.ts +15 -0
- package/projects/corecomponents/src/lib/core/enum/file-type.enum.ts +9 -0
- package/projects/corecomponents/src/lib/core/enum/filterItem-mode.enum.ts +57 -0
- package/projects/corecomponents/src/lib/core/enum/float-label-type.enum.ts +5 -0
- package/projects/corecomponents/src/lib/core/enum/input-number-picker-show-mode.enum.ts +6 -0
- package/projects/corecomponents/src/lib/core/enum/input-text-type.enum.ts +4 -0
- package/projects/corecomponents/src/lib/core/enum/keyboard-code.enum.ts +72 -0
- package/projects/corecomponents/src/lib/core/enum/keyboard-key.enum.ts +78 -0
- package/projects/corecomponents/src/lib/core/enum/logical-operator-type.enum.ts +5 -0
- package/projects/corecomponents/src/lib/core/enum/object-right-type.enum.ts +5 -0
- package/projects/corecomponents/src/lib/core/enum/popup-button-type.enum.ts +10 -0
- package/projects/corecomponents/src/lib/core/enum/popup-type.enum.ts +9 -0
- package/projects/corecomponents/src/lib/core/enum/schedule-view.enum.ts +14 -0
- package/projects/corecomponents/src/lib/core/enum/search-data-type.ts +4 -0
- package/projects/corecomponents/src/lib/core/enum/search-property-state.ts +5 -0
- package/projects/corecomponents/src/lib/core/enum/sort-data-type.ts +6 -0
- package/projects/corecomponents/src/lib/core/enum/sort-direction.ts +9 -0
- package/projects/corecomponents/src/lib/core/enum/table-name.enum.ts +79 -0
- package/projects/corecomponents/src/lib/core/enum/value-comparison-type.ts +11 -0
- package/projects/corecomponents/src/lib/core/function/any-nill.function.ts +6 -0
- package/projects/corecomponents/src/lib/core/function/is-nill.function.ts +4 -0
- package/projects/corecomponents/src/lib/core/function/none-nill.function.ts +16 -0
- package/projects/corecomponents/src/lib/core/function/not-nill.function.ts +4 -0
- package/projects/corecomponents/src/lib/core/interface/search-property.ts +15 -0
- package/projects/corecomponents/src/lib/core/interface/sort-property.ts +16 -0
- package/projects/corecomponents/src/lib/core/model/bounds-constrained-number-value.ts +222 -0
- package/projects/corecomponents/src/lib/core/model/check-precision-and-scale-result.ts +5 -0
- package/projects/corecomponents/src/lib/core/model/check-within-stepped-bounds-result.ts +8 -0
- package/projects/corecomponents/src/lib/core/model/co-document-right.bo.ts +9 -0
- package/projects/corecomponents/src/lib/core/model/co-document.bo.ts +193 -0
- package/projects/corecomponents/src/lib/core/model/color-sequence.ts +39 -0
- package/projects/corecomponents/src/lib/core/model/color.ts +29 -0
- package/projects/corecomponents/src/lib/core/model/core-components-icon-svg.ts +299 -0
- package/projects/corecomponents/src/lib/core/model/element-position.ts +14 -0
- package/projects/corecomponents/src/lib/core/model/event/number-prompt-result-event.ts +10 -0
- package/projects/corecomponents/src/lib/core/model/event/string-prompt-result-event.ts +10 -0
- package/projects/corecomponents/src/lib/core/model/numerical-range.ts +19 -0
- package/projects/corecomponents/src/lib/core/service/form-input-user-change-listener.service.ts +31 -0
- package/projects/corecomponents/src/lib/core/service/form-master.service.ts +119 -0
- package/projects/corecomponents/src/lib/core/service/ng-zone-wrapper.service.ts +15 -0
- package/projects/corecomponents/src/lib/core/utils/array-utils.spec.ts +588 -0
- package/projects/corecomponents/src/lib/core/utils/array-utils.ts +301 -0
- package/projects/corecomponents/src/lib/core/utils/browser-utils.ts +123 -0
- package/projects/corecomponents/src/lib/core/utils/business-object-utils.ts +42 -0
- package/projects/corecomponents/src/lib/core/utils/css-utils.ts +276 -0
- package/projects/corecomponents/src/lib/core/utils/direction-enum-utils.ts +15 -0
- package/projects/corecomponents/src/lib/core/utils/element-ref.utils.ts +12 -0
- package/projects/corecomponents/src/lib/core/utils/event-utils.ts +61 -0
- package/projects/corecomponents/src/lib/core/utils/file-utils.ts +291 -0
- package/projects/corecomponents/src/lib/core/utils/number-utils.spec.ts +657 -0
- package/projects/corecomponents/src/lib/core/utils/number-utils.ts +350 -0
- package/projects/corecomponents/src/lib/core/utils/object-utils.ts +205 -0
- package/projects/corecomponents/src/lib/core/utils/parameter-value-conversion-utils.ts +116 -0
- package/projects/corecomponents/src/lib/core/utils/search-utils.ts +121 -0
- package/projects/corecomponents/src/lib/core/utils/sort-utils.ts +108 -0
- package/projects/corecomponents/src/lib/core/utils/string-utils.ts +100 -0
- package/projects/corecomponents/src/lib/core/validator/email.validator.ts +10 -0
- package/projects/corecomponents/src/lib/core/validator/equal.validator.ts +14 -0
- package/projects/corecomponents/src/lib/core/validator/max-string-length.validator.ts +11 -0
- package/projects/corecomponents/src/lib/core/validator/password.validator.ts +35 -0
- package/projects/corecomponents/src/lib/core/validator/precision-scale.validator.ts +14 -0
- package/projects/corecomponents/src/lib/core/validator/required.validator.ts +9 -0
- package/projects/corecomponents/src/lib/directives/align-with/align-with.directive.ts +158 -0
- package/projects/corecomponents/src/lib/directives/align-with/align-with.module.ts +13 -0
- package/projects/corecomponents/src/lib/directives/clickoutside/click-outside-master.service.ts +64 -0
- package/projects/corecomponents/src/lib/directives/clickoutside/click-outside.directive.ts +72 -0
- package/projects/corecomponents/src/lib/directives/clickoutside/clickoutside.module.ts +17 -0
- package/projects/corecomponents/src/lib/directives/observe-visibility/observe-visibility.directive.ts +55 -0
- package/projects/corecomponents/src/lib/directives/observe-visibility/observe-visibility.module.ts +13 -0
- package/projects/corecomponents/src/lib/directives/overlay/overlay-parent.directive.ts +20 -0
- package/projects/corecomponents/src/lib/directives/overlay/overlay.directive.ts +170 -0
- package/projects/corecomponents/src/lib/directives/overlay/overlay.module.ts +16 -0
- package/projects/corecomponents/src/lib/directives/parsevalue/parse-value.directive.ts +42 -0
- package/projects/corecomponents/src/lib/directives/parsevalue/parse-value.module.ts +13 -0
- package/projects/corecomponents/src/lib/directives/resize/resize-detect.directive.ts +54 -0
- package/projects/corecomponents/src/lib/directives/resize/resize-detect.module.ts +13 -0
- package/projects/corecomponents/src/lib/directives/ripple/ripple-ref.ts +28 -0
- package/projects/corecomponents/src/lib/directives/ripple/ripple-renderer.ts +217 -0
- package/projects/corecomponents/src/lib/directives/ripple/ripple.directive.ts +116 -0
- package/projects/corecomponents/src/lib/directives/ripple/ripple.module.ts +24 -0
- package/projects/corecomponents/src/lib/directives/ripple/scroll-dispatcher.service.ts +129 -0
- package/projects/corecomponents/src/lib/directives/ripple/scrollable.directive.ts +37 -0
- package/projects/corecomponents/src/lib/directives/ripple/viewport-ruler.service.ts +84 -0
- package/projects/corecomponents/src/lib/directives/screen-configuration/screen-configuration.directive.ts +170 -0
- package/projects/corecomponents/src/lib/directives/screen-configuration/screen-configuration.module.ts +16 -0
- package/projects/corecomponents/src/lib/directives/stopclick/stop-click.directive.ts +35 -0
- package/projects/corecomponents/src/lib/directives/stopclick/stop-click.module.ts +14 -0
- package/projects/corecomponents/src/lib/directives/template-wrapper/template-wrapper.directive.ts +71 -0
- package/projects/corecomponents/src/lib/directives/template-wrapper/template-wrapper.module.ts +13 -0
- package/projects/corecomponents/src/lib/directives/tooltip/tooltip-directive.module.ts +17 -0
- package/projects/corecomponents/src/lib/directives/tooltip/tooltip.directive.ts +94 -0
- package/projects/corecomponents/src/lib/interfaces/dialog-response.interface.ts +7 -0
- package/projects/corecomponents/src/lib/interfaces/lov-options.component.interface.ts +4 -0
- package/projects/corecomponents/src/lib/interfaces/scanner-input.interface.ts +3 -0
- package/projects/corecomponents/src/lib/interfaces/screen-config-adapter-component-interface-name.ts +6 -0
- package/projects/corecomponents/src/lib/interfaces/screen-config-adapter.component.interface.ts +10 -0
- package/projects/corecomponents/src/lib/model/data-item.ts +9 -0
- package/projects/corecomponents/src/lib/model/enum/app-button-type.enum.ts +9 -0
- package/projects/corecomponents/src/lib/model/enum/app-popup-type.enum.ts +6 -0
- package/projects/corecomponents/src/lib/model/enum/currency-code.enum.ts +7 -0
- package/projects/corecomponents/src/lib/model/enum/language-code.enum.ts +8 -0
- package/projects/corecomponents/src/lib/model/map/currencies.map.ts +6 -0
- package/projects/corecomponents/src/lib/modules/drag-drop/drag-drop-container.component.ts +115 -0
- package/projects/corecomponents/src/lib/modules/drag-drop/drag-drop-container.css +34 -0
- package/projects/corecomponents/src/lib/modules/drag-drop/drag-drop-manager.service.ts +414 -0
- package/projects/corecomponents/src/lib/modules/drag-drop/drag-drop.module.ts +20 -0
- package/projects/corecomponents/src/lib/modules/drag-drop/draggable.directive.ts +70 -0
- package/projects/corecomponents/src/lib/modules/drag-drop/model/co-drag-event.ts +5 -0
- package/projects/corecomponents/src/lib/modules/drag-drop/model/co-drop-event.ts +9 -0
- package/projects/corecomponents/src/lib/modules/drag-drop/model/drag-drop-container-element.ts +7 -0
- package/projects/corecomponents/src/lib/modules/drag-drop/model/drag-drop-container.ts +9 -0
- package/projects/corecomponents/src/lib/modules/media-monitor/flex-layout-breakpoint.enum.ts +5 -0
- package/projects/corecomponents/src/lib/modules/media-monitor/media-monitor.module.ts +14 -0
- package/projects/corecomponents/src/lib/modules/media-monitor/media-monitor.service.ts +36 -0
- package/projects/corecomponents/src/lib/modules/pagination/paginate.pipe.ts +116 -0
- package/projects/corecomponents/src/lib/modules/pagination/pagination-instance.ts +18 -0
- package/projects/corecomponents/src/lib/modules/pagination/pagination.component.ts +229 -0
- package/projects/corecomponents/src/lib/modules/pagination/pagination.module.ts +25 -0
- package/projects/corecomponents/src/lib/modules/pagination/pagination.service.ts +98 -0
- package/projects/corecomponents/src/lib/pipes/append.pipe.module.ts +13 -0
- package/projects/corecomponents/src/lib/pipes/append.pipe.ts +17 -0
- package/projects/corecomponents/src/lib/pipes/co-currency-pipe.module.ts +13 -0
- package/projects/corecomponents/src/lib/pipes/co-currency.pipe.ts +45 -0
- package/projects/corecomponents/src/lib/pipes/emun-keys.pipe.ts +20 -0
- package/projects/corecomponents/src/lib/pipes/enum-keys-pipe.module.ts +13 -0
- package/projects/corecomponents/src/lib/pipes/file-type-image-pipe.module.ts +13 -0
- package/projects/corecomponents/src/lib/pipes/file-type-image.pipe.ts +45 -0
- package/projects/corecomponents/src/lib/pipes/filter.pipe.module.ts +13 -0
- package/projects/corecomponents/src/lib/pipes/filter.pipe.ts +14 -0
- package/projects/corecomponents/src/lib/pipes/master-pipe.module.ts +13 -0
- package/projects/corecomponents/src/lib/pipes/master.pipe.ts +71 -0
- package/projects/corecomponents/src/lib/pipes/prepend.pipe.module.ts +13 -0
- package/projects/corecomponents/src/lib/pipes/prepend.pipe.ts +17 -0
- package/projects/corecomponents/src/lib/pipes/price-display-pipe.module.ts +14 -0
- package/projects/corecomponents/src/lib/pipes/price-display.pipe.ts +20 -0
- package/projects/corecomponents/src/lib/pipes/safe-style.pipe.module.ts +13 -0
- package/projects/corecomponents/src/lib/pipes/safe-style.pipe.ts +14 -0
- package/projects/corecomponents/src/lib/pipes/ucfirst-pipe.module.ts +13 -0
- package/projects/corecomponents/src/lib/pipes/ucfirst.pipe.ts +14 -0
- package/projects/corecomponents/src/lib/service/base-module-screen-config.service.ts +241 -0
- package/projects/corecomponents/src/lib/service/base-module.service.ts +50 -0
- package/projects/corecomponents/src/lib/service/color-sequence.service.ts +20 -0
- package/projects/corecomponents/src/lib/service/overlay.service.ts +81 -0
- package/projects/corecomponents/src/lib/translation/core-components-translation.module.ts +27 -0
- package/projects/corecomponents/src/lib/translation/core-components-translation.service.ts +15 -0
- package/projects/corecomponents/src/lib/translation/core-dictionary.service.ts +27 -0
- package/projects/corecomponents/src/lib/translation/core-localize.pipe.ts +21 -0
- package/projects/corecomponents/src/public-api.ts +137 -0
- package/projects/corecomponents/src/res/icons/Barcode.svg +1 -0
- package/projects/corecomponents/src/res/icons/CashRegister.svg +1 -0
- package/projects/corecomponents/src/res/icons/CirclePlusSkinny.svg +1 -0
- package/projects/corecomponents/src/res/icons/CrossSkinny.svg +1 -0
- package/projects/corecomponents/src/res/icons/FolderArrow.svg +1 -0
- package/projects/corecomponents/src/res/icons/Home.svg +1 -0
- package/projects/corecomponents/src/res/icons/POS.svg +1 -0
- package/projects/corecomponents/src/res/icons/Shop.svg +1 -0
- package/projects/corecomponents/src/res/icons/SinglePerson.svg +1 -0
- package/projects/corecomponents/src/res/icons/Star.svg +1 -0
- package/projects/corecomponents/src/res/icons/TrashBin.svg +1 -0
- package/projects/corecomponents/src/res/icons/account.svg +1 -0
- package/projects/corecomponents/src/res/icons/account_round_open.svg +1 -0
- package/projects/corecomponents/src/res/icons/activities.svg +1 -0
- package/projects/corecomponents/src/res/icons/add_to_cart_drop.svg +1 -0
- package/projects/corecomponents/src/res/icons/arrow_down.svg +1 -0
- package/projects/corecomponents/src/res/icons/arrow_fat_left.svg +1 -0
- package/projects/corecomponents/src/res/icons/arrow_fat_right.svg +1 -0
- package/projects/corecomponents/src/res/icons/arrow_left.svg +4 -0
- package/projects/corecomponents/src/res/icons/arrow_left_round_open.svg +1 -0
- package/projects/corecomponents/src/res/icons/arrow_point_down.svg +6 -0
- package/projects/corecomponents/src/res/icons/arrow_point_left.svg +8 -0
- package/projects/corecomponents/src/res/icons/arrow_point_right.svg +8 -0
- package/projects/corecomponents/src/res/icons/arrow_point_up.svg +8 -0
- package/projects/corecomponents/src/res/icons/arrow_right_round_open.svg +1 -0
- package/projects/corecomponents/src/res/icons/arrow_scroll_down.svg +6 -0
- package/projects/corecomponents/src/res/icons/arrow_scroll_left.svg +22 -0
- package/projects/corecomponents/src/res/icons/arrow_scroll_right.svg +22 -0
- package/projects/corecomponents/src/res/icons/arrow_scroll_up.svg +6 -0
- package/projects/corecomponents/src/res/icons/arrow_up.svg +3 -0
- package/projects/corecomponents/src/res/icons/article.svg +1 -0
- package/projects/corecomponents/src/res/icons/article_with_fold.svg +1 -0
- package/projects/corecomponents/src/res/icons/asterisk_small.svg +1 -0
- package/projects/corecomponents/src/res/icons/attachments.svg +1 -0
- package/projects/corecomponents/src/res/icons/back_to_top.svg +1 -0
- package/projects/corecomponents/src/res/icons/big_mac.svg +6 -0
- package/projects/corecomponents/src/res/icons/boxes.svg +1 -0
- package/projects/corecomponents/src/res/icons/brush.svg +1 -0
- package/projects/corecomponents/src/res/icons/brush_round_open.svg +1 -0
- package/projects/corecomponents/src/res/icons/building_columns.svg +1 -0
- package/projects/corecomponents/src/res/icons/businessrules.svg +1 -0
- package/projects/corecomponents/src/res/icons/calendar.svg +1 -0
- package/projects/corecomponents/src/res/icons/calendar_day.svg +37 -0
- package/projects/corecomponents/src/res/icons/calendar_day_regular.svg +1 -0
- package/projects/corecomponents/src/res/icons/calendar_empty.svg +16 -0
- package/projects/corecomponents/src/res/icons/calendar_range.svg +1 -0
- package/projects/corecomponents/src/res/icons/calendar_round_open.svg +16 -0
- package/projects/corecomponents/src/res/icons/camera.svg +1 -0
- package/projects/corecomponents/src/res/icons/cancel.svg +1 -0
- package/projects/corecomponents/src/res/icons/cancel_round_filled.svg +1 -0
- package/projects/corecomponents/src/res/icons/cancel_round_open.svg +1 -0
- package/projects/corecomponents/src/res/icons/cart.svg +1 -0
- package/projects/corecomponents/src/res/icons/cart_open.svg +8 -0
- package/projects/corecomponents/src/res/icons/case_manager.svg +1 -0
- package/projects/corecomponents/src/res/icons/cash_register_simple.svg +1 -0
- package/projects/corecomponents/src/res/icons/change_location.svg +1 -0
- package/projects/corecomponents/src/res/icons/check.svg +1 -0
- package/projects/corecomponents/src/res/icons/check_duotone.svg +1 -0
- package/projects/corecomponents/src/res/icons/check_round.svg +1 -0
- package/projects/corecomponents/src/res/icons/check_round_open.svg +10 -0
- package/projects/corecomponents/src/res/icons/check_simple.svg +3 -0
- package/projects/corecomponents/src/res/icons/check_thin.svg +1 -0
- package/projects/corecomponents/src/res/icons/chevron_down_regular.svg +1 -0
- package/projects/corecomponents/src/res/icons/chevron_up_regular.svg +1 -0
- package/projects/corecomponents/src/res/icons/client.svg +1 -0
- package/projects/corecomponents/src/res/icons/clock.svg +1 -0
- package/projects/corecomponents/src/res/icons/clockArrow.svg +1 -0
- package/projects/corecomponents/src/res/icons/cogWheelPlus.svg +1 -0
- package/projects/corecomponents/src/res/icons/cogWheels.svg +1 -0
- package/projects/corecomponents/src/res/icons/column_options.svg +18 -0
- package/projects/corecomponents/src/res/icons/company.svg +1 -0
- package/projects/corecomponents/src/res/icons/company_flat.svg +4 -0
- package/projects/corecomponents/src/res/icons/configurable.svg +1 -0
- package/projects/corecomponents/src/res/icons/consultant.svg +1 -0
- package/projects/corecomponents/src/res/icons/copy.svg +1 -0
- package/projects/corecomponents/src/res/icons/crosshair_1.svg +1 -0
- package/projects/corecomponents/src/res/icons/dashboard.svg +1 -0
- package/projects/corecomponents/src/res/icons/delivery_method.svg +32 -0
- package/projects/corecomponents/src/res/icons/delivery_status_uncheck.svg +9 -0
- package/projects/corecomponents/src/res/icons/delivery_truck.svg +1 -0
- package/projects/corecomponents/src/res/icons/detail_record.svg +1 -0
- package/projects/corecomponents/src/res/icons/detail_view.svg +1 -0
- package/projects/corecomponents/src/res/icons/dictionary.svg +1 -0
- package/projects/corecomponents/src/res/icons/documentWrench.svg +1 -0
- package/projects/corecomponents/src/res/icons/documents.svg +1 -0
- package/projects/corecomponents/src/res/icons/dollar.svg +1 -0
- package/projects/corecomponents/src/res/icons/download.svg +1 -0
- package/projects/corecomponents/src/res/icons/dropdown.svg +4 -0
- package/projects/corecomponents/src/res/icons/dropzone.svg +1 -0
- package/projects/corecomponents/src/res/icons/edit_pencil.svg +1 -0
- package/projects/corecomponents/src/res/icons/edit_pencil_circle.svg +1 -0
- package/projects/corecomponents/src/res/icons/edit_pencil_round.svg +11 -0
- package/projects/corecomponents/src/res/icons/edit_pencil_simple.svg +16 -0
- package/projects/corecomponents/src/res/icons/email.svg +1 -0
- package/projects/corecomponents/src/res/icons/email_round_open.svg +6 -0
- package/projects/corecomponents/src/res/icons/employee.svg +1 -0
- package/projects/corecomponents/src/res/icons/employee_two.svg +1 -0
- package/projects/corecomponents/src/res/icons/employer.svg +1 -0
- package/projects/corecomponents/src/res/icons/employment.svg +1 -0
- package/projects/corecomponents/src/res/icons/employment_end.svg +7 -0
- package/projects/corecomponents/src/res/icons/equal.svg +1 -0
- package/projects/corecomponents/src/res/icons/euro.svg +1 -0
- package/projects/corecomponents/src/res/icons/exclamation.svg +1 -0
- package/projects/corecomponents/src/res/icons/exclamation_round_open.svg +1 -0
- package/projects/corecomponents/src/res/icons/eye_circle.svg +1 -0
- package/projects/corecomponents/src/res/icons/eye_circle_large.svg +1 -0
- package/projects/corecomponents/src/res/icons/eye_round_filled.svg +11 -0
- package/projects/corecomponents/src/res/icons/factory.svg +1 -0
- package/projects/corecomponents/src/res/icons/fasttrack.svg +1 -0
- package/projects/corecomponents/src/res/icons/filter.svg +1 -0
- package/projects/corecomponents/src/res/icons/finish.svg +1 -0
- package/projects/corecomponents/src/res/icons/fixed_option_value_tree.svg +1 -0
- package/projects/corecomponents/src/res/icons/fixed_tree_option_value.svg +1 -0
- package/projects/corecomponents/src/res/icons/floppy_disk_solid.svg +1 -0
- package/projects/corecomponents/src/res/icons/folder_arrow_in.svg +8 -0
- package/projects/corecomponents/src/res/icons/formula.svg +1 -0
- package/projects/corecomponents/src/res/icons/fullscreen.svg +6 -0
- package/projects/corecomponents/src/res/icons/gear_double.svg +21 -0
- package/projects/corecomponents/src/res/icons/global_search.svg +45 -0
- package/projects/corecomponents/src/res/icons/globe.svg +1 -0
- package/projects/corecomponents/src/res/icons/greater_than.svg +1 -0
- package/projects/corecomponents/src/res/icons/groupby.svg +1 -0
- package/projects/corecomponents/src/res/icons/hamburger.svg +1 -0
- package/projects/corecomponents/src/res/icons/hand_pointer.svg +1 -0
- package/projects/corecomponents/src/res/icons/hbarchart.svg +6 -0
- package/projects/corecomponents/src/res/icons/home_circle.svg +9 -0
- package/projects/corecomponents/src/res/icons/home_open.svg +7 -0
- package/projects/corecomponents/src/res/icons/home_round_open.svg +11 -0
- package/projects/corecomponents/src/res/icons/hourglass.svg +1 -0
- package/projects/corecomponents/src/res/icons/icon_3d.svg +1 -0
- package/projects/corecomponents/src/res/icons/id.svg +1 -0
- package/projects/corecomponents/src/res/icons/image.svg +1 -0
- package/projects/corecomponents/src/res/icons/incoming_storage.svg +1 -0
- package/projects/corecomponents/src/res/icons/information.svg +1 -0
- package/projects/corecomponents/src/res/icons/information_round_open.svg +6 -0
- package/projects/corecomponents/src/res/icons/input_multiplechoice.svg +1 -0
- package/projects/corecomponents/src/res/icons/input_text.svg +1 -0
- package/projects/corecomponents/src/res/icons/input_textarea.svg +1 -0
- package/projects/corecomponents/src/res/icons/inventory.svg +1 -0
- package/projects/corecomponents/src/res/icons/invoice.svg +20 -0
- package/projects/corecomponents/src/res/icons/ione_logo.svg +1 -0
- package/projects/corecomponents/src/res/icons/ione_logo_fat.svg +1 -0
- package/projects/corecomponents/src/res/icons/ione_status_next.svg +43 -0
- package/projects/corecomponents/src/res/icons/ione_workflow.svg +62 -0
- package/projects/corecomponents/src/res/icons/keyboard.svg +1 -0
- package/projects/corecomponents/src/res/icons/keychain.svg +1 -0
- package/projects/corecomponents/src/res/icons/label.svg +5 -0
- package/projects/corecomponents/src/res/icons/label_round_open.svg +6 -0
- package/projects/corecomponents/src/res/icons/landmark_flag.svg +1 -0
- package/projects/corecomponents/src/res/icons/library.svg +21 -0
- package/projects/corecomponents/src/res/icons/linechart.svg +1 -0
- package/projects/corecomponents/src/res/icons/link_circle.svg +1 -0
- package/projects/corecomponents/src/res/icons/linked_products.svg +1 -0
- package/projects/corecomponents/src/res/icons/list_view.svg +8 -0
- package/projects/corecomponents/src/res/icons/location.svg +1 -0
- package/projects/corecomponents/src/res/icons/lock.svg +1 -0
- package/projects/corecomponents/src/res/icons/lock_round_open.svg +8 -0
- package/projects/corecomponents/src/res/icons/logo.svg +1 -0
- package/projects/corecomponents/src/res/icons/logout.svg +1 -0
- package/projects/corecomponents/src/res/icons/magic_wand.svg +1 -0
- package/projects/corecomponents/src/res/icons/magnifier.svg +5 -0
- package/projects/corecomponents/src/res/icons/manager.svg +12 -0
- package/projects/corecomponents/src/res/icons/mask.svg +1 -0
- package/projects/corecomponents/src/res/icons/master_detail.svg +1 -0
- package/projects/corecomponents/src/res/icons/material_circle_large.svg +1 -0
- package/projects/corecomponents/src/res/icons/medal_bronze.svg +23 -0
- package/projects/corecomponents/src/res/icons/medal_gold.svg +23 -0
- package/projects/corecomponents/src/res/icons/medal_silver.svg +23 -0
- package/projects/corecomponents/src/res/icons/medical_officer.svg +14 -0
- package/projects/corecomponents/src/res/icons/microphone.svg +1 -0
- package/projects/corecomponents/src/res/icons/minus_round_open.svg +1 -0
- package/projects/corecomponents/src/res/icons/minus_simple.svg +1 -0
- package/projects/corecomponents/src/res/icons/mobile.svg +1 -0
- package/projects/corecomponents/src/res/icons/multi_select_check.svg +10 -0
- package/projects/corecomponents/src/res/icons/new_task.svg +1 -0
- package/projects/corecomponents/src/res/icons/not_equal.svg +4 -0
- package/projects/corecomponents/src/res/icons/note.svg +1 -0
- package/projects/corecomponents/src/res/icons/note_bordered.svg +1 -0
- package/projects/corecomponents/src/res/icons/notification.svg +1 -0
- package/projects/corecomponents/src/res/icons/option.svg +1 -0
- package/projects/corecomponents/src/res/icons/optionset.svg +1 -0
- package/projects/corecomponents/src/res/icons/order.svg +1 -0
- package/projects/corecomponents/src/res/icons/orderpicking.svg +1 -0
- package/projects/corecomponents/src/res/icons/outgoing_storage.svg +1 -0
- package/projects/corecomponents/src/res/icons/over_booking.svg +1 -0
- package/projects/corecomponents/src/res/icons/pause_circle.svg +12 -0
- package/projects/corecomponents/src/res/icons/pen_to_square_solid.svg +1 -0
- package/projects/corecomponents/src/res/icons/pencil_round_open.svg +10 -0
- package/projects/corecomponents/src/res/icons/phone.svg +1 -0
- package/projects/corecomponents/src/res/icons/phone_round_open.svg +10 -0
- package/projects/corecomponents/src/res/icons/piechart.svg +24 -0
- package/projects/corecomponents/src/res/icons/pin.svg +9 -0
- package/projects/corecomponents/src/res/icons/pin_round_open.svg +11 -0
- package/projects/corecomponents/src/res/icons/play_circle.svg +1 -0
- package/projects/corecomponents/src/res/icons/plus_round.svg +9 -0
- package/projects/corecomponents/src/res/icons/plus_round_open.svg +1 -0
- package/projects/corecomponents/src/res/icons/plus_simple.svg +1 -0
- package/projects/corecomponents/src/res/icons/plus_skinny.svg +8 -0
- package/projects/corecomponents/src/res/icons/plus_solid.svg +1 -0
- package/projects/corecomponents/src/res/icons/plus_stars.svg +1 -0
- package/projects/corecomponents/src/res/icons/pointer.svg +7 -0
- package/projects/corecomponents/src/res/icons/pointer_3d.svg +8 -0
- package/projects/corecomponents/src/res/icons/pointer_filled.svg +6 -0
- package/projects/corecomponents/src/res/icons/positioning.svg +1 -0
- package/projects/corecomponents/src/res/icons/pregnancy.svg +18 -0
- package/projects/corecomponents/src/res/icons/preset.svg +1 -0
- package/projects/corecomponents/src/res/icons/print.svg +1 -0
- package/projects/corecomponents/src/res/icons/product_properties.svg +1 -0
- package/projects/corecomponents/src/res/icons/purchase.svg +15 -0
- package/projects/corecomponents/src/res/icons/qrcode.svg +59 -0
- package/projects/corecomponents/src/res/icons/question.svg +1 -0
- package/projects/corecomponents/src/res/icons/radio_uncheck.svg +1 -0
- package/projects/corecomponents/src/res/icons/range.svg +1 -0
- package/projects/corecomponents/src/res/icons/range_select.svg +1 -0
- package/projects/corecomponents/src/res/icons/rectangles.svg +15 -0
- package/projects/corecomponents/src/res/icons/refresh.svg +1 -0
- package/projects/corecomponents/src/res/icons/relations.svg +20 -0
- package/projects/corecomponents/src/res/icons/remark.svg +1 -0
- package/projects/corecomponents/src/res/icons/remark_round_open.svg +6 -0
- package/projects/corecomponents/src/res/icons/report_in_type.svg +1 -0
- package/projects/corecomponents/src/res/icons/resize.svg +3 -0
- package/projects/corecomponents/src/res/icons/resize_down.svg +1 -0
- package/projects/corecomponents/src/res/icons/resize_up.svg +1 -0
- package/projects/corecomponents/src/res/icons/return_goods.svg +4 -0
- package/projects/corecomponents/src/res/icons/returns.svg +1 -0
- package/projects/corecomponents/src/res/icons/rotate_left_solid.svg +1 -0
- package/projects/corecomponents/src/res/icons/save_disk.svg +15 -0
- package/projects/corecomponents/src/res/icons/save_skinny.svg +3 -0
- package/projects/corecomponents/src/res/icons/scale_balanced.svg +1 -0
- package/projects/corecomponents/src/res/icons/scanner.svg +1 -0
- package/projects/corecomponents/src/res/icons/search_round_open.svg +9 -0
- package/projects/corecomponents/src/res/icons/sections.svg +1 -0
- package/projects/corecomponents/src/res/icons/select_all_round.svg +5 -0
- package/projects/corecomponents/src/res/icons/services.svg +1 -0
- package/projects/corecomponents/src/res/icons/settings.svg +20 -0
- package/projects/corecomponents/src/res/icons/shopping_cart.svg +1 -0
- package/projects/corecomponents/src/res/icons/shopping_cart_nr.svg +1 -0
- package/projects/corecomponents/src/res/icons/shortcut.svg +1 -0
- package/projects/corecomponents/src/res/icons/skills.svg +1 -0
- package/projects/corecomponents/src/res/icons/slide_in.svg +1 -0
- package/projects/corecomponents/src/res/icons/slider_panel.svg +7 -0
- package/projects/corecomponents/src/res/icons/small_tiles.svg +1 -0
- package/projects/corecomponents/src/res/icons/smaller_than.svg +1 -0
- package/projects/corecomponents/src/res/icons/sort_asc.svg +1 -0
- package/projects/corecomponents/src/res/icons/sort_desc.svg +1 -0
- package/projects/corecomponents/src/res/icons/star_round_open.svg +6 -0
- package/projects/corecomponents/src/res/icons/status_active.svg +1 -0
- package/projects/corecomponents/src/res/icons/status_adoption.svg +1 -0
- package/projects/corecomponents/src/res/icons/status_fostercare.svg +1 -0
- package/projects/corecomponents/src/res/icons/status_ill.svg +10 -0
- package/projects/corecomponents/src/res/icons/status_leave.svg +1 -0
- package/projects/corecomponents/src/res/icons/status_pregnancy.svg +10 -0
- package/projects/corecomponents/src/res/icons/stock.svg +1 -0
- package/projects/corecomponents/src/res/icons/stock_management.svg +25 -0
- package/projects/corecomponents/src/res/icons/storage.svg +1 -0
- package/projects/corecomponents/src/res/icons/supervisor.svg +1 -0
- package/projects/corecomponents/src/res/icons/supplier.svg +18 -0
- package/projects/corecomponents/src/res/icons/surgery.svg +35 -0
- package/projects/corecomponents/src/res/icons/tablechart.svg +15 -0
- package/projects/corecomponents/src/res/icons/tag.svg +1 -0
- package/projects/corecomponents/src/res/icons/talk_too_much.svg +7 -0
- package/projects/corecomponents/src/res/icons/target.svg +1 -0
- package/projects/corecomponents/src/res/icons/task.svg +1 -0
- package/projects/corecomponents/src/res/icons/thick_lines.svg +1 -0
- package/projects/corecomponents/src/res/icons/thin_lines.svg +1 -0
- package/projects/corecomponents/src/res/icons/three_sixty_view.svg +1 -0
- package/projects/corecomponents/src/res/icons/thumb_bronze.svg +29 -0
- package/projects/corecomponents/src/res/icons/thumb_gold.svg +29 -0
- package/projects/corecomponents/src/res/icons/thumb_silver.svg +29 -0
- package/projects/corecomponents/src/res/icons/timeline.svg +1 -0
- package/projects/corecomponents/src/res/icons/transaction_detail.svg +19 -0
- package/projects/corecomponents/src/res/icons/transactions.svg +12 -0
- package/projects/corecomponents/src/res/icons/trash_can_solid.svg +1 -0
- package/projects/corecomponents/src/res/icons/triangle_down.svg +1 -0
- package/projects/corecomponents/src/res/icons/triangle_large.svg +5 -0
- package/projects/corecomponents/src/res/icons/triangle_left.svg +1 -0
- package/projects/corecomponents/src/res/icons/triangle_right.svg +1 -0
- package/projects/corecomponents/src/res/icons/triangle_up.svg +1 -0
- package/projects/corecomponents/src/res/icons/truck.svg +1 -0
- package/projects/corecomponents/src/res/icons/truck_calendar.svg +15 -0
- package/projects/corecomponents/src/res/icons/undo_round_open.svg +1 -0
- package/projects/corecomponents/src/res/icons/user.svg +9 -0
- package/projects/corecomponents/src/res/icons/variants.svg +1 -0
- package/projects/corecomponents/src/res/icons/vbarchart.svg +6 -0
- package/projects/corecomponents/src/res/icons/view.svg +1 -0
- package/projects/corecomponents/src/res/icons/warehouse.svg +1 -0
- package/projects/corecomponents/src/res/icons/watermark.svg +10 -0
- package/projects/corecomponents/src/res/icons/website.svg +1 -0
- package/projects/corecomponents/src/res/icons/wizard.svg +18 -0
- package/projects/corecomponents/src/res/icons/wms.svg +24 -0
- package/projects/corecomponents/src/res/icons/work_in_progress.svg +10 -0
- package/projects/corecomponents/src/res/icons/work_in_progress_round_open.svg +9 -0
- package/projects/corecomponents/src/res/icons/wrench.svg +4 -0
- package/projects/corecomponents/src/res/icons/x_axis.svg +5 -0
- package/projects/corecomponents/src/res/icons/y_axis.svg +5 -0
- package/projects/corecomponents/src/test.ts +28 -0
- package/projects/corecomponents/tsconfig.lib.json +20 -0
- package/projects/corecomponents/tsconfig.lib.prod.json +16 -0
- package/projects/corecomponents/tsconfig.spec.json +17 -0
- package/scripts/export.bat +9 -0
- package/scripts/merge-icons.js +39 -0
- package/scripts/publish.bat +6 -0
- package/src/app/app.component.scss +36 -0
- package/src/app/app.component.spec.ts +31 -0
- package/src/app/app.component.ts +559 -0
- package/src/app/app.module.ts +145 -0
- package/src/app/components/button-showcase.component.ts +82 -0
- package/src/app/components/carousel-3d-showcase.component.ts +70 -0
- package/src/app/components/checkbox-showcase.component.ts +56 -0
- package/src/app/components/co-dialog-showcase.component.ts +189 -0
- package/src/app/components/co-simple-grid-test.component.ts +146 -0
- package/src/app/components/filter-item-showcase.component.ts +178 -0
- package/src/app/components/forms-showcase.component.ts +703 -0
- package/src/app/components/icon-showcase.component.ts +72 -0
- package/src/app/components/input-checkbox-showcase.component.ts +87 -0
- package/src/app/components/input-date-picker-showcase.component.ts +90 -0
- package/src/app/components/input-number-picker-showcase.component.ts +125 -0
- package/src/app/components/input-radio-button-showcase.component.ts +87 -0
- package/src/app/components/input-scanner-showcase.component.ts +35 -0
- package/src/app/components/input-text-showcase.component.ts +200 -0
- package/src/app/components/input-time-showcase.component.ts +104 -0
- package/src/app/components/number-picker-showcase.component.ts +17 -0
- package/src/app/components/simple-grid-showcase.component.ts +60 -0
- package/src/app/model/data-item.ts +9 -0
- package/src/app/model/enum/currency-code.enum.ts +7 -0
- package/src/app/model/enum/language-code.enum.ts +8 -0
- package/src/app/model/map/currencies.map.ts +6 -0
- package/src/app/service/showcase-data.service.ts +1110 -0
- package/src/assets/.gitkeep +0 -0
- package/src/environments/environment.prod.ts +3 -0
- package/src/environments/environment.ts +16 -0
- package/src/favicon.ico +0 -0
- package/src/index.html +13 -0
- package/src/main.ts +12 -0
- package/src/polyfills.ts +65 -0
- package/src/styles.scss +56 -0
- package/src/test.ts +27 -0
- package/tsconfig.app.json +15 -0
- package/tsconfig.json +37 -0
- package/tsconfig.spec.json +18 -0
- package/bundles/colijnit-corecomponents_v12.umd.js +0 -14029
- package/bundles/colijnit-corecomponents_v12.umd.js.map +0 -1
- package/colijnit-corecomponents_v12.d.ts +0 -43
- package/colijnit-corecomponents_v12.metadata.json +0 -1
- package/esm2015/colijnit-corecomponents_v12.js +0 -44
- package/esm2015/lib/components/article-tile/article-tile.component.js +0 -80
- package/esm2015/lib/components/article-tile/article-tile.module.js +0 -35
- package/esm2015/lib/components/base/base-input.component.js +0 -834
- package/esm2015/lib/components/base/base.module.js +0 -22
- package/esm2015/lib/components/base/commit-buttons/commit-buttons.component.js +0 -103
- package/esm2015/lib/components/base/commit-buttons/commit-buttons.module.js +0 -21
- package/esm2015/lib/components/base/dialog-base.component.js +0 -6
- package/esm2015/lib/components/base-input-date-picker/base-input-date-picker.directive.js +0 -25
- package/esm2015/lib/components/button/button.component.js +0 -79
- package/esm2015/lib/components/button/button.module.js +0 -19
- package/esm2015/lib/components/calendar/calendar-template.component.js +0 -342
- package/esm2015/lib/components/calendar/calendar.component.js +0 -45
- package/esm2015/lib/components/calendar/calendar.module.js +0 -28
- package/esm2015/lib/components/card/card.component.js +0 -72
- package/esm2015/lib/components/card/card.module.js +0 -35
- package/esm2015/lib/components/carousel/carousel.component.js +0 -130
- package/esm2015/lib/components/carousel/carousel.module.js +0 -32
- package/esm2015/lib/components/carousel-3d/carousel-3d.component.js +0 -315
- package/esm2015/lib/components/carousel-3d/carousel-3d.module.js +0 -19
- package/esm2015/lib/components/carousel-3d/carouselItem.js +0 -54
- package/esm2015/lib/components/checkmark-overlay/checkmark-overlay.component.js +0 -87
- package/esm2015/lib/components/checkmark-overlay/checkmark-overlay.module.js +0 -19
- package/esm2015/lib/components/co-dialog/co-dialog.component.js +0 -113
- package/esm2015/lib/components/co-dialog/co-dialog.module.js +0 -19
- package/esm2015/lib/components/co-dialog-wizard/co-dialog-wizard.component.js +0 -51
- package/esm2015/lib/components/co-dialog-wizard/co-dialog-wizard.module.js +0 -17
- package/esm2015/lib/components/collapsible/collapsible.component.js +0 -92
- package/esm2015/lib/components/collapsible/collapsible.module.js +0 -19
- package/esm2015/lib/components/color-picker/color-picker.component.js +0 -41
- package/esm2015/lib/components/color-picker/color-picker.module.js +0 -21
- package/esm2015/lib/components/core-dialog/confirmation-dialog/confirmation-dialog.component.js +0 -79
- package/esm2015/lib/components/core-dialog/core-dialog.module.js +0 -39
- package/esm2015/lib/components/core-dialog/core-dialog.service.js +0 -67
- package/esm2015/lib/components/core-dialog/core-dynamic-component.service.js +0 -93
- package/esm2015/lib/components/double-calendar/double-calendar.component.js +0 -80
- package/esm2015/lib/components/double-calendar/double-calendar.module.js +0 -25
- package/esm2015/lib/components/filter-item/filter-item-viewmodel.js +0 -13
- package/esm2015/lib/components/filter-item/filter-item.component.js +0 -646
- package/esm2015/lib/components/filter-item/filter-item.module.js +0 -43
- package/esm2015/lib/components/filter-item/filter-viewmodel.js +0 -11
- package/esm2015/lib/components/form/form.component.js +0 -184
- package/esm2015/lib/components/form/form.module.js +0 -23
- package/esm2015/lib/components/grid-toolbar/grid-toolbar.component.js +0 -57
- package/esm2015/lib/components/grid-toolbar/grid-toolbar.module.js +0 -23
- package/esm2015/lib/components/grid-toolbar-button/grid-toolbar-button.component.js +0 -28
- package/esm2015/lib/components/grid-toolbar-button/grid-toolbar-button.module.js +0 -19
- package/esm2015/lib/components/icon/icon-cache.service.js +0 -52
- package/esm2015/lib/components/icon/icon.component.js +0 -48
- package/esm2015/lib/components/icon/icon.module.js +0 -25
- package/esm2015/lib/components/icon-collapse-handle/icon-collapse-handle.component.js +0 -64
- package/esm2015/lib/components/icon-collapse-handle/icon-collapse-handle.module.js +0 -23
- package/esm2015/lib/components/image/image.component.js +0 -42
- package/esm2015/lib/components/image/image.module.js +0 -14
- package/esm2015/lib/components/input-checkbox/input-checkbox.component.js +0 -79
- package/esm2015/lib/components/input-checkbox/input-checkbox.module.js +0 -19
- package/esm2015/lib/components/input-date-picker/input-date-picker.component.js +0 -91
- package/esm2015/lib/components/input-date-picker/input-date-picker.module.js +0 -26
- package/esm2015/lib/components/input-date-range-picker/input-date-range-picker.component.js +0 -134
- package/esm2015/lib/components/input-date-range-picker/input-date-range-picker.module.js +0 -27
- package/esm2015/lib/components/input-number-picker/input-number-picker.component.js +0 -314
- package/esm2015/lib/components/input-number-picker/input-number-picker.module.js +0 -23
- package/esm2015/lib/components/input-radio-button/input-radio-button.component.js +0 -84
- package/esm2015/lib/components/input-radio-button/input-radio-button.module.js +0 -19
- package/esm2015/lib/components/input-scanner/bar-code-scanner.js +0 -23
- package/esm2015/lib/components/input-scanner/input-scanner.component.js +0 -69
- package/esm2015/lib/components/input-scanner/input-scanner.module.js +0 -21
- package/esm2015/lib/components/input-scanner/scanner.service.js +0 -28
- package/esm2015/lib/components/input-search/input-search.component.js +0 -76
- package/esm2015/lib/components/input-search/input-search.module.js +0 -21
- package/esm2015/lib/components/input-text/input-text.component.js +0 -224
- package/esm2015/lib/components/input-text/input-text.module.js +0 -33
- package/esm2015/lib/components/input-textarea/input-textarea.component.js +0 -78
- package/esm2015/lib/components/input-textarea/input-textarea.module.js +0 -27
- package/esm2015/lib/components/level-indicator/level-indicator-level.enum.js +0 -7
- package/esm2015/lib/components/level-indicator/level-indicator.component.js +0 -36
- package/esm2015/lib/components/level-indicator/level-indicator.module.js +0 -15
- package/esm2015/lib/components/list-of-values/list-of-values-multiselect-popup.component.js +0 -112
- package/esm2015/lib/components/list-of-values/list-of-values-popup.component.js +0 -242
- package/esm2015/lib/components/list-of-values/list-of-values.component.js +0 -233
- package/esm2015/lib/components/list-of-values/list-of-values.module.js +0 -38
- package/esm2015/lib/components/loader/loader.component.js +0 -84
- package/esm2015/lib/components/loader/loader.module.js +0 -19
- package/esm2015/lib/components/pagination/paginate.pipe.js +0 -99
- package/esm2015/lib/components/pagination/pagination-instance.js +0 -2
- package/esm2015/lib/components/pagination/pagination.component.js +0 -126
- package/esm2015/lib/components/pagination/pagination.module.js +0 -28
- package/esm2015/lib/components/pagination/pagination.service.js +0 -88
- package/esm2015/lib/components/pagination-bar/pagination-bar.component.js +0 -151
- package/esm2015/lib/components/pagination-bar/pagination-bar.module.js +0 -19
- package/esm2015/lib/components/popup/const/popup-window-token.js +0 -3
- package/esm2015/lib/components/popup/interface/popup-button.js +0 -8
- package/esm2015/lib/components/popup/interface/popup-close-event.js +0 -2
- package/esm2015/lib/components/popup/interface/popup-settings.js +0 -42
- package/esm2015/lib/components/popup/interface/popup.js +0 -2
- package/esm2015/lib/components/popup/model/popup-button-globals.js +0 -11
- package/esm2015/lib/components/popup/model/popup-window.js +0 -38
- package/esm2015/lib/components/popup/popup-buttons.component.js +0 -53
- package/esm2015/lib/components/popup/popup-message-display.component.js +0 -47
- package/esm2015/lib/components/popup/popup-window-shell.component.js +0 -159
- package/esm2015/lib/components/popup/popup.module.js +0 -49
- package/esm2015/lib/components/popup/service/popup-shower.service.js +0 -90
- package/esm2015/lib/components/popup/service/prompt.service.js +0 -127
- package/esm2015/lib/components/popup/text-input-popup.component.js +0 -36
- package/esm2015/lib/components/responsive-text/responsive-text.component.js +0 -24
- package/esm2015/lib/components/responsive-text/responsive-text.module.js +0 -19
- package/esm2015/lib/components/simple-grid/base-simple-grid.component.js +0 -164
- package/esm2015/lib/components/simple-grid/simple-grid-cell.component.js +0 -172
- package/esm2015/lib/components/simple-grid/simple-grid-column.directive.js +0 -111
- package/esm2015/lib/components/simple-grid/simple-grid.component.js +0 -465
- package/esm2015/lib/components/simple-grid/simple-grid.module.js +0 -41
- package/esm2015/lib/components/tile/tile.component.js +0 -73
- package/esm2015/lib/components/tile/tile.module.js +0 -23
- package/esm2015/lib/components/tile-select/tile-select.component.js +0 -36
- package/esm2015/lib/components/tile-select/tile-select.module.js +0 -21
- package/esm2015/lib/components/tooltip/tooltip.component.js +0 -77
- package/esm2015/lib/components/tooltip/tooltip.module.js +0 -19
- package/esm2015/lib/components/validation-error/validation-error.component.js +0 -38
- package/esm2015/lib/components/validation-error/validation-error.module.js +0 -25
- package/esm2015/lib/components/view-mode-buttons/content-view-mode.enum.js +0 -11
- package/esm2015/lib/components/view-mode-buttons/view-mode-buttons.component.js +0 -61
- package/esm2015/lib/components/view-mode-buttons/view-mode-buttons.module.js +0 -21
- package/esm2015/lib/core/constant/default-upper-bound-for-range-components.js +0 -4
- package/esm2015/lib/core/constant/java-max-int.js +0 -2
- package/esm2015/lib/core/constant/number-inputs-key-down-white-list.js +0 -45
- package/esm2015/lib/core/decorator/input-boolean.decorator.js +0 -34
- package/esm2015/lib/core/enum/co-direction.js +0 -9
- package/esm2015/lib/core/enum/co-document-image-display-kind.enum.js +0 -7
- package/esm2015/lib/core/enum/co-document-type.enum.js +0 -11
- package/esm2015/lib/core/enum/co-orientation.js +0 -17
- package/esm2015/lib/core/enum/core-components-icon.enum.js +0 -300
- package/esm2015/lib/core/enum/file-type-internal.enum.js +0 -17
- package/esm2015/lib/core/enum/file-type.enum.js +0 -11
- package/esm2015/lib/core/enum/filterItem-mode.enum.js +0 -43
- package/esm2015/lib/core/enum/input-number-picker-show-mode.enum.js +0 -8
- package/esm2015/lib/core/enum/keyboard-code.enum.js +0 -74
- package/esm2015/lib/core/enum/keyboard-key.enum.js +0 -76
- package/esm2015/lib/core/enum/object-right-type.enum.js +0 -7
- package/esm2015/lib/core/enum/popup-button-type.enum.js +0 -12
- package/esm2015/lib/core/enum/popup-type.enum.js +0 -11
- package/esm2015/lib/core/enum/table-name.enum.js +0 -81
- package/esm2015/lib/core/function/any-nill.function.js +0 -6
- package/esm2015/lib/core/function/is-nill.function.js +0 -5
- package/esm2015/lib/core/function/none-nill.function.js +0 -17
- package/esm2015/lib/core/function/not-nill.function.js +0 -5
- package/esm2015/lib/core/model/bounds-constrained-number-value.js +0 -171
- package/esm2015/lib/core/model/check-precision-and-scale-result.js +0 -2
- package/esm2015/lib/core/model/check-within-stepped-bounds-result.js +0 -2
- package/esm2015/lib/core/model/co-document-right.bo.js +0 -3
- package/esm2015/lib/core/model/co-document.bo.js +0 -121
- package/esm2015/lib/core/model/core-components-icon-svg.js +0 -299
- package/esm2015/lib/core/model/element-position.js +0 -10
- package/esm2015/lib/core/model/event/string-prompt-result-event.js +0 -8
- package/esm2015/lib/core/service/form-input-user-change-listener.service.js +0 -25
- package/esm2015/lib/core/service/form-master.service.js +0 -102
- package/esm2015/lib/core/service/ng-zone-wrapper.service.js +0 -20
- package/esm2015/lib/core/utils/array-utils.js +0 -264
- package/esm2015/lib/core/utils/browser-utils.js +0 -100
- package/esm2015/lib/core/utils/direction-enum-utils.js +0 -14
- package/esm2015/lib/core/utils/event-utils.js +0 -53
- package/esm2015/lib/core/utils/file-utils.js +0 -267
- package/esm2015/lib/core/utils/number-utils.js +0 -309
- package/esm2015/lib/core/utils/object-utils.js +0 -186
- package/esm2015/lib/core/utils/string-utils.js +0 -94
- package/esm2015/lib/core/validator/email.validator.js +0 -6
- package/esm2015/lib/core/validator/equal.validator.js +0 -11
- package/esm2015/lib/core/validator/max-string-length.validator.js +0 -10
- package/esm2015/lib/core/validator/password.validator.js +0 -31
- package/esm2015/lib/core/validator/precision-scale.validator.js +0 -11
- package/esm2015/lib/core/validator/required.validator.js +0 -5
- package/esm2015/lib/directives/clickoutside/click-outside-master.service.js +0 -57
- package/esm2015/lib/directives/clickoutside/click-outside.directive.js +0 -71
- package/esm2015/lib/directives/clickoutside/clickoutside.module.js +0 -19
- package/esm2015/lib/directives/observe-visibility/observe-visibility.directive.js +0 -53
- package/esm2015/lib/directives/observe-visibility/observe-visibility.module.js +0 -15
- package/esm2015/lib/directives/overlay/overlay-parent.directive.js +0 -19
- package/esm2015/lib/directives/overlay/overlay.directive.js +0 -161
- package/esm2015/lib/directives/overlay/overlay.module.js +0 -18
- package/esm2015/lib/directives/ripple/ripple-ref.js +0 -26
- package/esm2015/lib/directives/ripple/ripple-renderer.js +0 -160
- package/esm2015/lib/directives/ripple/ripple.directive.js +0 -80
- package/esm2015/lib/directives/ripple/ripple.module.js +0 -24
- package/esm2015/lib/directives/ripple/scroll-dispatcher.service.js +0 -108
- package/esm2015/lib/directives/ripple/scrollable.directive.js +0 -40
- package/esm2015/lib/directives/ripple/viewport-ruler.service.js +0 -73
- package/esm2015/lib/directives/screen-configuration/screen-configuration.directive.js +0 -158
- package/esm2015/lib/directives/screen-configuration/screen-configuration.module.js +0 -19
- package/esm2015/lib/directives/stopclick/stop-click.directive.js +0 -38
- package/esm2015/lib/directives/stopclick/stop-click.module.js +0 -15
- package/esm2015/lib/directives/template-wrapper/template-wrapper.directive.js +0 -68
- package/esm2015/lib/directives/template-wrapper/template-wrapper.module.js +0 -15
- package/esm2015/lib/directives/tooltip/tooltip-directive.module.js +0 -19
- package/esm2015/lib/directives/tooltip/tooltip.directive.js +0 -78
- package/esm2015/lib/interfaces/dialog-response.interface.js +0 -2
- package/esm2015/lib/interfaces/scanner-input.interface.js +0 -2
- package/esm2015/lib/interfaces/screen-config-adapter-component-interface-name.js +0 -4
- package/esm2015/lib/interfaces/screen-config-adapter.component.interface.js +0 -2
- package/esm2015/lib/model/enum/app-button-type.enum.js +0 -11
- package/esm2015/lib/model/enum/app-popup-type.enum.js +0 -8
- package/esm2015/lib/pipes/append.pipe.js +0 -17
- package/esm2015/lib/pipes/append.pipe.module.js +0 -15
- package/esm2015/lib/pipes/filter.pipe.js +0 -16
- package/esm2015/lib/pipes/filter.pipe.module.js +0 -15
- package/esm2015/lib/pipes/prepend.pipe.js +0 -17
- package/esm2015/lib/pipes/prepend.pipe.module.js +0 -15
- package/esm2015/lib/pipes/price-display-pipe.module.js +0 -15
- package/esm2015/lib/pipes/price-display.pipe.js +0 -20
- package/esm2015/lib/service/base-module-screen-config.service.js +0 -205
- package/esm2015/lib/service/base-module.service.js +0 -42
- package/esm2015/lib/service/color-sequence.service.js +0 -23
- package/esm2015/lib/service/overlay.service.js +0 -73
- package/esm2015/lib/translation/core-components-translation.module.js +0 -29
- package/esm2015/lib/translation/core-components-translation.service.js +0 -17
- package/esm2015/lib/translation/core-dictionary.service.js +0 -29
- package/esm2015/lib/translation/core-localize.pipe.js +0 -26
- package/esm2015/public-api.js +0 -130
- package/fesm2015/colijnit-corecomponents_v12.js +0 -13366
- package/fesm2015/colijnit-corecomponents_v12.js.map +0 -1
- package/lib/components/article-tile/article-tile.component.d.ts +0 -22
- package/lib/components/article-tile/article-tile.module.d.ts +0 -2
- package/lib/components/base/base-input.component.d.ts +0 -182
- package/lib/components/base/base.module.d.ts +0 -2
- package/lib/components/base/commit-buttons/commit-buttons.component.d.ts +0 -21
- package/lib/components/base/commit-buttons/commit-buttons.module.d.ts +0 -2
- package/lib/components/base/dialog-base.component.d.ts +0 -4
- package/lib/components/base-input-date-picker/base-input-date-picker.directive.d.ts +0 -15
- package/lib/components/button/button.component.d.ts +0 -29
- package/lib/components/button/button.module.d.ts +0 -2
- package/lib/components/calendar/calendar-template.component.d.ts +0 -60
- package/lib/components/calendar/calendar.component.d.ts +0 -13
- package/lib/components/calendar/calendar.module.d.ts +0 -2
- package/lib/components/card/card.component.d.ts +0 -23
- package/lib/components/card/card.module.d.ts +0 -2
- package/lib/components/carousel/carousel.component.d.ts +0 -23
- package/lib/components/carousel/carousel.module.d.ts +0 -6
- package/lib/components/carousel-3d/carousel-3d.component.d.ts +0 -55
- package/lib/components/carousel-3d/carousel-3d.module.d.ts +0 -2
- package/lib/components/carousel-3d/carouselItem.d.ts +0 -13
- package/lib/components/checkmark-overlay/checkmark-overlay.component.d.ts +0 -17
- package/lib/components/checkmark-overlay/checkmark-overlay.module.d.ts +0 -2
- package/lib/components/co-dialog/co-dialog.component.d.ts +0 -23
- package/lib/components/co-dialog/co-dialog.module.d.ts +0 -2
- package/lib/components/co-dialog-wizard/co-dialog-wizard.component.d.ts +0 -9
- package/lib/components/co-dialog-wizard/co-dialog-wizard.module.d.ts +0 -2
- package/lib/components/collapsible/collapsible.component.d.ts +0 -22
- package/lib/components/collapsible/collapsible.module.d.ts +0 -2
- package/lib/components/color-picker/color-picker.component.d.ts +0 -6
- package/lib/components/color-picker/color-picker.module.d.ts +0 -2
- package/lib/components/core-dialog/confirmation-dialog/confirmation-dialog.component.d.ts +0 -20
- package/lib/components/core-dialog/core-dialog.module.d.ts +0 -4
- package/lib/components/core-dialog/core-dialog.service.d.ts +0 -15
- package/lib/components/core-dialog/core-dynamic-component.service.d.ts +0 -12
- package/lib/components/double-calendar/double-calendar.component.d.ts +0 -18
- package/lib/components/double-calendar/double-calendar.module.d.ts +0 -2
- package/lib/components/filter-item/filter-item-viewmodel.d.ts +0 -9
- package/lib/components/filter-item/filter-item.component.d.ts +0 -80
- package/lib/components/filter-item/filter-item.module.d.ts +0 -2
- package/lib/components/filter-item/filter-viewmodel.d.ts +0 -8
- package/lib/components/form/form.component.d.ts +0 -39
- package/lib/components/form/form.module.d.ts +0 -2
- package/lib/components/grid-toolbar/grid-toolbar.component.d.ts +0 -19
- package/lib/components/grid-toolbar/grid-toolbar.module.d.ts +0 -2
- package/lib/components/grid-toolbar-button/grid-toolbar-button.component.d.ts +0 -8
- package/lib/components/grid-toolbar-button/grid-toolbar-button.module.d.ts +0 -2
- package/lib/components/icon/icon-cache.service.d.ts +0 -20
- package/lib/components/icon/icon.component.d.ts +0 -17
- package/lib/components/icon/icon.module.d.ts +0 -2
- package/lib/components/icon-collapse-handle/icon-collapse-handle.component.d.ts +0 -21
- package/lib/components/icon-collapse-handle/icon-collapse-handle.module.d.ts +0 -2
- package/lib/components/image/image.component.d.ts +0 -20
- package/lib/components/image/image.module.d.ts +0 -2
- package/lib/components/input-checkbox/input-checkbox.component.d.ts +0 -24
- package/lib/components/input-checkbox/input-checkbox.module.d.ts +0 -2
- package/lib/components/input-date-picker/input-date-picker.component.d.ts +0 -12
- package/lib/components/input-date-picker/input-date-picker.module.d.ts +0 -2
- package/lib/components/input-date-range-picker/input-date-range-picker.component.d.ts +0 -20
- package/lib/components/input-date-range-picker/input-date-range-picker.module.d.ts +0 -2
- package/lib/components/input-number-picker/input-number-picker.component.d.ts +0 -73
- package/lib/components/input-number-picker/input-number-picker.module.d.ts +0 -2
- package/lib/components/input-radio-button/input-radio-button.component.d.ts +0 -19
- package/lib/components/input-radio-button/input-radio-button.module.d.ts +0 -2
- package/lib/components/input-scanner/bar-code-scanner.d.ts +0 -7
- package/lib/components/input-scanner/input-scanner.component.d.ts +0 -23
- package/lib/components/input-scanner/input-scanner.module.d.ts +0 -2
- package/lib/components/input-scanner/scanner.service.d.ts +0 -11
- package/lib/components/input-search/input-search.component.d.ts +0 -18
- package/lib/components/input-search/input-search.module.d.ts +0 -2
- package/lib/components/input-text/input-text.component.d.ts +0 -62
- package/lib/components/input-text/input-text.module.d.ts +0 -2
- package/lib/components/input-textarea/input-textarea.component.d.ts +0 -19
- package/lib/components/input-textarea/input-textarea.module.d.ts +0 -2
- package/lib/components/level-indicator/level-indicator-level.enum.d.ts +0 -5
- package/lib/components/level-indicator/level-indicator.component.d.ts +0 -10
- package/lib/components/level-indicator/level-indicator.module.d.ts +0 -2
- package/lib/components/list-of-values/list-of-values-multiselect-popup.component.d.ts +0 -25
- package/lib/components/list-of-values/list-of-values-popup.component.d.ts +0 -47
- package/lib/components/list-of-values/list-of-values.component.d.ts +0 -37
- package/lib/components/list-of-values/list-of-values.module.d.ts +0 -2
- package/lib/components/loader/loader.component.d.ts +0 -3
- package/lib/components/loader/loader.module.d.ts +0 -2
- package/lib/components/pagination/paginate.pipe.d.ts +0 -15
- package/lib/components/pagination/pagination-instance.d.ts +0 -14
- package/lib/components/pagination/pagination.component.d.ts +0 -38
- package/lib/components/pagination/pagination.module.d.ts +0 -2
- package/lib/components/pagination/pagination.service.d.ts +0 -24
- package/lib/components/pagination-bar/pagination-bar.component.d.ts +0 -33
- package/lib/components/pagination-bar/pagination-bar.module.d.ts +0 -2
- package/lib/components/popup/const/popup-window-token.d.ts +0 -3
- package/lib/components/popup/interface/popup-button.d.ts +0 -8
- package/lib/components/popup/interface/popup-close-event.d.ts +0 -5
- package/lib/components/popup/interface/popup-settings.d.ts +0 -21
- package/lib/components/popup/interface/popup.d.ts +0 -9
- package/lib/components/popup/model/popup-button-globals.d.ts +0 -9
- package/lib/components/popup/model/popup-window.d.ts +0 -21
- package/lib/components/popup/popup-buttons.component.d.ts +0 -13
- package/lib/components/popup/popup-message-display.component.d.ts +0 -12
- package/lib/components/popup/popup-window-shell.component.d.ts +0 -42
- package/lib/components/popup/popup.module.d.ts +0 -4
- package/lib/components/popup/service/popup-shower.service.d.ts +0 -17
- package/lib/components/popup/service/prompt.service.d.ts +0 -17
- package/lib/components/popup/text-input-popup.component.d.ts +0 -12
- package/lib/components/responsive-text/responsive-text.component.d.ts +0 -4
- package/lib/components/responsive-text/responsive-text.module.d.ts +0 -2
- package/lib/components/simple-grid/base-simple-grid.component.d.ts +0 -52
- package/lib/components/simple-grid/simple-grid-cell.component.d.ts +0 -30
- package/lib/components/simple-grid/simple-grid-column.directive.d.ts +0 -42
- package/lib/components/simple-grid/simple-grid.component.d.ts +0 -64
- package/lib/components/simple-grid/simple-grid.module.d.ts +0 -2
- package/lib/components/tile/tile.component.d.ts +0 -16
- package/lib/components/tile/tile.module.d.ts +0 -2
- package/lib/components/tile-select/tile-select.component.d.ts +0 -8
- package/lib/components/tile-select/tile-select.module.d.ts +0 -2
- package/lib/components/tooltip/tooltip.component.d.ts +0 -18
- package/lib/components/tooltip/tooltip.module.d.ts +0 -2
- package/lib/components/validation-error/validation-error.component.d.ts +0 -12
- package/lib/components/validation-error/validation-error.module.d.ts +0 -2
- package/lib/components/view-mode-buttons/content-view-mode.enum.d.ts +0 -8
- package/lib/components/view-mode-buttons/view-mode-buttons.component.d.ts +0 -17
- package/lib/components/view-mode-buttons/view-mode-buttons.module.d.ts +0 -2
- package/lib/core/constant/default-upper-bound-for-range-components.d.ts +0 -2
- package/lib/core/constant/java-max-int.d.ts +0 -1
- package/lib/core/constant/number-inputs-key-down-white-list.d.ts +0 -2
- package/lib/core/decorator/input-boolean.decorator.d.ts +0 -8
- package/lib/core/enum/co-direction.d.ts +0 -6
- package/lib/core/enum/co-document-image-display-kind.enum.d.ts +0 -5
- package/lib/core/enum/co-document-type.enum.d.ts +0 -5
- package/lib/core/enum/co-orientation.d.ts +0 -6
- package/lib/core/enum/core-components-icon.enum.d.ts +0 -298
- package/lib/core/enum/file-type-internal.enum.d.ts +0 -15
- package/lib/core/enum/file-type.enum.d.ts +0 -5
- package/lib/core/enum/filterItem-mode.enum.d.ts +0 -15
- package/lib/core/enum/input-number-picker-show-mode.enum.d.ts +0 -5
- package/lib/core/enum/keyboard-code.enum.d.ts +0 -71
- package/lib/core/enum/keyboard-key.enum.d.ts +0 -70
- package/lib/core/enum/object-right-type.enum.d.ts +0 -5
- package/lib/core/enum/popup-button-type.enum.d.ts +0 -9
- package/lib/core/enum/popup-type.enum.d.ts +0 -9
- package/lib/core/enum/table-name.enum.d.ts +0 -79
- package/lib/core/function/any-nill.function.d.ts +0 -1
- package/lib/core/function/is-nill.function.d.ts +0 -1
- package/lib/core/function/none-nill.function.d.ts +0 -1
- package/lib/core/function/not-nill.function.d.ts +0 -1
- package/lib/core/model/bounds-constrained-number-value.d.ts +0 -46
- package/lib/core/model/check-precision-and-scale-result.d.ts +0 -4
- package/lib/core/model/check-within-stepped-bounds-result.d.ts +0 -8
- package/lib/core/model/co-document-right.bo.d.ts +0 -6
- package/lib/core/model/co-document.bo.d.ts +0 -61
- package/lib/core/model/core-components-icon-svg.d.ts +0 -4
- package/lib/core/model/element-position.d.ts +0 -7
- package/lib/core/model/event/string-prompt-result-event.d.ts +0 -6
- package/lib/core/service/form-input-user-change-listener.service.d.ts +0 -10
- package/lib/core/service/form-master.service.d.ts +0 -26
- package/lib/core/service/ng-zone-wrapper.service.d.ts +0 -6
- package/lib/core/utils/array-utils.d.ts +0 -85
- package/lib/core/utils/browser-utils.d.ts +0 -15
- package/lib/core/utils/direction-enum-utils.d.ts +0 -5
- package/lib/core/utils/event-utils.d.ts +0 -12
- package/lib/core/utils/file-utils.d.ts +0 -29
- package/lib/core/utils/number-utils.d.ts +0 -89
- package/lib/core/utils/object-utils.d.ts +0 -31
- package/lib/core/utils/string-utils.d.ts +0 -25
- package/lib/core/validator/email.validator.d.ts +0 -2
- package/lib/core/validator/equal.validator.d.ts +0 -2
- package/lib/core/validator/max-string-length.validator.d.ts +0 -2
- package/lib/core/validator/password.validator.d.ts +0 -3
- package/lib/core/validator/precision-scale.validator.d.ts +0 -2
- package/lib/core/validator/required.validator.d.ts +0 -2
- package/lib/directives/clickoutside/click-outside-master.service.d.ts +0 -15
- package/lib/directives/clickoutside/click-outside.directive.d.ts +0 -18
- package/lib/directives/clickoutside/clickoutside.module.d.ts +0 -2
- package/lib/directives/observe-visibility/observe-visibility.directive.d.ts +0 -14
- package/lib/directives/observe-visibility/observe-visibility.module.d.ts +0 -2
- package/lib/directives/overlay/overlay-parent.directive.d.ts +0 -6
- package/lib/directives/overlay/overlay.directive.d.ts +0 -25
- package/lib/directives/overlay/overlay.module.d.ts +0 -2
- package/lib/directives/ripple/ripple-ref.d.ts +0 -21
- package/lib/directives/ripple/ripple-renderer.d.ts +0 -56
- package/lib/directives/ripple/ripple.directive.d.ts +0 -56
- package/lib/directives/ripple/ripple.module.d.ts +0 -2
- package/lib/directives/ripple/scroll-dispatcher.service.d.ts +0 -51
- package/lib/directives/ripple/scrollable.directive.d.ts +0 -20
- package/lib/directives/ripple/viewport-ruler.service.d.ts +0 -29
- package/lib/directives/screen-configuration/screen-configuration.directive.d.ts +0 -32
- package/lib/directives/screen-configuration/screen-configuration.module.d.ts +0 -2
- package/lib/directives/stopclick/stop-click.directive.d.ts +0 -10
- package/lib/directives/stopclick/stop-click.module.d.ts +0 -2
- package/lib/directives/template-wrapper/template-wrapper.directive.d.ts +0 -13
- package/lib/directives/template-wrapper/template-wrapper.module.d.ts +0 -2
- package/lib/directives/tooltip/tooltip-directive.module.d.ts +0 -2
- package/lib/directives/tooltip/tooltip.directive.d.ts +0 -20
- package/lib/interfaces/dialog-response.interface.d.ts +0 -6
- package/lib/interfaces/scanner-input.interface.d.ts +0 -3
- package/lib/interfaces/screen-config-adapter-component-interface-name.d.ts +0 -3
- package/lib/interfaces/screen-config-adapter.component.interface.d.ts +0 -10
- package/lib/model/enum/app-button-type.enum.d.ts +0 -9
- package/lib/model/enum/app-popup-type.enum.d.ts +0 -6
- package/lib/pipes/append.pipe.d.ts +0 -4
- package/lib/pipes/append.pipe.module.d.ts +0 -2
- package/lib/pipes/filter.pipe.d.ts +0 -4
- package/lib/pipes/filter.pipe.module.d.ts +0 -2
- package/lib/pipes/prepend.pipe.d.ts +0 -4
- package/lib/pipes/prepend.pipe.module.d.ts +0 -2
- package/lib/pipes/price-display-pipe.module.d.ts +0 -2
- package/lib/pipes/price-display.pipe.d.ts +0 -4
- package/lib/service/base-module-screen-config.service.d.ts +0 -47
- package/lib/service/base-module.service.d.ts +0 -22
- package/lib/service/color-sequence.service.d.ts +0 -4
- package/lib/service/overlay.service.d.ts +0 -13
- package/lib/translation/core-components-translation.module.d.ts +0 -4
- package/lib/translation/core-components-translation.service.d.ts +0 -6
- package/lib/translation/core-dictionary.service.d.ts +0 -12
- package/lib/translation/core-localize.pipe.d.ts +0 -7
- package/public-api.d.ts +0 -126
- /package/{lib → projects/corecomponents/src/lib}/components/article-tile/article-tile.component.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/base/commit-buttons/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/base/commit-buttons/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/base/commit-buttons/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/base/commit-buttons/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/button/style/_co-ripple.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/button/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/button/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/button/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/button/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/calendar/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/calendar/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/calendar/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/calendar/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/card/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/card/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/card/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/card/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/carousel/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/carousel/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/carousel/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/carousel/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/carousel-3d/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/carousel-3d/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/carousel-3d/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/carousel-3d/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/checkmark-overlay/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/checkmark-overlay/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/checkmark-overlay/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/checkmark-overlay/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/co-dialog/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/co-dialog/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/co-dialog/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/co-dialog/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/co-dialog-wizard/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/co-dialog-wizard/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/co-dialog-wizard/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/co-dialog-wizard/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/collapsible/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/collapsible/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/collapsible/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/collapsible/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/color-picker/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/color-picker/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/color-picker/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/color-picker/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/core-dialog/confirmation-dialog/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/core-dialog/confirmation-dialog/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/core-dialog/confirmation-dialog/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/core-dialog/confirmation-dialog/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/core-dialog/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/core-dialog/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/core-dialog/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/core-dialog/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/double-calendar/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/double-calendar/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/double-calendar/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/double-calendar/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/filter-item/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/filter-item/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/filter-item/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/filter-item/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/grid-toolbar/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/grid-toolbar/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/grid-toolbar/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/grid-toolbar/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/grid-toolbar-button/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/grid-toolbar-button/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/grid-toolbar-button/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/grid-toolbar-button/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/icon/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/icon/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/icon/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/icon/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/icon-collapse-handle/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/icon-collapse-handle/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/icon-collapse-handle/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/icon-collapse-handle/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/image/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/image/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/image/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/image/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-checkbox/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-checkbox/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-checkbox/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-checkbox/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-date-picker/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-date-picker/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-date-picker/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-date-picker/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-date-range-picker/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-date-range-picker/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-date-range-picker/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-date-range-picker/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-number-picker/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-number-picker/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-number-picker/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-number-picker/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-radio-button/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-radio-button/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-radio-button/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-radio-button/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-scanner/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-scanner/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-scanner/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-scanner/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-search/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-search/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-search/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-search/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-text/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-text/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-text/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-text/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-textarea/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-textarea/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-textarea/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/input-textarea/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/level-indicator/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/level-indicator/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/level-indicator/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/level-indicator/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/list-of-values/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/list-of-values/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/list-of-values/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/list-of-values/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/loader/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/loader/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/loader/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/loader/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/pagination/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/pagination/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/pagination/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/pagination/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/pagination-bar/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/pagination-bar/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/pagination-bar/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/pagination-bar/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/popup/popup-buttons.component.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/popup/popup-window-shell.component.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/responsive-text/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/responsive-text/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/responsive-text/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/responsive-text/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/simple-grid/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/simple-grid/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/simple-grid/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/simple-grid/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/tile/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/tile/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/tile/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/tile/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/tile-select/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/tile-select/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/tile-select/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/tile-select/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/tooltip/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/tooltip/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/tooltip/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/tooltip/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/validation-error/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/validation-error/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/validation-error/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/validation-error/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/view-mode-buttons/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/view-mode-buttons/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/view-mode-buttons/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/components/view-mode-buttons/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/modules/pagination/style/_layout.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/modules/pagination/style/_material-definition.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/modules/pagination/style/_theme.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/modules/pagination/style/material.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/style/_input.mixins.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/style/_mixin.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/style/_variables.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/style/corecomponents-globals.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/style/material2/_core.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/style/material2/_material2-scss-barrel.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/style/material2/ripple/_co-ripple.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/style/material2/style/_elevation.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/style/material2/style/_list-common.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/style/material2/style/_variables.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/style/material2/theming/_palette.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/style/material2/theming/_theming.scss +0 -0
- /package/{lib → projects/corecomponents/src/lib}/style/material2/typography/_typography.scss +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"colijnit-corecomponents_v12.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/corecomponents/src/lib/core/function/is-nill.function.ts","../../../projects/corecomponents/src/lib/core/function/not-nill.function.ts","../../../projects/corecomponents/src/lib/core/function/none-nill.function.ts","../../../projects/corecomponents/src/lib/core/function/any-nill.function.ts","../../../projects/corecomponents/src/lib/core/utils/object-utils.ts","../../../projects/corecomponents/src/lib/core/utils/number-utils.ts","../../../projects/corecomponents/src/lib/core/utils/array-utils.ts","../../../projects/corecomponents/src/lib/core/utils/string-utils.ts","../../../projects/corecomponents/src/lib/core/decorator/input-boolean.decorator.ts","../../../projects/corecomponents/src/lib/core/validator/required.validator.ts","../../../projects/corecomponents/src/lib/core/validator/precision-scale.validator.ts","../../../projects/corecomponents/src/lib/core/validator/max-string-length.validator.ts","../../../projects/corecomponents/src/lib/core/service/form-input-user-change-listener.service.ts","../../../projects/corecomponents/src/lib/core/service/ng-zone-wrapper.service.ts","../../../projects/corecomponents/src/lib/core/enum/core-components-icon.enum.ts","../../../projects/corecomponents/src/lib/core/model/core-components-icon-svg.ts","../../../projects/corecomponents/src/lib/components/icon/icon-cache.service.ts","../../../projects/corecomponents/src/lib/components/validation-error/validation-error.component.ts","../../../projects/corecomponents/src/lib/service/overlay.service.ts","../../../projects/corecomponents/src/lib/components/base/commit-buttons/commit-buttons.component.ts","../../../projects/corecomponents/src/lib/components/base/base-input.component.ts","../../../projects/corecomponents/src/lib/components/icon/icon.component.ts","../../../projects/corecomponents/src/lib/components/icon/icon.module.ts","../../../projects/corecomponents/src/lib/directives/ripple/scroll-dispatcher.service.ts","../../../projects/corecomponents/src/lib/directives/ripple/viewport-ruler.service.ts","../../../projects/corecomponents/src/lib/directives/ripple/ripple-ref.ts","../../../projects/corecomponents/src/lib/directives/ripple/ripple-renderer.ts","../../../projects/corecomponents/src/lib/directives/ripple/ripple.directive.ts","../../../projects/corecomponents/src/lib/directives/ripple/scrollable.directive.ts","../../../projects/corecomponents/src/lib/directives/ripple/ripple.module.ts","../../../projects/corecomponents/src/lib/core/utils/event-utils.ts","../../../projects/corecomponents/src/lib/interfaces/screen-config-adapter-component-interface-name.ts","../../../projects/corecomponents/src/lib/components/button/button.component.ts","../../../projects/corecomponents/src/lib/components/button/button.module.ts","../../../projects/corecomponents/src/lib/components/image/image.component.ts","../../../projects/corecomponents/src/lib/components/image/image.module.ts","../../../projects/corecomponents/src/lib/directives/stopclick/stop-click.directive.ts","../../../projects/corecomponents/src/lib/directives/stopclick/stop-click.module.ts","../../../projects/corecomponents/src/lib/components/level-indicator/level-indicator.component.ts","../../../projects/corecomponents/src/lib/components/level-indicator/level-indicator.module.ts","../../../projects/corecomponents/src/lib/pipes/price-display.pipe.ts","../../../projects/corecomponents/src/lib/pipes/price-display-pipe.module.ts","../../../projects/corecomponents/src/lib/components/tile/tile.component.ts","../../../projects/corecomponents/src/lib/components/tile/tile.module.ts","../../../projects/corecomponents/src/lib/components/article-tile/article-tile.component.ts","../../../projects/corecomponents/src/lib/components/article-tile/article-tile.module.ts","../../../projects/corecomponents/src/lib/components/card/card.component.ts","../../../projects/corecomponents/src/lib/components/card/card.module.ts","../../../projects/corecomponents/src/lib/components/carousel-3d/carouselItem.ts","../../../projects/corecomponents/src/lib/components/carousel-3d/carousel-3d.component.ts","../../../projects/corecomponents/src/lib/components/carousel-3d/carousel-3d.module.ts","../../../projects/corecomponents/src/lib/components/carousel/carousel.component.ts","../../../projects/corecomponents/src/lib/components/carousel/carousel.module.ts","../../../projects/corecomponents/src/lib/components/co-dialog/co-dialog.component.ts","../../../projects/corecomponents/src/lib/components/co-dialog/co-dialog.module.ts","../../../projects/corecomponents/src/lib/components/co-dialog-wizard/co-dialog-wizard.component.ts","../../../projects/corecomponents/src/lib/components/co-dialog-wizard/co-dialog-wizard.module.ts","../../../projects/corecomponents/src/lib/components/collapsible/collapsible.component.ts","../../../projects/corecomponents/src/lib/components/collapsible/collapsible.module.ts","../../../projects/corecomponents/src/lib/core/model/element-position.ts","../../../projects/corecomponents/src/lib/core/service/form-master.service.ts","../../../projects/corecomponents/src/lib/components/form/form.component.ts","../../../projects/corecomponents/src/lib/components/form/form.module.ts","../../../projects/corecomponents/src/lib/components/grid-toolbar/grid-toolbar.component.ts","../../../projects/corecomponents/src/lib/components/grid-toolbar/grid-toolbar.module.ts","../../../projects/corecomponents/src/lib/components/grid-toolbar-button/grid-toolbar-button.component.ts","../../../projects/corecomponents/src/lib/components/grid-toolbar-button/grid-toolbar-button.module.ts","../../../projects/corecomponents/src/lib/core/enum/co-direction.ts","../../../projects/corecomponents/src/lib/core/enum/co-orientation.ts","../../../projects/corecomponents/src/lib/core/utils/direction-enum-utils.ts","../../../projects/corecomponents/src/lib/components/icon-collapse-handle/icon-collapse-handle.component.ts","../../../projects/corecomponents/src/lib/components/icon-collapse-handle/icon-collapse-handle.module.ts","../../../projects/corecomponents/src/lib/core/enum/filterItem-mode.enum.ts","../../../projects/corecomponents/src/lib/components/base/base.module.ts","../../../projects/corecomponents/src/lib/components/input-checkbox/input-checkbox.component.ts","../../../projects/corecomponents/src/lib/components/input-checkbox/input-checkbox.module.ts","../../../projects/corecomponents/src/lib/components/base-input-date-picker/base-input-date-picker.directive.ts","../../../projects/corecomponents/src/lib/components/calendar/calendar.component.ts","../../../projects/corecomponents/src/lib/components/input-date-picker/input-date-picker.component.ts","../../../projects/corecomponents/src/lib/directives/overlay/overlay-parent.directive.ts","../../../projects/corecomponents/src/lib/directives/overlay/overlay.directive.ts","../../../projects/corecomponents/src/lib/directives/overlay/overlay.module.ts","../../../projects/corecomponents/src/lib/components/input-text/input-text.component.ts","../../../projects/corecomponents/src/lib/pipes/append.pipe.ts","../../../projects/corecomponents/src/lib/pipes/append.pipe.module.ts","../../../projects/corecomponents/src/lib/translation/core-dictionary.service.ts","../../../projects/corecomponents/src/lib/translation/core-components-translation.service.ts","../../../projects/corecomponents/src/lib/translation/core-localize.pipe.ts","../../../projects/corecomponents/src/lib/translation/core-components-translation.module.ts","../../../projects/corecomponents/src/lib/components/validation-error/validation-error.module.ts","../../../projects/corecomponents/src/lib/components/base/commit-buttons/commit-buttons.module.ts","../../../projects/corecomponents/src/lib/components/input-text/input-text.module.ts","../../../projects/corecomponents/src/lib/core/enum/keyboard-key.enum.ts","../../../projects/corecomponents/src/lib/directives/clickoutside/click-outside-master.service.ts","../../../projects/corecomponents/src/lib/directives/clickoutside/click-outside.directive.ts","../../../projects/corecomponents/src/lib/directives/clickoutside/clickoutside.module.ts","../../../projects/corecomponents/src/lib/components/calendar/calendar-template.component.ts","../../../projects/corecomponents/src/lib/components/calendar/calendar.module.ts","../../../projects/corecomponents/src/lib/components/input-date-picker/input-date-picker.module.ts","../../../projects/corecomponents/src/lib/components/double-calendar/double-calendar.component.ts","../../../projects/corecomponents/src/lib/components/double-calendar/double-calendar.module.ts","../../../projects/corecomponents/src/lib/components/input-date-range-picker/input-date-range-picker.component.ts","../../../projects/corecomponents/src/lib/components/input-date-range-picker/input-date-range-picker.module.ts","../../../projects/corecomponents/src/lib/core/constant/java-max-int.ts","../../../projects/corecomponents/src/lib/core/constant/default-upper-bound-for-range-components.ts","../../../projects/corecomponents/src/lib/core/model/bounds-constrained-number-value.ts","../../../projects/corecomponents/src/lib/core/enum/keyboard-code.enum.ts","../../../projects/corecomponents/src/lib/core/constant/number-inputs-key-down-white-list.ts","../../../projects/corecomponents/src/lib/core/enum/input-number-picker-show-mode.enum.ts","../../../projects/corecomponents/src/lib/components/input-number-picker/input-number-picker.component.ts","../../../projects/corecomponents/src/lib/components/input-number-picker/input-number-picker.module.ts","../../../projects/corecomponents/src/lib/components/input-radio-button/input-radio-button.component.ts","../../../projects/corecomponents/src/lib/components/input-radio-button/input-radio-button.module.ts","../../../projects/corecomponents/src/lib/components/input-search/input-search.component.ts","../../../projects/corecomponents/src/lib/components/input-search/input-search.module.ts","../../../projects/corecomponents/src/lib/components/input-textarea/input-textarea.component.ts","../../../projects/corecomponents/src/lib/components/input-textarea/input-textarea.module.ts","../../../projects/corecomponents/src/lib/components/popup/text-input-popup.component.ts","../../../projects/corecomponents/src/lib/core/enum/file-type-internal.enum.ts","../../../projects/corecomponents/src/lib/core/enum/file-type.enum.ts","../../../projects/corecomponents/src/lib/core/enum/co-document-image-display-kind.enum.ts","../../../projects/corecomponents/src/lib/core/enum/object-right-type.enum.ts","../../../projects/corecomponents/src/lib/core/model/co-document.bo.ts","../../../projects/corecomponents/src/lib/core/enum/co-document-type.enum.ts","../../../projects/corecomponents/src/lib/core/utils/file-utils.ts","../../../projects/corecomponents/src/lib/core/utils/browser-utils.ts","../../../projects/corecomponents/src/lib/components/popup/popup-message-display.component.ts","../../../projects/corecomponents/src/lib/core/enum/popup-button-type.enum.ts","../../../projects/corecomponents/src/lib/components/popup/interface/popup-button.ts","../../../projects/corecomponents/src/lib/components/popup/model/popup-button-globals.ts","../../../projects/corecomponents/src/lib/components/popup/popup-buttons.component.ts","../../../projects/corecomponents/src/lib/core/enum/popup-type.enum.ts","../../../projects/corecomponents/src/lib/components/popup/popup-window-shell.component.ts","../../../projects/corecomponents/src/lib/components/popup/model/popup-window.ts","../../../projects/corecomponents/src/lib/components/popup/const/popup-window-token.ts","../../../projects/corecomponents/src/lib/components/popup/service/popup-shower.service.ts","../../../projects/corecomponents/src/lib/core/model/event/string-prompt-result-event.ts","../../../projects/corecomponents/src/lib/components/popup/interface/popup-settings.ts","../../../projects/corecomponents/src/lib/components/popup/service/prompt.service.ts","../../../projects/corecomponents/src/lib/components/popup/popup.module.ts","../../../projects/corecomponents/src/lib/components/simple-grid/simple-grid-column.directive.ts","../../../projects/corecomponents/src/lib/components/simple-grid/base-simple-grid.component.ts","../../../projects/corecomponents/src/lib/components/simple-grid/simple-grid.component.ts","../../../projects/corecomponents/src/lib/components/pagination-bar/pagination-bar.component.ts","../../../projects/corecomponents/src/lib/components/pagination-bar/pagination-bar.module.ts","../../../projects/corecomponents/src/lib/components/pagination/paginate.pipe.ts","../../../projects/corecomponents/src/lib/components/pagination/pagination.service.ts","../../../projects/corecomponents/src/lib/components/pagination/pagination.component.ts","../../../projects/corecomponents/src/lib/components/pagination/pagination.module.ts","../../../projects/corecomponents/src/lib/components/simple-grid/simple-grid-cell.component.ts","../../../projects/corecomponents/src/lib/directives/observe-visibility/observe-visibility.directive.ts","../../../projects/corecomponents/src/lib/directives/observe-visibility/observe-visibility.module.ts","../../../projects/corecomponents/src/lib/components/simple-grid/simple-grid.module.ts","../../../projects/corecomponents/src/lib/components/view-mode-buttons/content-view-mode.enum.ts","../../../projects/corecomponents/src/lib/components/view-mode-buttons/view-mode-buttons.component.ts","../../../projects/corecomponents/src/lib/components/view-mode-buttons/view-mode-buttons.module.ts","../../../projects/corecomponents/src/lib/components/list-of-values/list-of-values-popup.component.ts","../../../projects/corecomponents/src/lib/components/list-of-values/list-of-values.component.ts","../../../projects/corecomponents/src/lib/components/list-of-values/list-of-values-multiselect-popup.component.ts","../../../projects/corecomponents/src/lib/components/list-of-values/list-of-values.module.ts","../../../projects/corecomponents/src/lib/components/responsive-text/responsive-text.component.ts","../../../projects/corecomponents/src/lib/components/responsive-text/responsive-text.module.ts","../../../projects/corecomponents/src/lib/components/color-picker/color-picker.component.ts","../../../projects/corecomponents/src/lib/components/color-picker/color-picker.module.ts","../../../projects/corecomponents/src/lib/components/core-dialog/core-dynamic-component.service.ts","../../../projects/corecomponents/src/lib/model/enum/app-popup-type.enum.ts","../../../projects/corecomponents/src/lib/model/enum/app-button-type.enum.ts","../../../projects/corecomponents/src/lib/components/base/dialog-base.component.ts","../../../projects/corecomponents/src/lib/components/core-dialog/confirmation-dialog/confirmation-dialog.component.ts","../../../projects/corecomponents/src/lib/components/core-dialog/core-dialog.service.ts","../../../projects/corecomponents/src/lib/components/core-dialog/core-dialog.module.ts","../../../projects/corecomponents/src/lib/components/filter-item/filter-item.component.ts","../../../projects/corecomponents/src/lib/pipes/prepend.pipe.ts","../../../projects/corecomponents/src/lib/pipes/prepend.pipe.module.ts","../../../projects/corecomponents/src/lib/components/filter-item/filter-item.module.ts","../../../projects/corecomponents/src/lib/components/checkmark-overlay/checkmark-overlay.component.ts","../../../projects/corecomponents/src/lib/components/checkmark-overlay/checkmark-overlay.module.ts","../../../projects/corecomponents/src/lib/components/filter-item/filter-item-viewmodel.ts","../../../projects/corecomponents/src/lib/components/filter-item/filter-viewmodel.ts","../../../projects/corecomponents/src/lib/components/input-scanner/bar-code-scanner.ts","../../../projects/corecomponents/src/lib/components/input-scanner/scanner.service.ts","../../../projects/corecomponents/src/lib/components/input-scanner/input-scanner.component.ts","../../../projects/corecomponents/src/lib/components/input-scanner/input-scanner.module.ts","../../../projects/corecomponents/src/lib/components/loader/loader.component.ts","../../../projects/corecomponents/src/lib/components/loader/loader.module.ts","../../../projects/corecomponents/src/lib/components/tile-select/tile-select.component.ts","../../../projects/corecomponents/src/lib/components/tile-select/tile-select.module.ts","../../../projects/corecomponents/src/lib/pipes/filter.pipe.ts","../../../projects/corecomponents/src/lib/pipes/filter.pipe.module.ts","../../../projects/corecomponents/src/lib/core/validator/equal.validator.ts","../../../projects/corecomponents/src/lib/core/validator/password.validator.ts","../../../projects/corecomponents/src/lib/core/validator/email.validator.ts","../../../projects/corecomponents/src/lib/components/tooltip/tooltip.component.ts","../../../projects/corecomponents/src/lib/directives/tooltip/tooltip.directive.ts","../../../projects/corecomponents/src/lib/components/tooltip/tooltip.module.ts","../../../projects/corecomponents/src/lib/directives/tooltip/tooltip-directive.module.ts","../../../projects/corecomponents/src/lib/service/base-module-screen-config.service.ts","../../../projects/corecomponents/src/lib/service/base-module.service.ts","../../../projects/corecomponents/src/lib/directives/screen-configuration/screen-configuration.directive.ts","../../../projects/corecomponents/src/lib/directives/screen-configuration/screen-configuration.module.ts","../../../projects/corecomponents/src/lib/directives/template-wrapper/template-wrapper.directive.ts","../../../projects/corecomponents/src/lib/directives/template-wrapper/template-wrapper.module.ts","../../../projects/corecomponents/src/lib/service/color-sequence.service.ts","../../../projects/corecomponents/src/public-api.ts","../../../projects/corecomponents/src/colijnit-corecomponents_v12.ts"],"sourcesContent":["/******************************************************************************\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 var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\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\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","// @returns true iff given value equals null or equals undefined\r\nexport function isNill(value: any): boolean {\r\n return value === null || value === undefined;\r\n}","// @returns true iff given value does not equals null and does not equal undefined\r\nexport function notNill(value: any): boolean {\r\n return value !== null && value !== undefined;\r\n}","import {isNill} from \"./is-nill.function\";\r\n\r\n// @returns true iff for all items it holds that they do not equal null and not equal undefined. If at least one is null or undefined, this\r\n// function returns false.\r\nexport function noneNill(...values: any[]): boolean {\r\n if (values) {\r\n for (let i: number = 0, len: number = values.length; i < len; i++) {\r\n if (isNill(values[i])) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n}","import {noneNill} from \"./none-nill.function\";\r\n\r\n// @returns true iff at least one of given values equals null or undefined.\r\nexport function anyNill(...values: any[]): boolean {\r\n return !noneNill(values);\r\n}","import {isNill} from \"../function/is-nill.function\";\r\nimport {notNill} from \"../function/not-nill.function\";\r\n\r\n// Static utility function holder related to objects.\r\nexport class ObjectUtils {\r\n\r\n /**\r\n * Returns whether all given values exist: for all values it holds that they are not null nor undefined. Short-circuit check.\r\n * @param values Rest parameters with all objects to check existence for.\r\n * @returns True if ALL given values are not null nor undefined, otherwise false (if at least one value was null or undefined)\r\n */\r\n public static AllExist(...values: any[]): boolean {\r\n let allExist: boolean = true;\r\n for (let i: number = 0, len: number = values.length; i < len; i++) {\r\n if (isNill(values[i])) {\r\n allExist = false;\r\n break;\r\n }\r\n }\r\n return allExist;\r\n }\r\n\r\n // Returns a shallow clone of the given original object. The clone is a SIMPLE OBJECT with the same properties as the original.\r\n public static GetShallowClone(originalObject: any, objectClass?: any): any {\r\n let clonedObject: any = undefined;\r\n\r\n if (objectClass) {\r\n clonedObject = new objectClass();\r\n } else {\r\n clonedObject = {};\r\n }\r\n\r\n ObjectUtils.ForOwnProperty(originalObject, (value: any, key: string) => {\r\n clonedObject[key] = value;\r\n });\r\n\r\n return clonedObject;\r\n }\r\n\r\n /**\r\n * Copies all properties from object 'from' to object 'to'. Overwrites properties on object 'to' if property already exists.\r\n * Does not copy functions, only properties.\r\n * @param from The source object from which to copy all properties of to the 'to' object.\r\n * @param to The object to which the properties of the 'from' object will be copied.\r\n * @param [allowUndefined = true] wether the 'to' object may be assigned null or undefined values to any of its properties.\r\n */\r\n public static CopyPropertiesFrom<T>(from: Object, to: T, allowUndefined: boolean = true): T {\r\n if (!to) {\r\n to = {} as T;\r\n }\r\n if (!from) {\r\n return to;\r\n }\r\n ObjectUtils.ForOwnProperty(from, (value: any, key: string) => {\r\n if (allowUndefined || notNill(value)) {\r\n to[key] = value;\r\n }\r\n });\r\n return to;\r\n }\r\n\r\n /**\r\n * Returns the display value of the given property on the given object, as a string (== the string representation of the property value).\r\n * Does not return null or undefined, but returns the given defaultValue instead.\r\n */\r\n public static GetDisplayValueOfPropertyOn(object: Object, property: string, defaultValue: string = \"\"): string {\r\n if (!object || !property) {\r\n return defaultValue;\r\n }\r\n\r\n let returnValue: string = defaultValue;\r\n let propertyValue: any = object[property];\r\n if (propertyValue) {\r\n returnValue = propertyValue.toString();\r\n }\r\n\r\n return returnValue;\r\n }\r\n\r\n // Performs given callback function for each own property of given plain object. Also works on string enums.\r\n public static ForOwnProperty(plainObject: any, callback: (propVal: any, key: string) => any): void {\r\n if (ObjectUtils.IsPlainObject(plainObject)) {\r\n for (let key in plainObject) {\r\n if (plainObject.hasOwnProperty(key) && typeof plainObject[key] !== 'function') {\r\n let response: boolean = callback(plainObject[key], key);\r\n if (response === false) {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Returns whether given object is an existing, plain object. That is, it defined, its type if 'object' and it is NOT an array or func.\r\n public static IsPlainObject(object: any): boolean {\r\n return object !== null && !Array.isArray(object) && typeof object !== 'function' && typeof object === 'object';\r\n }\r\n\r\n public static DeepEquals(actual: any, expected: any): boolean {\r\n if (actual === expected) {\r\n return true;\r\n } else if (actual instanceof Date && expected instanceof Date) {\r\n return actual.getTime() === expected.getTime();\r\n } else if (!actual || !expected || typeof actual !== 'object' && typeof expected !== 'object') {\r\n return actual === expected;\r\n } else {\r\n return this._objEquiv(actual, expected);\r\n }\r\n }\r\n\r\n private static _objEquiv(a: any, b: any): boolean {\r\n let i: number, key: string;\r\n if (isNill(a) || isNill(b)) {\r\n return false;\r\n }\r\n\r\n if (a.prototype !== b.prototype) {\r\n return false;\r\n }\r\n\r\n if (this._isArguments(a)) {\r\n if (!this._isArguments(b)) {\r\n return false;\r\n }\r\n a = Array.prototype.slice.call(a);\r\n b = Array.prototype.slice.call(b);\r\n return this.DeepEquals(a, b);\r\n }\r\n if (this._isBuffer(a)) {\r\n if (!this._isBuffer(b)) {\r\n return false;\r\n }\r\n if (a.length !== b.length) {\r\n return false;\r\n }\r\n for (i = 0; i < a.length; i++) {\r\n if (a[i] !== b[i]) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n let ka: string[];\r\n let kb: string[];\r\n try {\r\n ka = Object.keys(a);\r\n kb = Object.keys(b);\r\n } catch (e) {\r\n return false;\r\n }\r\n\r\n if (ka.length !== kb.length) {\r\n return false;\r\n }\r\n\r\n ka.sort();\r\n kb.sort();\r\n\r\n for (i = ka.length - 1; i >= 0; i--) {\r\n if (ka[i] !== kb[i]) {\r\n return false;\r\n }\r\n }\r\n\r\n for (i = ka.length - 1; i >= 0; i--) {\r\n key = ka[i];\r\n if (!this.DeepEquals(a[key], b[key])) {\r\n return false;\r\n }\r\n }\r\n return typeof a === typeof b;\r\n }\r\n\r\n private static _isBuffer(x: any): boolean {\r\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') {\r\n return false;\r\n }\r\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\r\n return false;\r\n }\r\n return !(x.length > 0 && typeof x[0] !== 'number');\r\n }\r\n\r\n private static _isArguments(x: any): boolean {\r\n let supportsArgsClass: boolean = this._supportsArgumentsClass();\r\n return supportsArgsClass ? this._isArgumentsWhenArgsClassSupported(x) : this._isArgumentsWhenArgsClassNotSupported(x);\r\n }\r\n\r\n private static _isArgumentsWhenArgsClassNotSupported(object: any): boolean {\r\n return object &&\r\n typeof object === 'object' &&\r\n typeof object.length === 'number' &&\r\n Object.prototype.hasOwnProperty.call(object, 'callee') &&\r\n !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\r\n false;\r\n }\r\n\r\n private static _isArgumentsWhenArgsClassSupported(object: any): boolean {\r\n return Object.prototype.toString.call(object) === '[object Arguments]';\r\n }\r\n\r\n private static _supportsArgumentsClass(): boolean {\r\n return Object.prototype.toString.call(arguments) === '[object Arguments]';\r\n }\r\n}\r\n","import {anyNill} from \"../function/any-nill.function\";\r\nimport {ArrayUtils} from \"./array-utils\";\r\nimport {CheckWithinSteppedBoundsResult} from \"../model/check-within-stepped-bounds-result\";\r\nimport {isNill} from \"../function/is-nill.function\";\r\nimport { ObjectUtils } from './object-utils';\r\nimport { CheckPrecisionAndScaleResult } from '../model/check-precision-and-scale-result';\r\n\r\n// @dynamic\r\nexport class NumberUtils {\r\n // @returns The inclusive max value\r\n public static PrecisionScaleToMaxValue(precision: number, scale: number): number {\r\n const oneStep: number = this.DecimalsToStepIncrement(scale);\r\n const maxExclusive: number = Math.pow(10, precision - scale);\r\n return maxExclusive - oneStep;\r\n }\r\n\r\n // Parses given argument to an integer, using a native parseInt() function with a radix of 10. Returns NaN if parsing was not possible.\r\n public static ParseInt(arg: any): number {\r\n if (isNill(arg) || Array.isArray(arg)) {\r\n return undefined;\r\n }\r\n\r\n return parseInt(arg, 10);\r\n }\r\n\r\n public static DecimalsToStepIncrement(numberOfDecimals: number): number {\r\n return Math.pow(10, -1 * numberOfDecimals);\r\n }\r\n\r\n // Returns the given argument as a number. Returns given defaultValue if conversion of argument was impossible.\r\n public static ParseNumberOrDefault(arg: any, defaultValue: number = 0): number {\r\n if (Array.isArray(arg)) {\r\n return defaultValue;\r\n }\r\n\r\n if (!NumberUtils.IsNumber(arg)) {\r\n arg = parseFloat(arg);\r\n arg = isNaN(arg) ? defaultValue : arg;\r\n }\r\n return arg;\r\n }\r\n\r\n // Parses given numberInput to a number, or returns given defaultValue if parse not possible. Allows ',' char as decimal delimiter.\r\n public static ParseNumberInputOrDefault(numberInput: any, defaultValue: number = 0): number {\r\n return NumberUtils.ParseNumberOrDefault(NumberUtils._NumberInputToNumberStr(numberInput), defaultValue);\r\n }\r\n\r\n public static IsParsableNumberInput(numberInput: any): boolean {\r\n return NumberUtils.IsParsableNumber(NumberUtils._NumberInputToNumberStr(numberInput));\r\n }\r\n\r\n // Returns whether the type of given argument is 'number'.\r\n public static IsNumber(arg: any): boolean {\r\n return typeof arg === 'number';\r\n }\r\n\r\n // Returns whether the value is parasable as a number.\r\n public static IsParsableNumber(arg: any): boolean {\r\n if (Array.isArray(arg)) {\r\n return false;\r\n }\r\n\r\n return !isNaN(parseFloat(arg));\r\n }\r\n\r\n /**\r\n * Returns given arg as a float number with given decimal precision, if possible. Returns NaN if parse conversion failed.\r\n *\r\n * @param The argument to parse to a float\r\n * @param The number of decimals, or the precision, the parsed return float should have\r\n * @returns NaN if not possible, else the parsed float value\r\n */\r\n public static ParseFloat(arg: any, decimalPrecision: number = 2): number {\r\n if (anyNill(arg, decimalPrecision) || Array.isArray(arg)) {\r\n return NaN;\r\n }\r\n\r\n if (!NumberUtils.IsInteger(decimalPrecision) || decimalPrecision < 0) {\r\n decimalPrecision = 2;\r\n // toFixed() can only handle up until 20\r\n } else if (decimalPrecision > 20) {\r\n decimalPrecision = 20;\r\n }\r\n\r\n return parseFloat(parseFloat(arg).toFixed(decimalPrecision));\r\n }\r\n\r\n /**\r\n * Returns given arg as a float number with given decimal precision, if possible. Returns NaN if parse conversion failed.\r\n *\r\n * @param The argument to parse to a float\r\n * @returns The argument as a float with its original decimal precision intact\r\n */\r\n public static ParseFloatKeepPrecision(arg: any): number {\r\n let decimalPrecision: number = this.GetDecimalPlaces(arg);\r\n return this.ParseFloat(arg, decimalPrecision);\r\n }\r\n\r\n public static ParseFloatNumberInputKeepPrecision(arg: any): number {\r\n let correctedInputStr: string = NumberUtils._NumberInputToNumberStr(arg);\r\n let decimalPrecision: number = this.GetDecimalPlaces(correctedInputStr);\r\n return NumberUtils.ParseFloat(correctedInputStr, decimalPrecision);\r\n }\r\n\r\n /**\r\n * Finds the number closest to the originalNumber, that adheres to the given bounds. That is, for which it holds that\r\n * nr = min + N * step with N integer or 0.\r\n * @param originalNr Find closest answer to this number\r\n * @param min Inclusive\r\n * @param max Inclusive\r\n * @param stepSize\r\n * @returns The closest OK number for bounds.\r\n */\r\n public static GetNearestNumberWithinSteppedBounds(originalNr: number, min: number, max: number, stepSize: number = 1): number {\r\n if (originalNr < min) {\r\n return min;\r\n } else if (originalNr > max) {\r\n return NumberUtils.GetTrueSteppedBoundsMax(min, max, stepSize);\r\n }\r\n\r\n let boundsCheck: CheckWithinSteppedBoundsResult = NumberUtils.CheckWithinSteppedBounds(originalNr, min, max, stepSize);\r\n if (boundsCheck.isOk) {\r\n return originalNr;\r\n }\r\n\r\n let answer: number = undefined;\r\n\r\n let remainder: number = boundsCheck.remainder;\r\n if (remainder) {\r\n // round up or down?\r\n if ((remainder / stepSize) < 0.5) {\r\n // round down, but not below min\r\n answer = (originalNr - remainder >= min ? originalNr - remainder : min);\r\n } else {\r\n // round up, but not above max\r\n answer = (originalNr + stepSize - remainder <= max ? originalNr + stepSize - remainder :\r\n NumberUtils.GetTrueSteppedBoundsMax(min, max, stepSize));\r\n }\r\n } else {\r\n // is this real life, why wasn't our stepped bounds check OK?\r\n answer = originalNr;\r\n }\r\n\r\n // 'correct' float errors\r\n answer = NumberUtils.ParseFloat(answer, NumberUtils._GetLargestDecimalPrecisionOf(originalNr, min, max, stepSize));\r\n return answer;\r\n }\r\n\r\n // Returns the number of decimal places of the given number. Returns 0 if no decimals whatsoever could be found on given arg.\r\n public static GetDecimalPlaces(arg: any, maxAnswer: number = 1000): number {\r\n let match: RegExpMatchArray = ('' + arg).match(/(?:\\.(\\d+))?(?:[eE]([+-]?\\d+))?$/);\r\n if (!match) {\r\n return 0;\r\n }\r\n\r\n let answer: number = Math.max(0,\r\n // number of digits right of decimal point.\r\n (match[1] ? match[1].length : 0)\r\n // adjust for scientific notation\r\n - (match[2] ? +match[2] : 0));\r\n\r\n if (answer > maxAnswer) {\r\n answer = maxAnswer;\r\n }\r\n\r\n return answer;\r\n }\r\n\r\n // Returns true iff given argument is an integer number. Returns false on non-numbers or numbers with significant decimals.\r\n public static IsInteger(arg: any): boolean {\r\n if (isNaN(arg) || Array.isArray(arg)) {\r\n return false;\r\n }\r\n let argAsFloat: number = parseFloat(arg);\r\n return ((argAsFloat | 0) === argAsFloat); // returns whether 'arg converted to an integer equals arg'\r\n }\r\n\r\n /**\r\n * Returns whether given arg is parseable as a number, and whether the lengts of its number parse result is equal to its original length.\r\n * I.e. this function returns FALSE with given number-parsable strings, but that have non-numeric appendices, eg '2233ff'. That arg\r\n * IS number-parseable, but not a strict 'string number', the latter being what this method actually checks for.\r\n */\r\n public static IsStringNumber(arg: string): boolean {\r\n if (!NumberUtils.IsParsableNumber(arg)) {\r\n return false;\r\n } else {\r\n return arg.toString().length === parseFloat(arg).toString().length;\r\n }\r\n }\r\n\r\n /**\r\n * Returns a random integer in range [lowerBound .. upperBound], an inclusive range. Returns NaN if not possible.\r\n * Given bounds are truncated first, before serving as the true lower- and upper bounds for the random int.\r\n */\r\n public static RandomInt(lowerBoundInt: number, upperBoundInt: number): number {\r\n if (!NumberUtils.IsNumber(lowerBoundInt) || !NumberUtils.IsNumber(upperBoundInt) || lowerBoundInt > upperBoundInt) {\r\n return NaN;\r\n }\r\n\r\n lowerBoundInt = Math.trunc(lowerBoundInt);\r\n upperBoundInt = Math.trunc(upperBoundInt);\r\n\r\n if (lowerBoundInt === upperBoundInt) {\r\n return lowerBoundInt;\r\n }\r\n\r\n const delta: number = upperBoundInt - lowerBoundInt;\r\n return (Math.round(Math.random() * delta) + lowerBoundInt);\r\n }\r\n\r\n /**\r\n * Returns the true maximum allowed value for the given \"stepped bounds\": min, stepSize and max, for which it holds that each allowed\r\n * value Y = min + stepSize * N, for any INTEGER or 0 N where it also holds, of course, that Y <= max.\r\n * @param min\r\n * @param max\r\n * @param stepSize\r\n */\r\n public static GetTrueSteppedBoundsMax(min: number, max: number, stepSize: number = 1): number {\r\n // solve max integer X in formula min + X * step <= max, and return min + X * stepSize for that X\r\n let maxSteps: number = Math.floor((max - min) / stepSize);\r\n // 'correct' float errors\r\n return NumberUtils.ParseFloat(min + maxSteps * stepSize, NumberUtils._GetLargestDecimalPrecisionOf(min, min, max));\r\n }\r\n\r\n // Returns the string representation of given number. If it's not a number, returns the empty string.\r\n public static ToString(nr: number): string {\r\n if (!NumberUtils.IsNaN(nr)) {\r\n return \"\" + nr;\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n\r\n // Returns whether given arg is indeed not a number (it's NaN or it has another type than 'number').\r\n public static IsNaN(arg: any): boolean {\r\n return isNaN(arg) || !NumberUtils.IsNumber(arg);\r\n }\r\n\r\n /**\r\n * Returns whether given x is OK within the given min, max and step boundaries, where it should hold that nrToCheck = min + N * step,\r\n * with N integer or 0.\r\n * @param nrToCheck Number to check whether it's within the given bounds\r\n * @param min Inclusive\r\n * @param max Inclusive\r\n * @param stepSize\r\n * @returns Returns remainder of undefined when nrToCheck was OUTSIDE [min, max], else full result object.\r\n */\r\n public static CheckWithinSteppedBounds(\r\n nrToCheck: number,\r\n min: number,\r\n max: number,\r\n stepSize: number = 1\r\n ): CheckWithinSteppedBoundsResult {\r\n if (nrToCheck < min || nrToCheck > max) {\r\n return {isOk: false, remainder: undefined};\r\n }\r\n\r\n // we're in [min, max], but still check if nrToCheck = min + N * step holds (for N integer or 0)\r\n let remainder: number = (nrToCheck - min) % stepSize;\r\n // correct float for largest precision amongst input numbers\r\n remainder = NumberUtils.ParseFloat(remainder, NumberUtils._GetLargestDecimalPrecisionOf(nrToCheck, min, stepSize));\r\n return {isOk: (remainder === 0), remainder: remainder};\r\n }\r\n\r\n // Adds thousands comma's to given value, E.g. '1000' to '1,000'. Returns empty string if value was undefined.\r\n public static AddThousandsCommasTo(value: any): string {\r\n if (isNill(value)) {\r\n return \"\";\r\n }\r\n\r\n return value.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n }\r\n\r\n // Returns the nearest number, relative to the given originalNr, that is within the given [min, max] inclusive bounds.\r\n public static GetNearestNumberWithinBounds(originalNr: number, min: number, max: number): number {\r\n let answer: number = originalNr;\r\n\r\n if (originalNr < min) {\r\n answer = min;\r\n } else if (originalNr > max) {\r\n answer = max;\r\n }\r\n\r\n return answer;\r\n }\r\n\r\n /**\r\n * Returns whether given nrToCheck is within the given precision and scale limits. Precision and scale, here, are Oracle DB terms.\r\n * This function can thus be used to check whether the given number is safe to send to the 'database' beforehand, if we know the\r\n * precision and scale of the number in the db declaration.\r\n *\r\n * I.e. A number declared in the Oracle DB as number(5, 2) has a precision of 5 and a scale of 2.\r\n *\r\n * @param nrToCheck\r\n * @param precision The number of significant digits, including possibly negative scale. E.g. 3 in '123' and 5 in '51.123'\r\n * @param [scale = 0] The number of significant digits AFTER the decimal point. E.g. 1 in 5432.1 and 3 in 54000.003\r\n * @returns Whether given nrToCheck is ok for given precision and scale, and if not, the\r\n * nearest number that IS ok for those constraints.\r\n */\r\n public static CheckPrecisionAndScale(nrToCheck: number, precision: number, scale: number = 0): CheckPrecisionAndScaleResult {\r\n // let's say any undefined number is checked OK, and all numbers are checked OK for an undefined precision\r\n if (!ObjectUtils.AllExist(nrToCheck, precision, scale)) {\r\n return {isOk: true, nearestOkNr: NaN};\r\n }\r\n // no number can have 0 or less than 0 significant digits, in our universe\r\n if (precision < 1 || precision - scale < 1) {\r\n return {isOk: false, nearestOkNr: NaN};\r\n }\r\n // begin check\r\n const isNegative: boolean = (nrToCheck < 0);\r\n const nrParts: string[] = nrToCheck.toString().split(\".\");\r\n // remove minus sign if negative\r\n if (isNegative) {\r\n nrParts[0] = nrParts[0].slice(1);\r\n }\r\n const numCountBeforeDot: number = nrParts[0].length;\r\n const allowedNumCountBeforeDot: number = precision - scale;\r\n if (numCountBeforeDot <= allowedNumCountBeforeDot) {\r\n return {isOk: true, nearestOkNr: nrToCheck};\r\n } else {\r\n // cut a part from the \"before decimal number\" so that the number is not too big anymore\r\n const numCountToRemove: number = numCountBeforeDot - allowedNumCountBeforeDot;\r\n // remove the right-most numbers before the decimal dot\r\n nrParts[0] = nrParts[0].slice(0, -1 * numCountToRemove);\r\n // add minus sign again if it was negative\r\n if (isNegative) {\r\n nrParts[0] = \"-\" + nrParts[0];\r\n }\r\n // build and return composite number again\r\n let nearestOkNr: number;\r\n if (nrParts[1]) {\r\n nearestOkNr = Number(nrParts[0] + \".\" + nrParts[1]);\r\n } else {\r\n nearestOkNr = Number(nrParts[0]);\r\n }\r\n return {isOk: false, nearestOkNr: nearestOkNr};\r\n }\r\n }\r\n\r\n private static _GetLargestDecimalPrecisionOf(...args: number[]): number {\r\n return ArrayUtils.GetMaxCalculatedValue(args, (arg: number) => {\r\n return NumberUtils.GetDecimalPlaces(arg);\r\n });\r\n }\r\n\r\n // Returns given number input as a number that's useable by Javascript. Allows for incoming ',' decimal delimiter.\r\n private static _NumberInputToNumberStr(numberInput: string): string {\r\n return (numberInput + '').replace(',', '.');\r\n }\r\n}\r\n","import {isNill} from \"../function/is-nill.function\";\r\nimport {notNill} from \"../function/not-nill.function\";\r\nimport {StringUtils} from \"./string-utils\";\r\nimport {NumberUtils} from \"./number-utils\";\r\nimport {ObjectUtils} from \"./object-utils\";\r\n\r\nexport class ArrayUtils {\r\n /**\r\n * Inserts given element into given array, on given index number.\r\n *\r\n * @param index The index position for the element to insert, use negatives to count from the arrays end\r\n * @param element The element to insert\r\n * @param array The array to insert the element into\r\n * @returns True if and only if given element is succesfully inserted into given array.\r\n */\r\n public static InsertElement<T>(index: number, element: T, array: T[]): boolean {\r\n if (!Array.isArray(array) || Math.abs(index) > array.length || isNill(index)) {\r\n // cannot insert something into nothing, and cannot insert an element into a non-array (via this contract that is), and\r\n // we will not insert anything beyond the arrays limits (but we can append to the start or end)\r\n return false;\r\n }\r\n\r\n const lenBefore: number = array.length;\r\n array.splice(index, 0, element);\r\n return (array.length === lenBefore + 1);\r\n }\r\n\r\n /**\r\n * Removes given element from given array. Doesn't just set it to null like JavaScripts standard 'delete' keyword, but truly removes the\r\n * element using splice(). Also works on associative arrays.\r\n *\r\n * @param element The element to remove.\r\n * @param array The array to remove the element from.\r\n * @returns True iff given element was truly successfully removed from given array.\r\n */\r\n public static RemoveElement<T>(element: T, array: T[]): boolean {\r\n if (!Array.isArray(array)) {\r\n return false;\r\n }\r\n\r\n let index: number = array.indexOf(element);\r\n return ArrayUtils.RemoveElementAtIndex(index, array);\r\n }\r\n\r\n /**\r\n * Returns a true shallow clone of given array plus all its items. Its first-level members are object-shallow-cloned (optionally with a\r\n * strongly typed constructor),\r\n * or just as plain object (see param arrayItemsClass).\r\n * @param arrayGiven\r\n * @param arrayItemsClass If provided, the cloned array's first-level items will be strongly typed to / constructed as this class. Otherwise\r\n * it'll be a plain object.\r\n * @returns a true shallow clone of given array plus all its items\r\n */\r\n public static ShallowCloneArrayAndItsItem<T>(arrayGiven: T[], arrayItemsClass?: any): T[] {\r\n let arrayClone: T[] = [];\r\n\r\n if (arrayGiven) {\r\n for (let i: number = 0, len: number = arrayGiven.length; i < len; i++) {\r\n arrayClone.push(ObjectUtils.GetShallowClone(arrayGiven[i], arrayItemsClass));\r\n }\r\n } else {\r\n return [];\r\n }\r\n\r\n return arrayClone;\r\n }\r\n\r\n /**\r\n * Moves given element to given toIndex in given array. Returns whether the element was really moved, thus changing the given array.\r\n */\r\n public static MoveElement<T>(element: T, toIndex: number, array: T[]): boolean {\r\n if (!Array.isArray(array) || isNill(toIndex)) {\r\n return false;\r\n }\r\n\r\n let fromIndex: number = array.indexOf(element);\r\n let toIndexCorrected: number = NumberUtils.GetNearestNumberWithinBounds(toIndex, 0, array.length - 1);\r\n if (fromIndex === -1 || array[toIndexCorrected] === element) {\r\n // element did not exist in given array, or already existed on given toIndex\r\n return false;\r\n }\r\n array.splice(toIndexCorrected, 0, array.splice(fromIndex, 1)[0]);\r\n return true;\r\n }\r\n\r\n /**\r\n * Returns max value from all resulting values from applying given itemValueFunction to all items of given array.\r\n * @param array\r\n * @param itemValueFunction The function aplied to each array item that gives it a numerical value. The max num val found is returned.\r\n */\r\n public static GetMaxCalculatedValue<T>(array: T[], itemValueFunction: (item: T) => number): number {\r\n if (!array || !itemValueFunction) {\r\n return NaN;\r\n }\r\n\r\n let max: number = undefined;\r\n\r\n let len: number = array.length;\r\n for (let i: number = 0; i < len; i++) {\r\n let valueCur: number = itemValueFunction.call(this);\r\n if (valueCur > max) {\r\n max = valueCur;\r\n }\r\n }\r\n\r\n return max;\r\n }\r\n\r\n // Checks if given array is defined, and is an array, and has length > 0, and, optionally checks that the first element is of type given clazz.\r\n public static IsArrayWithElements<T>(arrayToCheck: T[], clazz?: any): boolean {\r\n if (isNill(arrayToCheck)) {\r\n return false;\r\n }\r\n\r\n if (Array.isArray(arrayToCheck) && arrayToCheck.length > 0) {\r\n if (clazz) {\r\n return arrayToCheck[0] instanceof clazz;\r\n }\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n // Removes all elements from given array for which given filter function holds true. Returns true if at least one removed, else false.\r\n public static RemoveElementsByFilter(array: any[], filterFunction: (item: any) => boolean): boolean {\r\n if (!ArrayUtils.IsArrayWithElements(array) || !filterFunction) {\r\n return false;\r\n }\r\n\r\n let atLeastOneRemoved: boolean = false;\r\n\r\n let len: number = array.length;\r\n for (let i: number = len - 1; i >= 0; i--) {\r\n let item: any = array[i];\r\n if (filterFunction.call(this, item) === true) {\r\n array.splice(i, 1);\r\n atLeastOneRemoved = true;\r\n }\r\n }\r\n\r\n return atLeastOneRemoved;\r\n }\r\n\r\n // Replaces the elementOut with given elementIn.\r\n public static ReplaceElement<T>(elementIn: T, elementOut: T, array: T[]): void {\r\n if (!array || !Array.isArray(array)) {\r\n return;\r\n }\r\n\r\n const indexOut: number = array.indexOf(elementOut);\r\n if (indexOut > -1) {\r\n ArrayUtils.InsertElement(indexOut, elementIn, array);\r\n ArrayUtils.RemoveElement(elementOut, array);\r\n }\r\n }\r\n\r\n // Swaps the elements in given array with each other. Returns whether a real swap was made. From and To elements have to exist in array.\r\n public static SwapElements<T>(elementOne: T, elementTwo: T, array: T[]): boolean {\r\n if (!Array.isArray(array)) {\r\n return false;\r\n }\r\n\r\n const elOneIdx: number = array.indexOf(elementTwo);\r\n const elTwoIdx: number = array.indexOf(elementOne);\r\n if (elOneIdx === -1 || elTwoIdx === -1) {\r\n return false;\r\n }\r\n\r\n array[elOneIdx] = array.splice(elTwoIdx, 1, array[elOneIdx])[0];\r\n return true;\r\n }\r\n\r\n // Inserts or removes given toggle element into given elements array; inserts if not yet exists, and removes if already exists.\r\n public static ToggleElement<T>(toggle: T, elements: T[]): void {\r\n elements.indexOf(toggle) > -1 ? ArrayUtils.RemoveElement(toggle, elements) : elements.push(toggle);\r\n }\r\n\r\n // Returns the number of elements from given array for which given whereFunction holds true.\r\n public static CountWhere<T>(array: T[], whereFunction: (item: T) => boolean): number {\r\n if (!ArrayUtils.IsArrayWithElements(array) || !whereFunction) {\r\n return 0;\r\n }\r\n\r\n let count: number = 0;\r\n\r\n const len: number = array.length;\r\n for (let i: number = 0; i < len; i++) {\r\n if (whereFunction.call(this, array[i])) {\r\n count++;\r\n }\r\n }\r\n\r\n return count;\r\n }\r\n\r\n /**\r\n * Returns whether at least one element in given array could be found by given finder function.\r\n *\r\n * @param array\r\n * @param finder A finder function that takes an element of the array and returns a boolean that represents\r\n * the 'found status' for that element; whether it should have been found or not.\r\n */\r\n public static ContainsAnElementFoundBy<T>(array: T[], finder: (element: T) => boolean): boolean {\r\n if (!array || !finder) {\r\n return false;\r\n }\r\n\r\n return notNill(ArrayUtils.Find<T>(array, finder));\r\n }\r\n\r\n /**\r\n * Cross-browser Array.find() function. Returns the first item in given array for which the foundBy function returns true. Returns\r\n * undefined when none was found.\r\n *\r\n * Example usage:\r\n * let foundItem: BusinessObject = ArrayUtils.Find<BusinessObject>(modelArray, (modelItem: BusinessObject) => <br>\r\n * (return modelItem.getId() === '1')\r\n * * });\r\n *\r\n * @param array The array with items to search in.\r\n * @param foundBy The finder function applied on each items of the array, when that returns true, the item is considered found.\r\n */\r\n public static Find<T>(array: T[], foundBy: (item: T) => boolean): T {\r\n if (!array || !foundBy) {\r\n return undefined;\r\n }\r\n\r\n for (let i: number = 0, len: number = array.length; i < len; i++) {\r\n let itemCur: T = array[i];\r\n if (foundBy(itemCur)) {\r\n return itemCur;\r\n }\r\n }\r\n return undefined;\r\n }\r\n\r\n /**\r\n * Sorts all items in the given array alphabetically (A-to-Z) according to the values of their given property.\r\n * @param theArray\r\n * @param propertyName = undefined] When not defined, assumes an array of STRINGS is given, instead of array of OBJECTS.\r\n * @param [reverseOrder = false] Set to true to sort from Z-to-A instead\r\n */\r\n public static SortAlphabetically<T>(theArray: T[], propertyName: string = undefined, reverseOrder: boolean = false): void {\r\n if (!theArray || !Array.isArray(theArray)) {\r\n return;\r\n }\r\n\r\n let switcher: number = reverseOrder ? -1 : 1;\r\n let stringSort: boolean = StringUtils.IsStringWithLength(propertyName);\r\n theArray.sort((itemOne: T, itemTwo: T) => {\r\n let valOne: any = stringSort ? itemOne[propertyName] : itemOne;\r\n let valTwo: any = stringSort ? itemTwo[propertyName] : itemTwo;\r\n return (valOne > valTwo ? 1 : (valOne < valTwo ? -1 : 0)) * switcher;\r\n });\r\n }\r\n\r\n public static PushIfNotExist(item: any, array: any[]): boolean {\r\n if (!array) {\r\n return false;\r\n }\r\n\r\n if (array.indexOf(item) === -1) {\r\n array.push(item);\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Removes element at given index from given array. Doesn't just set it to null like JavaScripts standard 'delete' does, but really\r\n * removes the element using splice().\r\n *\r\n * @param index\r\n * @param array\r\n * @returns True if and only if the element on given index is succesfully removed from given array.\r\n */\r\n public static RemoveElementAtIndex(index: number, array: any[]): boolean {\r\n if (NumberUtils.IsNaN(index) || index < 0 || !Array.isArray(array) || array.length === 0) {\r\n return false;\r\n }\r\n\r\n if (index in array) {\r\n array.splice(index, 1);\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n // Returns true if and only if given array includes given item. Checked by ===.\r\n public static Includes(array: any[], item: any): boolean {\r\n if (Array.isArray(array)) {\r\n for (let i: number = 0, len: number = array.length; i < len; i++) {\r\n if (array[i] === item) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n }\r\n}\r\n","import {notNill} from \"../function/not-nill.function\";\r\nimport { ArrayUtils } from './array-utils';\r\n\r\n// @dynamic\r\nexport class StringUtils {\r\n // Returns the given argument as a string. Returns given defaultValue if conversion of argument to string was impossible.\r\n public static ParseString(arg: any, defaultValue: string = ''): string {\r\n if (!StringUtils.IsString(arg)) {\r\n if (arg && typeof arg.toString === 'function') {\r\n arg = arg.toString();\r\n } else {\r\n arg = defaultValue;\r\n }\r\n }\r\n return arg;\r\n }\r\n\r\n public static AsLowerCaseIfString(str: any): any {\r\n if (StringUtils.IsString(str)) {\r\n return str.toLowerCase();\r\n } else {\r\n return str;\r\n }\r\n }\r\n\r\n /**\r\n * Example usage:\r\n * str = 'File is to large to upload. Maximum file size is {0} Mb'\r\n * format = [FileUtils.MaxUploadSizeInMb]\r\n * output = File is to large to upload. Maximum file size is 3 Mb\r\n *\r\n * str = '{0} is way better than {1}'\r\n * format = ['Angular2','Angular1']\r\n * output = Angular2 is way better than Angular1\r\n *\r\n * @param str The string that contains {0} and {1} etc, for replacement by given format data\r\n * @param format The format replacement data\r\n */\r\n public static Format(str: string, format: any[]): string {\r\n let args: any = Array.prototype.slice.call(format);\r\n return str.replace(/{(\\d+)}/g, function (match: any, number: any): string {\r\n return typeof args[number] !== 'undefined' ? (args[number] !== null ? args[number] : \"\") : \"\";\r\n });\r\n }\r\n\r\n public static IsString(str: any): boolean {\r\n return typeof str === 'string';\r\n }\r\n\r\n // Returns whether given str is a string and has a length > 0.\r\n public static IsStringWithLength(str: any): boolean {\r\n return notNill(str) && StringUtils.IsString(str) && str.length > 0;\r\n }\r\n\r\n // Returns a new string string with N amount of characters removed from the end of it.\r\n public static RemoveLastChars(str: string, amount: number): string {\r\n if (str) {\r\n return str.slice(0, -1 * amount);\r\n } else {\r\n return str;\r\n }\r\n }\r\n\r\n public static StringToStringArray(str: string): string[] {\r\n if (!str) {\r\n return [];\r\n }\r\n\r\n const strArray: string[] = str.split(\" \");\r\n ArrayUtils.RemoveElementsByFilter(strArray, (txt: string) => {\r\n return !txt || txt === \"\";\r\n });\r\n return strArray;\r\n }\r\n\r\n public static CloneStringArray(strArray: string[]): string[] {\r\n const clone: string[] = [];\r\n if (strArray) {\r\n for (let i: number = 0, len: number = strArray.length; i < len; i++) {\r\n clone.push(strArray[i]);\r\n }\r\n }\r\n return clone;\r\n }\r\n\r\n public static ToStringOrDefault(arg: any, defaultReturnVal: string = \"\"): string {\r\n if (notNill(arg) && arg.toString) {\r\n return arg.toString();\r\n } else {\r\n return defaultReturnVal;\r\n }\r\n }\r\n\r\n public static CreateGuid(): string {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c: string) => {\r\n const r: number = Math.random() * 16 | 0;\r\n return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);\r\n });\r\n }\r\n}\r\n","import { Input } from '@angular/core';\r\nimport { StringUtils } from '../utils/string-utils';\r\n\r\n/**\r\n * Property decorator which enables template syntax like \"someBoolInput\" instead of \"[someBoolInput]='true'\". Makes use of the fact that\r\n * Angular assigns an empty string to the input property in the naked \"someBoolInput\" template case.\r\n */\r\nexport function InputBoolean(bindingPropertyName?: string): PropertyDecorator {\r\n const inputDecorator: PropertyDecorator = Input(bindingPropertyName);\r\n return (target: Object, key: string) => {\r\n inputDecorator(target, key);\r\n const descriptor: PropertyDescriptor = Object.getOwnPropertyDescriptor(target, key) || {};\r\n Object.defineProperty(target, key, {\r\n get: descriptor.get || function (): boolean {\r\n return this[\"__\" + key];\r\n },\r\n set: function(newValue: any): void {\r\n const val: boolean = InputBooleanDecorator.InputValueToBoolean(newValue);\r\n descriptor.set ? descriptor.set(val) : this[\"__\" + key] = val;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n };\r\n}\r\n\r\n// Utility function holder of the InputBooleanDecorator decorator.\r\nexport class InputBooleanDecorator {\r\n public static InputValueToBoolean(value: any): boolean {\r\n if (StringUtils.IsString(value) && !StringUtils.IsStringWithLength(value)) {\r\n return true;\r\n }\r\n return !!value;\r\n }\r\n}\r\n","import { AbstractControl, ValidationErrors } from '@angular/forms';\r\n\r\nexport function requiredValidator(control: AbstractControl): ValidationErrors | null {\r\n\r\n const isValid: boolean = !(control.value === null || control.value === undefined || control.value === \"\");\r\n\r\n return isValid ? null : {'required': 'MESSAGE_FIELD_REQUIRED'};\r\n\r\n}\r\n","import { FormControl, ValidationErrors, ValidatorFn } from '@angular/forms';\r\nimport { NumberUtils } from '../utils/number-utils';\r\n\r\nexport function precisionScaleValidator(precision: number, scale: number): ValidatorFn {\r\n return function (control: FormControl): ValidationErrors | null {\r\n let isValid: boolean = true;\r\n\r\n if (control) {\r\n isValid = NumberUtils.CheckPrecisionAndScale(control.value, precision, scale).isOk;\r\n }\r\n\r\n return isValid ? null : {'precision-scale': \"MESSAGE_FIELD_PRECISION_OVERRIDDEN||\" + precision};\r\n };\r\n}\r\n","import { FormControl, ValidationErrors, ValidatorFn } from '@angular/forms';\r\n\r\nexport function maxStringLengthValidator(length: number): ValidatorFn {\r\n return function (control: FormControl): ValidationErrors | null {\r\n let isValid: boolean = true;\r\n if (control.value && typeof control.value === 'string') {\r\n isValid = control.value.length <= length;\r\n }\r\n return isValid ? null : {\"max-length\": {message: \"MESSAGE_FIELD_TOO_LONG\", placeholder: \"\" + length}};\r\n };\r\n}\r\n","import {Injectable, OnDestroy} from \"@angular/core\";\r\nimport {Subject} from \"rxjs\";\r\nimport {Subscription} from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class FormInputUserModelChangeListenerService implements OnDestroy {\r\n // Signal from input-field to change-listener user. Emits (or: should be emitted) each time the end-user has changed the state of a form input's model. Emits model as value.\r\n public readonly userModelChange: Subject<any> = new Subject<any>();\r\n\r\n // Signal from user of this change-listener to all its child input-fields. Resets their user touched marks.\r\n public readonly clearAllMarkedAsUserTouched: Subject<void> = new Subject<void>();\r\n\r\n public hasUserModelChanges: boolean = false;\r\n\r\n private _subs: Subscription[] = [];\r\n\r\n constructor() {\r\n this._subs.push(\r\n this.userModelChange.subscribe(() => {\r\n this.hasUserModelChanges = true;\r\n }),\r\n this.clearAllMarkedAsUserTouched.subscribe(() => {\r\n this.hasUserModelChanges = false;\r\n })\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._subs.forEach(sub => sub.unsubscribe());\r\n }\r\n}\r\n","import {Injectable, NgZone} from \"@angular/core\";\r\n\r\n@Injectable()\r\nexport class NgZoneWrapperService {\r\n constructor(private _ngZone: NgZone) {\r\n }\r\n\r\n public setTimeoutOutsideAngular(fn: Function, millis: number = 0): void {\r\n this._ngZone.runOutsideAngular(() => {\r\n setTimeout(() => {\r\n fn();\r\n }, millis);\r\n });\r\n }\r\n}","/** AUTO GENERATED FILE. DO NOT CHANGE.. OR YOU WILL SUFFER THE CONSEQUENCES OF YOUR ACTIONS **/\n\nexport enum CoreComponentsIcon {\n Account = \"account\",\n AccountRoundOpen = \"account_round_open\",\n Activities = \"activities\",\n AddToCartDrop = \"add_to_cart_drop\",\n ArrowDown = \"arrow_down\",\n ArrowFatLeft = \"arrow_fat_left\",\n ArrowFatRight = \"arrow_fat_right\",\n ArrowLeft = \"arrow_left\",\n ArrowLeftRoundOpen = \"arrow_left_round_open\",\n ArrowPointDown = \"arrow_point_down\",\n ArrowPointLeft = \"arrow_point_left\",\n ArrowPointRight = \"arrow_point_right\",\n ArrowPointUp = \"arrow_point_up\",\n ArrowRightRoundOpen = \"arrow_right_round_open\",\n ArrowScrollDown = \"arrow_scroll_down\",\n ArrowScrollLeft = \"arrow_scroll_left\",\n ArrowScrollRight = \"arrow_scroll_right\",\n ArrowScrollUp = \"arrow_scroll_up\",\n ArrowUp = \"arrow_up\",\n Article = \"article\",\n ArticleWithFold = \"article_with_fold\",\n AsteriskSmall = \"asterisk_small\",\n Attachments = \"attachments\",\n BackToTop = \"back_to_top\",\n Barcode = \"Barcode\",\n BigMac = \"big_mac\",\n Boxes = \"boxes\",\n Brush = \"brush\",\n BrushRoundOpen = \"brush_round_open\",\n BuildingColumns = \"building_columns\",\n Businessrules = \"businessrules\",\n Calendar = \"calendar\",\n CalendarDay = \"calendar_day\",\n CalendarDayRegular = \"calendar_day_regular\",\n CalendarEmpty = \"calendar_empty\",\n CalendarRange = \"calendar_range\",\n CalendarRoundOpen = \"calendar_round_open\",\n Camera = \"camera\",\n Cancel = \"cancel\",\n CancelRoundFilled = \"cancel_round_filled\",\n CancelRoundOpen = \"cancel_round_open\",\n Cart = \"cart\",\n CartOpen = \"cart_open\",\n CaseManager = \"case_manager\",\n CashRegister = \"CashRegister\",\n CashRegisterSimple = \"cash_register_simple\",\n ChangeLocation = \"change_location\",\n Check = \"check\",\n CheckDuotone = \"check_duotone\",\n CheckRound = \"check_round\",\n CheckRoundOpen = \"check_round_open\",\n CheckSimple = \"check_simple\",\n CheckThin = \"check_thin\",\n ChevronDownRegular = \"chevron_down_regular\",\n ChevronUpRegular = \"chevron_up_regular\",\n CirclePlusSkinny = \"CirclePlusSkinny\",\n Client = \"client\",\n Clock = \"clock\",\n ClockArrow = \"clockArrow\",\n CogWheelPlus = \"cogWheelPlus\",\n CogWheels = \"cogWheels\",\n ColumnOptions = \"column_options\",\n Company = \"company\",\n CompanyFlat = \"company_flat\",\n Configurable = \"configurable\",\n Consultant = \"consultant\",\n Copy = \"copy\",\n Crosshair1 = \"crosshair_1\",\n CrossSkinny = \"CrossSkinny\",\n Dashboard = \"dashboard\",\n DeliveryMethod = \"delivery_method\",\n DeliveryStatusUncheck = \"delivery_status_uncheck\",\n DeliveryTruck = \"delivery_truck\",\n DetailRecord = \"detail_record\",\n DetailView = \"detail_view\",\n Dictionary = \"dictionary\",\n Documents = \"documents\",\n DocumentWrench = \"documentWrench\",\n Dollar = \"dollar\",\n Download = \"download\",\n Dropdown = \"dropdown\",\n Dropzone = \"dropzone\",\n EditPencil = \"edit_pencil\",\n EditPencilCircle = \"edit_pencil_circle\",\n EditPencilRound = \"edit_pencil_round\",\n EditPencilSimple = \"edit_pencil_simple\",\n Email = \"email\",\n EmailRoundOpen = \"email_round_open\",\n Employee = \"employee\",\n EmployeeTwo = \"employee_two\",\n Employer = \"employer\",\n Employment = \"employment\",\n EmploymentEnd = \"employment_end\",\n Equal = \"equal\",\n Euro = \"euro\",\n Exclamation = \"exclamation\",\n ExclamationRoundOpen = \"exclamation_round_open\",\n EyeCircle = \"eye_circle\",\n EyeCircleLarge = \"eye_circle_large\",\n EyeRoundFilled = \"eye_round_filled\",\n Factory = \"factory\",\n Fasttrack = \"fasttrack\",\n Filter = \"filter\",\n Finish = \"finish\",\n FixedOptionValueTree = \"fixed_option_value_tree\",\n FixedTreeOptionValue = \"fixed_tree_option_value\",\n FloppyDiskSolid = \"floppy_disk_solid\",\n FolderArrow = \"FolderArrow\",\n FolderArrowIn = \"folder_arrow_in\",\n Formula = \"formula\",\n Fullscreen = \"fullscreen\",\n GearDouble = \"gear_double\",\n GlobalSearch = \"global_search\",\n Globe = \"globe\",\n GreaterThan = \"greater_than\",\n Groupby = \"groupby\",\n Hamburger = \"hamburger\",\n HandPointer = \"hand_pointer\",\n Hbarchart = \"hbarchart\",\n Home = \"Home\",\n HomeCircle = \"home_circle\",\n HomeOpen = \"home_open\",\n HomeRoundOpen = \"home_round_open\",\n Hourglass = \"hourglass\",\n Icon3d = \"icon_3d\",\n Id = \"id\",\n Image = \"image\",\n IncomingStorage = \"incoming_storage\",\n Information = \"information\",\n InformationRoundOpen = \"information_round_open\",\n InputMultiplechoice = \"input_multiplechoice\",\n InputText = \"input_text\",\n InputTextarea = \"input_textarea\",\n Inventory = \"inventory\",\n Invoice = \"invoice\",\n IoneLogo = \"ione_logo\",\n IoneLogoFat = \"ione_logo_fat\",\n IoneStatusNext = \"ione_status_next\",\n IoneWorkflow = \"ione_workflow\",\n Keyboard = \"keyboard\",\n Keychain = \"keychain\",\n Label = \"label\",\n LabelRoundOpen = \"label_round_open\",\n LandmarkFlag = \"landmark_flag\",\n Library = \"library\",\n Linechart = \"linechart\",\n LinkedProducts = \"linked_products\",\n LinkCircle = \"link_circle\",\n ListView = \"list_view\",\n Location = \"location\",\n Lock = \"lock\",\n LockRoundOpen = \"lock_round_open\",\n Logo = \"logo\",\n Logout = \"logout\",\n MagicWand = \"magic_wand\",\n Magnifier = \"magnifier\",\n Manager = \"manager\",\n Mask = \"mask\",\n MasterDetail = \"master_detail\",\n MaterialCircleLarge = \"material_circle_large\",\n MedalBronze = \"medal_bronze\",\n MedalGold = \"medal_gold\",\n MedalSilver = \"medal_silver\",\n MedicalOfficer = \"medical_officer\",\n Microphone = \"microphone\",\n MinusRoundOpen = \"minus_round_open\",\n MinusSimple = \"minus_simple\",\n Mobile = \"mobile\",\n MultiSelectCheck = \"multi_select_check\",\n NewTask = \"new_task\",\n Note = \"note\",\n NoteBordered = \"note_bordered\",\n Notification = \"notification\",\n NotEqual = \"not_equal\",\n Option = \"option\",\n Optionset = \"optionset\",\n Order = \"order\",\n Orderpicking = \"orderpicking\",\n OutgoingStorage = \"outgoing_storage\",\n OverBooking = \"over_booking\",\n PauseCircle = \"pause_circle\",\n PencilRoundOpen = \"pencil_round_open\",\n PenToSquareSolid = \"pen_to_square_solid\",\n Phone = \"phone\",\n PhoneRoundOpen = \"phone_round_open\",\n Piechart = \"piechart\",\n Pin = \"pin\",\n PinRoundOpen = \"pin_round_open\",\n PlayCircle = \"play_circle\",\n PlusRound = \"plus_round\",\n PlusRoundOpen = \"plus_round_open\",\n PlusSimple = \"plus_simple\",\n PlusSkinny = \"plus_skinny\",\n PlusSolid = \"plus_solid\",\n PlusStars = \"plus_stars\",\n Pointer = \"pointer\",\n Pointer3d = \"pointer_3d\",\n PointerFilled = \"pointer_filled\",\n POS = \"POS\",\n Positioning = \"positioning\",\n Pregnancy = \"pregnancy\",\n Preset = \"preset\",\n Print = \"print\",\n ProductProperties = \"product_properties\",\n Purchase = \"purchase\",\n Qrcode = \"qrcode\",\n Question = \"question\",\n RadioUncheck = \"radio_uncheck\",\n Range = \"range\",\n RangeSelect = \"range_select\",\n Rectangles = \"rectangles\",\n Refresh = \"refresh\",\n Relations = \"relations\",\n Remark = \"remark\",\n RemarkRoundOpen = \"remark_round_open\",\n ReportInType = \"report_in_type\",\n Resize = \"resize\",\n ResizeDown = \"resize_down\",\n ResizeUp = \"resize_up\",\n Returns = \"returns\",\n ReturnGoods = \"return_goods\",\n RotateLeftSolid = \"rotate_left_solid\",\n SaveDisk = \"save_disk\",\n SaveSkinny = \"save_skinny\",\n ScaleBalanced = \"scale_balanced\",\n Scanner = \"scanner\",\n SearchRoundOpen = \"search_round_open\",\n Sections = \"sections\",\n SelectAllRound = \"select_all_round\",\n Services = \"services\",\n Settings = \"settings\",\n Shop = \"Shop\",\n ShoppingCart = \"shopping_cart\",\n ShoppingCartNr = \"shopping_cart_nr\",\n Shortcut = \"shortcut\",\n SinglePerson = \"SinglePerson\",\n Skills = \"skills\",\n SliderPanel = \"slider_panel\",\n SlideIn = \"slide_in\",\n SmallerThan = \"smaller_than\",\n SmallTiles = \"small_tiles\",\n SortAsc = \"sort_asc\",\n SortDesc = \"sort_desc\",\n Star = \"Star\",\n StarRoundOpen = \"star_round_open\",\n StatusActive = \"status_active\",\n StatusAdoption = \"status_adoption\",\n StatusFostercare = \"status_fostercare\",\n StatusIll = \"status_ill\",\n StatusLeave = \"status_leave\",\n StatusPregnancy = \"status_pregnancy\",\n Stock = \"stock\",\n StockManagement = \"stock_management\",\n Storage = \"storage\",\n Supervisor = \"supervisor\",\n Supplier = \"supplier\",\n Surgery = \"surgery\",\n Tablechart = \"tablechart\",\n Tag = \"tag\",\n TalkTooMuch = \"talk_too_much\",\n Target = \"target\",\n Task = \"task\",\n ThickLines = \"thick_lines\",\n ThinLines = \"thin_lines\",\n ThreeSixtyView = \"three_sixty_view\",\n ThumbBronze = \"thumb_bronze\",\n ThumbGold = \"thumb_gold\",\n ThumbSilver = \"thumb_silver\",\n Timeline = \"timeline\",\n Transactions = \"transactions\",\n TransactionDetail = \"transaction_detail\",\n TrashBin = \"TrashBin\",\n TrashCanSolid = \"trash_can_solid\",\n TriangleDown = \"triangle_down\",\n TriangleLarge = \"triangle_large\",\n TriangleLeft = \"triangle_left\",\n TriangleRight = \"triangle_right\",\n TriangleUp = \"triangle_up\",\n Truck = \"truck\",\n TruckCalendar = \"truck_calendar\",\n UndoRoundOpen = \"undo_round_open\",\n User = \"user\",\n Variants = \"variants\",\n Vbarchart = \"vbarchart\",\n View = \"view\",\n Warehouse = \"warehouse\",\n Watermark = \"watermark\",\n Website = \"website\",\n Wizard = \"wizard\",\n Wms = \"wms\",\n WorkInProgress = \"work_in_progress\",\n WorkInProgressRoundOpen = \"work_in_progress_round_open\",\n Wrench = \"wrench\",\n XAxis = \"x_axis\",\n YAxis = \"y_axis\"\n}","/** AUTO GENERATED FILE. DO NOT CHANGE.. OR YOU WILL SUFFER THE CONSEQUENCES OF YOUR ACTIONS **/\n\nexport const CoreComponentsIconSvg: {[iconName: string]: string} = {\n \"account\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M31.05,22.53h-.49C29.45,24.1,27.15,26,25,26s-4.46-1.87-5.56-3.44H19a4.2,4.2,0,0,0-4,3.87l2.68,3c0,1.78,1.81,8.15,4,8.15h6.72c2.23,0,4-6.37,4-8.15l2.69-3A4.21,4.21,0,0,0,31.05,22.53Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M31.18,17.64a6.2,6.2,0,0,1-12.37,0c0-2.72,2.77-5.14,6.19-5.14S31.18,14.92,31.18,17.64Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"account_round_open\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M25,16.29c2.38,0,4.31,1.69,4.31,3.58a4.32,4.32,0,0,1-8.62,0C20.69,18,22.62,16.29,25,16.29Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M30.15,28c0,1.24-1.26,5.68-2.81,5.68H22.66c-1.55,0-2.81-4.44-2.81-5.68L18,26a2.94,2.94,0,0,1,2.81-2.69h.34A5.55,5.55,0,0,0,25,25.67a5.51,5.51,0,0,0,3.87-2.39h.35A2.94,2.94,0,0,1,32,26Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M25,40A15,15,0,1,1,40,25,15,15,0,0,1,25,40Zm0-29A14,14,0,1,0,39,25,14,14,0,0,0,25,11Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"activities\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"33.08\\\" y=\\\"19.99\\\" width=\\\"1.15\\\" height=\\\"4.99\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><path d=\\\"M16.92,15a.39.39,0,0,1,.39-.38H27.87V13.46H17.31A1.54,1.54,0,0,0,15.77,15v3.05h1.15Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><path d=\\\"M33.08,32V35a.39.39,0,0,1-.39.38H17.31a.39.39,0,0,1-.39-.38V25H15.77V35a1.54,1.54,0,0,0,1.54,1.54H32.69A1.54,1.54,0,0,0,34.23,35V32Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><path d=\\\"M27.87,13.46v5c0,1.36.21,1.57,1.57,1.57h4.79Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><polygon points=\\\"40 26.71 29.4 26.71 29.41 22.69 23.64 28.46 29.41 34.23 29.41 30.22 40 30.22 40 26.71\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"10 23.3 20.6 23.3 20.59 27.31 26.36 21.54 20.59 15.77 20.59 19.78 10 19.78 10 23.3\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"add_to_cart_drop\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M16.58,34.84a1.8,1.8,0,1,0,1.8,1.8A1.79,1.79,0,0,0,16.58,34.84Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M31.49,34.84a1.8,1.8,0,1,0,1.8,1.8A1.79,1.79,0,0,0,31.49,34.84Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M35.6,17.9l-1.51.18L31.88,20.3l1.31-.17a.88.88,0,0,1,1,1.08L32.35,29.5a1.52,1.52,0,0,1-1.44,1.2H16.51a1.75,1.75,0,0,1-1.57-1.17l-2.31-5.6a1,1,0,0,1,.85-1.29l4.43-.56-1.86-1.86-5.13.61a1,1,0,0,0-.87,1.28l3.34,9.44A1.73,1.73,0,0,0,15,32.72H32.64a1.51,1.51,0,0,0,1.43-1.2L36.6,19A.89.89,0,0,0,35.6,17.9Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M39,17a1.87,1.87,0,0,0-1.36,1.46l-.42,2.89c-.1.67.31,1,.9.7a2.75,2.75,0,0,0,1.33-1.7L40,18A.73.73,0,0,0,39,17Z\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"24 25.35 32.04 17.3 27.04 17.3 27.04 10 20.95 10 20.95 17.3 15.96 17.3 24 25.35\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"arrow_down\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"27.06 31.14 27.06 12.5 22.94 12.5 22.94 31.14 22.94 31.14 18.64 31.14 25 37.5 31.36 31.14 27.06 31.14\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"arrow_fat_left\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"12.5 25 24.8 37.3 24.8 29.65 37.5 29.65 37.5 20.34 24.8 20.34 24.8 12.7 12.5 25\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"arrow_fat_right\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"37.5 25 25.2 12.7 25.2 20.35 12.5 20.35 12.5 29.66 25.2 29.66 25.2 37.3 37.5 25\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"arrow_left\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"23.63 33.63 15 25 23.63 16.37 24.6 17.34 16.95 25 24.6 32.66 23.63 33.63\\\" fill=\\\"#484f60\\\" opacity=\\\"0.98\\\"/><rect x=\\\"23.49\\\" y=\\\"24.31\\\" width=\\\"11.51\\\" height=\\\"1.38\\\" fill=\\\"#484f60\\\" opacity=\\\"0.98\\\"/></svg>\",\n \"arrow_left_round_open\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M25,11.17a14,14,0,1,1-14,14,14,14,0,0,1,14-14m0-1a15,15,0,1,0,15,15,15,15,0,0,0-15-15Z\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"23.65 31.43 17.39 25.17 23.65 18.9 24.36 19.61 18.8 25.17 24.36 30.72 23.65 31.43\\\" fill=\\\"#484f60\\\" opacity=\\\"0.98\\\"/><rect x=\\\"23.55\\\" y=\\\"24.67\\\" width=\\\"8.36\\\" height=\\\"1\\\" fill=\\\"#484f60\\\" opacity=\\\"0.98\\\"/></svg>\",\n \"arrow_point_down\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"-280 371 51 51\\\" enable-background=\\\"new -280 371 51 51\\\" ><path fill=\\\"#29363E\\\" d=\\\"M-248.3,392.2c0.3,0,0.6,0.1,0.8,0.3c0.5,0.5,0.5,1.2,0,1.6l-6.2,6.2c-0.2,0.2-0.5,0.3-0.8,0.3c-0.3,0-0.6-0.1-0.8-0.3l-6.2-6.2c-0.2-0.2-0.3-0.5-0.3-0.8c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3c0.3,0,0.6,0.1,0.8,0.3l5.4,5.4l5.4-5.4C-248.9,392.4-248.6,392.2-248.3,392.2z\\\"/></svg>\",\n \"arrow_point_left\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 51 51\\\" enable-background=\\\"new 0 0 51 51\\\" ><path fill=\\\"#484F5F\\\" d=\\\"M31.9,36.7l-14.7-9.6C17.1,27,17,26.9,17,26.7v-2.4c0-0.2,0.1-0.3,0.2-0.4l14.7-9.6c0.2-0.2,0.5-0.1,0.7,0.1l1.4,2.1c0.2,0.2,0.1,0.5-0.1,0.7l-12,7.8c-0.3,0.2-0.3,0.6,0,0.8l12,7.8c0.2,0.2,0.3,0.5,0.1,0.7l-1.4,2.1C32.4,36.8,32.1,36.8,31.9,36.7z\\\"/></svg>\",\n \"arrow_point_right\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 51 51\\\" enable-background=\\\"new 0 0 51 51\\\" ><path fill=\\\"#484F5F\\\" d=\\\"M19.1,14.3l14.7,9.6c0.1,0.1,0.2,0.2,0.2,0.4v2.4c0,0.2-0.1,0.3-0.2,0.4l-14.7,9.6c-0.2,0.2-0.5,0.1-0.7-0.1l-1.4-2.1c-0.2-0.2-0.1-0.5,0.1-0.7l12-7.8c0.3-0.2,0.3-0.6,0-0.8l-12-7.8c-0.2-0.2-0.3-0.5-0.1-0.7l1.4-2.1C18.6,14.2,18.9,14.2,19.1,14.3z\\\"/></svg>\",\n \"arrow_point_up\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"-280 371 51 51\\\" enable-background=\\\"new -280 371 51 51\\\" ><path fill=\\\"#29363E\\\" d=\\\"M-260.7,400.8c-0.3,0-0.6-0.1-0.8-0.3c-0.5-0.5-0.5-1.2,0-1.6l6.2-6.2c0.2-0.2,0.5-0.3,0.8-0.3c0.3,0,0.6,0.1,0.8,0.3l6.2,6.2c0.2,0.2,0.3,0.5,0.3,0.8c0,0.3-0.1,0.6-0.3,0.8c-0.2,0.2-0.5,0.3-0.8,0.3c-0.3,0-0.6-0.1-0.8-0.3l-5.4-5.4l-5.4,5.4C-260.1,400.6-260.4,400.8-260.7,400.8z\\\"/></svg>\",\n \"arrow_right_round_open\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M25,11.17a14,14,0,1,1-14,14,14,14,0,0,1,14-14m0-1a15,15,0,1,0,15,15,15,15,0,0,0-15-15Z\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"26.35 31.43 25.64 30.72 31.2 25.17 25.64 19.61 26.35 18.9 32.61 25.17 26.35 31.43\\\" fill=\\\"#484f60\\\" opacity=\\\"0.98\\\"/><rect x=\\\"18.09\\\" y=\\\"24.67\\\" width=\\\"8.36\\\" height=\\\"1\\\" fill=\\\"#484f60\\\" opacity=\\\"0.98\\\"/></svg>\",\n \"arrow_scroll_down\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 50 50\\\" enable-background=\\\"new 0 0 50 50\\\" ><polygon fill=\\\"#29363E\\\" points=\\\"5,19.4 8.5,15.8 25,27.3 41.5,15.8 45,19.4 25,34.2 \\\"/></svg>\",\n \"arrow_scroll_left\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" enable-background=\\\"new 0 0 50 50\\\" viewBox=\\\"0 0 50 50\\\" y=\\\"0px\\\" x=\\\"0px\\\" version=\\\"1.1\\\"><metadata ><rdf:RDF><cc:Work rdf:about=\\\"\\\"><dc:format>image/svg+xml</dc:format><dc:type rdf:resource=\\\"http://purl.org/dc/dcmitype/StillImage\\\" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs /><polygon fill=\\\"#000000\\\" transform=\\\"matrix(0,1,-1,0,50,0)\\\" points=\\\"8.5,15.8 25,27.3 41.5,15.8 45,19.4 25,34.2 5,19.4 \\\" /></svg>\",\n \"arrow_scroll_right\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" enable-background=\\\"new 0 0 50 50\\\" viewBox=\\\"0 0 50 50\\\" y=\\\"0px\\\" x=\\\"0px\\\" version=\\\"1.1\\\"><metadata ><rdf:RDF><cc:Work rdf:about=\\\"\\\"><dc:format>image/svg+xml</dc:format><dc:type rdf:resource=\\\"http://purl.org/dc/dcmitype/StillImage\\\" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs /><polygon fill=\\\"#000000\\\" transform=\\\"matrix(0,-1,1,0,0,50)\\\" points=\\\"41.5,15.8 45,19.4 25,34.2 5,19.4 8.5,15.8 25,27.3 \\\" /></svg>\",\n \"arrow_scroll_up\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 50 50\\\" enable-background=\\\"new 0 0 50 50\\\" ><polygon fill=\\\"#29363E\\\" points=\\\"5,30.6 8.5,34.2 25,22.7 41.5,34.2 45,30.6 25,15.8 \\\"/></svg>\",\n \"arrow_up\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><polygon points=\\\"27.5 19.4 27.5 38 23.4 38 23.4 19.4 23.4 19.4 19.1 19.4 25.4 13 31.8 19.4 27.5 19.4\\\" fill=\\\"#2a363b\\\"/></svg>\",\n \"article\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M37.43,15.14H12.57A2.57,2.57,0,0,0,10,17.71V32.29a2.57,2.57,0,0,0,2.57,2.57H37.43A2.57,2.57,0,0,0,40,32.29V17.71A2.57,2.57,0,0,0,37.43,15.14ZM14.29,32.71H12.15V17.29h2.14Zm2,0H15V17.29h1.29Zm2.57,0H17.54V17.29h1.29Zm3.52,0H20.2V17.29h2.15Zm2,0H23.11V17.29H24.4Zm2.06,0H25.17V17.29h1.29Zm2.66,0H27.83V17.29h1.29Zm3.51,0H31.34V17.29h1.29Zm3.34,0H33.4V17.29H36Zm2.32,0H37V17.29h1.29Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"article_with_fold\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M31.51,35.5H12a.5.5,0,0,1-.5-.5V15a.5.5,0,0,1,.5-.5H38a.5.5,0,0,1,.5.5V28.73H40V15a2,2,0,0,0-2-2H12a2,2,0,0,0-2,2V35a2,2,0,0,0,2,2H31.51Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M40,28.73H33.56c-1.78,0-2.05.27-2.05,2.05V37Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"14.5\\\" y=\\\"18.5\\\" width=\\\"6\\\" height=\\\"5\\\" fill=\\\"#484f60\\\"/><rect x=\\\"14.5\\\" y=\\\"30.5\\\" width=\\\"15\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><rect x=\\\"14.5\\\" y=\\\"26.5\\\" width=\\\"15\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><rect x=\\\"22.5\\\" y=\\\"22.5\\\" width=\\\"13\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><rect x=\\\"22.5\\\" y=\\\"18.5\\\" width=\\\"13\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"asterisk_small\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"10\\\" y=\\\"22\\\" width=\\\"30\\\" height=\\\"6\\\" transform=\\\"translate(15.85 -9.15) rotate(30)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"22\\\" width=\\\"30\\\" height=\\\"6\\\" transform=\\\"translate(0 50) rotate(-90)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"22\\\" width=\\\"30\\\" height=\\\"6\\\" transform=\\\"translate(-9.15 15.85) rotate(-30)\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"attachments\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M12.16,18.19l-1.39,1.39a4.28,4.28,0,0,1,.27-6l1.39,1.39a2.33,2.33,0,0,0-.27,3.25Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M31.17,27.37l-1.39,1.39L15.68,14.67a2.33,2.33,0,0,0-3.25.27L11,13.55a4.29,4.29,0,0,1,6-.28l14.1,14.1Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M37.7,37.72l-1.39-1.4a4,4,0,0,0,.41-5.6l-18-18,1.39-1.39,18,18c2.2,2.2,2,6-.41,8.4Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M37.7,37.72c-2.43,2.42-6.19,2.61-8.39.41L10.77,19.58l1.39-1.39L30.7,36.73c1.43,1.44,3.95,1.25,5.61-.41l1.39,1.4Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M31,31.15l-1.39-1.39a.79.79,0,0,0,.14-1.07l1.39-1.39A2.72,2.72,0,0,1,31,31.15Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M31,31.15a2.72,2.72,0,0,1-3.85.14L16.54,20.73l1.39-1.39L28.49,29.9a.79.79,0,0,0,1.07-.14L31,31.15Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"back_to_top\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><text transform=\\\"translate(14.59 36.45)\\\" font-size=\\\"10\\\" fill=\\\"#484f60\\\" font-family=\\\"Quicksand-Regular, Quicksand\\\">TOP</text><polygon points=\\\"25 11.75 32.5 19.25 27.43 19.25 22.57 19.25 17.5 19.25 25 11.75\\\" fill=\\\"#484f60\\\"/><rect x=\\\"21.5\\\" y=\\\"21.25\\\" width=\\\"7\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><rect x=\\\"21.5\\\" y=\\\"24.25\\\" width=\\\"7\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"Barcode\": \"<svg preserveAspectRatio=\\\"none\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 50 50\\\" x=\\\"0px\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" y=\\\"0px\\\"><path d=\\\"M 32.002 0 L 3.001 0 C 1.345 0 0 1.344 0 2.999 L 0 20.002 C 0 21.66 1.345 23.002 3.001 23.002 L 32.002 23.002 C 33.66 23.002 35 21.66 35 20.002 L 35 2.999 C 35 1.344 33.66 0 32.002 0 Z M 5 20.5 L 2.503 20.5 L 2.503 2.501 L 5 2.501 L 5 20.5 Z M 7.301 20.5 L 5.801 20.5 L 5.801 2.501 L 7.301 2.501 L 7.301 20.5 Z M 10.302 20.5 L 8.8 20.5 L 8.8 2.501 L 10.302 2.501 L 10.302 20.5 Z M 14.403 20.5 L 11.9 20.5 L 11.9 2.501 L 14.403 2.501 L 14.403 20.5 Z M 16.802 20.5 L 15.3 20.5 L 15.3 2.501 L 16.802 2.501 L 16.802 20.5 Z M 19.204 20.5 L 17.703 20.5 L 17.703 2.501 L 19.204 2.501 L 19.204 20.5 Z M 22.306 20.5 L 20.804 20.5 L 20.804 2.501 L 22.306 2.501 L 22.306 20.5 Z M 26.404 20.5 L 24.902 20.5 L 24.902 2.501 L 26.404 2.501 L 26.404 20.5 Z M 30.304 20.5 L 27.303 20.5 L 27.303 2.501 L 30.304 2.501 L 30.304 20.5 Z M 33 20.5 L 31.505 20.5 L 31.505 2.501 L 33 2.501 L 33 20.5 Z\\\" fill=\\\"#1E2930\\\" transform=\\\" translate(7.5 13.499)\\\" /></svg>\",\n \"big_mac\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><rect x=\\\"10.5\\\" y=\\\"14.5\\\" width=\\\"30\\\" height=\\\"4\\\" fill=\\\"#4d5050\\\"/><rect x=\\\"10.5\\\" y=\\\"20.5\\\" width=\\\"30\\\" height=\\\"4\\\" fill=\\\"#4d5050\\\"/><rect x=\\\"10.5\\\" y=\\\"26.5\\\" width=\\\"30\\\" height=\\\"4\\\" fill=\\\"#4d5050\\\"/><rect x=\\\"10.5\\\" y=\\\"32.5\\\" width=\\\"30\\\" height=\\\"4\\\" fill=\\\"#4d5050\\\"/></svg>\",\n \"boxes\": \"<svg preserveAspectRatio=\\\"none\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 50 50\\\" x=\\\"0px\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" y=\\\"0px\\\"><g transform=\\\" translate(9 11)\\\"><path d=\\\"M 0 12.292 L 0 0 L 8.563 1.518 L 8.563 14.576 L 0 12.292 Z\\\" fill=\\\"#1E2930\\\" transform=\\\" translate(0 13.24)\\\" /><path d=\\\"M 0 1.132 L 7.909 0 L 7.909 11.897 L 0 14.153 L 0 1.132 Z\\\" fill=\\\"#1E2930\\\" transform=\\\" translate(9.813 13.647)\\\" /><path d=\\\"M 0 11.868 L 0 0 L 3.111 0.625 L 3.111 12.876 L 0 11.868 Z\\\" fill=\\\"#1E2930\\\" transform=\\\" translate(18.969 13.69)\\\" /><path d=\\\"M 0 1.433 L 8.673 0 L 8.673 11.434 L 0 13.721 L 0 1.433 Z\\\" fill=\\\"#1E2930\\\" transform=\\\" translate(23.327 12.898)\\\" /><path d=\\\"M 0 0.752 L 7.691 0 L 7.691 10.344 L 0 11.655 L 0 0.752 Z\\\" fill=\\\"#1E2930\\\" transform=\\\" translate(17.633 1.08)\\\" /><path d=\\\"M 0 10.344 L 0 0 L 8.13 0.755 L 8.13 11.669 L 0 10.344 Z\\\" fill=\\\"#1E2930\\\" transform=\\\" translate(8.258 1.077)\\\" /><path d=\\\"M 0 0.752 L 5.708 0 L 5.708 0.444 L 12.023 1.475 L 7.602 2.106 L 0 0.752 Z\\\" fill=\\\"#1E2930\\\" transform=\\\" translate(1.588 11.791)\\\" /><path d=\\\"M 0 1.434 L 5.278 0.54 L 5.182 0 L 9.086 0.528 L 1.549 1.772 L 0 1.434 Z\\\" fill=\\\"#1E2930\\\" transform=\\\" translate(21.162 11.687)\\\" /><path d=\\\"M 0 0.29 L 5.135 0 L 9.542 0.281 L 4.829 0.741 L 0 0.29 Z\\\" fill=\\\"#1E2930\\\" transform=\\\" translate(12.179 0.185)\\\" /></g></svg>\",\n \"brush\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M28.16,26a9.71,9.71,0,0,1-4-3.66A.88.88,0,0,0,22.92,22c-1.08.48-2.19.92-3.27,1.43-3.71,1.74-6,4.5-6.23,8.75-.17,2.75-.89,5.32-3.42,7.25,1.18,0,2.12,0,3.05,0,.73,0,1.46-.07,2.18-.12a10.82,10.82,0,0,0,4.86-3.38c1.31-1.61,3.14-3.58,3.95-5.49l-.08.38a22.78,22.78,0,0,1-3.09,5.74A11.79,11.79,0,0,1,18.13,39a22.35,22.35,0,0,0,4.29-1A8.2,8.2,0,0,0,28.06,32c.38-1.62.44-3.31.66-5A1,1,0,0,0,28.16,26Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M26.23,20.43l6.57-9.32a1.23,1.23,0,0,1,1.87-.18l4.94,4.7a1.24,1.24,0,0,1-.11,1.9l-9.15,6.78a1.25,1.25,0,0,1-1.58-.08L26.4,22.06A1.23,1.23,0,0,1,26.23,20.43Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"brush_round_open\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><title>Tekengebied 13 kopie 739</title><path d=\\\"M25,45A20,20,0,1,1,45,25,20,20,0,0,1,25,45ZM25,6.29A18.71,18.71,0,1,0,43.71,25,18.73,18.73,0,0,0,25,6.29Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M13.39,36.15A7,7,0,0,0,16,30.53a7.59,7.59,0,0,1,4.83-6.77c.83-.39,1.69-.73,2.53-1.11a.69.69,0,0,1,1,.29,7.34,7.34,0,0,0,3.09,2.83.73.73,0,0,1,.43.82c-.17,1.28-.22,2.59-.51,3.84A6.35,6.35,0,0,1,23,35a24.09,24.09,0,0,1-7.25,1.14C15,36.18,14.3,36.15,13.39,36.15Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M26,21.46,31,14.25a1,1,0,0,1,1.46-.14l3.82,3.64a1,1,0,0,1-.09,1.47l-7.08,5.24a1,1,0,0,1-1.22-.06l-1.83-1.67A1,1,0,0,1,26,21.46Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"building_columns\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path style= \\\"fill: #484f60\\\" d=\\\"M243.4 2.587C251.4-.8625 260.6-.8625 268.6 2.587L492.6 98.59C506.6 104.6 514.4 119.6 511.3 134.4C508.3 149.3 495.2 159.1 479.1 160V168C479.1 181.3 469.3 192 455.1 192H55.1C42.74 192 31.1 181.3 31.1 168V160C16.81 159.1 3.708 149.3 .6528 134.4C-2.402 119.6 5.429 104.6 19.39 98.59L243.4 2.587zM256 128C273.7 128 288 113.7 288 96C288 78.33 273.7 64 256 64C238.3 64 224 78.33 224 96C224 113.7 238.3 128 256 128zM127.1 416H167.1V224H231.1V416H280V224H344V416H384V224H448V420.3C448.6 420.6 449.2 420.1 449.8 421.4L497.8 453.4C509.5 461.2 514.7 475.8 510.6 489.3C506.5 502.8 494.1 512 480 512H31.1C17.9 512 5.458 502.8 1.372 489.3C-2.715 475.8 2.515 461.2 14.25 453.4L62.25 421.4C62.82 420.1 63.41 420.6 63.1 420.3V224H127.1V416z\\\"/></svg>\",\n \"businessrules\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M25,24.59l-.3-1.7-2.3-.21a5.22,5.22,0,0,0-.7-1.11l.74-2.07L21,18.5l-1.69,1.4a5.26,5.26,0,0,0-1.26-.29l-1-2.1-1.7.3-.21,2.29a4.88,4.88,0,0,0-1.15.73l-2-.73-1,1.41,1.38,1.67a5.29,5.29,0,0,0-.29,1.31l-2.09,1,.3,1.7,2.32.22a5.51,5.51,0,0,0,.71,1.09l-.74,2.05,1.42,1,1.68-1.4a5.3,5.3,0,0,0,1.3.28l1,2.08,1.7-.3.21-2.31A5.44,5.44,0,0,0,21,29.19l2.08.74,1-1.41-1.42-1.71a5,5,0,0,0,.28-1.23Zm-7.13,2.55a2.17,2.17,0,1,1,1.77-2.51A2.16,2.16,0,0,1,17.87,27.14Z\\\" fill=\\\"#484f60\\\"/><polyline points=\\\"35.97 33.1 38.44 29.57 40 38.44 31.14 40 33.6 36.48\\\" fill=\\\"#484f5f\\\"/><polygon points=\\\"35.62 34.07 26.39 27.61 26.55 28.42 25.66 29.69 34.39 35.81 35.62 34.07\\\" fill=\\\"#484f5f\\\"/><polyline points=\\\"33.6 13.52 31.14 10 40 11.56 38.44 20.43 35.97 16.9\\\" fill=\\\"#484f5f\\\"/><polygon points=\\\"26.61 22.23 35.61 15.93 34.39 14.19 24.82 20.89 26.4 21.04 26.61 22.23\\\" fill=\\\"#484f5f\\\"/></svg>\",\n \"calendar\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M36.94,12h-4v2a2,2,0,1,1-4.08,0V12H21.17v2a2,2,0,1,1-4.08,0V12h-4a1.2,1.2,0,0,0-1.19,1.2V18H38.14V13.16A1.2,1.2,0,0,0,36.94,12Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M37.14,20.5v16L34.65,39H13.05a.2.2,0,0,1-.19-.2V20.5H37.14m1-1H11.86V38.8A1.2,1.2,0,0,0,13.05,40h22l3.08-3.08V19.5Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"18.24\\\" y=\\\"10\\\" width=\\\"1.79\\\" height=\\\"4.87\\\" rx=\\\"0.9\\\" ry=\\\"0.9\\\" fill=\\\"#484f60\\\"/><rect x=\\\"29.97\\\" y=\\\"10\\\" width=\\\"1.79\\\" height=\\\"4.87\\\" rx=\\\"0.9\\\" ry=\\\"0.9\\\" fill=\\\"#484f60\\\"/><rect x=\\\"11.86\\\" y=\\\"24.37\\\" width=\\\"26.28\\\" height=\\\"0.5\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"11.86\\\" y=\\\"29.5\\\" width=\\\"26.28\\\" height=\\\"0.5\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"11.86\\\" y=\\\"34.62\\\" width=\\\"26.28\\\" height=\\\"0.5\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"18.18\\\" y=\\\"19.5\\\" width=\\\"0.5\\\" height=\\\"20.5\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"24.75\\\" y=\\\"19.5\\\" width=\\\"0.5\\\" height=\\\"20.5\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"31.32\\\" y=\\\"19.5\\\" width=\\\"0.5\\\" height=\\\"20.5\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/></svg>\",\n \"calendar_day\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 50 50\\\" enable-background=\\\"new 0 0 50 50\\\" ><g><path fill=\\\"#022D42\\\" d=\\\"M35.4,13.7H14.6c-0.6,0-1,0.5-1,1V20h22.9v-5.2C36.4,14.2,36,13.7,35.4,13.7z M19,18.8c-1,0-1.8-0.8-1.8-1.8c0-1,0.8-1.8,1.8-1.8c1,0,1.8,0.8,1.8,1.8C20.8,18,20,18.8,19,18.8z M31,18.8c-1,0-1.8-0.8-1.8-1.8c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8C32.7,18,32,18.8,31,18.8z\\\"/><path fill=\\\"#022D42\\\" d=\\\"M35.4,22.3v12.6L31.3,39H14.6c0,0,0,0,0,0V22.3H35.4 M36.4,21.3H13.6V39c0,0.6,0.5,1,1,1h17.2l4.7-4.7V21.3L36.4,21.3z\\\"/><rect x=\\\"18.2\\\" y=\\\"10\\\" fill=\\\"#022D42\\\" width=\\\"1.6\\\" height=\\\"5.2\\\"/><rect x=\\\"30.2\\\" y=\\\"10\\\" fill=\\\"#022D42\\\" width=\\\"1.6\\\" height=\\\"5.2\\\"/><rect x=\\\"18.6\\\" y=\\\"30.5\\\" fill=\\\"#022D42\\\" width=\\\"3.4\\\" height=\\\"3.4\\\"/><rect x=\\\"19.1\\\" y=\\\"24.8\\\" opacity=\\\"0.1\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"19.1\\\" y=\\\"27.9\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"19.1\\\" y=\\\"34.1\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"22.2\\\" y=\\\"24.8\\\" opacity=\\\"0.1\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"22.2\\\" y=\\\"27.9\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"22.2\\\" y=\\\"31\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"22.2\\\" y=\\\"34.1\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"25.4\\\" y=\\\"31\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"25.4\\\" y=\\\"24.8\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"25.4\\\" y=\\\"27.9\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"25.4\\\" y=\\\"34.1\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"31.6\\\" y=\\\"31\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"31.6\\\" y=\\\"24.8\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"31.6\\\" y=\\\"27.9\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"28.5\\\" y=\\\"27.9\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"28.5\\\" y=\\\"24.8\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"28.5\\\" y=\\\"31\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"28.5\\\" y=\\\"34.1\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"16\\\" y=\\\"24.8\\\" opacity=\\\"0.1\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"16\\\" y=\\\"27.9\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"16\\\" y=\\\"31\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"16\\\" y=\\\"34.1\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/></g></svg>\",\n \"calendar_day_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 448 512\\\"><path d=\\\"M208 256C216.8 256 224 263.2 224 272V368C224 376.8 216.8 384 208 384H112C103.2 384 96 376.8 96 368V272C96 263.2 103.2 256 112 256H208zM128 0C141.3 0 152 10.75 152 24V64H296V24C296 10.75 306.7 0 320 0C333.3 0 344 10.75 344 24V64H384C419.3 64 448 92.65 448 128V448C448 483.3 419.3 512 384 512H64C28.65 512 0 483.3 0 448V128C0 92.65 28.65 64 64 64H104V24C104 10.75 114.7 0 128 0zM400 192H48V448C48 456.8 55.16 464 64 464H384C392.8 464 400 456.8 400 448V192z\\\"/></svg>\",\n \"calendar_empty\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><path d=\\\"M695.94,372h-4v2a2,2,0,0,1-4.09,0v-2h-7.65v2a2,2,0,0,1-4.09,0v-2h-4a1.19,1.19,0,0,0-1.19,1.2V378h26.28v-4.82A1.19,1.19,0,0,0,695.94,372Z\\\" transform=\\\"translate(-658.5 -359.5)\\\" fill=\\\"#4d5050\\\"/><path d=\\\"M696.14,380.5v16l-2.49,2.5H672.05a.19.19,0,0,1-.19-.2V380.5h24.28m1-1H670.86V398.8a1.19,1.19,0,0,0,1.19,1.2h22l3.08-3.08V379.5Z\\\" transform=\\\"translate(-658.5 -359.5)\\\" fill=\\\"#4d5050\\\"/><path d=\\\"M678.13,374.87h0a.9.9,0,0,1-.9-.9V370.9a.9.9,0,0,1,.9-.9h0a.9.9,0,0,1,.9.9V374A.9.9,0,0,1,678.13,374.87Z\\\" transform=\\\"translate(-658.5 -359.5)\\\" fill=\\\"#4d5050\\\"/><path d=\\\"M689.87,374.87h0a.9.9,0,0,1-.9-.9V370.9a.9.9,0,0,1,.9-.9h0a.9.9,0,0,1,.9.9V374A.9.9,0,0,1,689.87,374.87Z\\\" transform=\\\"translate(-658.5 -359.5)\\\" fill=\\\"#4d5050\\\"/><rect x=\\\"12.36\\\" y=\\\"24.87\\\" width=\\\"26.28\\\" height=\\\"0.5\\\" fill=\\\"#4d5050\\\" opacity=\\\"0.25\\\"/><rect x=\\\"12.36\\\" y=\\\"30\\\" width=\\\"26.28\\\" height=\\\"0.5\\\" fill=\\\"#4d5050\\\" opacity=\\\"0.25\\\"/><rect x=\\\"12.36\\\" y=\\\"35.12\\\" width=\\\"26.28\\\" height=\\\"0.5\\\" fill=\\\"#4d5050\\\" opacity=\\\"0.25\\\"/><rect x=\\\"18.68\\\" y=\\\"20\\\" width=\\\"0.5\\\" height=\\\"20.5\\\" fill=\\\"#4d5050\\\" opacity=\\\"0.25\\\"/><rect x=\\\"25.25\\\" y=\\\"20\\\" width=\\\"0.5\\\" height=\\\"20.5\\\" fill=\\\"#4d5050\\\" opacity=\\\"0.25\\\"/><rect x=\\\"31.82\\\" y=\\\"20\\\" width=\\\"0.5\\\" height=\\\"20.5\\\" fill=\\\"#4d5050\\\" opacity=\\\"0.25\\\"/></svg>\",\n \"calendar_range\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M36.94,12h-4v2a2,2,0,1,1-4.08,0V12H21.17v2a2,2,0,1,1-4.08,0V12h-4a1.2,1.2,0,0,0-1.19,1.2V18H38.14V13.16A1.2,1.2,0,0,0,36.94,12Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M37.14,20.5v16L34.65,39H13.05a.2.2,0,0,1-.19-.2V20.5H37.14m1-1H11.86V38.8A1.2,1.2,0,0,0,13.05,40h22l3.08-3.08V19.5Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"18.24\\\" y=\\\"10\\\" width=\\\"1.79\\\" height=\\\"4.87\\\" rx=\\\"0.9\\\" ry=\\\"0.9\\\" fill=\\\"#484f60\\\"/><rect x=\\\"29.97\\\" y=\\\"10\\\" width=\\\"1.79\\\" height=\\\"4.87\\\" rx=\\\"0.9\\\" ry=\\\"0.9\\\" fill=\\\"#484f60\\\"/><rect x=\\\"15\\\" y=\\\"22.5\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.1\\\"/><rect x=\\\"28.6\\\" y=\\\"22.5\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"25.2\\\" y=\\\"22.5\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"21.8\\\" y=\\\"22.5\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"18.4\\\" y=\\\"22.5\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.1\\\"/><rect x=\\\"32\\\" y=\\\"22.5\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"15\\\" y=\\\"26.16\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"28.6\\\" y=\\\"26.16\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"25.2\\\" y=\\\"26.16\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"21.8\\\" y=\\\"26.16\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"18.4\\\" y=\\\"26.16\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"32\\\" y=\\\"26.16\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"15\\\" y=\\\"29.83\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"28.6\\\" y=\\\"29.83\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"25.2\\\" y=\\\"29.83\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"21.8\\\" y=\\\"29.83\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"18.4\\\" y=\\\"29.83\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"32\\\" y=\\\"29.83\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"15\\\" y=\\\"33.5\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"28.6\\\" y=\\\"33.5\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.1\\\"/><rect x=\\\"25.2\\\" y=\\\"33.5\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"21.8\\\" y=\\\"33.5\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"18.4\\\" y=\\\"33.5\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"32\\\" y=\\\"33.5\\\" width=\\\"3\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.1\\\"/><rect x=\\\"18.75\\\" y=\\\"25.66\\\" width=\\\"4\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><rect x=\\\"23\\\" y=\\\"25.66\\\" width=\\\"4\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><rect x=\\\"27.25\\\" y=\\\"25.66\\\" width=\\\"4\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><rect x=\\\"31.5\\\" y=\\\"25.66\\\" width=\\\"4\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"calendar_round_open\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><path d=\\\"M692.76,375.44h-3v1.47a1.5,1.5,0,1,1-3,0v-1.47h-5.61v1.47a1.5,1.5,0,1,1-3,0v-1.47h-3a.88.88,0,0,0-.87.88v3.54h19.27v-3.54A.88.88,0,0,0,692.76,375.44Z\\\" transform=\\\"translate(-658.5 -359.5)\\\" fill=\\\"#4d5050\\\"/><path d=\\\"M692.9,381.7v11.74l-1.83,1.83H675.24a.14.14,0,0,1-.14-.14V381.7h17.8m.73-.73H674.37v14.16a.88.88,0,0,0,.87.88h16.14l2.26-2.26V381Z\\\" transform=\\\"translate(-658.5 -359.5)\\\" fill=\\\"#4d5050\\\"/><rect x=\\\"20.54\\\" y=\\\"14.5\\\" width=\\\"1.31\\\" height=\\\"3.57\\\" rx=\\\"0.66\\\" ry=\\\"0.66\\\" fill=\\\"#4d5050\\\"/><rect x=\\\"29.15\\\" y=\\\"14.5\\\" width=\\\"1.31\\\" height=\\\"3.57\\\" rx=\\\"0.66\\\" ry=\\\"0.66\\\" fill=\\\"#4d5050\\\"/><rect x=\\\"15.87\\\" y=\\\"25.04\\\" width=\\\"19.27\\\" height=\\\"0.37\\\" fill=\\\"#4d5050\\\" opacity=\\\"0.25\\\"/><rect x=\\\"15.87\\\" y=\\\"28.8\\\" width=\\\"19.27\\\" height=\\\"0.37\\\" fill=\\\"#4d5050\\\" opacity=\\\"0.25\\\"/><rect x=\\\"15.87\\\" y=\\\"32.56\\\" width=\\\"19.27\\\" height=\\\"0.37\\\" fill=\\\"#4d5050\\\" opacity=\\\"0.25\\\"/><rect x=\\\"20.5\\\" y=\\\"21.46\\\" width=\\\"0.37\\\" height=\\\"15.04\\\" fill=\\\"#4d5050\\\" opacity=\\\"0.25\\\"/><rect x=\\\"25.32\\\" y=\\\"21.46\\\" width=\\\"0.37\\\" height=\\\"15.04\\\" fill=\\\"#4d5050\\\" opacity=\\\"0.25\\\"/><rect x=\\\"30.13\\\" y=\\\"21.46\\\" width=\\\"0.37\\\" height=\\\"15.04\\\" fill=\\\"#4d5050\\\" opacity=\\\"0.25\\\"/><path d=\\\"M684,366.33A18.67,18.67,0,1,1,665.33,385,18.69,18.69,0,0,1,684,366.33m0-1.33a20,20,0,1,0,20,20,20,20,0,0,0-20-20Z\\\" transform=\\\"translate(-658.5 -359.5)\\\" fill=\\\"#4d5050\\\"/></svg>\",\n \"camera\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M35,18l-3-4H22l-3,4H16V36H40V18ZM24,16h6v2H24Zm2.5,18A6.5,6.5,0,1,1,33,27.5,6.51,6.51,0,0,1,26.5,34ZM38,22H36V20h2Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"18\\\" width=\\\"5\\\" height=\\\"18\\\" fill=\\\"#484f60\\\"/><rect x=\\\"11\\\" y=\\\"15\\\" width=\\\"3\\\" height=\\\"2\\\" fill=\\\"#484f60\\\"/><path d=\\\"M26.5,32A4.5,4.5,0,1,1,31,27.5,4.51,4.51,0,0,1,26.5,32Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"cancel\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"36 35.16 30.45 35.16 14 14.84 19.55 14.84 36 35.16\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"14 35.16 19.55 35.16 36 14.84 30.45 14.84 14 35.16\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"cancel_round_filled\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M25,10A15,15,0,1,0,40,25,15,15,0,0,0,25,10Zm9.38,23.32h-5.3L25,28.27l-4.08,5.05H15.63L22.35,25l-6.72-8.32h5.29L25,21.73l4.08-5.05h5.3L27.64,25Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"cancel_round_open\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M25,40.17a15,15,0,1,1,15-15A15,15,0,0,1,25,40.17Zm0-29a14,14,0,1,0,14,14A14,14,0,0,0,25,11.13Z\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"29.41 32.25 25 26.79 20.59 32.25 17.96 32.25 23.68 25.17 17.96 18.09 20.59 18.09 25 23.54 29.41 18.09 32.04 18.09 26.32 25.17 32.04 32.25 29.41 32.25\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"cart\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M16.58,34.84a1.8,1.8,0,1,0,1.8,1.8A1.79,1.79,0,0,0,16.58,34.84Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M31.49,34.84a1.8,1.8,0,1,0,1.8,1.8A1.79,1.79,0,0,0,31.49,34.84Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M13.39,31.55A1.73,1.73,0,0,0,15,32.72H32.64a1.51,1.51,0,0,0,1.43-1.2L36.6,19a.89.89,0,0,0-1-1.09L10.92,20.83a1,1,0,0,0-.87,1.28Zm19-2.05a1.52,1.52,0,0,1-1.44,1.2H16.51a1.75,1.75,0,0,1-1.57-1.17l-2.31-5.6a1,1,0,0,1,.85-1.29l19.71-2.51a.88.88,0,0,1,1,1.08Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M39,17a1.87,1.87,0,0,0-1.36,1.46l-.42,2.89c-.1.67.31,1,.9.7a2.75,2.75,0,0,0,1.33-1.7L40,18A.73.73,0,0,0,39,17Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"cart_open\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><circle cx=\\\"17.08\\\" cy=\\\"34.14\\\" r=\\\"1.8\\\" fill=\\\"#4d5050\\\"/><circle cx=\\\"31.99\\\" cy=\\\"34.14\\\" r=\\\"1.8\\\" fill=\\\"#4d5050\\\"/><path d=\\\"M672.39,388.55a1.73,1.73,0,0,0,1.56,1.17h17.69a1.51,1.51,0,0,0,1.43-1.2L695.6,376a.88.88,0,0,0-1-1.08l-24.68,2.93a1,1,0,0,0-.87,1.28Zm19-2.05a1.52,1.52,0,0,1-1.43,1.2h-14.4a1.75,1.75,0,0,1-1.57-1.16l-2.31-5.61a1,1,0,0,1,.86-1.28l19.71-2.51a.87.87,0,0,1,1,1.08Z\\\" transform=\\\"translate(-658.5 -359.5)\\\" fill=\\\"#4d5050\\\"/><path d=\\\"M698,374a1.88,1.88,0,0,0-1.37,1.46l-.42,2.9c-.1.66.31,1,.9.7a2.74,2.74,0,0,0,1.33-1.7L699,375A.74.74,0,0,0,698,374Z\\\" transform=\\\"translate(-658.5 -359.5)\\\" fill=\\\"#4d5050\\\"/></svg>\",\n \"case_manager\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M26.85,29H23.46a.89.89,0,0,0-.88.88v5.28L24,32.3c.08-.74.69-1.32,2.86-1.36H36v-1.1a.89.89,0,0,0-.88-.88H26.85Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><path d=\\\"M35.38,38.29a.88.88,0,0,1-.88.88H23.76a.88.88,0,0,1-.88-.88l2.2-5.38A.88.88,0,0,1,26,32H36.7a.88.88,0,0,1,.88.88Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.75\\\"/><path d=\\\"M20.58,35.11V29.83A2.89,2.89,0,0,1,23.46,27h7.4l1.72-1.89a4.22,4.22,0,0,0-4-3.87h-.49c-1.11,1.57-3.41,3.44-5.56,3.44S18,22.76,16.94,21.19h-.49a4.21,4.21,0,0,0-4,3.87l2.68,3c0,1.77,1.81,8.15,4,8.15h1.44Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M28.68,16.31c0,2.71-2.77,5.77-6.18,5.77S16.31,19,16.31,16.31s2.77-5.14,6.19-5.14S28.68,13.59,28.68,16.31Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"CashRegister\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M35.39,18.12H14.62L10,29.66H40ZM23,19.29H27l.1,1.6H22.87Zm-.13,2h4.32l.12,1.81H22.72Zm-.15,2.3h4.62l.14,2.08h-4.9ZM17.9,19.29H22l-.16,1.6H17.54Zm-.46,2h4.32l-.18,1.81H17Zm-.53,2.3h4.62l-.2,2.08h-4.9Zm-1.16,5.06.55-2.42H27.49l.16,2.42ZM28,19.29H32.1l.36,1.6H28.2Zm.2,2h4.32L33,23.12H28.42Zm.23,2.3h4.62l.48,2.08h-4.9Zm.5,5.06-.24-2.42h5l.55,2.42Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M10,29.66v9.23H40V29.66Zm27.69,6.92H12.31V32H37.69Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M15.63,11.11v7.58H34.37V11.11Zm17.31,6.15H17.06V12.54H32.94Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"cash_register_simple\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path style= \\\"fill: #484f60\\\" d=\\\"M288 0C305.7 0 320 14.33 320 32V96C320 113.7 305.7 128 288 128H208V160H424.1C456.6 160 483.5 183.1 488.2 214.4L510.9 364.1C511.6 368.8 512 373.6 512 378.4V448C512 483.3 483.3 512 448 512H64C28.65 512 0 483.3 0 448V378.4C0 373.6 .3622 368.8 1.083 364.1L23.76 214.4C28.5 183.1 55.39 160 87.03 160H143.1V128H63.1C46.33 128 31.1 113.7 31.1 96V32C31.1 14.33 46.33 0 63.1 0L288 0zM96 48C87.16 48 80 55.16 80 64C80 72.84 87.16 80 96 80H256C264.8 80 272 72.84 272 64C272 55.16 264.8 48 256 48H96zM80 448H432C440.8 448 448 440.8 448 432C448 423.2 440.8 416 432 416H80C71.16 416 64 423.2 64 432C64 440.8 71.16 448 80 448zM112 216C98.75 216 88 226.7 88 240C88 253.3 98.75 264 112 264C125.3 264 136 253.3 136 240C136 226.7 125.3 216 112 216zM208 264C221.3 264 232 253.3 232 240C232 226.7 221.3 216 208 216C194.7 216 184 226.7 184 240C184 253.3 194.7 264 208 264zM160 296C146.7 296 136 306.7 136 320C136 333.3 146.7 344 160 344C173.3 344 184 333.3 184 320C184 306.7 173.3 296 160 296zM304 264C317.3 264 328 253.3 328 240C328 226.7 317.3 216 304 216C290.7 216 280 226.7 280 240C280 253.3 290.7 264 304 264zM256 296C242.7 296 232 306.7 232 320C232 333.3 242.7 344 256 344C269.3 344 280 333.3 280 320C280 306.7 269.3 296 256 296zM400 264C413.3 264 424 253.3 424 240C424 226.7 413.3 216 400 216C386.7 216 376 226.7 376 240C376 253.3 386.7 264 400 264zM352 296C338.7 296 328 306.7 328 320C328 333.3 338.7 344 352 344C365.3 344 376 333.3 376 320C376 306.7 365.3 296 352 296z\\\"/></svg>\",\n \"change_location\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"16.96 25 24.27 32.31 24.27 27.76 29.09 27.76 29.09 22.23 24.27 22.23 24.27 17.69 16.96 25\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"16.21 23.18 10 23.18 10 26.82 16.21 26.82 14.39 25 16.21 23.18\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"10 14.77 10 18.4 20.99 18.4 24.63 14.77 10 14.77\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"10 31.6 10 35.23 24.63 35.23 20.99 31.6 10 31.6\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"31.35 13.84 35.45 11.47 39.55 13.83 35.45 16.2 31.35 13.84\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"40 19.32 39.99 14.59 35.89 16.96 35.9 18.05 39.06 19.86 40 19.32\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><polygon points=\\\"35.02 16.96 30.91 14.6 30.92 19.34 31.84 19.87 35.02 18.03 35.02 16.96\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><polygon points=\\\"31.35 22.26 35.45 19.88 39.55 22.24 35.45 24.62 31.35 22.26\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"40 27.74 39.99 23 35.89 25.38 35.9 26.46 39.06 28.28 40 27.74\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><polygon points=\\\"35.02 25.38 30.91 23.02 30.92 27.75 31.84 28.29 35.02 26.45 35.02 25.38\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><polygon points=\\\"31.35 30.67 35.45 28.3 39.55 30.66 35.45 33.03 31.35 30.67\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"35.89 33.79 39.99 31.42 40 36.15 35.9 38.53 35.89 33.79\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><polygon points=\\\"30.92 36.17 30.91 31.43 35.02 33.8 35.03 38.53 30.92 36.17\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/></svg>\",\n \"check\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"16.97 22.92 20.78 28.61 29.96 13 36.16 13 20.78 37 13.84 26.9 16.97 22.92\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"check_duotone\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 448 512\\\"><defs><style>.fa-secondary{opacity:.4}</style></defs><path class=\\\"fa-primary\\\" d=\\\"M438.6 105.4C451.1 117.9 451.1 138.1 438.6 150.6L182.6 406.6C170.1 419.1 149.9 419.1 137.4 406.6L9.372 278.6C-3.124 266.1-3.124 245.9 9.372 233.4C21.87 220.9 42.13 220.9 54.63 233.4L159.1 338.7L393.4 105.4C405.9 92.88 426.1 92.88 438.6 105.4H438.6z\\\"/></svg>\",\n \"check_round\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M25,10A15,15,0,1,0,40,25,15,15,0,0,0,25,10ZM23,34l-6.24-9.09,2.81-3.59L23,26.45,27.66,16h5.58Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"check_round_open\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 50 50\\\" enable-background=\\\"new 0 0 50 50\\\" ><g><path fill=\\\"#2A363B\\\" d=\\\"M40.5,25.5C40.5,34,33.5,41,25,41S9.5,34,9.5,25.5S16.5,10,25,10S40.5,16.9,40.5,25.5z M10.5,25.5C10.5,33.5,17,40,25,40s14.5-6.5,14.5-14.5S33,11,25,11S10.5,17.5,10.5,25.5z\\\"/></g><polygon fill=\\\"#2A363B\\\" points=\\\"19.9,24 22.5,28 29,17.1 33.3,17.1 22.5,33.9 17.7,26.8 \\\"/></svg>\",\n \"check_simple\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon fill=\\\"#2A363B\\\" points=\\\"19.9,24 22.5,28 29,17.1 33.3,17.1 22.5,33.9 17.7,26.8 \\\"/></svg>\",\n \"check_thin\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"23.25 37.6 14.37 25.1 15.19 24.52 23.11 35.66 34.73 12.4 35.63 12.85 23.25 37.6\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"chevron_down_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M239 401c9.4 9.4 24.6 9.4 33.9 0L465 209c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-175 175L81 175c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L239 401z\\\"/></svg>\",\n \"chevron_up_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M239 111c9.4-9.4 24.6-9.4 33.9 0L465 303c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-175-175L81 337c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L239 111z\\\"/></svg>\",\n \"CirclePlusSkinny\": \"<svg preserveAspectRatio=\\\"none\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 50 50\\\" x=\\\"0px\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" y=\\\"0px\\\"><g transform=\\\" translate(10 10)\\\"><path d=\\\"M 16 8.668 C 16 9.402 15.402 10 14.668 10 L 10 10 L 10 14.668 C 10 15.402 9.402 16 8.668 16 L 7.337 16 C 6.598 16 6 15.402 6 14.668 L 6 10 L 1.337 10 C 0.598 10 0 9.402 0 8.668 L 0 7.332 C 0 6.599 0.598 6 1.337 6 L 6 6 L 6 1.333 C 6 0.598 6.598 0 7.337 0 L 8.668 0 C 9.402 0 10 0.598 10 1.333 L 10 6 L 14.668 6 C 15.402 6 16 6.599 16 7.332 L 16 8.668 Z\\\" fill=\\\"#1E2930\\\" transform=\\\" translate(7 7.47)\\\" /><path d=\\\"M 15 1 C 22.72 1 29 7.28 29 15 C 29 22.72 22.72 29 15 29 C 7.28 29 1 22.72 1 15 C 1 7.28 7.28 1 15 1 M 15 0 C 6.717 0 0 6.714 0 15 C 0 23.283 6.717 30 15 30 C 23.286 30 30 23.283 30 15 C 30 6.714 23.286 0 15 0 L 15 0 Z\\\" fill=\\\"#1E2930\\\" transform=\\\" translate(0 0.47)\\\" /></g></svg>\",\n \"client\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M30.3,25.39h-.43c-1,1.37-3,3-4.87,3s-3.9-1.64-4.87-3H19.7a3.68,3.68,0,0,0-3.53,3.39l2.35,2.58c0,1.56,1.59,7.14,3.54,7.14h5.88c1.95,0,3.53-5.58,3.53-7.14l2.36-2.58A3.68,3.68,0,0,0,30.3,25.39Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.9\\\"/><path d=\\\"M19.66,20.41a3.27,3.27,0,0,0-.08.7,5.43,5.43,0,0,0,10.83,0,4.05,4.05,0,0,0-.07-.7,35.41,35.41,0,0,1-5.36.47A34.08,34.08,0,0,1,19.66,20.41Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.9\\\"/><path d=\\\"M19.58,18.92a33.34,33.34,0,0,0,5.4.5,35,35,0,0,0,5.43-.5c-.9-.59,1.46-6.69,1.46-6.69s-2.44,3.57-3.95,3.65S25,12.23,25,12.23s-1.35,3.63-2.92,3.65-4-3.65-4-3.65S20.42,18.36,19.58,18.92Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.22,12.59a1.1,1.1,0,1,1-1.1-1.09A1.1,1.1,0,0,1,19.22,12.59Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M33,12.59a1.1,1.1,0,1,1-1.1-1.09A1.1,1.1,0,0,1,33,12.59Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M26.09,12.59A1.1,1.1,0,1,1,25,11.5,1.09,1.09,0,0,1,26.09,12.59Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"clock\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M25,10A15,15,0,1,0,40,25,15,15,0,0,0,25,10Zm0,27.5A12.5,12.5,0,1,1,37.5,25,12.52,12.52,0,0,1,25,37.5Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M26.41,26.24a1.68,1.68,0,1,1-1.67-1.68A1.67,1.67,0,0,1,26.41,26.24Z\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"23.06 26.24 24.74 16.48 26.41 26.24 23.06 26.24\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"24.74 24.56 32.15 26.24 24.74 27.91 24.74 24.56\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"clockArrow\": \"<svg preserveAspectRatio=\\\"none\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 50 50\\\" x=\\\"0px\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" y=\\\"0px\\\"><g transform=\\\" translate(9 10)\\\"><path d=\\\"M 9.467 4.834 C 14.581 5.457 18.544 9.811 18.544 15.094 C 18.544 20.804 13.915 25.433 8.205 25.433 C 6.521 25.433 4.935 25.028 3.53 24.315 L 3.53 27.598 L 0 27.598 C 2.326 29.081 5.087 29.943 8.051 29.943 C 16.335 29.943 23.051 23.228 23.051 14.943 C 23.051 7.084 17.005 0.641 9.312 0 L 9.467 4.834 Z\\\" fill=\\\"#1E2930\\\" transform=\\\" translate(8.589 0.057)\\\" /><path d=\\\"M 0 26.396 L 10.49 26.396 L 10.49 15.906 L 6.994 19.398 C 6.409 18.102 6.084 16.664 6.084 15.15 C 6.084 9.44 10.713 4.811 16.424 4.811 L 16.27 0 C 7.984 0 1.27 6.716 1.27 15 C 1.27 17.895 2.089 20.597 3.509 22.889 L 0 26.396 Z\\\" fill=\\\"#1E2930\\\" transform=\\\" translate(0.37 0)\\\" /><ellipse cx=\\\"17.0\\\" cy=\\\"16.0\\\" fill=\\\"#1E2930\\\" rx=\\\"1.0\\\" ry=\\\"1.0\\\" /><path d=\\\"M 0 7.808 L 1.342 0 L 2.683 7.808 L 0 7.808 Z\\\" fill=\\\"#1E2930\\\" transform=\\\" translate(15.452 8.182)\\\" /><path d=\\\"M 0 0 L 5.929 1.341 L 0 2.682 L 0 0 Z\\\" fill=\\\"#1E2930\\\" transform=\\\" translate(16.794 14.648)\\\" /></g></svg>\",\n \"cogWheelPlus\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M37.77,29.63H33.39V25.25A1.25,1.25,0,0,0,32.14,24H30.9a1.25,1.25,0,0,0-1.26,1.25v4.38H25.27A1.25,1.25,0,0,0,24,30.87v1.26a1.26,1.26,0,0,0,1.25,1.25h4.37v4.37A1.25,1.25,0,0,0,30.9,39h1.24a1.25,1.25,0,0,0,1.25-1.25V33.38h4.38A1.26,1.26,0,0,0,39,32.13V30.87A1.25,1.25,0,0,0,37.77,29.63Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.95\\\"/><path d=\\\"M22,32.13V30.87a3.25,3.25,0,0,1,3.25-3.24h2.37V25.25A3.26,3.26,0,0,1,30.9,22h1.24a3.26,3.26,0,0,1,3.25,3.17L36,25V22.1l-3.74-1a9.59,9.59,0,0,0-.83-2l1.82-3.2-2-2.05L28,15.61a9.36,9.36,0,0,0-2-.86L25,11H22.12l-1,3.71a9.32,9.32,0,0,0-2.11.88l-3.15-1.8-2.05,2.05L15.59,19a8.93,8.93,0,0,0-.86,2.09L11,22.1V25l3.77,1a9.16,9.16,0,0,0,.86,2l-1.82,3.17,2.05,2L19,31.43a8.93,8.93,0,0,0,2.07.85l1,3.72H25l.18-.63A3.25,3.25,0,0,1,22,32.13ZM19.86,23.5a3.65,3.65,0,1,1,3.64,3.64A3.64,3.64,0,0,1,19.86,23.5Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/></svg>\",\n \"cogWheels\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M30.24,31.09V28.75l-3-.83a7.42,7.42,0,0,0-.67-1.65L28,23.68,26.37,22,23.8,23.49a7.74,7.74,0,0,0-1.62-.69l-.83-3H19l-.82,3a7.73,7.73,0,0,0-1.7.71L13.93,22l-1.66,1.66,1.46,2.55a6.78,6.78,0,0,0-.7,1.69l-3,.83v2.34l3.05.83a7.25,7.25,0,0,0,.69,1.62l-1.47,2.57,1.66,1.66,2.58-1.48a7,7,0,0,0,1.67.69L19,40h2.35l.83-3a7.15,7.15,0,0,0,1.58-.67l2.61,1.49L28,36.11,26.53,33.5a7.58,7.58,0,0,0,.67-1.58ZM20.12,32.82a2.95,2.95,0,1,1,2.95-2.94A2.94,2.94,0,0,1,20.12,32.82Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M39.64,14.26l-2.19-.11a5.33,5.33,0,0,0-.71-.89,5,5,0,0,0-.89-.7l-.1-2.19L34.14,10l-.92,1.74a5.19,5.19,0,0,0-2.6.64l-1.94-1.11-1.16,1.16,1.1,1.92a5,5,0,0,0-.68,2.68L26.18,18l.36,1.61,2.2.11a5,5,0,0,0,1.58,1.58l.11,2.2,1.61.36L33,22.07a5.1,5.1,0,0,0,2.68-.68l1.92,1.1,1.16-1.17-1.11-1.93a5.12,5.12,0,0,0,.63-2.61L40,15.86Zm-5,4.25a2.26,2.26,0,1,1,0-3.19A2.26,2.26,0,0,1,34.69,18.51Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"column_options\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"-280 372 50 50\\\" enable-background=\\\"new -280 372 50 50\\\" ><g><rect x=\\\"-269\\\" y=\\\"389\\\" opacity=\\\"0.5\\\" fill=\\\"#29363E\\\" width=\\\"4\\\" height=\\\"22\\\"/><rect x=\\\"-263\\\" y=\\\"389\\\" fill=\\\"#29363E\\\" width=\\\"4\\\" height=\\\"22\\\"/><polygon opacity=\\\"0.5\\\" fill=\\\"#29363E\\\" points=\\\"-255.3,389 -257,389 -257,411 -253,411 -253,393.3 -254.3,393.3 \\\"/><polygon opacity=\\\"0.5\\\" fill=\\\"#29363E\\\" points=\\\"-251,411 -247,411 -247,397.3 -251,396.4 \\\"/><g><path fill=\\\"#29363E\\\" d=\\\"M-241.3,386.7l-1.9-0.1c-0.2-0.3-0.4-0.5-0.6-0.8c-0.2-0.2-0.5-0.4-0.8-0.6l-0.1-1.9l-1.4-0.3l-0.8,1.5c-0.8,0-1.6,0.2-2.3,0.6l-1.7-1l-1,1l1,1.7c-0.4,0.7-0.6,1.5-0.6,2.3l-1.5,0.8l0.3,1.4l1.9,0.1c0.2,0.3,0.4,0.5,0.6,0.8c0.2,0.2,0.5,0.4,0.8,0.6l0.1,1.9l1.4,0.3l0.8-1.5c0.8,0,1.6-0.2,2.3-0.6l1.7,1l1-1l-1-1.7c0.4-0.7,0.6-1.5,0.6-2.3l1.5-0.8L-241.3,386.7z M-245.6,390.4c-0.8,0.8-2,0.8-2.8,0c-0.8-0.8-0.8-2,0-2.8c0.8-0.8,2-0.8,2.8,0C-244.9,388.4-244.9,389.6-245.6,390.4z\\\"/></g></g></svg>\",\n \"company\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M16,11.17v28h7v-6h4v6h7v-28Zm16,19H18v-2H32Zm0-5H18v-2H32Zm0-5H18v-2H32Zm0-5H18v-2H32Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"company_flat\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M289.7,407v28h7v-6h4v6h7V407h-18Zm16,19h-14v-2h14v2Zm0-5h-14v-2h14v2Zm0-5h-14v-2h14v2Zm0-5h-14v-2h14v2Z\\\" transform=\\\"translate(-273.7 -396)\\\" fill=\\\"#4d5050\\\"/></svg>\",\n \"configurable\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"25 33.97 13.43 28.12 10 29.61 25 37.19 40 29.61 36.57 28.12 25 33.97\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><polygon points=\\\"25 28.82 13.43 22.98 10 24.47 25 32.05 40 24.47 36.57 22.98 25 28.82\\\" fill=\\\"#484f60\\\" opacity=\\\"0.75\\\"/><polygon points=\\\"40 19.33 25 26.9 10 19.33 25 12.81 40 19.33\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"consultant\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M30.89,25.63h-.48C29.33,27.15,27.09,29,25,29s-4.33-1.82-5.41-3.34h-.48a4.1,4.1,0,0,0-3.92,3.76l2.62,2.88c0,1.72,1.76,7.93,3.92,7.93h6.54c2.17,0,3.93-6.21,3.93-7.93l2.61-2.88A4.1,4.1,0,0,0,30.89,25.63Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.07,20.1a4,4,0,0,0-.09.77,6,6,0,0,0,12,0,4,4,0,0,0-.09-.77,40,40,0,0,1-5.95.52A38.67,38.67,0,0,1,19.07,20.1Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M35.17,17.4A5,5,0,0,1,31,15.11c-4.11-6.37-8.19-6.81-12.1-.23a5,5,0,0,1-4.12,2.5l-.62,0v1l4.82,0A36.84,36.84,0,0,0,25,19a38.65,38.65,0,0,0,6-.56l4.82,0v-1Zm-7.31-2.27A1.17,1.17,0,1,1,29,14,1.17,1.17,0,0,1,27.86,15.13Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"copy\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M29.13,40a.37.37,0,0,1-.37-.37V33.37H22.5a.38.38,0,0,1-.38-.37V31.52a.37.37,0,0,1,.38-.36h6.26V24.89a.37.37,0,0,1,.37-.37H30.6a.38.38,0,0,1,.37.37v6.27h6.26a.37.37,0,0,1,.37.36V33a.38.38,0,0,1-.37.37H31v6.26a.38.38,0,0,1-.37.37Z\\\" fill=\\\"#484f60\\\"/><g opacity=\\\"0.5\\\"><path d=\\\"M37.6,29.69V16.79H36.4V29.66h.83A2.22,2.22,0,0,1,37.6,29.69Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.6,11.6a.4.4,0,0,1,.4-.4H31V10H20a1.6,1.6,0,0,0-1.6,1.6v2.9h1.2Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M32.62,16.79h5L31,10v5.15C31,16.57,31.2,16.79,32.62,16.79Z\\\" fill=\\\"#484f60\\\"/></g><g opacity=\\\"0.75\\\"><path d=\\\"M27.26,38.8H14a.4.4,0,0,1-.4-.4V17.6a.4.4,0,0,1,.4-.4H25V16H14a1.6,1.6,0,0,0-1.6,1.6V38.4A1.6,1.6,0,0,0,14,40H27.29a2.22,2.22,0,0,1,0-.37Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M31.6,23.32v-.53H30.4V23h.2A1.81,1.81,0,0,1,31.6,23.32Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M25,16v5.15c0,1.42.21,1.64,1.63,1.64h5Z\\\" fill=\\\"#484f60\\\"/></g></svg>\",\n \"crosshair_1\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M25,35.5A10.5,10.5,0,1,1,35.5,25,10.51,10.51,0,0,1,25,35.5Zm0-20A9.5,9.5,0,1,0,34.5,25,9.51,9.51,0,0,0,25,15.5Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M25,31a6,6,0,1,1,6-6,6,6,0,0,1-6,6Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"24.5\\\" width=\\\"5\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><rect x=\\\"35\\\" y=\\\"24.5\\\" width=\\\"5\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><rect x=\\\"24.5\\\" y=\\\"35\\\" width=\\\"1\\\" height=\\\"5\\\" fill=\\\"#484f60\\\"/><rect x=\\\"24.5\\\" y=\\\"10\\\" width=\\\"1\\\" height=\\\"5\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"CrossSkinny\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"35.35 15.52 34.65 14.81 25 24.46 15.35 14.81 14.65 15.52 24.29 25.17 14.65 34.81 15.35 35.52 25 25.87 34.65 35.52 35.35 34.81 25.71 25.17 35.35 15.52\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"dashboard\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"10\\\" y=\\\"14.87\\\" width=\\\"14.17\\\" height=\\\"9.3\\\" rx=\\\"0.44\\\" ry=\\\"0.44\\\" fill=\\\"#484f60\\\"/><rect x=\\\"25.83\\\" y=\\\"14.87\\\" width=\\\"14.17\\\" height=\\\"9.3\\\" rx=\\\"0.44\\\" ry=\\\"0.44\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"25.83\\\" width=\\\"14.17\\\" height=\\\"9.3\\\" rx=\\\"0.44\\\" ry=\\\"0.44\\\" fill=\\\"#484f60\\\"/><rect x=\\\"25.83\\\" y=\\\"25.83\\\" width=\\\"14.17\\\" height=\\\"9.3\\\" rx=\\\"0.44\\\" ry=\\\"0.44\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/></svg>\",\n \"delivery_method\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 50 50\\\" enable-background=\\\"new 0 0 50 50\\\" ><g><g><path fill=\\\"#282828\\\" d=\\\"M34,10c0-0.6-0.5-1-1-1H17.8c-0.6,0-1,0.4-1,1v5.8c0,0.5,0,1,0,1c0,0,0.1-0.4,0.2-1l0.1-1.1c0.1-0.5,0.1-1.3,0.2-1.8c0-0.4,0.4-0.9,0.8-1.1c0.4-0.2,1.1-0.4,1.7-0.6c0,0,3.7-1.2,5.5-1.2c2.7,0,4.8,0.8,6.2,2.4c1.2,1.3,1.8,3.5,1.8,3.5c0.1,0.5,0.4,1,0.5,1c0.1,0,0.2-0.5,0.2-1V10z\\\"/></g><path fill=\\\"#282828\\\" d=\\\"M16.6,17.7h-0.9v-6.6h-4.9l-1.8,4v4.3h0.7c0.2-1.4,1.3-2.4,2.7-2.4c1.4,0,2.6,1.1,2.7,2.4h1.1l0.2-0.9C16.5,18.2,16.6,18,16.6,17.7z M14.2,14.5c0,0.4-0.3,0.8-0.8,0.8h-2.2c-0.4,0-0.8-0.3-0.8-0.8c0,0,1-2.6,1.6-2.6c0.5,0,1.4,0,1.4,0c0.4,0,0.8,0.3,0.8,0.8V14.5z\\\"/><path fill=\\\"#282828\\\" d=\\\"M23.8,18.4C23.8,18.4,23.7,18.4,23.8,18.4c-0.3,0-0.4,0-0.4,0.1c0,0,0,0,0,0c0,0-0.2,0.2-0.5,0.9h0.7c0.2-0.5,0.2-0.7,0.2-0.8C23.8,18.5,23.8,18.5,23.8,18.4z\\\"/><g><path fill=\\\"#282828\\\" d=\\\"M34,18.2c0-0.3-0.1-0.5-0.2-0.5s-0.2,0.2-0.2,0.4c0,0.2,0,0.7,0.2,0.6S34,18.4,34,18.2z\\\"/></g><circle fill=\\\"#282828\\\" cx=\\\"12.5\\\" cy=\\\"19.7\\\" r=\\\"2\\\"/><path fill=\\\"#282828\\\" d=\\\"M39.9,28H28c-0.1,0.1-0.1,0.3-0.2,0.4c-0.1,0.2-0.2,0.6-0.3,1.5c0.3,0.2,0.5,0.4,0.8,0.6c1.1,1.1,1.6,2.4,1.6,3.9c0,0.3,0,0.7-0.1,1c0.5,0.2,0.9,0.4,1.2,0.4h0c2.1-0.1,9.3-6.2,10-6.8C41,28.5,40.5,28,39.9,28z\\\"/><path fill=\\\"#282828\\\" d=\\\"M35.6,34.3c2.3-1.6,4.6-3.5,5.4-4.2v8.7L35.6,34.3z\\\"/><path fill=\\\"#282828\\\" d=\\\"M35,34.9c-1.9,1.3-3.2,2-4,2c-0.4,0-0.9-0.2-1.5-0.4c-0.3,0.7-0.7,1.4-1.3,2c-1.1,1.1-2.4,1.6-3.9,1.6c-1,0-2-0.3-2.8-0.8L21,39.6v0.3c0,0.6,0.5,1.1,1.1,1.1h17.8c0.6,0,1.1-0.5,1.1-1.1v-0.3L35,34.9z\\\"/><path fill=\\\"#282828\\\" d=\\\"M20.4,19h-1.4c0.4-1.9,0.7-3.6,0.8-5.2c2.2-0.9,4-1.4,5.5-1.4c2,0,3.4,0.5,4.4,1.6c1,1,1.5,2.2,1.5,3.6c0,0.6-0.1,1.2-0.3,1.8c-0.2,0.6-0.5,1.3-1,2c-0.3,0.4-0.9,1.2-1.9,2.6c-1,1.3-1.6,2.1-1.7,2.2c-0.2,0.4-0.4,0.8-0.6,1.4c-0.2,0.5-0.4,1.3-0.5,2.3h-1.7c0-1.5,0.2-2.7,0.5-3.8c0.3-1.1,0.8-2.5,1.7-4.3c0.7-1.4,1-2.4,1-3.2c0-0.8-0.2-1.5-0.7-2c-0.5-0.5-1.1-0.7-1.9-0.7c-0.7,0-1.3,0.2-1.9,0.6C21.3,17,20.8,17.8,20.4,19z\\\"/><path fill=\\\"#282828\\\" d=\\\"M24.3,31.5c0.8,0,1.6,0.3,2.1,0.9c0.6,0.6,0.9,1.3,0.9,2.1c0,0.8-0.3,1.6-0.9,2.1c-0.6,0.6-1.3,0.9-2.1,0.9c-0.8,0-1.5-0.3-2.1-0.9c-0.6-0.6-0.9-1.3-0.9-2.1c0-0.8,0.3-1.6,0.9-2.1C22.8,31.8,23.5,31.5,24.3,31.5z\\\"/></g></svg>\",\n \"delivery_status_uncheck\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 50 50\\\" style=\\\"enable-background:new 0 0 50 50;\\\" ><style type=\\\"text/css\\\">.rect{fill:#514F4F;}</style><path class=\\\"rect\\\" d=\\\"M50,50H0.1V0H50V50z M41.5,8.2H8.6v33.2h32.9V8.2z\\\"/></svg>\",\n \"delivery_truck\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"15.35\\\" y=\\\"16.56\\\" width=\\\"15.14\\\" height=\\\"10.94\\\" transform=\\\"translate(-1.83 2.08) rotate(-5)\\\" fill=\\\"#484f60\\\"/><path d=\\\"M38.5,18.1l-6.9.61L32.41,28l-7.63.67a3.76,3.76,0,0,1,1.43,2.25l7.25-.63A3.83,3.83,0,0,1,41,29.6l1-.1-.52-6Zm.29,5.84-3.91.34a.51.51,0,0,1-.55-.46L34,20.1a.49.49,0,0,1,.45-.54l2.27-.2a.5.5,0,0,1,.48.25l2,3.59A.5.5,0,0,1,38.79,23.94Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.66,29.09a3.8,3.8,0,0,0-1,2.46l-.74.07-1.82-.94L16,29.41Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M34.56,30.62a2.74,2.74,0,1,0,2.49-3A2.73,2.73,0,0,0,34.56,30.62Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.74,31.91a2.74,2.74,0,1,0,2.49-3A2.74,2.74,0,0,0,19.74,31.91Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"7.96\\\" y=\\\"17.63\\\" width=\\\"5\\\" height=\\\"1\\\" transform=\\\"translate(-1.54 0.98) rotate(-5)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"11.02\\\" y=\\\"29.71\\\" width=\\\"3\\\" height=\\\"1\\\" transform=\\\"translate(-2.59 1.21) rotate(-5)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"9.48\\\" y=\\\"23.53\\\" width=\\\"4\\\" height=\\\"1\\\" transform=\\\"matrix(1, -0.09, 0.09, 1, -2.05, 1.09)\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"detail_record\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M19.37,13.17H10v4h5.64a10.12,10.12,0,0,1,1.84-2.52A9.56,9.56,0,0,1,19.37,13.17Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><path d=\\\"M33.7,17.17H40v-4H30a9.8,9.8,0,0,1,1.88,1.48A10,10,0,0,1,33.7,17.17Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><path d=\\\"M22.79,17.73h3.75a4.56,4.56,0,0,0-1.87-.41A4.6,4.6,0,0,0,22.79,17.73Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><path d=\\\"M14.87,19.17H10v4h4.6A10.37,10.37,0,0,1,14.87,19.17Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M34.74,23.17H40v-4H34.47a10.28,10.28,0,0,1,.36,2.66A9.94,9.94,0,0,1,34.74,23.17Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M28.52,19.49h-7.7a4.54,4.54,0,0,0-.5,3.52H29A4.5,4.5,0,0,0,28.52,19.49Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.75\\\"/><path d=\\\"M36.14,27.61l1.56,1.56H40v-4H34.26a11,11,0,0,1-.6,1.42A3.48,3.48,0,0,1,36.14,27.61Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><path d=\\\"M15.08,25.17H10v4h7.64L17.48,29A10,10,0,0,1,15.08,25.17Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><path d=\\\"M24.67,26.35A4.48,4.48,0,0,0,27.86,25a1.86,1.86,0,0,0,.22-.27H21.25c.08.09.14.19.22.27A4.5,4.5,0,0,0,24.67,26.35Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><polygon points=\\\"40 31.17 39.7 31.17 40 31.47 40 31.17\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><path d=\\\"M30.79,15.71a8.66,8.66,0,1,0,0,12.25A8.65,8.65,0,0,0,30.79,15.71ZM29.37,26.53a6.65,6.65,0,1,1,0-9.4A6.64,6.64,0,0,1,29.37,26.53Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M39.41,33l-4.33-4.33a2,2,0,0,0-2.86,0l-.71.72a2,2,0,0,0,0,2.86l4.32,4.32a2,2,0,0,0,2.87,0l.71-.71A2,2,0,0,0,39.41,33Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"detail_view\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"34.55 26.18 34.55 37.49 12.44 37.49 12.44 15.38 24.68 15.38 25.59 14.48 24.05 12.94 10 12.94 10 39.94 36.99 39.94 36.99 25.88 35.92 24.81 34.55 26.18\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"40 10.4 27.92 10.4 32 14.48 22.24 26.23 24.16 28.15 35.92 18.4 40 22.48 40 10.4\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"dictionary\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M27.91,11l-14,17.21,11.19,5.42,14.4-18.4ZM24.38,26l-.18-.42a.91.91,0,0,0-.07-.14L24,25.33l-.15-.16L23.68,25a1.84,1.84,0,0,0-.59-.27,1.51,1.51,0,0,0-.6,0,1.8,1.8,0,0,0-.65.27,3.19,3.19,0,0,0-.67.58,3.13,3.13,0,0,0-.48.7,1.63,1.63,0,0,0-.18.64,1.15,1.15,0,0,0,.1.55A1.49,1.49,0,0,0,21,28c.07.05.14.11.21.15l.22.13a1,1,0,0,0,.21.09.61.61,0,0,0,.18.05l.51.1-.69,1.26-.26,0a1.29,1.29,0,0,1-.31-.08,2.14,2.14,0,0,1-.35-.16c-.12-.06-.24-.14-.37-.22L20,29a2.75,2.75,0,0,1-.69-.92A2.35,2.35,0,0,1,19.07,27a3,3,0,0,1,.27-1.14,4.53,4.53,0,0,1,.76-1.12,4.32,4.32,0,0,1,1-.86,3.42,3.42,0,0,1,1.12-.43,2.78,2.78,0,0,1,1.15,0,2.91,2.91,0,0,1,1.1.48,3.51,3.51,0,0,1,.36.29l.26.27c.07.09.14.17.19.25a.9.9,0,0,1,.11.22l.12.28ZM29.07,20a1.44,1.44,0,0,1-.13.32,1.68,1.68,0,0,1-.2.29,1.59,1.59,0,0,1-.36.32,2.19,2.19,0,0,1-.44.2l-.29.07a1,1,0,0,1,.05.24,1.6,1.6,0,0,1-.07.57,1.84,1.84,0,0,1-.33.57,2.57,2.57,0,0,1-.29.28,1.69,1.69,0,0,1-.31.21,2,2,0,0,1-.34.14,1.3,1.3,0,0,1-.34.08,1.36,1.36,0,0,1-.29,0h-.18a2.13,2.13,0,0,1-.49-.1,3.89,3.89,0,0,1-.49-.2,5.21,5.21,0,0,1-.49-.29l-.25-.17-.21-.16-.17-.14-.13-.12-.27-.25,3.67-4.1.22.06.24.08.27.1.27.13.29.14a4,4,0,0,1,.37.23,2.65,2.65,0,0,1,.3.25,1.6,1.6,0,0,1,.23.3,1.3,1.3,0,0,1,.14.32,1.35,1.35,0,0,1,.05.29A1.66,1.66,0,0,1,29.07,20Zm.83-1.49.53-1.36-.93-.45-1.38.89-1.28-.66,5-3.19,1.14.48-1.85,4.94Z\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"25.16 39.84 10.92 31.84 10 29.86 10.02 28.18 10.32 27.45 10.9 27.69 10.63 28.36 10.63 29.79 11.39 31.39 25 39.03 38.84 20.86 38.59 20.83 38.87 15.61 39.49 15.65 39.25 20.28 40 20.38 25.16 39.84 25.16 39.84\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"25.55 10.15 10.61 27.57 11.78 27.3 13.33 28.03 27.34 10.82 25.55 10.15\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"25.27 38.88 24.64 38.88 24.64 33.58 25.27 33.58 25.27 38.88 25.27 38.88\\\" fill=\\\"#484f60\\\"/><path d=\\\"M29.88,15.93l1.25-.8.19-.13.19-.13.18-.13.17-.13h0l-.09.16a.89.89,0,0,1-.08.17l-.08.18c0,.06-.05.13-.08.19l-.45,1.19-1.22-.58\\\" fill=\\\"#484f60\\\"/><path d=\\\"M24.78,22.05,24.66,22l-.11-.08-.09-.07-.07-.06,1.29-1.47.41.25a2.14,2.14,0,0,1,.36.28,1.12,1.12,0,0,1,.21.34.66.66,0,0,1,0,.37,1,1,0,0,1-.22.4,1.27,1.27,0,0,1-.4.31,1,1,0,0,1-.44.09,1.29,1.29,0,0,1-.43-.07,1.77,1.77,0,0,1-.41-.21\\\" fill=\\\"#484f60\\\"/><path d=\\\"M26,19.93l1.06-1.19.08,0,.11,0,.13.06.15.08a1.74,1.74,0,0,1,.33.23.72.72,0,0,1,.18.26.51.51,0,0,1,0,.3.7.7,0,0,1-.18.32,1,1,0,0,1-.28.22,1,1,0,0,1-.35.1,1,1,0,0,1-.38,0,1.24,1.24,0,0,1-.4-.16L26,19.93\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"documents\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><g opacity=\\\"0.5\\\"><path d=\\\"M36.4,16.79V32.4a.4.4,0,0,1-.3.38V34a1.59,1.59,0,0,0,1.5-1.59V16.79Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M20,11.2H31V10H20a1.59,1.59,0,0,0-1.59,1.5h1.21A.4.4,0,0,1,20,11.2Z\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"37.6 16.79 30.98 10 30.98 13.93 33.77 16.79 37.6 16.79\\\" fill=\\\"#484f60\\\"/></g><rect x=\\\"16\\\" y=\\\"21.2\\\" width=\\\"7.2\\\" height=\\\"0.8\\\" fill=\\\"#484f60\\\"/><rect x=\\\"16\\\" y=\\\"24.4\\\" width=\\\"12\\\" height=\\\"0.8\\\" fill=\\\"#484f60\\\"/><rect x=\\\"16\\\" y=\\\"27.6\\\" width=\\\"12\\\" height=\\\"0.8\\\" fill=\\\"#484f60\\\"/><rect x=\\\"16\\\" y=\\\"30.8\\\" width=\\\"12\\\" height=\\\"0.8\\\" fill=\\\"#484f60\\\"/><rect x=\\\"16\\\" y=\\\"34\\\" width=\\\"12\\\" height=\\\"0.8\\\" fill=\\\"#484f60\\\"/><path d=\\\"M30.4,22.79V38.4a.4.4,0,0,1-.4.4H14a.4.4,0,0,1-.4-.4V17.6a.4.4,0,0,1,.4-.4H25V16H14a1.6,1.6,0,0,0-1.6,1.6V38.4A1.6,1.6,0,0,0,14,40H30a1.6,1.6,0,0,0,1.6-1.6V22.79Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M25,16v5.15c0,1.42.21,1.64,1.63,1.64h5Z\\\" fill=\\\"#484f60\\\"/><g opacity=\\\"0.75\\\"><path d=\\\"M33.4,19.79V35.4a.4.4,0,0,1-.3.38V37a1.59,1.59,0,0,0,1.5-1.59V19.79Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M17,14.2H28V13H17a1.59,1.59,0,0,0-1.59,1.5h1.21A.4.4,0,0,1,17,14.2Z\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"34.6 19.79 27.98 13 27.98 16.93 30.77 19.79 34.6 19.79\\\" fill=\\\"#484f60\\\"/></g></svg>\",\n \"documentWrench\": \"<svg preserveAspectRatio=\\\"none\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 50 50\\\" x=\\\"0px\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" y=\\\"0px\\\"><g transform=\\\" translate(7 8)\\\"><path d=\\\"M 2.285 8.999 L 8.785 8.999 L 0 0 L 0 6.715 C 0 8.701 0.299 8.999 2.285 8.999 Z\\\" fill=\\\"#1E2930\\\" transform=\\\" translate(15.846 0.445)\\\" /><path d=\\\"M 2.292 3.619 C 1.833 4.208 1.397 4.805 0.961 5.4 C 0.646 5.83 0.327 6.264 0 6.697 L 2.748 6.697 C 4.732 6.697 5.033 6.397 5.033 4.412 L 5.033 0 C 4.428 0.723 3.847 1.516 3.325 2.23 C 2.965 2.725 2.621 3.195 2.292 3.619 Z\\\" fill=\\\"#1E2930\\\" transform=\\\" translate(20.049 25.271)\\\" /><path d=\\\"M 17.213 11.437 C 14.158 11.437 12.969 10.247 12.969 7.191 L 12.969 0 L 2.285 0 C 0.299 0 0 0.298 0 2.284 L 0 29.715 C 0 31.7 0.299 32 2.285 32 L 8.207 32 C 8.256 31.577 8.354 31.15 8.51 30.727 C 9.287 28.621 11.28 26.936 13.04 25.449 C 13.629 24.951 14.186 24.481 14.606 24.066 C 14.947 23.731 15.296 23.395 15.648 23.055 C 17.164 21.59 18.731 20.074 19.846 18.458 C 19.582 18.841 19.289 19.217 18.981 19.589 L 16.799 19.589 L 16.799 17.628 L 20.292 17.628 C 20.162 17.923 20.021 18.205 19.846 18.458 C 20.436 17.604 20.719 16.481 21.02 15.293 C 20.986 15.422 20.953 15.547 20.92 15.674 L 16.799 15.674 L 16.799 13.713 L 21.184 13.713 L 21.184 14.664 C 21.129 14.875 21.071 15.089 21.02 15.293 C 21.326 14.082 21.688 12.727 22.411 11.437 L 17.213 11.437 Z M 2.846 2.584 L 9.395 2.584 L 9.395 4.545 L 2.846 4.545 L 2.846 2.584 Z M 2.846 5.203 L 9.395 5.203 L 9.395 7.164 L 2.846 7.164 L 2.846 5.203 Z M 15.09 23.504 L 2.846 23.504 L 2.846 21.543 L 15.09 21.543 L 15.09 23.504 Z M 15.09 19.589 L 2.846 19.589 L 2.846 17.628 L 15.09 17.628 L 15.09 19.589 Z M 15.09 15.674 L 2.846 15.674 L 2.846 13.713 L 15.09 13.713 L 15.09 15.674 Z\\\" fill=\\\"#1E2930\\\" transform=\\\" translate(0.918 -0.032)\\\" /><g transform=\\\" translate(11 10)\\\"><path d=\\\"M 21.362 10.038 L 19.963 7.522 L 18.596 5.042 L 17.358 2.848 C 17.358 2.848 20.315 1.067 21.154 0.577 C 18.858 -0.421 15.629 -0.251 14.137 2.145 C 12.687 4.471 12.872 7.364 11.332 9.596 C 9.835 11.766 7.721 13.651 5.85 15.495 C 4.161 17.157 1.053 19.181 0.226 21.421 C -0.809 24.226 2.071 26.348 4.598 23.982 C 6.642 22.065 8.028 19.823 9.684 17.697 C 11.193 15.757 13.033 12.746 15.235 11.548 C 17.201 10.467 19.629 11.444 21.362 10.038 Z M 13.658 6.924 C 13.619 6.854 13.643 6.76 13.715 6.719 L 14.528 6.258 L 16.576 9.854 L 15.768 10.319 C 15.694 10.36 15.6 10.334 15.561 10.26 L 13.658 6.924 Z M 1.72 23.174 C 1.002 22.514 0.953 21.394 1.612 20.676 C 2.274 19.958 3.393 19.909 4.112 20.567 C 4.832 21.228 4.879 22.346 4.22 23.067 C 3.556 23.787 2.44 23.839 1.72 23.174 Z M 15.537 5.676 L 16.465 5.149 C 16.535 5.108 16.627 5.133 16.666 5.206 L 18.57 8.542 C 18.613 8.614 18.584 8.704 18.512 8.747 L 17.588 9.274 L 15.537 5.676 Z\\\" fill=\\\"#1E2930\\\" transform=\\\" translate(0.078 -0.034)\\\" /></g><g transform=\\\" translate(31 15)\\\"><path d=\\\"M 1.553 4.213 C 2.477 3.111 3.555 1.521 3.359 0 C 2.328 0.611 0.713 1.549 0 1.816 L 1.396 4.334 C 1.396 4.334 1.4 4.389 1.553 4.213 Z\\\" fill=\\\"#1E2930\\\" transform=\\\" translate(0.699 0.163)\\\" /></g></g></svg>\",\n \"dollar\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M24.26,39.17V36.39a10.33,10.33,0,0,1-3.39-.94,5.9,5.9,0,0,1-2.26-2.17,7.77,7.77,0,0,1-1.1-3.66l2.79-.53a7,7,0,0,0,1.15,3.29A4.08,4.08,0,0,0,24.26,34V25.18a11.44,11.44,0,0,1-3.51-1.33A5.12,5.12,0,0,1,18.7,21.8a6.11,6.11,0,0,1-.72-3A6.1,6.1,0,0,1,20.09,14a7.26,7.26,0,0,1,4.17-1.51V11.17H25.9V12.5a6.76,6.76,0,0,1,3.84,1.42,6.31,6.31,0,0,1,2.2,4.15l-2.88.44A4.68,4.68,0,0,0,28,16a3.8,3.8,0,0,0-2.14-1.16v8a23.43,23.43,0,0,1,2.78.82,6.91,6.91,0,0,1,2.11,1.39A5.56,5.56,0,0,1,32.05,27a6.53,6.53,0,0,1,.44,2.44,6.66,6.66,0,0,1-6.59,6.89v2.82Zm0-24.36a4.16,4.16,0,0,0-2.56,1.3,3.63,3.63,0,0,0-.93,2.49A3.6,3.6,0,0,0,21.56,21a5.46,5.46,0,0,0,2.7,1.53ZM25.9,34a4.18,4.18,0,0,0,2.68-1.41,4.38,4.38,0,0,0,1.06-3,3.76,3.76,0,0,0-.75-2.44,6.48,6.48,0,0,0-3-1.64Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"download\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M31,38.87H19a9,9,0,0,1-9-9h4a5,5,0,0,0,5,5H31a5,5,0,0,0,5-5h4A9,9,0,0,1,31,38.87Z\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"16.22 21.1 21.94 21.1 21.94 11.46 28.06 11.46 28.06 21.1 33.78 21.1 25 29.87 16.22 21.1\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"dropdown\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><path d=\\\"M298,406.5a15,15,0,1,0,15,15A15,15,0,0,0,298,406.5Zm7.5,13.2-6.2,6.2a1.8,1.8,0,0,1-2.5,0l-6.2-6.2a1.8,1.8,0,1,1,2.5-2.5l5,4.9,4.9-4.9A1.8,1.8,0,1,1,305.5,419.6Z\\\" transform=\\\"translate(-272.5 -396)\\\" fill=\\\"#fff\\\"/></svg>\",\n \"dropzone\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"12\\\" y=\\\"11.67\\\" width=\\\"14\\\" height=\\\"6\\\" rx=\\\"2\\\" ry=\\\"2\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><path d=\\\"M26.52,23.16l-.94-.47L24,20.16l-1.23-1.61-.65-.85-1.52-1.59L18.5,14.94H17.35l-.7.7.41.91,2.47,2.21L20.09,20l1.7,2.71.82,2.26.06.74L22.76,28l-.24-.86-1-.94-.79-1L19,23.51l-1.06-.35-.88.24-.7.61,1.32,1.44,1.55,2,2.15,3.73,2.2,2,1.82,1.14,2.44,1.06,1.91,1,2,1,.23,1.3,6-6v-.91s-.91-1-1-1a16.83,16.83,0,0,1-.82-1.65l-.47-1.91-.35-1L34,24.54l-.85-1.12-.5-.82-.88-1.14L31,20.69l-1.33-.86-.22.42,1.39,2.12-.94-.47-.86-1.48L27.72,19l-1.06-.15,0,.59,2.1,3.09-.94-.47L26,19.2l-1.22-.86-1.29.12.18.56Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M26,11.67H25a2,2,0,0,1,2,2v2a2,2,0,0,1-2,2h1a2,2,0,0,0,2-2v-2A2,2,0,0,0,26,11.67Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><path d=\\\"M28,11.67H27a2,2,0,0,1,2,2v2a2,2,0,0,1-2,2h1a2,2,0,0,0,2-2v-2A2,2,0,0,0,28,11.67Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><path d=\\\"M30,11.67H29a2,2,0,0,1,2,2v2a2,2,0,0,1-2,2h1a2,2,0,0,0,2-2v-2A2,2,0,0,0,30,11.67Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.1\\\"/></svg>\",\n \"edit_pencil\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"12.54 38.16 12 37.62 14.85 29.64 20.52 35.31 12.54 38.16\\\" fill=\\\"#484f60\\\"/><rect x=\\\"16.33\\\" y=\\\"20.52\\\" width=\\\"17.99\\\" height=\\\"8.64\\\" transform=\\\"translate(-10.15 25.18) rotate(-45)\\\" fill=\\\"#484f60\\\"/><path d=\\\"M37.54,18.73,36,20.32l-6.11-6.1,1.59-1.59a1.55,1.55,0,0,1,2.2,0l3.91,3.9A1.55,1.55,0,0,1,37.54,18.73Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"edit_pencil_circle\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"17.19 33.03 16.86 32.69 18.61 27.78 22.1 31.27 17.19 33.03\\\" fill=\\\"#484f60\\\"/><rect x=\\\"19.52\\\" y=\\\"22.17\\\" width=\\\"11.07\\\" height=\\\"5.32\\\" transform=\\\"translate(-10.22 24.99) rotate(-45)\\\" fill=\\\"#484f60\\\"/><path d=\\\"M32.57,21.07l-1,1-3.77-3.76,1-1a1,1,0,0,1,1.36,0l2.4,2.4A1,1,0,0,1,32.57,21.07Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M25,11.17a14,14,0,1,1-14,14,14,14,0,0,1,14-14m0-1a15,15,0,1,0,15,15,15,15,0,0,0-15-15Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"edit_pencil_round\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"-288 379 35 35\\\" enable-background=\\\"new -288 379 35 35\\\" ><g><path fill=\\\"#29363E\\\" d=\\\"M-270.5,381.5c-8.3,0-15,6.7-15,15c0,8.3,6.7,15,15,15c8.3,0,15-6.7,15-15C-255.5,388.2-262.2,381.5-270.5,381.5z M-277.9,404.5l-0.6-0.6l0.5-1.5l1.6,1.6L-277.9,404.5z M-275.5,403.8l-2.4-2.4l1-3.3l4.6,4.6L-275.5,403.8z M-271.4,402.4l-4.9-4.9l8.9-8.9l5,4.9L-271.4,402.4z M-260.8,391.8l-1.1,1.1l-5-4.9l1.1-1.1c0.4-0.4,1.1-0.4,1.5,0l3.4,3.4C-260.4,390.7-260.4,391.3-260.8,391.8z\\\"/></g></svg>\",\n \"edit_pencil_simple\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"-280 371 51 51\\\" enable-background=\\\"new -280 371 51 51\\\" ><g><rect x=\\\"-263\\\" y=\\\"395.3\\\" transform=\\\"matrix(0.7071 -0.7071 0.7071 0.7071 -354.9541 -65.7895)\\\" fill=\\\"#29363E\\\" width=\\\"12.2\\\" height=\\\"0.6\\\"/><rect x=\\\"-256.5\\\" y=\\\"391.6\\\" transform=\\\"matrix(0.7075 0.7067 -0.7067 0.7075 206.5985 296.3285)\\\" fill=\\\"#29363E\\\" width=\\\"3.6\\\" height=\\\"12.2\\\"/><path fill=\\\"#29363E\\\" d=\\\"M-245.4,389.7l-2.4-2.4c-0.4-0.4-0.9-0.4-1.3,0l-0.9,0.9l3.7,3.7l0.9-0.9C-245,390.6-245,390.1-245.4,389.7z\\\"/><rect x=\\\"-252.1\\\" y=\\\"390.7\\\" transform=\\\"matrix(-0.7073 -0.707 0.707 -0.7073 -702.755 491.9368)\\\" fill=\\\"#29363E\\\" width=\\\"5.2\\\" height=\\\"1.5\\\"/><polygon fill=\\\"#29363E\\\" points=\\\"-262.4,400.9 -263.9,405.5 -263.4,406 -259,404.4 \\\"/></g></svg>\",\n \"email\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M31.79,38.45A17.82,17.82,0,0,1,23.86,40,13.09,13.09,0,0,1,10.41,26.42C10.41,17.63,16.83,10,26.53,10c7.63,0,13.06,5.21,13.06,12.46,0,6.33-3.53,10.3-8.19,10.3a3.42,3.42,0,0,1-3.71-3.32h-.08A6.5,6.5,0,0,1,22,32.76c-2.75,0-4.82-2.11-4.82-5.65a9.85,9.85,0,0,1,10.13-10,12.89,12.89,0,0,1,5.13,1l-1.3,8c-.43,2.54-.13,3.71,1.08,3.75,1.85.09,4.18-2.28,4.18-7.28,0-5.65-3.62-10-10.3-10S13.73,17.76,13.73,26c0,7.25,4.57,11.3,11,11.3A14.81,14.81,0,0,0,31,36ZM28,20.65a5.34,5.34,0,0,0-1.33-.18c-2.85,0-5.09,2.81-5.09,6.12,0,1.64.73,2.68,2.16,2.68,1.59,0,3.27-2,3.66-4.53Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"email_round_open\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><path d=\\\"M302.1,429.5a10.7,10.7,0,0,1-4.8.9,7.9,7.9,0,0,1-8.1-8.1,9.6,9.6,0,0,1,9.7-9.9c4.6,0,7.8,3.1,7.8,7.5s-2.1,6.2-4.9,6.2a2,2,0,0,1-2.2-2h-0.1a3.9,3.9,0,0,1-3.4,2c-1.7,0-2.9-1.3-2.9-3.4a5.9,5.9,0,0,1,6.1-6,7.7,7.7,0,0,1,3.1.6l-0.8,4.8c-0.3,1.5-.1,2.2.6,2.3s2.5-1.4,2.5-4.4-2.2-6-6.2-6-7.4,3.1-7.4,8,2.7,6.8,6.6,6.8a8.9,8.9,0,0,0,3.8-.8Zm-2.3-10.7H299c-1.7,0-3.1,1.7-3.1,3.7a1.3,1.3,0,0,0,1.3,1.6c1,0,2-1.2,2.2-2.7Z\\\" transform=\\\"translate(-272.5 -396)\\\" fill=\\\"#fff\\\"/><path d=\\\"M298,437a15.5,15.5,0,1,1,15.5-15.5A15.5,15.5,0,0,1,298,437Zm0-30a14.5,14.5,0,1,0,14.5,14.5A14.5,14.5,0,0,0,298,407Z\\\" transform=\\\"translate(-272.5 -396)\\\" fill=\\\"#fff\\\"/></svg>\",\n \"employee\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M31.05,22.53h-.49a9.09,9.09,0,0,1-4.08,3.16,1,1,0,0,1,.19.56,1.17,1.17,0,0,1-.63,1l1.46,7L25,36.67l-2.5-2.5,1.46-7a1.17,1.17,0,0,1-.63-1,1,1,0,0,1,.19-.56,9,9,0,0,1-4.08-3.16H19a4.2,4.2,0,0,0-4,3.87l2.68,3c0,1.78,1.81,8.15,4,8.15h6.72c2.23,0,4-6.37,4-8.15l2.69-3A4.21,4.21,0,0,0,31.05,22.53Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M31.18,17.64a6.2,6.2,0,0,1-12.37,0c0-2.72,2.77-5.14,6.19-5.14S31.18,14.92,31.18,17.64Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"employee_two\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M34.86,23h-.49a9.09,9.09,0,0,1-4.08,3.16,1,1,0,0,1,.19.56,1.17,1.17,0,0,1-.63,1l1.46,7-2.5,2.5-2.5-2.5,1.46-7a1.17,1.17,0,0,1-.63-1,1,1,0,0,1,.19-.56A9,9,0,0,1,23.25,23h-.49a4.2,4.2,0,0,0-4,3.87l2.69,3c0,1.78,1.8,8.15,4,8.15h6.72c2.23,0,4-6.37,4-8.15l2.69-3A4.21,4.21,0,0,0,34.86,23Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M35,18.14a6.2,6.2,0,0,1-12.37,0c0-2.72,2.77-5.14,6.19-5.14S35,15.42,35,18.14Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M12.75,27.61V26h4.58a5.67,5.67,0,0,1,1.26-2.46H12.75V21.86H21a5.32,5.32,0,0,1,1.19-.3,7.59,7.59,0,0,1-.87-2.17H12.75V17.75h8.4a5.75,5.75,0,0,1,.76-2.46H12.75V13.64H23.22A8,8,0,0,1,25.89,12v0H11.11V35h5.75V30.07h2.73l-2.24-2.46Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><path d=\\\"M20.14,35h1a21.78,21.78,0,0,1-1-3.52Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/></svg>\",\n \"employer\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M36.07,22.72h-.36c-.1.15-.23.3-.36.46a5.27,5.27,0,0,1,1.23,3.22V27l-2.73,3A18.89,18.89,0,0,1,33,33.5h1.11c1.6,0,2.9-4.59,2.9-5.87L39,25.5A3,3,0,0,0,36.07,22.72Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><path d=\\\"M31.65,21.06a5.47,5.47,0,0,1,2.86,1.25,4.25,4.25,0,0,0,1.65-3.11c0-1.8-1.7-3.41-3.89-3.65a5.68,5.68,0,0,1,.41,2.09A6.64,6.64,0,0,1,31.65,21.06Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><path d=\\\"M13.42,27V26.4a5.27,5.27,0,0,1,1.23-3.22,4.49,4.49,0,0,1-.36-.46h-.36A3,3,0,0,0,11,25.5L13,27.63c0,1.28,1.31,5.87,2.91,5.87H17A21.35,21.35,0,0,1,16.16,30Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><path d=\\\"M17.31,17.64a5.49,5.49,0,0,1,.42-2.09c-2.19.24-3.89,1.85-3.89,3.65a4.25,4.25,0,0,0,1.65,3.11,5.44,5.44,0,0,1,2.85-1.25A6.73,6.73,0,0,1,17.31,17.64Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><path d=\\\"M31.05,22.53h-.49a9.09,9.09,0,0,1-4.08,3.16,1,1,0,0,1,.19.56,1.17,1.17,0,0,1-.63,1l1.46,7L25,36.67l-2.5-2.5,1.46-7a1.17,1.17,0,0,1-.63-1,1,1,0,0,1,.19-.56,9,9,0,0,1-4.08-3.16H19a4.2,4.2,0,0,0-4,3.87l2.68,3c0,1.78,1.81,8.15,4,8.15h6.72c2.23,0,4-6.37,4-8.15l2.69-3A4.21,4.21,0,0,0,31.05,22.53Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M31.18,17.64a6.2,6.2,0,0,1-12.37,0c0-2.72,2.77-5.14,6.19-5.14S31.18,14.92,31.18,17.64Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"employment\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M35.4,17.53H30.59V15.9A2.61,2.61,0,0,0,28,13.3H22.14a2.61,2.61,0,0,0-2.6,2.6v1.63H14.6a2.61,2.61,0,0,0-2.6,2.6v14.3A2.61,2.61,0,0,0,14.6,37H35.4a2.61,2.61,0,0,0,2.6-2.6V20.13A2.61,2.61,0,0,0,35.4,17.53ZM20.84,15.9a1.3,1.3,0,0,1,1.3-1.3H28a1.3,1.3,0,0,1,1.3,1.3v1.63H20.84Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"employment_end\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M18.11,21.87h9.15L30.62,26,34,21.87h2v-5a2.61,2.61,0,0,0-2.6-2.61H28.59V12.6A2.61,2.61,0,0,0,26,10H20.14a2.61,2.61,0,0,0-2.6,2.6v1.62H12.6A2.61,2.61,0,0,0,10,16.83v14.3a2.61,2.61,0,0,0,2.6,2.59H24.4l1.65-2Zm.73-9.27a1.3,1.3,0,0,1,1.3-1.3H26a1.3,1.3,0,0,1,1.3,1.3v1.62H18.84Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><polygon points=\\\"34.71 40 30.63 34.95 26.54 40 21.25 40 27.98 31.68 21.25 23.37 26.54 23.37 30.63 28.41 34.71 23.37 40 23.37 33.27 31.68 40 40 34.71 40\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"equal\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M14.58,22a.58.58,0,0,1-.58-.57V19.14a.58.58,0,0,1,.58-.57H35.43a.58.58,0,0,1,.57.57v2.29a.58.58,0,0,1-.57.57Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M14.58,31.43a.58.58,0,0,1-.58-.57V28.57a.58.58,0,0,1,.58-.57H35.43a.58.58,0,0,1,.57.57v2.29a.58.58,0,0,1-.57.57Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"euro\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M30.13,10.9a15,15,0,1,0,9,19.23A15,15,0,0,0,30.13,10.9ZM20.21,38.16a14,14,0,1,1,17.95-8.37A14,14,0,0,1,20.21,38.16Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M29.85,36l5.91-16.24a12.16,12.16,0,0,0-1.62-2.48L27,36.82A12,12,0,0,0,29.85,36Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M25.55,37l7.57-20.8a11.05,11.05,0,0,0-2-1.47L23.08,36.83A11.47,11.47,0,0,0,25.55,37Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M36.28,29.1a11.91,11.91,0,0,0,.21-7.52L31.61,35A12,12,0,0,0,36.28,29.1Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M29.1,13.72a12,12,0,0,0-8.2,22.56c.29.1.58.19.88.27L30,14.08C29.68,14,29.4,13.83,29.1,13.72Zm-8,16.8-2.59-.94,2.58-7.09.45-1.16.51-1.26a11.64,11.64,0,0,1-1.21.52L19,21.21l-.68-2,5.09-1.71,2.13.78Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"exclamation\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M25,33.67a2,2,0,0,1-1.42-.59,2,2,0,0,1,0-2.83A1.94,1.94,0,0,1,25,29.67a2,2,0,0,1,2,2,2,2,0,0,1-.58,1.41A1.93,1.93,0,0,1,25,33.67Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"23.05\\\" y=\\\"16.67\\\" width=\\\"4\\\" height=\\\"10\\\" transform=\\\"translate(50.1 43.34) rotate(180)\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"exclamation_round_open\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M25,39.17a14,14,0,1,1,14-14,14,14,0,0,1-14,14m0,1a15,15,0,1,0-15-15,15,15,0,0,0,15,15Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M25,33.67a2,2,0,0,1-1.42-.59,2,2,0,0,1,0-2.83A1.94,1.94,0,0,1,25,29.67a2,2,0,0,1,2,2,2,2,0,0,1-.58,1.41A1.93,1.93,0,0,1,25,33.67Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"23.05\\\" y=\\\"16.67\\\" width=\\\"4\\\" height=\\\"10\\\" transform=\\\"translate(50.1 43.34) rotate(180)\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"eye_circle\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M25,40A15,15,0,1,1,40,25,15,15,0,0,1,25,40Zm0-29A14,14,0,1,0,39,25,14,14,0,0,0,25,11Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M16,24.94s8.37,12.13,18,0C34,24.94,25.94,13.07,16,24.94Zm9,3.81A3.75,3.75,0,1,1,28.75,25,3.75,3.75,0,0,1,25,28.75Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M26.31,24.62a.94.94,0,0,1-.94-.93.92.92,0,0,1,.45-.78A2.25,2.25,0,1,0,27.25,25a2.22,2.22,0,0,0-.16-.82A.93.93,0,0,1,26.31,24.62Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"eye_circle_large\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M25,45A20,20,0,1,1,45,25,20,20,0,0,1,25,45ZM25,6.29A18.71,18.71,0,1,0,43.71,25,18.73,18.73,0,0,0,25,6.29Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M13,24.93s11.17,16.16,24,0C37,24.93,26.25,9.09,13,24.93ZM25,30a5,5,0,1,1,5-5A5,5,0,0,1,25,30Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M26.75,24.5a1.25,1.25,0,0,1-1.25-1.25,1.22,1.22,0,0,1,.59-1A3.06,3.06,0,0,0,25,22a3,3,0,1,0,3,3,3.07,3.07,0,0,0-.21-1.1A1.25,1.25,0,0,1,26.75,24.5Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"eye_round_filled\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 50 50\\\" enable-background=\\\"new 0 0 50 50\\\" ><g><path fill=\\\"#29363E\\\" d=\\\"M25,10c-8.3,0-15,6.7-15,15c0,8.3,6.7,15,15,15c8.3,0,15-6.7,15-15C40,16.7,33.3,10,25,10z M15,24.9c11-13.2,20,0,20,0C24.3,38.4,15,24.9,15,24.9z\\\"/><path fill=\\\"#29363E\\\" d=\\\"M25,20.1c-2.7,0-4.9,2.2-4.9,4.9c0,2.7,2.2,4.9,4.9,4.9c2.7,0,4.9-2.2,4.9-4.9C29.9,22.3,27.7,20.1,25,20.1z M25,25.8c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1c1.2,0,2.1,1,2.1,2.1C27.1,24.8,26.2,25.8,25,25.8z\\\"/></g></svg>\",\n \"factory\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M12.09,40a1,1,0,0,1-1-1V26.54c0-.55.31-.68.7-.29l5.82,5.81c.39.39.71.26.71-.29V26.54c0-.55.33-.7.75-.34l6.75,5.91c.42.36.76.21.76-.34V26.54c0-.55.32-.68.7-.29l5.82,5.81c.39.39.71.26.71-.29V17.25a1,1,0,0,1,1-1H38a1,1,0,0,1,1,1V39a1,1,0,0,1-1,1Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M16.5,15.52A9.55,9.55,0,0,1,11,14l1.15-1.72a7.52,7.52,0,0,0,4.32,1.17,19.35,19.35,0,0,0,4.73-.7l.5,2a21.36,21.36,0,0,1-5.23.76Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><path d=\\\"M24.76,13.91l-.6-2,.94-.29A28.16,28.16,0,0,1,32.71,10a5.53,5.53,0,0,1,5.07,2.61L36,13.69a3.5,3.5,0,0,0-3.32-1.63,26.89,26.89,0,0,0-7,1.56l-.94.29Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/></svg>\",\n \"fasttrack\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"39 10.99 27.71 14.04 19.67 22.88 23.76 22.3 15.66 30.08 19.07 29.45 11 38.67 28.54 25.65 23.88 26.51 34.31 17.9 29.46 18.51 39 10.99\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"filter\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M22.13,39.17A1.69,1.69,0,0,1,21,37.58v-8.5l-9-15.46a1.68,1.68,0,0,1,1.5-2.45h22.9A1.68,1.68,0,0,1,38,13.62L29,29.08v8.49a1.68,1.68,0,0,1-1.14,1.59Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"finish\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"3.2\\\" y=\\\"24.12\\\" width=\\\"26.3\\\" height=\\\"1.75\\\" transform=\\\"translate(-13.22 29.26) rotate(-65)\\\" fill=\\\"#484f60\\\"/><path d=\\\"M27,16.77a4.75,4.75,0,0,0-4,.36l1.56-3.33a5.8,5.8,0,0,1,3.65.48Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M29.67,19.27A6.91,6.91,0,0,0,27,16.77l1.17-2.49A10.31,10.31,0,0,1,31,16.47Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0\\\"/><path d=\\\"M31.92,22.73c-.77-1.11-1.48-2.37-2.25-3.46l1.3-2.8c.88.89,1.71,1.87,2.58,2.77Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M34.6,25.27a7.18,7.18,0,0,1-2.68-2.54l1.63-3.49a11.18,11.18,0,0,0,2.83,2.22C35.76,22.79,35.17,24.06,34.6,25.27Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0\\\"/><path d=\\\"M38.59,25a4.56,4.56,0,0,1-4,.25c.57-1.21,1.16-2.48,1.78-3.81A5.84,5.84,0,0,0,40,22Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M25.61,19.66c-1.09-.42-2.45-.28-4.24.81.52-1.11,1-2.22,1.55-3.34a4.75,4.75,0,0,1,4-.36Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0\\\"/><path d=\\\"M28.26,22.27a5.89,5.89,0,0,0-2.65-2.61L27,16.77a6.91,6.91,0,0,1,2.71,2.5C29.21,20.24,28.75,21.24,28.26,22.27Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M30.37,26.05c-.73-1.2-1.37-2.59-2.11-3.78.49-1,.95-2,1.41-3,.77,1.09,1.48,2.35,2.25,3.46C31.39,23.86,30.88,25,30.37,26.05Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0\\\"/><path d=\\\"M33,28.72a6.22,6.22,0,0,1-2.63-2.67c.51-1.08,1-2.19,1.55-3.32a7.18,7.18,0,0,0,2.68,2.54C34,26.48,33.5,27.63,33,28.72Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M37.18,28c-1.77,1-3.11,1.14-4.18.68.5-1.09,1-2.24,1.6-3.45a4.56,4.56,0,0,0,4-.25Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0\\\"/><path d=\\\"M24.09,22.94c-1.11-.41-2.47-.24-4.28.87l1.56-3.34c1.79-1.09,3.15-1.23,4.24-.81Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M26.77,25.48a5.87,5.87,0,0,0-2.68-2.54l1.52-3.28a5.89,5.89,0,0,1,2.65,2.61Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0\\\"/><path d=\\\"M28.91,29.19c-.74-1.17-1.4-2.54-2.14-3.71l1.49-3.21c.74,1.19,1.38,2.58,2.11,3.78Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M31.56,31.81a6.12,6.12,0,0,1-2.65-2.62l1.46-3.14A6.22,6.22,0,0,0,33,28.72Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0\\\"/><path d=\\\"M35.78,31.06c-1.79,1.06-3.14,1.18-4.22.75L33,28.72c1.07.46,2.41.36,4.18-.68C36.71,29,36.24,30.05,35.78,31.06Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M22.38,26.6a5.07,5.07,0,0,0-4.13.54l1.56-3.33c1.81-1.11,3.17-1.28,4.28-.87Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0\\\"/><path d=\\\"M25.18,28.9a6.5,6.5,0,0,0-2.8-2.3l1.71-3.66a5.87,5.87,0,0,1,2.68,2.54Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M27.52,32.17c-.8-1-1.54-2.24-2.34-3.27l1.59-3.42c.74,1.17,1.4,2.54,2.14,3.71Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0\\\"/><path d=\\\"M30.29,34.52a6.78,6.78,0,0,1-2.77-2.35l1.39-3a6.12,6.12,0,0,0,2.65,2.62C31.11,32.77,30.69,33.68,30.29,34.52Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M34.37,34.08a4.91,4.91,0,0,1-4.08.44c.4-.84.82-1.75,1.27-2.71,1.08.43,2.43.31,4.22-.75Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0\\\"/><path d=\\\"M20.49,30.64a6.4,6.4,0,0,0-3.79-.16c.52-1.11,1-2.22,1.55-3.34a5.07,5.07,0,0,1,4.13-.54Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M23.49,32.52a10.08,10.08,0,0,0-3-1.88l1.89-4a6.5,6.5,0,0,1,2.8,2.3Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0\\\"/><path d=\\\"M26.21,35c-.92-.79-1.8-1.67-2.72-2.45l1.69-3.62c.8,1,1.54,2.23,2.34,3.27C27.07,33.13,26.63,34.06,26.21,35Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M29.2,36.87a10.23,10.23,0,0,1-3-1.9c.42-.91.86-1.84,1.31-2.8a6.78,6.78,0,0,0,2.77,2.35Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0\\\"/><path d=\\\"M33,37.1a6.27,6.27,0,0,1-3.76-.23l1.09-2.35a4.91,4.91,0,0,0,4.08-.44Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"fixed_option_value_tree\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"21.92 38.92 21.7 13.06 22.57 13.06 23.89 38.92 21.92 38.92\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"21.56 28.7 17.71 26.89 17.01 25.01 17.62 24.78 18.23 26.41 21.84 28.1 21.56 28.7 21.56 28.7\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"13.82 30.17 13.36 29.7 14.56 28.5 17.86 28.72 19.29 27.5 19.72 27.99 18.09 29.39 14.81 29.18 13.82 30.17 13.82 30.17\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"16.26 27.2 16.18 26.54 17.93 26.32 18.01 26.98 16.26 27.2 16.26 27.2\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"15.87 30.72 15.26 30.46 15.92 28.93 16.52 29.19 15.87 30.72 15.87 30.72\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"21.7 19.64 16 16.57 21.48 20.95 21.7 19.64\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"19.4 18.39 18.5 13.62 19.93 12.18 20.39 12.64 19.2 13.83 20.05 18.26 19.4 18.39 19.4 18.39\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"10.3 18.57 9.88 18.07 11.26 16.91 15.69 16.28 15.9 12.05 17.3 10.64 17.77 11.11 16.54 12.33 16.32 16.86 11.54 17.54 10.3 18.57 10.3 18.57\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"13.98 16.98 12.89 15.45 13.42 15.06 14.52 16.6 13.98 16.98 13.98 16.98\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"15.92 12.32 15.26 10.79 15.87 10.53 16.52 12.06 15.92 12.32 15.92 12.32\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"15.78 15.5 13.46 13.41 13.71 11.71 14.36 11.79 14.16 13.16 16.22 15.01 15.78 15.5 15.78 15.5\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"22.64 13.54 18.86 10.47 19.28 9.96 22.51 12.59 24.39 9.86 25.91 10.11 25.81 10.76 24.7 10.57 22.64 13.54 22.64 13.54\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"22.02 12.05 21.38 11.89 21.82 10.14 22.46 10.29 22.02 12.05 22.02 12.05\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"24.29 10.42 23.41 9.33 23.93 8.92 24.8 10.01 24.29 10.42 24.29 10.42\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"23.27 17.21 22.75 16.81 24.88 14.05 24.88 11.75 25.53 11.75 25.53 14.27 23.27 17.21 23.27 17.21\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"26.52 14.49 25.2 14.49 25.2 13.83 26.52 13.83 26.52 14.49 26.52 14.49\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"28.49 15.04 26.74 17.23 23.23 23.14 23.45 25.11 27.61 17.45 28.49 15.04\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"28.21 15.39 27.73 12.05 27.09 10.33 27.7 10.1 28.38 11.92 28.77 14.68 30.87 14.49 33.99 14.71 33.94 15.37 30.88 15.15 28.21 15.39 28.21 15.39\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"28.27 12.22 27.84 11.72 29.59 10.19 30.02 10.68 28.27 12.22 28.27 12.22\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"31.15 15.03 30.65 14.6 32.18 12.85 32.68 13.28 31.15 15.03 31.15 15.03\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"26.19 17.67 25.53 17.67 25.53 15.69 26.19 15.69 26.19 17.67 26.19 17.67\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"29.24 19.31 26.74 19.31 26.74 18.65 29.05 18.65 31.17 17.38 31.51 17.95 29.24 19.31 29.24 19.31\\\" fill=\\\"#484f60\\\"/><rect x=\\\"29.48\\\" y=\\\"18.63\\\" width=\\\"0.66\\\" height=\\\"1.58\\\" transform=\\\"translate(-2.87 33.48) rotate(-56.37)\\\" fill=\\\"#484f60\\\"/><path d=\\\"M26.8,24.44l-3.57,2.65.22,2.19,3.23-3.23v-.21A7.77,7.77,0,0,1,26.8,24.44Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M28,20.22l-.3.59.92.45a5.32,5.32,0,0,1,.59-.44Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M33.13,19.93l.76-.84h1.39v-.66H33.6L32.2,20c.26,0,.51,0,.78,0Z\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"34.07 18.8 33.42 18.72 33.64 16.97 34.29 17.05 34.07 18.8 34.07 18.8\\\" fill=\\\"#484f60\\\"/><path d=\\\"M36,20.31l-.46-.47-.35.35q.38.09.72.21Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M32.71,24.63l.11.06.4,1.19.62-.21-.34-1h-.79Z\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"26.6 26.29 26.68 26.32 26.68 26.13 26.6 26.29\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"21.7 25.99 17.32 23.36 14.69 21.39 18.19 22.92 21.7 24.02 21.7 25.99\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"18.52 22.92 17.86 22.92 17.86 20.07 18.52 20.07 18.52 22.92 18.52 22.92\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"15.75 21.61 14.24 19.88 12.52 18.59 12.91 18.06 14.71 19.42 16.25 21.17 15.75 21.61 15.75 21.61\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"14.78 19.73 14.15 19.55 14.59 18.01 15.22 18.2 14.78 19.73 14.78 19.73\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"14.69 21.72 11.7 21.72 10.07 20.09 10.54 19.63 11.97 21.06 14.69 21.06 14.69 21.72 14.69 21.72\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"11 22.91 10.49 22.49 11.59 21.18 12.09 21.6 11 22.91 11 22.91\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"13.7 28.21 13.04 28.15 13.3 25.61 14.26 23.98 16.67 22.01 17.08 22.52 14.72 24.45 13.91 25.87 13.7 28.21 13.7 28.21\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"13.59 26.1 11.84 26.1 11.84 25.44 13.59 25.44 13.59 26.1 13.59 26.1\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"14.3 24.52 12.77 23.65 13.1 23.08 14.63 23.95 14.3 24.52 14.3 24.52\\\" fill=\\\"#484f60\\\"/><path d=\\\"M38.08,29.2H27.88c-1.87,0-2,1.52-2,3.41V38c0,1.89.17,3.42,2,3.42h10.2c1.88,0,2-1.53,2-3.42V32.61C40.12,30.72,40,29.2,38.08,29.2ZM29.8,39.75l1.73-4.22a2.55,2.55,0,1,1,2.9,0l1.74,4.22Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M36,25.84c0-2.4-1.35-2.71-3-2.71h0c-1.66,0-3,.31-3,2.71v2h-1.8v-2c0-3.34,2.15-4.42,4.8-4.42h0c2.66,0,4.81,1.08,4.81,4.42v2H36Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"fixed_tree_option_value\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M38,27.8H27.76c-1.88,0-2.05,1.53-2.05,3.41v5.4c0,1.88.17,3.41,2.05,3.41H38c1.88,0,2-1.53,2-3.41v-5.4C40,29.33,39.83,27.8,38,27.8ZM29.67,38.35l1.74-4.22a2.56,2.56,0,0,1,1.45-4.66,2.56,2.56,0,0,1,1.45,4.66L36,38.35Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M35.86,24.44c0-2.4-1.34-2.71-3-2.71h0c-1.66,0-3,.31-3,2.71v2h-1.8v-2c0-3.34,2.15-4.42,4.81-4.42h0c2.65,0,4.8,1.08,4.8,4.42v2h-1.8Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M29.19,19.36l-1.43,0A2.12,2.12,0,0,1,25.94,18l-2.49-7.16c-.25-.71-.65-.71-.9,0L20.06,18a2.12,2.12,0,0,1-1.82,1.32l-7.58.16c-.76,0-.88.4-.28.85l6,4.58a2.14,2.14,0,0,1,.7,2.15l-2.2,7.25c-.22.72.11,1,.73.53l6.22-4.33a2.14,2.14,0,0,1,2.26,0l.09.07c.05-1.35.35-3.5,2.33-4.12v-2A5.41,5.41,0,0,1,29.19,19.36Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"floppy_disk_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 448 512\\\"><path d=\\\"M433.1 129.1l-83.9-83.9C342.3 38.32 327.1 32 316.1 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V163.9C448 152.9 441.7 137.7 433.1 129.1zM224 416c-35.34 0-64-28.66-64-64s28.66-64 64-64s64 28.66 64 64S259.3 416 224 416zM320 208C320 216.8 312.8 224 304 224h-224C71.16 224 64 216.8 64 208v-96C64 103.2 71.16 96 80 96h224C312.8 96 320 103.2 320 112V208z\\\"/></svg>\",\n \"FolderArrow\": \"<svg preserveAspectRatio=\\\"none\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 50 50\\\" x=\\\"0px\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" y=\\\"0px\\\"><g transform=\\\" translate(11 11)\\\"><path d=\\\"M 7.695 3.589 L 7.695 0 L 1.591 0 C 0.711 0 0 0.711 0 1.59 L 0 11.109 L 2.535 6.039 C 2.688 4.703 3.793 3.66 7.695 3.589 Z\\\" fill=\\\"#1E2930\\\" transform=\\\" translate(0.463 10.031)\\\" /><path d=\\\"M 7.7 1.59 C 7.7 0.711 6.988 0 6.109 0 L 0 0 L 0 3.574 L 7.7 3.574 L 7.7 1.59 Z\\\" fill=\\\"#1E2930\\\" transform=\\\" translate(16.924 10.031)\\\" /><path d=\\\"M 22.566 11.285 C 22.566 12.164 21.856 12.875 20.981 12.875 L 1.59 12.875 C 0.711 12.875 0 12.164 0 11.285 L 3.973 1.59 C 3.973 0.711 4.684 0 5.563 0 L 24.953 0 C 25.828 0 26.543 0.711 26.543 1.59 L 22.566 11.285 Z\\\" fill=\\\"#1E2930\\\" transform=\\\" translate(0.994 15.593)\\\" /><path d=\\\"M 6.331 0 L 0 6.332 L 3.938 6.332 L 3.938 12.871 L 8.729 12.871 L 8.729 6.332 L 12.663 6.332 L 6.331 0 Z\\\" fill=\\\"#1E2930\\\" transform=\\\" translate(6.21 0.468)\\\" /></g></svg>\",\n \"folder_arrow_in\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><path d=\\\"M286.1,417a1.6,1.6,0,0,0-1.6,1.6v9.5l2.5-5.1c0.2-1.3,1.3-2.4,5.2-2.4H294l-3.6-3.6h-4.3Z\\\" transform=\\\"translate(-272.5 -396)\\\" fill=\\\"#4d5050\\\"/><path d=\\\"M307,417h-4.4l-3.6,3.6h9.5v-2A1.6,1.6,0,0,0,307,417Z\\\" transform=\\\"translate(-272.5 -396)\\\" fill=\\\"#4d5050\\\"/><path d=\\\"M307.6,433.9a1.6,1.6,0,0,1-1.6,1.6H286.6a1.6,1.6,0,0,1-1.6-1.6l4-9.7a1.6,1.6,0,0,1,1.6-1.6h19.4a1.6,1.6,0,0,1,1.6,1.6Z\\\" transform=\\\"translate(-272.5 -396)\\\" fill=\\\"#4d5050\\\"/><polygon points=\\\"24 24.4 30.4 18 26.4 18 26.4 11.5 21.6 11.5 21.6 18 17.7 18 24 24.4\\\" fill=\\\"#4d5050\\\"/></svg>\",\n \"formula\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M14.85,15.24a16.12,16.12,0,0,0-3,10,16.45,16.45,0,0,0,3,9.86H13.19A15.77,15.77,0,0,1,10,25.2a16.12,16.12,0,0,1,3.19-10Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M35.15,35.09a16.11,16.11,0,0,0,3.05-10,16.46,16.46,0,0,0-3.05-9.87h1.66A15.77,15.77,0,0,1,40,25.13a16.1,16.1,0,0,1-3.19,10Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M32.26,30.25c-.82,1.84-3.08,2.12-4.88,2.18-2.8.1-3.3-2.53-4.2-4.62-1.12,1.56-2.48,4.44-4.73,4.55-3.31.16-2.54-4.67.72-4.58,3.67.1,3.93-1.43,3-4.68-.79-2.68-1.5-3.43-4.28-2.9.36-2.05,3.29-2.3,4.91-2.23,2.43.11,3.17,2.66,3.82,4.6,1.16-1.67,3.49-6.08,6.18-4.22,2.34,1.61-.28,4.22-2.26,4.09-3.81-.26-3.72,2-2.71,5.1.86,2.67,1.72,3,4.47,2.71C31.41,32.14,29,30.64,32.26,30.25Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"fullscreen\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M38,38.17H12v-26H38ZM13.24,36.93H36.76V13.4H13.24Z\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"17.35 32.81 17.35 26.75 19.46 28.86 28.69 19.63 26.59 17.52 32.65 17.52 32.65 23.58 30.54 21.47 21.31 30.71 23.41 32.81 17.35 32.81\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"gear_double\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"-280 372 50 50\\\" enable-background=\\\"new -280 372 50 50\\\" ><g><g><path fill=\\\"#29363E\\\" d=\\\"M-249.4,403.5V401l-3.2-0.9c-0.2-0.6-0.4-1.2-0.7-1.8l1.6-2.8l-1.8-1.8l-2.7,1.6c-0.5-0.3-1.1-0.6-1.7-0.7l-0.9-3.2h-2.5l-0.9,3.2c-0.6,0.2-1.3,0.4-1.8,0.8l-2.7-1.6l-1.8,1.8l1.6,2.7c-0.3,0.6-0.6,1.2-0.7,1.8l-3.2,0.9v2.5l3.3,0.9c0.2,0.6,0.4,1.2,0.7,1.7l-1.6,2.7l1.8,1.8l2.8-1.6c0.6,0.3,1.2,0.6,1.8,0.7l0.9,3.2h2.5l0.9-3.2c0.6-0.2,1.2-0.4,1.7-0.7l2.8,1.6l1.8-1.8l-1.6-2.8c0.3-0.5,0.5-1.1,0.7-1.7L-249.4,403.5z M-260.2,405.3c-1.7,0-3.1-1.4-3.1-3.1c0-1.7,1.4-3.1,3.1-3.1c1.7,0,3.1,1.4,3.1,3.1C-257.1,403.9-258.5,405.3-260.2,405.3z\\\"/></g><g><path fill=\\\"#29363E\\\" d=\\\"M-239.4,385.5l-2.3-0.1c-0.2-0.3-0.5-0.7-0.8-0.9c-0.3-0.3-0.6-0.5-0.9-0.8l-0.1-2.3l-1.7-0.4l-1,1.9c-1,0-1.9,0.2-2.8,0.7l-2.1-1.2l-1.2,1.2l1.2,2c-0.5,0.9-0.8,1.9-0.7,2.9l-1.9,1l0.4,1.7l2.3,0.1c0.2,0.3,0.5,0.7,0.7,0.9c0.3,0.3,0.6,0.5,0.9,0.7l0.1,2.3l1.7,0.4l1-1.9c1,0,2-0.2,2.9-0.7l2,1.2l1.2-1.2l-1.2-2.1c0.5-0.9,0.7-1.8,0.7-2.8l1.9-1L-239.4,385.5z M-244.7,390.1c-0.9,0.9-2.5,0.9-3.4,0c-0.9-0.9-0.9-2.5,0-3.4c0.9-0.9,2.5-0.9,3.4,0C-243.7,387.6-243.7,389.1-244.7,390.1z\\\"/></g></g></svg>\",\n \"global_search\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 50 50\\\" enable-background=\\\"new 0 0 50 50\\\" ><g><path opacity=\\\"0.75\\\" fill=\\\"#29363E\\\" d=\\\"M33.5,21.5c0.1-0.1,0.2-0.1,0.3,0l0.8,0.6c0.1,0.1,0.1,0,0.1-0.1l-0.3-0.9c0-0.1,0-0.2,0.1-0.3l0.8-0.6c0.1-0.1,0.1-0.1,0-0.1l-1,0c-0.1,0-0.2-0.1-0.2-0.2l-0.3-0.9c0-0.1-0.1-0.1-0.1,0l-0.3,0.9c0,0.1-0.1,0.2-0.2,0.2l-1,0c-0.1,0-0.1,0.1,0,0.1l0.8,0.6c0.1,0.1,0.1,0.2,0.1,0.3L32.6,22c0,0.1,0,0.1,0.1,0.1L33.5,21.5z\\\"/><path opacity=\\\"0.5\\\" fill=\\\"#29363E\\\" d=\\\"M34.7,16.3L34,16.8c-0.1,0-0.1,0-0.1-0.1l0.3-0.8c0-0.1,0-0.2-0.1-0.2l-0.7-0.5c-0.1-0.1-0.1-0.1,0-0.1l0.9,0c0.1,0,0.2-0.1,0.2-0.2l0.3-0.8c0-0.1,0.1-0.1,0.1,0l0.3,0.8c0,0.1,0.1,0.1,0.2,0.2l0.9,0c0.1,0,0.1,0,0,0.1l-0.7,0.5c-0.1,0.1-0.1,0.2-0.1,0.2l0.2,0.8c0,0.1,0,0.1-0.1,0.1L35,16.3C34.9,16.3,34.8,16.3,34.7,16.3z\\\"/><path opacity=\\\"0.75\\\" fill=\\\"#29363E\\\" d=\\\"M30.5,26.2c0.1-0.1,0.2-0.1,0.3,0l0.9,0.6c0.1,0.1,0.1,0,0.1-0.1l-0.3-1.1c0-0.1,0-0.2,0.1-0.3l0.9-0.7c0.1-0.1,0.1-0.1,0-0.1l-1.1,0c-0.1,0-0.2-0.1-0.3-0.2l-0.4-1.1c0-0.1-0.1-0.1-0.1,0l-0.4,1.1c0,0.1-0.2,0.2-0.3,0.2l-1.1,0c-0.1,0-0.1,0.1,0,0.1l0.9,0.7c0.1,0.1,0.1,0.2,0.1,0.3l-0.3,1.1c0,0.1,0,0.1,0.1,0.1L30.5,26.2z\\\"/><path opacity=\\\"0.75\\\" fill=\\\"#29363E\\\" d=\\\"M26.2,30.6c0.1-0.1,0.3-0.1,0.4,0l1,0.7c0.1,0.1,0.2,0,0.1-0.1l-0.4-1.2c0-0.1,0-0.3,0.1-0.3l1-0.7c0.1-0.1,0.1-0.1,0-0.1l-1.2,0c-0.1,0-0.3-0.1-0.3-0.2l-0.4-1.2c0-0.1-0.1-0.1-0.1,0l-0.4,1.2c0,0.1-0.2,0.2-0.3,0.2l-1.2,0c-0.1,0-0.1,0.1,0,0.1l1,0.7c0.1,0.1,0.1,0.2,0.1,0.3l-0.4,1.2c0,0.1,0,0.2,0.1,0.1L26.2,30.6z\\\"/><path opacity=\\\"0.5\\\" fill=\\\"#29363E\\\" d=\\\"M14.9,36.4c0.1-0.1,0.2-0.1,0.3,0L16,37c0.1,0.1,0.1,0,0.1-0.1L15.8,36c0-0.1,0-0.2,0.1-0.3l0.8-0.6c0.1-0.1,0.1-0.1,0-0.1l-1,0c-0.1,0-0.2-0.1-0.2-0.2l-0.3-0.9c0-0.1-0.1-0.1-0.1,0l-0.3,0.9c0,0.1-0.1,0.2-0.2,0.2l-1,0c-0.1,0-0.1,0.1,0,0.1l0.8,0.6c0.1,0.1,0.1,0.2,0.1,0.3L14,36.9c0,0.1,0,0.1,0.1,0.1L14.9,36.4z\\\"/><path opacity=\\\"0.25\\\" fill=\\\"#29363E\\\" d=\\\"M19.3,25.3c0.1,0,0.2,0,0.2,0l0.6,0.4c0.1,0,0.1,0,0.1-0.1L20,25c0-0.1,0-0.2,0.1-0.2l0.6-0.4c0.1,0,0-0.1,0-0.1l-0.7,0c-0.1,0-0.2-0.1-0.2-0.1l-0.2-0.7c0-0.1-0.1-0.1-0.1,0l-0.2,0.7c0,0.1-0.1,0.1-0.2,0.1l-0.7,0c-0.1,0-0.1,0,0,0.1l0.6,0.4c0.1,0,0.1,0.1,0.1,0.2l-0.2,0.7c0,0.1,0,0.1,0.1,0.1L19.3,25.3z\\\"/><path opacity=\\\"0.4\\\" fill=\\\"#29363E\\\" d=\\\"M29.6,16.8c0.1,0,0.2,0,0.2,0l0.6,0.4c0.1,0,0.1,0,0.1-0.1l-0.2-0.7c0-0.1,0-0.2,0.1-0.2l0.6-0.4c0.1,0,0-0.1,0-0.1l-0.7,0c-0.1,0-0.2-0.1-0.2-0.1l-0.2-0.7c0-0.1-0.1-0.1-0.1,0l-0.2,0.7c0,0.1-0.1,0.1-0.2,0.1l-0.7,0c-0.1,0-0.1,0,0,0.1l0.6,0.4c0.1,0,0.1,0.1,0.1,0.2l-0.2,0.7c0,0.1,0,0.1,0.1,0.1L29.6,16.8z\\\"/><path opacity=\\\"0.4\\\" fill=\\\"#29363E\\\" d=\\\"M14.9,31.7c0.1,0,0.2,0,0.3,0l0.7,0.5c0.1,0,0.1,0,0.1-0.1l-0.3-0.8c0-0.1,0-0.2,0.1-0.2l0.7-0.5c0.1-0.1,0.1-0.1,0-0.1l-0.9,0c-0.1,0-0.2-0.1-0.2-0.2l-0.3-0.8c0-0.1-0.1-0.1-0.1,0l-0.3,0.8c0,0.1-0.1,0.1-0.2,0.2l-0.9,0c-0.1,0-0.1,0,0,0.1l0.7,0.5c0.1,0.1,0.1,0.2,0.1,0.2l-0.3,0.8c0,0.1,0,0.1,0.1,0.1L14.9,31.7z\\\"/><path opacity=\\\"0.75\\\" fill=\\\"#29363E\\\" d=\\\"M20.5,35c0.1-0.1,0.3-0.1,0.4,0l1,0.7c0.1,0.1,0.2,0,0.1-0.1l-0.4-1.2c0-0.1,0-0.3,0.1-0.3l1-0.7c0.1-0.1,0.1-0.1,0-0.1l-1.2,0c-0.1,0-0.3-0.1-0.3-0.2l-0.4-1.2c0-0.1-0.1-0.1-0.1,0L20.2,33c0,0.1-0.2,0.2-0.3,0.2l-1.2,0c-0.1,0-0.1,0.1,0,0.1l1,0.7c0.1,0.1,0.1,0.2,0.1,0.3l-0.4,1.2c0,0.1,0,0.2,0.1,0.1L20.5,35z\\\"/><path opacity=\\\"0.25\\\" fill=\\\"#29363E\\\" d=\\\"M24,20.8c0.1,0,0.2,0,0.2,0l0.6,0.4c0.1,0,0.1,0,0.1-0.1l-0.2-0.7c0-0.1,0-0.2,0.1-0.2l0.6-0.4c0.1,0,0-0.1,0-0.1l-0.7,0c-0.1,0-0.2-0.1-0.2-0.1l-0.2-0.7c0-0.1-0.1-0.1-0.1,0l-0.2,0.7c0,0.1-0.1,0.1-0.2,0.1l-0.7,0c-0.1,0-0.1,0,0,0.1l0.6,0.4c0.1,0,0.1,0.1,0.1,0.2l-0.2,0.7c0,0.1,0,0.1,0.1,0.1L24,20.8z\\\"/><path fill=\\\"#29363E\\\" d=\\\"M25.5,27.7l0.3-0.8c-0.8,0.6-1.7,1-2.6,1.2l1.7,0C25.1,28.1,25.4,27.9,25.5,27.7z\\\"/><path fill=\\\"#29363E\\\" d=\\\"M22.5,28.4c-0.1-0.1-0.1-0.1-0.1-0.1c-1.9,0.2-3.9-0.4-5.4-1.9c-2.6-2.6-2.6-6.8,0-9.4c2.6-2.6,6.8-2.6,9.4,0c1.8,1.8,2.4,4.5,1.6,6.8l1.3,0c0.2,0,0.5-0.2,0.5-0.4l0.5-1.4c0.1-2.3-0.8-4.7-2.5-6.4c-3.4-3.4-8.9-3.4-12.3,0c-3.4,3.4-3.4,8.9,0,12.3c2.4,2.4,5.9,3.1,8.9,2.1c0,0,0,0-0.1-0.1L22.5,28.4z\\\"/><path fill=\\\"#29363E\\\" d=\\\"M27.6,28c0.1-0.1,0.2-0.1,0.2-0.2c0.4-0.4,0.7-0.8,1-1.2L29,26c0.1-0.2,0-0.5-0.2-0.6l-1.1-0.8c-0.2,0.5-0.6,1-1,1.4l0.6,1.7C27.3,27.8,27.4,27.9,27.6,28z\\\"/><path fill=\\\"#29363E\\\" d=\\\"M36.4,32.8l-4.3-4.3c-0.6-0.6-1.6-0.7-2.3-0.4l0.4,0c0.2,0,0.3,0.1,0.1,0.3l-1.9,1.4c-0.2,0.1-0.3,0.4-0.2,0.7l0.6,1.8l4.1,4.1c0.8,0.8,2.1,0.8,2.9,0l0.7-0.7C37.2,34.9,37.2,33.6,36.4,32.8z\\\"/></g></svg>\",\n \"globe\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M25.86,37.19a14.53,14.53,0,0,1-8.31-2.75V40H34.18V34.44A14.54,14.54,0,0,1,25.86,37.19Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M25.81,36a12.39,12.39,0,0,1-12-9.41l0-.13L15,24.83l.11.65A10.92,10.92,0,1,0,21.22,13.7l-.21.1-.87-1.24.3-.14a12.14,12.14,0,0,1,5.37-1.24,12.42,12.42,0,1,1,0,24.83Z\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"19.48 13.58 18.1 17.41 14.21 18.59 17.42 21.09 17.34 25.15 20.71 22.86 24.55 24.2 23.42 20.29 25.86 17.05 21.8 16.92 19.48 13.58\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"11.9 14.69 13.84 14.34 15.27 15.68 15.54 13.73 17.26 12.79 15.49 11.93 15.12 10 13.76 11.42 11.81 11.17 12.74 12.91 11.9 14.69\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"15.02 21.84 13.82 22.23 12.79 21.49 12.78 22.75 11.77 23.5 12.96 23.9 13.36 25.09 14.11 24.08 15.37 24.07 14.63 23.05 15.02 21.84\\\" fill=\\\"#484f60\\\"/><path d=\\\"M33.27,29.27l-.74-.56a8.46,8.46,0,0,0-2.36-12.35l.48-.8a9.32,9.32,0,0,1,4.54,8A9.23,9.23,0,0,1,33.27,29.27Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"14.36\\\" y=\\\"38\\\" width=\\\"23\\\" height=\\\"2\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"greater_than\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M18.63,13.81l14.65,9.58a.48.48,0,0,1,.23.42v2.38a.48.48,0,0,1-.23.42L18.63,36.19a.5.5,0,0,1-.69-.14L16.57,34a.49.49,0,0,1,.15-.69l12-7.84a.5.5,0,0,0,0-.84l-12-7.84a.49.49,0,0,1-.15-.69L17.94,14A.5.5,0,0,1,18.63,13.81Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"groupby\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"10\\\" y=\\\"11.17\\\" width=\\\"8\\\" height=\\\"3\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"26.17\\\" width=\\\"8\\\" height=\\\"3\\\" fill=\\\"#484f60\\\"/><rect x=\\\"22\\\" y=\\\"11.17\\\" width=\\\"8\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"22\\\" y=\\\"16.17\\\" width=\\\"8\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"22\\\" y=\\\"21.17\\\" width=\\\"8\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"22\\\" y=\\\"26.17\\\" width=\\\"8\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"22\\\" y=\\\"31.17\\\" width=\\\"8\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"32\\\" y=\\\"11.17\\\" width=\\\"8\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"32\\\" y=\\\"16.17\\\" width=\\\"8\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"32\\\" y=\\\"21.17\\\" width=\\\"8\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"32\\\" y=\\\"26.17\\\" width=\\\"8\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"32\\\" y=\\\"31.17\\\" width=\\\"8\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"22\\\" y=\\\"36.17\\\" width=\\\"8\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"32\\\" y=\\\"36.17\\\" width=\\\"8\\\" height=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"19.5\\\" y=\\\"11.17\\\" width=\\\"1\\\" height=\\\"28\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"hamburger\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"14\\\" y=\\\"15.17\\\" width=\\\"22\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><rect x=\\\"14\\\" y=\\\"23.17\\\" width=\\\"22\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><rect x=\\\"14\\\" y=\\\"31.17\\\" width=\\\"22\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"hand_pointer\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M24.16,20.4,23,19.8l-2-3.19-1.56-2-.82-1.08-1.93-2L14,10H12.58l-.89.89L12.21,12l3.11,2.79L16,16.34l2.15,3.42,1,2.86.08.93.11,3-.3-1.08-1.22-1.19-1-1.22-2.22-2.23-1.34-.44-1.11.29-.89.78L13,23.29l2,2.49,2.71,4.71L20.45,33l2.3,1.45,3.08,1.33,2.41,1.27,2.53,1.3.3,1.63,7.61-7.57V31.27S37.53,30,37.42,30a20.15,20.15,0,0,1-1-2.08l-.6-2.42-.44-1.22-1.67-2.12-1.08-1.41-.63-1-1.12-1.45-1-1-1.68-1.09-.27.54,1.75,2.68-1.18-.59-1.09-1.87-1.69-1.75L24.35,15l0,.76L27,19.65l-1.19-.6L23.5,15.39,22,14.3l-1.63.15.22.71Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"hbarchart\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"14\\\" y=\\\"13.17\\\" width=\\\"26\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><rect x=\\\"14\\\" y=\\\"21.17\\\" width=\\\"15\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><rect x=\\\"14\\\" y=\\\"29.17\\\" width=\\\"21\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><path d=\\\"M11,12.17v25H40v1H10v-26Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"Home\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M35.09,36.39H14.81v-11H10L25,13.61l2.73,2V14.06H32V19l8,6.43H35.09ZM16.25,35h17.4v-11h2.26l-5.37-4.3V15.49H29.16v3L25,15.42,14.16,23.94h2.09Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"home_circle\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 50 50\\\" enable-background=\\\"new 0 0 50 50\\\" ><g><path d=\\\"M32,33H17.9V25.36H14.55L25,17.18l1.89,1.42V17.49h3v3.4l5.58,4.47H32ZM18.9,32H31V24.36h1.58l-3.74-3V18.49h-1v2.1L25,18.44l-7.55,5.92H18.9Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M25,11.17a14,14,0,1,1-14,14,14,14,0,0,1,14-14m0-1a15,15,0,1,0,15,15,15,15,0,0,0-15-15Z\\\" fill=\\\"#484f60\\\"/></g></svg>\",\n \"home_open\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 51 51\\\" enable-background=\\\"new 0 0 51 51\\\" ><path fill=\\\"#484F5F\\\" d=\\\"M35.6,36.9H15.3v-11h-4.8l15-11.8l2.7,2v-1.6h4.3v4.9l8,6.4h-4.9V36.9z M16.7,35.5h17.4v-11h2.3L31,20.1V16h-1.4v3l-4.1-3.1l-10.9,8.5h2.1V35.5z\\\"/></svg>\",\n \"home_round_open\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 50 50\\\" enable-background=\\\"new 0 0 50 50\\\" ><g><path fill=\\\"#29363E\\\" d=\\\"M32,32.9H17.9v-7.7h-3.3L25,17l1.9,1.4v-1.1h3v3.4l5.6,4.5H32V32.9z M18.9,31.9H31v-7.7h1.6l-3.7-3v-2.9h-1v2.1L25,18.3l-7.6,5.9h1.5V31.9z\\\"/><path fill=\\\"#29363E\\\" d=\\\"M25,11c7.7,0,14,6.3,14,14s-6.3,14-14,14s-14-6.3-14-14S17.3,11,25,11 M25,10c-8.3,0-15,6.7-15,15c0,8.3,6.7,15,15,15c8.3,0,15-6.7,15-15C40,16.7,33.3,10,25,10L25,10z\\\"/></g></svg>\",\n \"hourglass\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M15.57,10c0,.31,5.35,1.2,9.43,1.19s9.43-.88,9.43-1.19v1.3c0,.31-5.5,1.17-9.43,1.19s-9.43-.88-9.43-1.19Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M26.65,25.26h-3.3l-5.64,11c0-.16.77.16,2.17.49C20.94,34,23.53,32,25,32c1.26,0,4,2,5.1,4.79,1.41-.34,2.19-.68,2.19-.52Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M34.43,38.53c0-.31-5.35,1.47-9.43,1.47-5.32,0-9.43-1.78-9.43-1.47v-1.3A31.69,31.69,0,0,0,25,38.7a44.9,44.9,0,0,0,9.43-1.47Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M25,13.81c-4.56,0-7.29-.56-7.29-.87l5.64,11h3.3l5.64-11C32.29,13.25,29.56,13.84,25,13.81Zm.84,8.79H24.16l-2-3.9A4.7,4.7,0,0,1,25,17.37a4.85,4.85,0,0,1,2.84,1.33Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"icon_3d\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"11.6 27.71 11.31 26.44 11.31 29.44 12.19 29.36 12.19 27.23 11.6 27.71\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><g opacity=\\\"0.5\\\"><path d=\\\"M22.28,14.36v.16l-.77-.09-2.82.23v.26l-1.33-.14L14.79,15v.1L14.25,15l-2.94.25v6a5.59,5.59,0,0,1,.54-.35,7.46,7.46,0,0,1,1.1-.53v-5l1.84-.15v4.63a9.24,9.24,0,0,1,.92-.11l.49,0,.18,0V15.15L18.69,15V20.3a4.83,4.83,0,0,1,1.34.87l.2.2V14.83l2.05-.17v4.86l.94-.25.55-.14V14.54l3-.25-1.45-.18Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M31.47,13.58,26.91,14v4.65h0l1.39-.13V14.16l4.48-.37Z\\\" fill=\\\"#484f60\\\"/></g><path d=\\\"M34.3,14.11c0-2.13-1.47-2.51-3.17-2.84C32.6,11.6,33,13.07,33,14.4v4.14c0,.44.94.47,1.32.61,0-1.68,0-3.36,0-5\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><path d=\\\"M22.22,19.54l.06,0V14.36l3-.25v4.72l.27,0c.42-.07.86-.12,1.32-.17V14l4.56-.39v4.93a13.65,13.65,0,0,1,1.37.2l.15,0V14c0-.1,0-.2,0-.3a2.89,2.89,0,0,0,0-.29l-.06-.28a2,2,0,0,0-.08-.26,1.89,1.89,0,0,0-.11-.25l-.12-.24-.15-.21-.16-.2-.18-.17-.19-.15-.2-.13-.22-.1-.19-.06-.21-.05-.21,0h-.33l-19,2.05-.17,0-.16.06-.15.07-.15.1-.13.11a.8.8,0,0,0-.13.13,1.58,1.58,0,0,0-.12.15l-.12.16-.09.17-.09.19a1.67,1.67,0,0,0-.08.2,1.42,1.42,0,0,0-.07.22,1.29,1.29,0,0,0,0,.21,1.57,1.57,0,0,0,0,.23,1.64,1.64,0,0,0,0,.23,1.93,1.93,0,0,0,0,.24V29a5.8,5.8,0,0,0,0,.48,1.7,1.7,0,0,0,0,.22,1.42,1.42,0,0,0,0,.22,1.72,1.72,0,0,0,.07.21,1.19,1.19,0,0,0,.08.2l.09.19.09.17.12.17a2.4,2.4,0,0,0,.25.27,1.42,1.42,0,0,0,.13.12l.15.09.15.08.16.05a.76.76,0,0,0,.16,0l.62.07v-2l-.88-.08v-3l-1-4.31.61-.54c.11-.09.23-.19.36-.28v-6L14.25,15v5h0l.54-.1V15l2.57-.21V19.9c.25.05.5.1.74.17a4.24,4.24,0,0,1,.59.23V14.66l2.82-.23v5.36Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M17.23,34.77A4.68,4.68,0,0,1,14.41,34,3.81,3.81,0,0,0,12,33.86a5.92,5.92,0,0,0,2.41,1,12.74,12.74,0,0,0,2.78-.14\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><path d=\\\"M15.51,24.22a4.44,4.44,0,0,0-3.07,1.05l1.87.13c.3,0,1.15-.66,1.48-.78a3.85,3.85,0,0,1,1.57-.23l-1.85-.17\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><path d=\\\"M22.53,32.88a3.92,3.92,0,0,0-3-3.81c.85-.67,1.69-1,2.16-2.1a4.88,4.88,0,0,0,.33-1.81c-.12-3.08-2.51-3.56-5-3.95a3.8,3.8,0,0,1,3.27,3.52,4.42,4.42,0,0,1-.79,3,9.21,9.21,0,0,1-1.74,1.36,4.1,4.1,0,0,1,3,4.13,4.66,4.66,0,0,1-4,4.71c2-.32,4.16-.61,5.19-2.55a4.82,4.82,0,0,0,.55-2.47\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><path d=\\\"M29,23.45l.36-.06.45-.06.55,0h.71l.35,0,.33.05c-.19,0-.41-.08-1.49-.24l-.35-.05-.35,0h-.73l-.56,0-.47,0-.37.07-.28.08V35.35h2.11l.19,0h.2l.19,0h0l1.47-.22h0l-.33,0-.31,0H30l-.33,0-.35,0-.31,0-.27,0V23.52Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><path d=\\\"M40,28.65a8.62,8.62,0,0,0-2.82-6.76,10.46,10.46,0,0,0-4.25-1.77c4.16,1.08,5.93,5.06,5.83,9.09-.11,4.27-2.16,8.13-6.53,9.19,2.47-.6,4.78-1.35,6.21-3.6A11.38,11.38,0,0,0,40,28.65\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><path d=\\\"M35.6,21.39a6.92,6.92,0,0,1,1.3,1.24,8.42,8.42,0,0,1,1,1.65,9.38,9.38,0,0,1,.64,2.06,12.54,12.54,0,0,1,.23,2.46,14.5,14.5,0,0,1-.24,2.65,10.69,10.69,0,0,1-.65,2.2,9.15,9.15,0,0,1-1,1.75,7.52,7.52,0,0,1-1.22,1.34,7.41,7.41,0,0,1-1.62,1,9.44,9.44,0,0,1-1.92.66,13.09,13.09,0,0,1-2.15.31,18.15,18.15,0,0,1-2.33,0c-.48,0-.92-.07-1.33-.12s-.78-.08-1.11-.13l-.92-.15-.72-.15V20.58c.32-.09.66-.17,1-.24s.77-.15,1.18-.21L27.07,20c.45,0,.9-.09,1.37-.12a18.53,18.53,0,0,1,2.21,0,11.1,11.1,0,0,1,1.91.23,7.4,7.4,0,0,1,1.63.52A6.87,6.87,0,0,1,35.6,21.39Zm-7.1,14.1a6.3,6.3,0,0,0,2.34-.3A4.65,4.65,0,0,0,32.69,34,5.37,5.37,0,0,0,33.9,32a9.49,9.49,0,0,0,.43-3,8.41,8.41,0,0,0-.4-2.71,4.86,4.86,0,0,0-1.12-1.88,4.35,4.35,0,0,0-1.74-1.05,6.42,6.42,0,0,0-2.24-.26l-.56,0-.47,0-.37.07-.28.08V35.35l.27.06.32,0,.35,0,.35,0h.06\\\" fill=\\\"#484f60\\\"/><path d=\\\"M15.8,21.16a5.16,5.16,0,0,1,1.89.21,3.65,3.65,0,0,1,1.42.8,3.5,3.5,0,0,1,.9,1.29,4.29,4.29,0,0,1,.31,1.62,5.2,5.2,0,0,1-.16,1.27,4.24,4.24,0,0,1-.48,1.11,4,4,0,0,1-.8.9,4.57,4.57,0,0,1-1.11.65v0a3.53,3.53,0,0,1,1.17.48,3.76,3.76,0,0,1,1,.87,4.45,4.45,0,0,1,.66,1.24,5,5,0,0,1,.24,1.54,5.15,5.15,0,0,1-.4,2,4.38,4.38,0,0,1-1.15,1.57,4.81,4.81,0,0,1-1.76,1,6.42,6.42,0,0,1-2.28.22A8.17,8.17,0,0,1,13,37.48a8.9,8.9,0,0,1-.87-.41,4.33,4.33,0,0,1-.65-.45L12,33.86a4.33,4.33,0,0,0,.5.33,7.59,7.59,0,0,0,.7.35,5.17,5.17,0,0,0,.84.28A4.55,4.55,0,0,0,15,35a3.37,3.37,0,0,0,1-.12,2.16,2.16,0,0,0,.76-.43,1.89,1.89,0,0,0,.47-.68,2.34,2.34,0,0,0,.15-.85,2.38,2.38,0,0,0-.23-1.07,2.1,2.1,0,0,0-.6-.75,2.65,2.65,0,0,0-.85-.44,3.93,3.93,0,0,0-1-.15H13.55V27.79h1.16a3.58,3.58,0,0,0,.79-.11,2.89,2.89,0,0,0,.76-.34,1.7,1.7,0,0,0,.56-.6,1.74,1.74,0,0,0,.23-.88,1.92,1.92,0,0,0-.12-.69,1.45,1.45,0,0,0-1-.86,2.56,2.56,0,0,0-.86-.09,3.6,3.6,0,0,0-.79.12,6.06,6.06,0,0,0-.75.27,5.26,5.26,0,0,0-.63.33,3.55,3.55,0,0,0-.48.34l-.6-2.65a4.38,4.38,0,0,1,.69-.49,6.06,6.06,0,0,1,.92-.44,8.33,8.33,0,0,1,2.35-.53Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"id\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M37.43,15.14H12.57A2.57,2.57,0,0,0,10,17.71V32.29a2.57,2.57,0,0,0,2.57,2.57H37.43A2.57,2.57,0,0,0,40,32.29V17.71A2.57,2.57,0,0,0,37.43,15.14Zm-20.1,2.15a3.36,3.36,0,0,1,3.45,3.16A3.71,3.71,0,0,1,17.33,24a3.71,3.71,0,0,1-3.44-3.57A3.36,3.36,0,0,1,17.33,17.29Zm4.12,10.4c0,1.09-1,5-2.24,5H15.46c-1.24,0-2.25-3.93-2.25-5l-1.5-1.83A2.49,2.49,0,0,1,14,23.47h.28a4.37,4.37,0,0,0,3.09,2.13,4.39,4.39,0,0,0,3.1-2.13h.27A2.49,2.49,0,0,1,23,25.86Zm16.41,5H25V31.28H37.86Zm0-2.85H25V28.43H37.86Zm0-2.86H25V25.57H37.86Zm0-5.71H25V19.86H37.86Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"image\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M39.17,12.2H36.43L41,16.77V14A1.83,1.83,0,0,0,39.17,12.2Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M34.6,12.2H10.83A1.83,1.83,0,0,0,9,14V36a1.83,1.83,0,0,0,1.83,1.83H39.17A1.83,1.83,0,0,0,41,36V18.6Zm5,23.77a.47.47,0,0,1-.46.46H10.83a.47.47,0,0,1-.46-.46V14a.47.47,0,0,1,.46-.46H34l5.6,5.6Z\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"24.91 17.96 18.14 29.11 20.89 29.11 26.19 19.61 24.91 17.96\\\" fill=\\\"#484f60\\\"/><path d=\\\"M36.43,30.49c0,2-1.64,4.57-3.66,4.57H17.23c-2,0-3.66-2.56-3.66-4.57Z\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"22.71 29.11 30.03 16.31 36.43 29.11 22.71 29.11\\\" fill=\\\"#484f60\\\"/><path d=\\\"M17.23,18.37a2.06,2.06,0,1,1-2.06-2.06A2.06,2.06,0,0,1,17.23,18.37Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"incoming_storage\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"25 25.16 17.62 17.79 17.62 22.38 10 22.38 10 27.96 17.62 27.96 17.62 32.55 25 25.16\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"20 32.29 20 37.97 22.93 37.97 22.93 29.36 20 32.29\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><polygon points=\\\"22.93 12.36 20 12.36 20 18.05 22.93 20.97 22.93 12.36\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><rect x=\\\"24.39\\\" y=\\\"30.65\\\" width=\\\"11.22\\\" height=\\\"1.46\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><polygon points=\\\"35.61 21.88 24.39 21.88 24.39 22.44 25.29 23.34 35.61 23.34 35.61 21.88\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><rect x=\\\"37.07\\\" y=\\\"12.36\\\" width=\\\"2.93\\\" height=\\\"25.61\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><rect x=\\\"24.39\\\" y=\\\"13.09\\\" width=\\\"11.22\\\" height=\\\"1.46\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/></svg>\",\n \"information\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M25.05,16.67a2,2,0,0,1,2,2,1.92,1.92,0,0,1-.58,1.41,2,2,0,0,1-1.42.59,2,2,0,0,1-2-2,2,2,0,0,1,.58-1.42A1.92,1.92,0,0,1,25.05,16.67Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"22.95\\\" y=\\\"23.67\\\" width=\\\"4\\\" height=\\\"10\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"information_round_open\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><path d=\\\"M298,407.5a14,14,0,1,1-14,14,14,14,0,0,1,14-14m0-1a15,15,0,1,0,15,15,15,15,0,0,0-15-15h0Z\\\" transform=\\\"translate(-272.5 -396)\\\" fill=\\\"#fff\\\"/><path d=\\\"M298.1,413a2,2,0,1,1-1.4.6A1.9,1.9,0,0,1,298.1,413Z\\\" transform=\\\"translate(-272.5 -396)\\\" fill=\\\"#fff\\\"/><rect x=\\\"23.4\\\" y=\\\"24\\\" width=\\\"4\\\" height=\\\"10\\\" fill=\\\"#fff\\\"/></svg>\",\n \"input_multiplechoice\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"18\\\" y=\\\"15.17\\\" width=\\\"22\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><rect x=\\\"18\\\" y=\\\"23.17\\\" width=\\\"22\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><rect x=\\\"18\\\" y=\\\"31.17\\\" width=\\\"22\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><circle cx=\\\"13\\\" cy=\\\"17.17\\\" r=\\\"3\\\" fill=\\\"#484f60\\\"/><circle cx=\\\"13\\\" cy=\\\"25.17\\\" r=\\\"3\\\" fill=\\\"#484f60\\\"/><circle cx=\\\"13\\\" cy=\\\"33.17\\\" r=\\\"3\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"input_text\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"10\\\" y=\\\"19.17\\\" width=\\\"30\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"27.17\\\" width=\\\"20\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"input_textarea\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"10\\\" y=\\\"11.17\\\" width=\\\"30\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"19.17\\\" width=\\\"30\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"27.17\\\" width=\\\"30\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"35.17\\\" width=\\\"20\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"inventory\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"26.41 31.89 30.72 29.4 35.03 31.88 30.73 34.38 26.41 31.89\\\" fill=\\\"#484f60\\\" opacity=\\\"0.75\\\"/><polygon points=\\\"31.19 35.17 35.49 32.68 35.5 37.65 31.2 40.15 31.19 35.17\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><polygon points=\\\"25.96 37.67 25.96 32.69 30.27 35.17 30.28 40.15 25.96 37.67\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><polygon points=\\\"15.96 31.91 20.26 29.42 24.57 31.9 20.27 34.39 15.96 31.91\\\" fill=\\\"#484f60\\\" opacity=\\\"0.75\\\"/><polygon points=\\\"20.73 35.19 25.03 32.7 25.04 37.67 20.74 40.16 20.73 35.19\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><polygon points=\\\"15.51 37.69 15.5 32.71 19.81 35.19 19.82 40.17 15.51 37.69\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><polygon points=\\\"26.43 20.9 26.43 21.7 23.15 21.7 21.17 22.85 25.48 25.33 29.79 22.83 26.43 20.9\\\" fill=\\\"#484f60\\\" opacity=\\\"0.75\\\"/><polygon points=\\\"25.94 26.12 30.25 23.63 30.26 28.6 25.95 31.1 25.94 26.12\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><polygon points=\\\"20.72 28.62 20.71 23.65 25.02 26.13 25.03 31.1 20.72 28.62\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"31\\\" y=\\\"10.17\\\" width=\\\"1.5\\\" height=\\\"10\\\" fill=\\\"#484f60\\\"/><rect x=\\\"38\\\" y=\\\"10.17\\\" width=\\\"1.5\\\" height=\\\"10\\\" fill=\\\"#484f60\\\"/><rect x=\\\"34.5\\\" y=\\\"10.17\\\" width=\\\"1.5\\\" height=\\\"10\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"14.43 10.2 12.93 10.2 12.93 16.47 14.43 15.65 14.43 10.2\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"14.43 19.64 13.39 20.2 14.43 20.2 14.43 19.64\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"23.43 10.2 23.43 10.76 24.46 10.2 23.43 10.2\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"23.43 14.75 23.43 20.2 24.93 20.2 24.93 13.93 23.43 14.75\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"21.43 10.2 19.93 10.2 19.93 12.66 21.43 11.85 21.43 10.2\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"19.93 16.65 19.93 20.2 21.43 20.2 21.43 15.83 19.93 16.65\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"16.43 18.55 16.43 20.2 17.93 20.2 17.93 17.74 16.43 18.55\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"17.93 10.2 16.43 10.2 16.43 14.57 17.93 13.75 17.93 10.2\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"11.24 20.23 10.5 18.93 26.62 10.17 27.36 11.47 11.24 20.23\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"invoice\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M14.5,25V12a.5.5,0,0,1,.5-.5H28.73V10H15a2,2,0,0,0-2,2V26.53A9.56,9.56,0,0,1,14.5,25Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M35.5,18.49V38a.5.5,0,0,1-.5.5H27.73A10,10,0,0,1,26.11,40H35a2,2,0,0,0,2-2V18.49Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M28.73,10v6.44c0,1.78.27,2,2.05,2H37Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"17.5\\\" y=\\\"17.5\\\" width=\\\"6\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><rect x=\\\"17.5\\\" y=\\\"21.5\\\" width=\\\"10\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><rect x=\\\"17.5\\\" y=\\\"14.5\\\" width=\\\"6\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><rect x=\\\"29.5\\\" y=\\\"21.5\\\" width=\\\"3\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><rect x=\\\"29.5\\\" y=\\\"25.5\\\" width=\\\"3\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><rect x=\\\"29.5\\\" y=\\\"29.5\\\" width=\\\"3\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><path d=\\\"M32.8,33.1a.51.51,0,0,0-.7.1l-.56.72-1.4-.4a.54.54,0,0,0-.22,0,9.59,9.59,0,0,1-.34,1.61l.57-.57,1.44.42a.49.49,0,0,0,.54-.18l.77-1A.51.51,0,0,0,32.8,33.1Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M23.06,25.45a7.5,7.5,0,1,0,4.49,9.61A7.5,7.5,0,0,0,23.06,25.45ZM18.11,39.08a7,7,0,1,1,9-4.19A7,7,0,0,1,18.11,39.08Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M22.93,38l2.95-8.12a6.3,6.3,0,0,0-.81-1.24l-3.56,9.79A6.46,6.46,0,0,0,22.93,38Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M20.78,38.49l3.78-10.4a6.08,6.08,0,0,0-1-.74l-4,11.06A5.79,5.79,0,0,0,20.78,38.49Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M26.14,34.55a6.06,6.06,0,0,0,.11-3.76L23.8,37.5A6,6,0,0,0,26.14,34.55Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M22.55,26.86a6,6,0,1,0-4.1,11.28l.44.13L23,27Zm-4,8.4-1.3-.47,1.29-3.55.23-.57L19,30l-.6.26-.91.31-.34-1,2.54-.85,1.07.38Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"ione_logo\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 77 15\\\"><path d=\\\"M.29,11V.22h1V11Z\\\" fill=\\\"#fff\\\"/><path d=\\\"M22.11,15a6.93,6.93,0,0,1-5.22-2.18A7.32,7.32,0,0,1,14.78,7.5a7.36,7.36,0,0,1,2.11-5.33A7,7,0,0,1,22.11,0a7,7,0,0,1,5.22,2.17A7.36,7.36,0,0,1,29.44,7.5a7.32,7.32,0,0,1-2.11,5.32A6.93,6.93,0,0,1,22.11,15Zm0-14.08a5.86,5.86,0,0,0-4.48,1.9A6.61,6.61,0,0,0,15.85,7.5a6.53,6.53,0,0,0,1.79,4.66,5.86,5.86,0,0,0,4.48,1.9,5.84,5.84,0,0,0,4.47-1.9A6.56,6.56,0,0,0,28.37,7.5a6.64,6.64,0,0,0-1.78-4.68A5.84,5.84,0,0,0,22.12.92Z\\\" fill=\\\"#fff\\\"/><path d=\\\"M42.89,14.78V.13h.5l9.55,11c.34.39.66.77,1,1.16l.46.59c0-.36,0-1.06,0-2.11V.22h1V14.87h-.49L45.11,3.7,43.88,2.2c0,.3,0,1,0,2.1V14.78Z\\\" fill=\\\"#fff\\\"/><path d=\\\"M69.69,14.78V.22h6.79v.9H70.72V6.41h5.2v.88h-5.2v6.54h6v.95Z\\\" fill=\\\"#fff\\\"/></svg>\",\n \"ione_logo_fat\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 142 31.96\\\"><title>iOne logo fattened</title><rect y=\\\"0.4\\\" width=\\\"6.93\\\" height=\\\"24.46\\\" fill=\\\"#fff\\\"/><path d=\\\"M90.33,55.77A15,15,0,0,1,79.15,51.1a15.67,15.67,0,0,1-4.5-11.31,15.7,15.7,0,0,1,4.5-11.31,15.72,15.72,0,0,1,22.36,0A15.7,15.7,0,0,1,106,39.79a15.67,15.67,0,0,1-4.5,11.31A15,15,0,0,1,90.33,55.77Zm0-25.23a8.14,8.14,0,0,0-6.18,2.61,9.38,9.38,0,0,0-2.51,6.64,9.33,9.33,0,0,0,2.5,6.62,8.64,8.64,0,0,0,12.35,0A9.39,9.39,0,0,0,99,39.79a9.43,9.43,0,0,0-2.49-6.64A8.08,8.08,0,0,0,90.35,30.54Z\\\" transform=\\\"translate(-48.7 -23.81)\\\" fill=\\\"#fff\\\"/><polygon points=\\\"99.13 31.72 83.26 13.5 83.26 31.55 76.33 31.55 76.33 0.24 80.92 0.24 96.79 18.5 96.79 0.4 103.71 0.4 103.71 31.72 99.13 31.72\\\" fill=\\\"#fff\\\"/><polygon points=\\\"124.35 31.55 124.35 0.4 141.6 0.4 141.6 7.09 131.27 7.09 131.27 11.49 140.59 11.49 140.59 18.14 131.27 18.14 131.27 24.79 142 24.79 142 31.55 124.35 31.55\\\" fill=\\\"#fff\\\"/></svg>\",\n \"ione_status_next\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 50 50\\\" enable-background=\\\"new 0 0 50 50\\\" ><g display=\\\"none\\\"></g><g ><g ><g><polygon fill=\\\"#484F60\\\" points=\\\"35,20 25.2,10.2 25.2,16.3 15,16.3 15,23.7 25.2,23.7 25.2,29.8 \\\"/><circle opacity=\\\"0.25\\\" fill=\\\"#484F60\\\" cx=\\\"12.5\\\" cy=\\\"37.3\\\" r=\\\"2.5\\\"/><circle fill=\\\"#484F60\\\" cx=\\\"25\\\" cy=\\\"37.3\\\" r=\\\"2.5\\\"/><circle opacity=\\\"0.75\\\" fill=\\\"#484F60\\\" cx=\\\"37.5\\\" cy=\\\"37.3\\\" r=\\\"2.5\\\"/><rect x=\\\"16\\\" y=\\\"36.8\\\" opacity=\\\"0.25\\\" fill=\\\"#484F60\\\" width=\\\"5.5\\\" height=\\\"1\\\"/><rect x=\\\"28.5\\\" y=\\\"36.8\\\" opacity=\\\"0.75\\\" fill=\\\"#484F60\\\" width=\\\"5.5\\\" height=\\\"1\\\"/></g></g><g display=\\\"none\\\"></g></g><g display=\\\"none\\\"></g><g display=\\\"none\\\"></g><g display=\\\"none\\\"></g><g display=\\\"none\\\"></g><g display=\\\"none\\\"><g display=\\\"inline\\\"><rect y=\\\"50\\\" opacity=\\\"0.25\\\" fill=\\\"#FFFFFF\\\" width=\\\"50\\\" height=\\\"50\\\"/></g><g display=\\\"inline\\\"></g><g display=\\\"inline\\\"><g><rect y=\\\"0\\\" opacity=\\\"0.25\\\" fill=\\\"#FFFFFF\\\" width=\\\"50\\\" height=\\\"50\\\"/><rect y=\\\"5\\\" opacity=\\\"0.5\\\" fill=\\\"none\\\" width=\\\"50\\\" height=\\\"45\\\"/><text transform=\\\"matrix(1 0 0 1 5.0054 12.0999)\\\"><tspan x=\\\"0\\\" y=\\\"0\\\" font-family=\\\"'MyriadPro-Regular'\\\" font-size=\\\"10px\\\">Workflow </tspan><tspan x=\\\"5.3\\\" y=\\\"12\\\" font-family=\\\"'MyriadPro-Regular'\\\" font-size=\\\"10px\\\">acties / </tspan><tspan x=\\\"0.3\\\" y=\\\"24\\\" font-family=\\\"'MyriadPro-Regular'\\\" font-size=\\\"10px\\\">volgende </tspan><tspan x=\\\"8.3\\\" y=\\\"36\\\" font-family=\\\"'MyriadPro-Regular'\\\" font-size=\\\"10px\\\">stap / </tspan></text></g></g></g></svg>\",\n \"ione_workflow\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 50 50\\\" enable-background=\\\"new 0 0 50 50\\\" ><g display=\\\"none\\\"></g><g ><g ><g><g><rect x=\\\"34.3\\\" y=\\\"20\\\" fill=\\\"#484F60\\\" width=\\\"1.5\\\" height=\\\"3.7\\\"/><g><polygon fill=\\\"#484F60\\\" points=\\\"32,22.8 35,28 38,22.8 \\\"/></g></g><path fill=\\\"#484F60\\\" d=\\\"M18.5,21.5v7h-7v-7H18.5 M20,20H10v10h10V20L20,20z\\\"/><path fill=\\\"#484F60\\\" d=\\\"M38.5,11.5v7h-7v-7H38.5 M40,10H30v10h10V10L40,10z\\\"/><path fill=\\\"#484F60\\\" d=\\\"M38.5,31.5v7h-7v-7H38.5 M40,30H30v10h10V30L40,30z\\\"/><g><polygon fill=\\\"#484F60\\\" points=\\\"15.8,20 14.3,20 14.3,14.3 23.7,14.3 23.7,15.8 15.8,15.8 \\\"/><g><polygon fill=\\\"#484F60\\\" points=\\\"22.8,18 28,15 22.8,12 \\\"/></g></g><g><polygon fill=\\\"#484F60\\\" points=\\\"23.7,35.8 14.3,35.8 14.3,30 15.8,30 15.8,34.3 23.7,34.3 \\\"/><g><polygon fill=\\\"#484F60\\\" points=\\\"22.8,38 28,35 22.8,32 \\\"/></g></g></g></g><g display=\\\"none\\\"></g></g><g display=\\\"none\\\"></g><g display=\\\"none\\\"></g><g display=\\\"none\\\"></g><g display=\\\"none\\\"></g><g display=\\\"none\\\"><g display=\\\"inline\\\"><rect y=\\\"50\\\" opacity=\\\"0.25\\\" fill=\\\"#FFFFFF\\\" width=\\\"50\\\" height=\\\"50\\\"/></g><g display=\\\"inline\\\"><g><rect y=\\\"-45\\\" opacity=\\\"0.5\\\" fill=\\\"none\\\" width=\\\"50\\\" height=\\\"45\\\"/><text transform=\\\"matrix(1 0 0 1 7.375 -37.9002)\\\"><tspan x=\\\"0\\\" y=\\\"0\\\" font-family=\\\"'MyriadPro-Regular'\\\" font-size=\\\"10px\\\">Opmaak </tspan><tspan x=\\\"5.4\\\" y=\\\"12\\\" font-family=\\\"'MyriadPro-Regular'\\\" font-size=\\\"10px\\\">item / </tspan><tspan x=\\\"-1.4\\\" y=\\\"24\\\" font-family=\\\"'MyriadPro-Regular'\\\" font-size=\\\"10px\\\">structuur </tspan><tspan x=\\\"8.1\\\" y=\\\"36\\\" font-family=\\\"'MyriadPro-Regular'\\\" font-size=\\\"10px\\\">item </tspan></text></g></g><g display=\\\"inline\\\"><g><rect y=\\\"0\\\" opacity=\\\"0.25\\\" fill=\\\"#FFFFFF\\\" width=\\\"50\\\" height=\\\"50\\\"/><rect y=\\\"5\\\" opacity=\\\"0.5\\\" fill=\\\"none\\\" width=\\\"50\\\" height=\\\"45\\\"/><text transform=\\\"matrix(1 0 0 1 5.0054 12.0999)\\\" font-family=\\\"'MyriadPro-Regular'\\\" font-size=\\\"10px\\\">Workflow</text></g></g></g></svg>\",\n \"keyboard\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"12.65\\\" y=\\\"24.43\\\" width=\\\"2.65\\\" height=\\\"2.65\\\" fill=\\\"#484f60\\\"/><rect x=\\\"34.71\\\" y=\\\"24.43\\\" width=\\\"2.65\\\" height=\\\"2.65\\\" fill=\\\"#484f60\\\"/><rect x=\\\"30.29\\\" y=\\\"24.43\\\" width=\\\"2.65\\\" height=\\\"2.65\\\" fill=\\\"#484f60\\\"/><rect x=\\\"25.88\\\" y=\\\"24.43\\\" width=\\\"2.65\\\" height=\\\"2.65\\\" fill=\\\"#484f60\\\"/><rect x=\\\"21.47\\\" y=\\\"24.43\\\" width=\\\"2.65\\\" height=\\\"2.65\\\" fill=\\\"#484f60\\\"/><rect x=\\\"17.06\\\" y=\\\"24.43\\\" width=\\\"2.65\\\" height=\\\"2.65\\\" fill=\\\"#484f60\\\"/><rect x=\\\"12.65\\\" y=\\\"28.84\\\" width=\\\"4.41\\\" height=\\\"2.65\\\" fill=\\\"#484f60\\\"/><rect x=\\\"32.06\\\" y=\\\"28.84\\\" width=\\\"5.29\\\" height=\\\"2.65\\\" fill=\\\"#484f60\\\"/><rect x=\\\"27.65\\\" y=\\\"28.84\\\" width=\\\"2.65\\\" height=\\\"2.65\\\" fill=\\\"#484f60\\\"/><rect x=\\\"23.24\\\" y=\\\"28.84\\\" width=\\\"2.65\\\" height=\\\"2.65\\\" fill=\\\"#484f60\\\"/><rect x=\\\"18.82\\\" y=\\\"28.84\\\" width=\\\"2.65\\\" height=\\\"2.65\\\" fill=\\\"#484f60\\\"/><rect x=\\\"12.65\\\" y=\\\"33.26\\\" width=\\\"4.41\\\" height=\\\"2.65\\\" fill=\\\"#484f60\\\"/><rect x=\\\"32.06\\\" y=\\\"33.26\\\" width=\\\"5.29\\\" height=\\\"2.65\\\" fill=\\\"#484f60\\\"/><rect x=\\\"18.82\\\" y=\\\"33.26\\\" width=\\\"11.47\\\" height=\\\"2.65\\\" fill=\\\"#484f60\\\"/><path d=\\\"M39.12,22.67v15H10.88v-15H39.12m.88-.88H10V38.55H40V21.79Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M23.55,22.67c-3-1.46-5.74-2.76-6.26-4.5h0a4.9,4.9,0,0,1-.22-1.62,3.58,3.58,0,0,1,2.31-3.25c2.2-.94,4.48.38,5.93,1.33s2.72,3.64,4.93,2.88a2.65,2.65,0,0,0,1.65-1.39A2.7,2.7,0,0,0,32,13.78a12.94,12.94,0,0,0-.84-2l.65-.33a12.51,12.51,0,0,1,.89,2.1,3.24,3.24,0,0,1-.15,2.74,3.36,3.36,0,0,1-2.12,1.79c-2.58.9-4.12-2-5.6-2.94s-3.4-2.05-5.19-1.28a2.89,2.89,0,0,0-1.86,2.65A4.47,4.47,0,0,0,18,18c.49,1.61,3.09,2.76,5.92,4.13Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"keychain\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M25.78,21.66a5.63,5.63,0,1,0-6.34-4.81A5.63,5.63,0,0,0,25.78,21.66ZM22,15.31a2,2,0,1,1,2.29,1.74A2,2,0,0,1,22,15.31Z\\\" fill=\\\"#484f60\\\"/><polyline points=\\\"30.37 17.82 40 27.42 39.88 29.4 36.45 29.61 35.68 28.85 35.86 26.49 33.31 26.47 33.4 24.02 30.91 24.07 29.88 23.04 28.78 23.24 26.95 21.41\\\" fill=\\\"#484f60\\\"/><path d=\\\"M17.42,17.13a4.57,4.57,0,0,1-.05-.52l-2,1.47a3.78,3.78,0,0,0-1.55,2L10.09,33.8a3.85,3.85,0,0,0,.32,2.52l.24.43a3.85,3.85,0,0,0,2,1.55l4.21,1.15a3.87,3.87,0,0,0,2.53-.32l.42-.25a3.8,3.8,0,0,0,1.56-2L25,23.76A7.69,7.69,0,0,1,17.42,17.13Zm1.51,19.55-6.63-1.8,3.54-13,6.64,1.8Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"label\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 37.5 50\\\"><path fill=\\\"#29363E\\\" d=\\\"M32,0A15.3,15.3,0,0,0,21.9,3.7L1.7,21.5a4.6,4.6,0,0,0,0,7.1L21.9,46.3A15.3,15.3,0,0,0,32,50h5.5V0H32Z\\\"/><circle class=\\\"cls-circle\\\" cx=\\\"21.5\\\" cy=\\\"25\\\" r=\\\"6.3\\\"/></svg>\",\n \"label_round_open\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><path d=\\\"M307,423.7v-0.4a2.8,2.8,0,0,0-.7-1.7l-7.4-7.4a2.8,2.8,0,0,0-1.7-.7H292a1,1,0,0,0-1,1v5.1a2.8,2.8,0,0,0,.7,1.7l7.4,7.4a2.8,2.8,0,0,0,1.7.7h0.4a2.8,2.8,0,0,0,1.7-.7l3.3-3.3A2.8,2.8,0,0,0,307,423.7Zm-14.3-6.6a1.4,1.4,0,1,1,1.9,0A1.4,1.4,0,0,1,292.7,417.1Zm8.5,10.1-6-6,0.7-.7,6,6Zm1.4-1.4-6-6,0.7-.7,6,6Zm1.4-1.4-6-6,0.7-.7,6,6Z\\\" transform=\\\"translate(-272.5 -395)\\\" fill=\\\"#fff\\\"/><path d=\\\"M298,436a15.5,15.5,0,1,1,15.5-15.5A15.5,15.5,0,0,1,298,436Zm0-30a14.5,14.5,0,1,0,14.5,14.5A14.5,14.5,0,0,0,298,406Z\\\" transform=\\\"translate(-272.5 -395)\\\" fill=\\\"#fff\\\"/></svg>\",\n \"landmark_flag\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path style= \\\"fill: #484f60\\\" d=\\\"M352 0C360.8 0 368 7.164 368 16V80C368 88.84 360.8 96 352 96H272V128H464C481.7 128 496 142.3 496 160C496 177.7 481.7 192 464 192H47.1C30.33 192 15.1 177.7 15.1 160C15.1 142.3 30.33 128 47.1 128H239.1V16C239.1 7.164 247.2 0 255.1 0H352zM63.1 224H127.1V416H167.1V224H231.1V416H280V224H344V416H384V224H448V420.3C448.6 420.6 449.2 420.1 449.8 421.4L497.8 453.4C509.5 461.2 514.7 475.8 510.6 489.3C506.5 502.8 494.1 512 480 512H31.1C17.9 512 5.458 502.8 1.372 489.3C-2.715 475.8 2.515 461.2 14.25 453.4L62.25 421.4C62.82 420.1 63.4 420.6 63.1 420.3V224z\\\"/></svg>\",\n \"library\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M25,10.47,12.81,18H37.19Zm0,6.3a2.34,2.34,0,1,1,2.34-2.34A2.34,2.34,0,0,1,25,16.77Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"13.75\\\" y=\\\"21.72\\\" width=\\\"1.88\\\" height=\\\"10.31\\\" fill=\\\"#484f60\\\"/><rect x=\\\"13.28\\\" y=\\\"20.78\\\" width=\\\"2.81\\\" height=\\\"0.94\\\" fill=\\\"#484f60\\\"/><rect x=\\\"12.81\\\" y=\\\"32.03\\\" width=\\\"3.75\\\" height=\\\"0.94\\\" fill=\\\"#484f60\\\"/><rect x=\\\"12.81\\\" y=\\\"19.84\\\" width=\\\"3.75\\\" height=\\\"0.94\\\" fill=\\\"#484f60\\\"/><rect x=\\\"27.5\\\" y=\\\"21.72\\\" width=\\\"1.88\\\" height=\\\"10.31\\\" fill=\\\"#484f60\\\"/><rect x=\\\"27.03\\\" y=\\\"20.78\\\" width=\\\"2.81\\\" height=\\\"0.94\\\" fill=\\\"#484f60\\\"/><rect x=\\\"26.56\\\" y=\\\"32.03\\\" width=\\\"3.75\\\" height=\\\"0.94\\\" fill=\\\"#484f60\\\"/><rect x=\\\"26.56\\\" y=\\\"19.84\\\" width=\\\"3.75\\\" height=\\\"0.94\\\" fill=\\\"#484f60\\\"/><rect x=\\\"20.62\\\" y=\\\"21.72\\\" width=\\\"1.88\\\" height=\\\"10.31\\\" fill=\\\"#484f60\\\"/><rect x=\\\"20.16\\\" y=\\\"20.78\\\" width=\\\"2.81\\\" height=\\\"0.94\\\" fill=\\\"#484f60\\\"/><rect x=\\\"19.69\\\" y=\\\"32.03\\\" width=\\\"3.75\\\" height=\\\"0.94\\\" fill=\\\"#484f60\\\"/><rect x=\\\"19.69\\\" y=\\\"19.84\\\" width=\\\"3.75\\\" height=\\\"0.94\\\" fill=\\\"#484f60\\\"/><rect x=\\\"34.38\\\" y=\\\"21.72\\\" width=\\\"1.88\\\" height=\\\"10.31\\\" fill=\\\"#484f60\\\"/><rect x=\\\"33.91\\\" y=\\\"20.78\\\" width=\\\"2.81\\\" height=\\\"0.94\\\" fill=\\\"#484f60\\\"/><rect x=\\\"33.44\\\" y=\\\"32.03\\\" width=\\\"3.75\\\" height=\\\"0.94\\\" fill=\\\"#484f60\\\"/><rect x=\\\"33.44\\\" y=\\\"19.84\\\" width=\\\"3.75\\\" height=\\\"0.94\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"37.66\\\" width=\\\"30\\\" height=\\\"1.87\\\" fill=\\\"#484f60\\\"/><rect x=\\\"11.88\\\" y=\\\"34.84\\\" width=\\\"26.25\\\" height=\\\"1.87\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"linechart\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M11,12.17v25H40v1H10v-26Z\\\" fill=\\\"#4c5050\\\" opacity=\\\"0.75\\\"/><polygon points=\\\"11.76 33.18 11 32.53 15.16 26.48 19.66 24.3 24.26 27.19 28.07 22.25 35.3 19.53 37.01 21.7 38.92 17.28 39.84 17.68 37.26 23.64 34.97 20.72 28.69 23.09 24.5 28.52 19.6 25.44 15.7 27.34 11.76 33.18\\\" fill=\\\"#4c5050\\\"/><polygon points=\\\"39.84 17.68 37.26 23.64 34.97 20.72 28.69 23.09 24.5 28.52 19.6 25.44 15.7 27.34 11.76 33.18 11 32.53 11 37.17 40 37.17 39.84 17.68\\\" fill=\\\"#4c5050\\\" opacity=\\\"0.25\\\"/></svg>\",\n \"linked_products\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><g opacity=\\\"0.5\\\"><path d=\\\"M20.2,14.71h2.15V26.2l.76-.77V14.71H24.4v9.43l.77-.77V14.71h1.29V22.1l.08-.09,1.29-1.3v-6h1.29v4.71l1.68-1.67a6.28,6.28,0,0,1,.54-.49V14.71h1.29v1.77a7.15,7.15,0,0,1,.77-.29V14.71H36V16a6.71,6.71,0,0,1,1,.21V14.71h1.29v2a6,6,0,0,1,1.31,1l.09.08c.11.11.21.23.31.35v-3a2.57,2.57,0,0,0-2.57-2.57H12.57A2.57,2.57,0,0,0,10,15.14V29.72a2.57,2.57,0,0,0,2.57,2.57h5.95a6.13,6.13,0,0,1,1.68-3.93ZM14.29,30.14H12.15V14.71h2.14Zm2,0H15V14.71h1.29Zm1.28,0V14.71h1.29V30.14Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M39.68,26.63,38.29,28v2.11H37v-.83l-2.92,2.92v-.1s-.09.1-.13.16h3.48A2.57,2.57,0,0,0,40,29.72V26.28A3.49,3.49,0,0,1,39.68,26.63Z\\\" fill=\\\"#484f60\\\"/></g><path d=\\\"M38.62,18.89l-.08-.08a4.73,4.73,0,0,0-6.68,0L27.6,23.07a4.73,4.73,0,0,0,0,6.68l.08.08a3.8,3.8,0,0,0,.48.42l1.56-1.56a2.38,2.38,0,0,1-.51-.39l-.08-.08a2.56,2.56,0,0,1,0-3.62l4.26-4.26a2.56,2.56,0,0,1,3.62,0l.08.08a2.56,2.56,0,0,1,0,3.62L35.16,26a6.53,6.53,0,0,1,.48,2.58l3-3A4.73,4.73,0,0,0,38.62,18.89ZM32.33,25a3.77,3.77,0,0,0-.49-.42l-1.56,1.56a2.1,2.1,0,0,1,.51.39l.08.08a2.56,2.56,0,0,1,0,3.62l-4.26,4.26a2.56,2.56,0,0,1-3.62,0l-.08-.08a2.56,2.56,0,0,1,0-3.62l1.93-1.93a6.6,6.6,0,0,1-.48-2.58l-3,3a4.73,4.73,0,0,0,0,6.68l.08.08a4.73,4.73,0,0,0,6.68,0l4.26-4.26a4.74,4.74,0,0,0,0-6.69Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"link_circle\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M25,45A20,20,0,1,1,45,25,20,20,0,0,1,25,45ZM25,6.29A18.71,18.71,0,1,0,43.71,25,18.73,18.73,0,0,0,25,6.29Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M34.48,15.6l-.08-.08a5.21,5.21,0,0,0-7.36,0L22.36,20.2a5.21,5.21,0,0,0,0,7.36l.08.08c.17.17.35.32.53.47l1.72-1.72a2.88,2.88,0,0,1-.56-.43L24,25.87a2.81,2.81,0,0,1,0-4l4.69-4.69a2.81,2.81,0,0,1,4,0l.09.09a2.81,2.81,0,0,1,0,4l-2.12,2.12a7.17,7.17,0,0,1,.52,2.85L34.48,23A5.21,5.21,0,0,0,34.48,15.6Zm-6.92,6.76A5.62,5.62,0,0,0,27,21.9l-1.72,1.71a2.88,2.88,0,0,1,.56.43l.09.09a2.81,2.81,0,0,1,0,4L21.27,32.8a2.81,2.81,0,0,1-4,0l-.09-.09a2.81,2.81,0,0,1,0-4l2.12-2.12a7.17,7.17,0,0,1-.52-2.85L15.52,27a5.21,5.21,0,0,0,0,7.36l.08.08a5.21,5.21,0,0,0,7.36,0l4.68-4.68a5.21,5.21,0,0,0,0-7.36Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"list_view\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><rect x=\\\"26.5\\\" y=\\\"13\\\" width=\\\"14\\\" height=\\\"7\\\" fill=\\\"#4d5050\\\"/><rect x=\\\"10.5\\\" y=\\\"13\\\" width=\\\"14\\\" height=\\\"7\\\" fill=\\\"#4d5050\\\"/><rect x=\\\"10.5\\\" y=\\\"22\\\" width=\\\"14\\\" height=\\\"7\\\" fill=\\\"#4d5050\\\"/><rect x=\\\"26.5\\\" y=\\\"22\\\" width=\\\"14\\\" height=\\\"7\\\" fill=\\\"#4d5050\\\"/><rect x=\\\"10.5\\\" y=\\\"31\\\" width=\\\"14\\\" height=\\\"7\\\" fill=\\\"#4d5050\\\"/><rect x=\\\"26.5\\\" y=\\\"31\\\" width=\\\"14\\\" height=\\\"7\\\" fill=\\\"#4d5050\\\"/></svg>\",\n \"location\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M25,12.67A8.33,8.33,0,0,0,16.67,21c0,4.6,8.33,16.67,8.33,16.67S33.33,25.6,33.33,21A8.33,8.33,0,0,0,25,12.67Zm0,10.41A2.08,2.08,0,1,1,27.08,21,2.08,2.08,0,0,1,25,23.08Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"lock\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M32.65,21.67H17.35c-2.81,0-3.06,2.29-3.06,5.12v8.09c0,2.83.25,5.12,3.06,5.12h15.3c2.81,0,3.06-2.29,3.06-5.12V26.79C35.71,24,35.46,21.67,32.65,21.67ZM20.22,37.49l2.61-6.32a3.82,3.82,0,1,1,4.35,0l2.6,6.32Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M29.51,16.64c0-3.6-2-4.07-4.51-4.07h0c-2.49,0-4.51.47-4.51,4.07v3h-2.7v-3C17.79,11.62,21,10,25,10h0c4,0,7.21,1.62,7.21,6.64v3h-2.7Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"lock_round_open\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><path d=\\\"M684,399.49a15,15,0,1,1,15-15A15,15,0,0,1,684,399.49Zm0-29a14,14,0,1,0,14,14A14,14,0,0,0,684,370.46Z\\\" transform=\\\"translate(-658.5 -358.99)\\\" fill=\\\"#4d5050\\\"/><path d=\\\"M688.59,382.49h-9.18c-1.69,0-1.84,1.38-1.84,3.07v4.86c0,1.7.15,3.07,1.84,3.07h9.18c1.69,0,1.84-1.38,1.84-3.07v-4.86C690.43,383.87,690.28,382.49,688.59,382.49ZM681.13,392l1.56-3.79a2.29,2.29,0,1,1,2.61,0l1.56,3.79Z\\\" transform=\\\"translate(-658.5 -358.99)\\\" fill=\\\"#4d5050\\\"/><path d=\\\"M686.7,379.48c0-2.16-1.21-2.44-2.7-2.44h0c-1.49,0-2.7.28-2.7,2.44v1.8h-1.62v-1.8c0-3,1.94-4,4.33-4h0c2.39,0,4.33,1,4.33,4v1.8H686.7Z\\\" transform=\\\"translate(-658.5 -358.99)\\\" fill=\\\"#4d5050\\\"/></svg>\",\n \"logo\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"10\\\" y=\\\"21.19\\\" width=\\\"2.04\\\" height=\\\"6.32\\\" fill=\\\"#484f60\\\"/><path d=\\\"M18.66,29.24a3.84,3.84,0,0,1-2.85-1.19,4.19,4.19,0,0,1,0-5.77,4,4,0,0,1,5.71,0,4.19,4.19,0,0,1,0,5.77A3.85,3.85,0,0,1,18.66,29.24Zm0-6.16a1.79,1.79,0,0,0-1.38.58,2.12,2.12,0,0,0-.57,1.51,2,2,0,0,0,.57,1.49,1.94,1.94,0,0,0,2.76,0,2.08,2.08,0,0,0,.56-1.5,2.15,2.15,0,0,0-.56-1.51A1.76,1.76,0,0,0,18.67,23.08Z\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"31.05 29.18 27.33 25.02 27.33 29.14 25.29 29.14 25.29 21.15 26.57 21.15 30.29 25.33 30.29 21.19 32.33 21.19 32.33 29.18 31.05 29.18\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"35.34 29.14 35.34 21.19 39.9 21.19 39.9 23.17 37.38 23.17 37.38 23.9 39.66 23.9 39.66 25.87 37.38 25.87 37.38 27.14 40 27.14 40 29.14 35.34 29.14\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"logout\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"27.33 34.17 12.33 34.17 12.33 11.17 27.33 11.17 27.33 17.63 28.33 17.63 28.33 10.17 11.33 10.17 11.33 35.17 28.33 35.17 28.33 27.71 27.33 27.71 27.33 34.17\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"22.33 40.17 11.33 35.17 11.33 10.17 22.33 14.17 22.33 40.17\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"38.67 22.66 30.63 14.63 30.63 19.63 24.33 19.63 24.33 25.71 30.63 25.71 30.63 30.71 38.67 22.66\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"magic_wand\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><g style=\\\"isolation:isolate\\\"><path d=\\\"M20.45,10.71a.28.28,0,0,1,.49-.19l1.4,1.25a.93.93,0,0,0,.83.23L25,11.62a.29.29,0,0,1,.34.41l-.76,1.71a.93.93,0,0,0,0,.86l.93,1.62c.12.26,0,.45-.29.45l-1.86-.2a1,1,0,0,0-.81.32l-1.26,1.38a.28.28,0,0,1-.5-.14l-.39-1.83a1,1,0,0,0-.55-.67l-1.71-.77a.28.28,0,0,1,0-.52l1.62-.94a1,1,0,0,0,.48-.73Z\\\" fill=\\\"#484f60\\\"/><g style=\\\"mix-blend-mode:lighten\\\"><path d=\\\"M23.3,16.21a1,1,0,0,0-.8.31l-1,1.13a.29.29,0,0,1-.51-.14L20.66,16a1,1,0,0,0-.55-.68l-1.39-.62a.28.28,0,0,1,0-.52L20,13.45a1,1,0,0,0,.48-.73l.16-1.5a.29.29,0,0,1,.49-.2l1.13,1a.93.93,0,0,0,.83.23L24.58,12a.29.29,0,0,1,.34.41l-.62,1.38a.91.91,0,0,0,.05.86l.75,1.32a.29.29,0,0,1-.29.44Z\\\" fill=\\\"#484f60\\\"/></g><path d=\\\"M33.57,36.76a.53.53,0,0,1,0,.72l-2.37,2.18a.48.48,0,0,1-.7,0L18,25.34a.51.51,0,0,1,0-.71l2.36-2.19a.49.49,0,0,1,.7,0Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M18.6,19.94a.51.51,0,0,1,0,.71L16.2,22.84a.48.48,0,0,1-.7,0l-2.76-3.13a.51.51,0,0,1,0-.71l2.37-2.19a.48.48,0,0,1,.7,0Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M30.67,10.55a.29.29,0,0,1,.47.24v1.12a1,1,0,0,0,.4.77l.9.66a.29.29,0,0,1-.08.52l-1.07.35a1,1,0,0,0-.61.61l-.35,1.06a.28.28,0,0,1-.51.09l-.67-.91a1,1,0,0,0-.77-.4H27.27a.29.29,0,0,1-.25-.47l.66-.9a.93.93,0,0,0,.14-.85l-.35-1.07a.29.29,0,0,1,.38-.38l1.07.35a1,1,0,0,0,.85-.13Z\\\" fill=\\\"#484f60\\\"/><g style=\\\"mix-blend-mode:lighten\\\"><path d=\\\"M29.25,14.88a1,1,0,0,0-.77-.4h-.86a.29.29,0,0,1-.24-.47l.5-.69a.93.93,0,0,0,.14-.85l-.26-.82c-.07-.27.1-.44.37-.37l.82.26a1,1,0,0,0,.85-.13l.69-.51a.29.29,0,0,1,.47.25V12a.94.94,0,0,0,.39.76l.7.51a.29.29,0,0,1-.09.52l-.81.26a1,1,0,0,0-.62.61l-.26.82a.29.29,0,0,1-.52.08Z\\\" fill=\\\"#484f60\\\"/></g><path d=\\\"M37,15.81a.29.29,0,0,1,.32.43l-.13.26a.91.91,0,0,0,0,.85l.15.26A.29.29,0,0,1,37,18l-.29,0a.93.93,0,0,0-.81.27l-.2.21a.28.28,0,0,1-.5-.16l0-.29a1,1,0,0,0-.52-.69l-.27-.13a.28.28,0,0,1,0-.52l.26-.13a.93.93,0,0,0,.5-.71l0-.29a.29.29,0,0,1,.5-.17l.21.21a.92.92,0,0,0,.82.26Z\\\" fill=\\\"#484f60\\\"/><g style=\\\"mix-blend-mode:lighten\\\"><path d=\\\"M35.25,18a1,1,0,0,0-.52-.7l-.12-.05a.28.28,0,0,1,0-.52l.12-.06a1,1,0,0,0,.51-.7V15.8a.29.29,0,0,1,.5-.18l.09.1a.92.92,0,0,0,.82.26l.13,0a.29.29,0,0,1,.32.42L37,16.5a.91.91,0,0,0,0,.85l.07.12a.29.29,0,0,1-.31.43l-.13,0a1,1,0,0,0-.82.28l-.09.1a.28.28,0,0,1-.5-.16Z\\\" fill=\\\"#484f60\\\"/></g></g></svg>\",\n \"magnifier\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z\\\"/></svg>\",\n \"manager\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 51 51\\\" enable-background=\\\"new 0 0 51 51\\\" ><g><path fill=\\\"#484F5F\\\" d=\\\"M31.5,23h-0.5c-0.9,1.2-2.4,2.6-4.1,3.2c0.1,0.2,0.2,0.4,0.2,0.6c0,0.4-0.2,0.7-0.6,1l1.5,6.9l-2.5,2.5L23,34.7l1.5-6.9c-0.4-0.2-0.6-0.6-0.6-1c0-0.2,0.1-0.4,0.2-0.6c-1.7-0.6-3.2-2-4.1-3.2h-0.5c-2.2,0-4,2.1-4,3.9l2.7,3c0,1.8,1.8,8.1,4,8.1h6.7c2.2,0,4-6.4,4-8.1l2.7-3C35.6,25.1,33.8,23,31.5,23z\\\"/><path fill=\\\"#484F5F\\\" d=\\\"M31.7,18.1c0,2.7-2.8,5.8-6.2,5.8c-3.4,0-6.2-3.1-6.2-5.8c0-2.7,2.8-5.1,6.2-5.1C28.9,13,31.7,15.4,31.7,18.1z\\\"/></g></svg>\",\n \"mask\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M30,11V30H11V11H30m1-1H10V31H31V10Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"19\\\" y=\\\"19\\\" width=\\\"21\\\" height=\\\"21\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><rect x=\\\"19\\\" y=\\\"19\\\" width=\\\"12\\\" height=\\\"12\\\" fill=\\\"#484f60\\\"/><path d=\\\"M39,20V39H20V20H39m1-1H19V40H40V19Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/></svg>\",\n \"master_detail\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"22\\\" y=\\\"32.17\\\" width=\\\"18\\\" height=\\\"4\\\" transform=\\\"translate(62 68.33) rotate(180)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"22\\\" y=\\\"26.17\\\" width=\\\"18\\\" height=\\\"4\\\" transform=\\\"translate(62 56.33) rotate(180)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"22\\\" y=\\\"20.17\\\" width=\\\"18\\\" height=\\\"4\\\" transform=\\\"translate(62 44.33) rotate(180)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"22\\\" y=\\\"14.17\\\" width=\\\"18\\\" height=\\\"4\\\" transform=\\\"translate(62 32.33) rotate(180)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"14.17\\\" width=\\\"10\\\" height=\\\"22\\\" transform=\\\"translate(30 50.33) rotate(180)\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"material_circle_large\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><title>material_circle_large</title><path d=\\\"M25,45A20,20,0,1,1,45,25,20,20,0,0,1,25,45ZM25,6.29A18.71,18.71,0,1,0,43.71,25,18.73,18.73,0,0,0,25,6.29Z\\\" fill=\\\"#484f60\\\"/><ellipse cx=\\\"23.2\\\" cy=\\\"30.43\\\" rx=\\\"3.63\\\" ry=\\\"4.15\\\" transform=\\\"translate(-2.56 2.14) rotate(-5)\\\" fill=\\\"#484f60\\\"/><ellipse cx=\\\"16.12\\\" cy=\\\"28.44\\\" rx=\\\"3.11\\\" ry=\\\"3.63\\\" transform=\\\"translate(-2.42 1.51) rotate(-5)\\\" fill=\\\"#484f60\\\"/><ellipse cx=\\\"19.83\\\" cy=\\\"21.35\\\" rx=\\\"3.37\\\" ry=\\\"3.89\\\" transform=\\\"translate(-1.79 1.81) rotate(-5)\\\" fill=\\\"#484f60\\\"/><path d=\\\"M34.84,26.84a2.71,2.71,0,0,1-2.66-2.71A2.71,2.71,0,0,1,34.33,21,2.72,2.72,0,0,1,37,23.71,2.72,2.72,0,0,1,34.84,26.84Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M31.44,20.76a2.46,2.46,0,0,1-2.37-2.48A2.45,2.45,0,0,1,31,15.44a2.45,2.45,0,0,1,2.38,2.47A2.47,2.47,0,0,1,31.44,20.76Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M27.63,30a5.51,5.51,0,0,1-.33,2.36l8.64-6.12-2.1-5.15L24,25.58A5,5,0,0,1,27.63,30Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M24,21a5,5,0,0,1-.67,3l8.33-3.3L31,15.43l-9.51,1.68A4.84,4.84,0,0,1,24,21Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"medal_bronze\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 51 51\\\" enable-background=\\\"new 0 0 51 51\\\" ><g><g><path fill=\\\"#A06F51\\\" d=\\\"M38.2,27.1c-0.1-0.2-0.1-0.6,0.1-0.8l1.8-2.1c0.2-0.2,0.1-0.5-0.1-0.7l-2.2-1.7c-0.2-0.2-0.3-0.5-0.3-0.8l0.8-2.7c0.1-0.3-0.1-0.5-0.3-0.6L35.3,17c-0.3-0.1-0.5-0.3-0.5-0.6l-0.4-2.8c0-0.3-0.3-0.5-0.6-0.4l-2.8,0.5c-0.3,0.1-0.6-0.1-0.7-0.3L28.9,11c-0.1-0.2-0.4-0.3-0.7-0.1l-2.3,1.6c-0.2,0.2-0.6,0.2-0.8,0l-2.3-1.6c-0.2-0.2-0.5-0.1-0.7,0.1l-1.5,2.4c-0.1,0.2-0.5,0.4-0.7,0.3l-2.8-0.5c-0.3-0.1-0.5,0.1-0.6,0.4l-0.4,2.8c0,0.3-0.3,0.5-0.5,0.6l-2.7,0.6c-0.3,0.1-0.4,0.3-0.3,0.6l0.8,2.7c0.1,0.3,0,0.6-0.3,0.8l-2.2,1.7c-0.2,0.2-0.3,0.5-0.1,0.7l1.8,2.1c0.2,0.2,0.2,0.6,0.1,0.8l-1.4,2.5c-0.1,0.2,0,0.5,0.2,0.7l2.6,1.2c0.2,0.1,0.4,0.4,0.4,0.7l-0.2,2.8c0,0.3,0.2,0.5,0.5,0.5l2.8,0.1c0.3,0,0.6,0.2,0.7,0.5l0.9,2.7c0.1,0.3,0.4,0.4,0.6,0.3l2.6-1.1c0.3-0.1,0.6,0,0.8,0.2l1.9,2.1c0.2,0.2,0.5,0.2,0.7,0l1.9-2.1c0.2-0.2,0.5-0.3,0.8-0.2l2.6,1.1c0.3,0.1,0.5,0,0.6-0.3l0.9-2.7c0.1-0.3,0.4-0.5,0.7-0.5l2.8-0.1c0.3,0,0.5-0.2,0.5-0.5l-0.2-2.8c0-0.3,0.2-0.6,0.4-0.7l2.6-1.2c0.2-0.1,0.3-0.4,0.2-0.7L38.2,27.1z M25.5,37.5c-6.6,0-12-5.4-12-12c0-6.6,5.4-12,12-12c6.6,0,12,5.4,12,12C37.5,32.1,32.1,37.5,25.5,37.5z\\\"/></g><path fill=\\\"#CF8E67\\\" d=\\\"M25.5,37C19.2,37,14,31.8,14,25.5S19.2,14,25.5,14S37,19.2,37,25.5S31.8,37,25.5,37z\\\"/><path fill=\\\"#A06F51\\\" d=\\\"M26,29.1c-0.3-0.2-0.8-0.2-1,0l-2.9,2c-0.3,0.2-0.4,0.1-0.3-0.2l1-3.3c0.1-0.3,0-0.8-0.3-1l-2.8-2.1c-0.3-0.2-0.2-0.4,0.1-0.4l3.5-0.1c0.3,0,0.7-0.3,0.8-0.6l1.1-3.3c0.1-0.3,0.3-0.3,0.4,0l1.1,3.3c0.1,0.3,0.5,0.6,0.8,0.6l3.5,0.1c0.3,0,0.4,0.2,0.1,0.4l-2.8,2.1c-0.3,0.2-0.4,0.7-0.3,1l1,3.3c0.1,0.3-0.1,0.4-0.3,0.2L26,29.1z\\\"/></g></svg>\",\n \"medal_gold\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 51 51\\\" enable-background=\\\"new 0 0 51 51\\\" ><g><g><path fill=\\\"#CB9618\\\" d=\\\"M38.2,27.1c-0.1-0.2-0.1-0.6,0.1-0.8l1.8-2.1c0.2-0.2,0.1-0.5-0.1-0.7l-2.2-1.7c-0.2-0.2-0.3-0.5-0.3-0.8l0.8-2.7c0.1-0.3-0.1-0.5-0.3-0.6L35.3,17c-0.3-0.1-0.5-0.3-0.5-0.6l-0.4-2.8c0-0.3-0.3-0.5-0.6-0.4l-2.8,0.5c-0.3,0.1-0.6-0.1-0.7-0.3L28.9,11c-0.1-0.2-0.4-0.3-0.7-0.1l-2.3,1.6c-0.2,0.2-0.6,0.2-0.8,0l-2.3-1.6c-0.2-0.2-0.5-0.1-0.7,0.1l-1.5,2.4c-0.1,0.2-0.5,0.4-0.7,0.3l-2.8-0.5c-0.3-0.1-0.5,0.1-0.6,0.4l-0.4,2.8c0,0.3-0.3,0.5-0.5,0.6l-2.7,0.6c-0.3,0.1-0.4,0.3-0.3,0.6l0.8,2.7c0.1,0.3,0,0.6-0.3,0.8l-2.2,1.7c-0.2,0.2-0.3,0.5-0.1,0.7l1.8,2.1c0.2,0.2,0.2,0.6,0.1,0.8l-1.4,2.5c-0.1,0.2,0,0.5,0.2,0.7l2.6,1.2c0.2,0.1,0.4,0.4,0.4,0.7l-0.2,2.8c0,0.3,0.2,0.5,0.5,0.5l2.8,0.1c0.3,0,0.6,0.2,0.7,0.5l0.9,2.7c0.1,0.3,0.4,0.4,0.6,0.3l2.6-1.1c0.3-0.1,0.6,0,0.8,0.2l1.9,2.1c0.2,0.2,0.5,0.2,0.7,0l1.9-2.1c0.2-0.2,0.5-0.3,0.8-0.2l2.6,1.1c0.3,0.1,0.5,0,0.6-0.3l0.9-2.7c0.1-0.3,0.4-0.5,0.7-0.5l2.8-0.1c0.3,0,0.5-0.2,0.5-0.5l-0.2-2.8c0-0.3,0.2-0.6,0.4-0.7l2.6-1.2c0.2-0.1,0.3-0.4,0.2-0.7L38.2,27.1z M25.5,37.5c-6.6,0-12-5.4-12-12c0-6.6,5.4-12,12-12c6.6,0,12,5.4,12,12C37.5,32.1,32.1,37.5,25.5,37.5z\\\"/></g><path fill=\\\"#F0B016\\\" d=\\\"M25.5,37C19.2,37,14,31.8,14,25.5S19.2,14,25.5,14S37,19.2,37,25.5S31.8,37,25.5,37z\\\"/><path fill=\\\"#CB9618\\\" d=\\\"M26,29.1c-0.3-0.2-0.8-0.2-1,0l-2.9,2c-0.3,0.2-0.4,0.1-0.3-0.2l1-3.3c0.1-0.3,0-0.8-0.3-1l-2.8-2.1c-0.3-0.2-0.2-0.4,0.1-0.4l3.5-0.1c0.3,0,0.7-0.3,0.8-0.6l1.1-3.3c0.1-0.3,0.3-0.3,0.4,0l1.1,3.3c0.1,0.3,0.5,0.6,0.8,0.6l3.5,0.1c0.3,0,0.4,0.2,0.1,0.4l-2.8,2.1c-0.3,0.2-0.4,0.7-0.3,1l1,3.3c0.1,0.3-0.1,0.4-0.3,0.2L26,29.1z\\\"/></g></svg>\",\n \"medal_silver\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 51 51\\\" enable-background=\\\"new 0 0 51 51\\\" ><g><g><path fill=\\\"#C0C1C2\\\" d=\\\"M38.2,27.1c-0.1-0.2-0.1-0.6,0.1-0.8l1.8-2.1c0.2-0.2,0.1-0.5-0.1-0.7l-2.2-1.7c-0.2-0.2-0.3-0.5-0.3-0.8l0.8-2.7c0.1-0.3-0.1-0.5-0.3-0.6L35.3,17c-0.3-0.1-0.5-0.3-0.5-0.6l-0.4-2.8c0-0.3-0.3-0.5-0.6-0.4l-2.8,0.5c-0.3,0.1-0.6-0.1-0.7-0.3L28.9,11c-0.1-0.2-0.4-0.3-0.7-0.1l-2.3,1.6c-0.2,0.2-0.6,0.2-0.8,0l-2.3-1.6c-0.2-0.2-0.5-0.1-0.7,0.1l-1.5,2.4c-0.1,0.2-0.5,0.4-0.7,0.3l-2.8-0.5c-0.3-0.1-0.5,0.1-0.6,0.4l-0.4,2.8c0,0.3-0.3,0.5-0.5,0.6l-2.7,0.6c-0.3,0.1-0.4,0.3-0.3,0.6l0.8,2.7c0.1,0.3,0,0.6-0.3,0.8l-2.2,1.7c-0.2,0.2-0.3,0.5-0.1,0.7l1.8,2.1c0.2,0.2,0.2,0.6,0.1,0.8l-1.4,2.5c-0.1,0.2,0,0.5,0.2,0.7l2.6,1.2c0.2,0.1,0.4,0.4,0.4,0.7l-0.2,2.8c0,0.3,0.2,0.5,0.5,0.5l2.8,0.1c0.3,0,0.6,0.2,0.7,0.5l0.9,2.7c0.1,0.3,0.4,0.4,0.6,0.3l2.6-1.1c0.3-0.1,0.6,0,0.8,0.2l1.9,2.1c0.2,0.2,0.5,0.2,0.7,0l1.9-2.1c0.2-0.2,0.5-0.3,0.8-0.2l2.6,1.1c0.3,0.1,0.5,0,0.6-0.3l0.9-2.7c0.1-0.3,0.4-0.5,0.7-0.5l2.8-0.1c0.3,0,0.5-0.2,0.5-0.5l-0.2-2.8c0-0.3,0.2-0.6,0.4-0.7l2.6-1.2c0.2-0.1,0.3-0.4,0.2-0.7L38.2,27.1z M25.5,37.5c-6.6,0-12-5.4-12-12c0-6.6,5.4-12,12-12c6.6,0,12,5.4,12,12C37.5,32.1,32.1,37.5,25.5,37.5z\\\"/></g><path fill=\\\"#E2E2E2\\\" d=\\\"M25.5,37C19.2,37,14,31.8,14,25.5S19.2,14,25.5,14S37,19.2,37,25.5S31.8,37,25.5,37z\\\"/><path fill=\\\"#C0C1C2\\\" d=\\\"M26,29.1c-0.3-0.2-0.8-0.2-1,0l-2.9,2c-0.3,0.2-0.4,0.1-0.3-0.2l1-3.3c0.1-0.3,0-0.8-0.3-1l-2.8-2.1c-0.3-0.2-0.2-0.4,0.1-0.4l3.5-0.1c0.3,0,0.7-0.3,0.8-0.6l1.1-3.3c0.1-0.3,0.3-0.3,0.4,0l1.1,3.3c0.1,0.3,0.5,0.6,0.8,0.6l3.5,0.1c0.3,0,0.4,0.2,0.1,0.4l-2.8,2.1c-0.3,0.2-0.4,0.7-0.3,1l1,3.3c0.1,0.3-0.1,0.4-0.3,0.2L26,29.1z\\\"/></g></svg>\",\n \"medical_officer\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 51 51\\\" enable-background=\\\"new 0 0 51 51\\\" ><g><path fill=\\\"#484F5F\\\" d=\\\"M31.4,25.4h-0.5c-1.1,1.5-3.3,3.3-5.4,3.3c-2.1,0-4.3-1.8-5.4-3.3h-0.5c-2.2,0-3.9,2-3.9,3.8l2.6,2.9c0,1.7,1.8,7.9,3.9,7.9h6.5c2.2,0,3.9-6.2,3.9-7.9l2.6-2.9C35.3,27.5,33.6,25.4,31.4,25.4z\\\"/><path fill=\\\"#484F5F\\\" d=\\\"M19.6,19.9c-0.1,0.3-0.1,0.5-0.1,0.8c0,2.6,2.7,5.6,6,5.6c3.3,0,6-3,6-5.6c0-0.3,0-0.5-0.1-0.8c-0.9,0.2-3.4,0.5-6,0.5C22.9,20.4,20.5,20.1,19.6,19.9z\\\"/><path fill=\\\"#484F5F\\\" d=\\\"M31.3,16.2L25.5,11l-5.8,5.2l-0.2,2c0,0,3,0.6,6,0.6c3,0,6-0.6,6-0.6L31.3,16.2z M28,16c0,0.1-0.1,0.2-0.2,0.2h-1.5v1.5c0,0.1-0.1,0.2-0.2,0.2h-1c-0.1,0-0.2-0.1-0.2-0.2v-1.5h-1.5c-0.1,0-0.2-0.1-0.2-0.2v-1c0-0.1,0.1-0.2,0.2-0.2h1.5v-1.5c0-0.1,0.1-0.2,0.2-0.2h1c0.1,0,0.2,0.1,0.2,0.2v1.5h1.5c0.1,0,0.2,0.1,0.2,0.2V16z\\\"/></g></svg>\",\n \"microphone\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M25,30.83a5,5,0,0,0,5-4.95V16A5,5,0,0,0,20,16v9.92A5,5,0,0,0,25,30.83Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M21.45,16a3.55,3.55,0,0,1,7.1,0v9.92a3.55,3.55,0,0,1-7.1,0Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M31.38,20.87v6c0,2.95-2.86,5.34-6.38,5.34s-6.38-2.39-6.38-5.34v-6H17.21v6c0,3.52,3.12,6.41,7.08,6.72v4.29H20v1.41H30V37.92H25.7V33.63c4-.31,7.09-3.2,7.09-6.72v-6Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"minus_round_open\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M25,11.17a14,14,0,1,1-14,14,14,14,0,0,1,14-14m0-1a15,15,0,1,0,15,15,15,15,0,0,0-15-15Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M18.67,26.27A.67.67,0,0,1,18,25.6v-.87a.66.66,0,0,1,.67-.66H31.33a.66.66,0,0,1,.67.66v.87a.67.67,0,0,1-.67.67Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.95\\\"/></svg>\",\n \"minus_simple\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M14.58,26.71a.57.57,0,0,1-.58-.56v-2.3a.57.57,0,0,1,.58-.56H35.43a.57.57,0,0,1,.57.56v2.3a.57.57,0,0,1-.57.56Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"mobile\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M31,10H19a3,3,0,0,0-3,3V37a3,3,0,0,0,3,3H31a3,3,0,0,0,3-3V13A3,3,0,0,0,31,10Zm1.5,27A1.5,1.5,0,0,1,31,38.5H19A1.5,1.5,0,0,1,17.5,37V13A1.5,1.5,0,0,1,19,11.5H31A1.5,1.5,0,0,1,32.5,13Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M21,10h8a0,0,0,0,1,0,0v2a1,1,0,0,1-1,1H22a1,1,0,0,1-1-1V10A0,0,0,0,1,21,10Z\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"31 32.41 31 36.41 19 36.41 19 17 31 32.41\\\" fill=\\\"#484f60\\\" opacity=\\\"0.15\\\"/></svg>\",\n \"multi_select_check\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><polygon points=\\\"12.1 28.6 13.3 30.4 16.1 25.5 18.1 25.5 13.3 33 11.1 29.8 12.1 28.6\\\" fill=\\\"#fff\\\"/><polygon points=\\\"12.1 21.1 13.3 22.9 16.1 18 18.1 18 13.3 25.5 11.1 22.3 12.1 21.1\\\" fill=\\\"#fff\\\"/><polygon points=\\\"12.1 13.6 13.3 15.4 16.1 10.5 18.1 10.5 13.3 18 11.1 14.8 12.1 13.6\\\" fill=\\\"#fff\\\"/><rect x=\\\"19.3\\\" y=\\\"12.4\\\" width=\\\"20.6\\\" height=\\\"3.75\\\" fill=\\\"#fff\\\"/><rect x=\\\"19.3\\\" y=\\\"19.9\\\" width=\\\"20.6\\\" height=\\\"3.75\\\" fill=\\\"#fff\\\"/><rect x=\\\"19.3\\\" y=\\\"27.4\\\" width=\\\"20.6\\\" height=\\\"3.75\\\" fill=\\\"#fff\\\"/><rect x=\\\"19.3\\\" y=\\\"34.9\\\" width=\\\"20.6\\\" height=\\\"3.75\\\" fill=\\\"#fff\\\"/><polygon points=\\\"12.1 36.1 13.3 37.9 16.1 33 18.1 33 13.3 40.5 11.1 37.3 12.1 36.1\\\" fill=\\\"#fff\\\"/></svg>\",\n \"new_task\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><g opacity=\\\"0.75\\\"><path d=\\\"M12.18,38.68a.44.44,0,0,1-.44-.44v-23a.44.44,0,0,1,.44-.44h.88V13.53h-.88a1.76,1.76,0,0,0-1.77,1.76v23A1.76,1.76,0,0,0,12.18,40h13a10.37,10.37,0,0,1-1.76-1.32Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M31.59,20.55V15.29a1.76,1.76,0,0,0-1.77-1.76h-.88v1.32h.88a.44.44,0,0,1,.44.44v5.23l.33,0C30.93,20.5,31.26,20.52,31.59,20.55Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M23.65,12.65a2.65,2.65,0,0,1-5.3,0H15.26a.88.88,0,0,0-.88.88v2.65a.89.89,0,0,0,.88.88H26.74a.89.89,0,0,0,.88-.88V13.53a.88.88,0,0,0-.88-.88Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M21,10a2.65,2.65,0,1,0,2.65,2.65A2.65,2.65,0,0,0,21,10Zm0,4a1.33,1.33,0,1,1,1.32-1.32A1.32,1.32,0,0,1,21,14Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M18.09,21.51v1h6.34a11.81,11.81,0,0,1,1.68-1Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M18.09,27.51v1H20.4c.08-.34.18-.67.29-1Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M18.09,33.51v1h2.62a7.75,7.75,0,0,1-.3-1Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M16.09,33.51v1h-1v-1h1m1-1h-3v3h3v-3Z\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"15.44 30.02 13.91 27.86 14.52 27.43 15.33 28.57 16.61 26.02 17.27 26.35 15.44 30.02\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"15.44 24.02 13.91 21.86 14.52 21.43 15.33 22.57 16.61 20.02 17.27 20.35 15.44 24.02\\\" fill=\\\"#484f60\\\"/></g><path d=\\\"M30.08,36.4a.26.26,0,0,1-.26-.26V31.77H25.45a.26.26,0,0,1-.26-.25v-1a.26.26,0,0,1,.26-.25h4.37V25.86a.26.26,0,0,1,.26-.26h1a.26.26,0,0,1,.26.26v4.37h4.37a.26.26,0,0,1,.26.25v1a.26.26,0,0,1-.26.25H31.36v4.37a.26.26,0,0,1-.26.26Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M30.59,23a8,8,0,1,1-8,8,8,8,0,0,1,8-8m0-1a9,9,0,1,0,9,9,9,9,0,0,0-9-9Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"note\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M40,17c-10-2.75-20,2.75-30,0V14.25c10,2.75,20-2.75,30,0Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M40,23.25c-10-2.75-20,2.75-30,0V20.5c10,2.75,20-2.75,30,0Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M40,29.5c-10-2.75-20,2.75-30,0V26.75c10,2.75,20-2.75,30,0Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M40,35.75c-10-2.75-20,2.75-30,0V33c10,2.75,20-2.75,30,0Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"note_bordered\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><title>Tekengebied 13 kopie 828</title><path d=\\\"M31.51,35.5H12a.5.5,0,0,1-.5-.5V15a.5.5,0,0,1,.5-.5H38a.5.5,0,0,1,.5.5V28.73H40V15a2,2,0,0,0-2-2H12a2,2,0,0,0-2,2V35a2,2,0,0,0,2,2H31.51Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M40,28.73H33.56c-1.78,0-2.05.27-2.05,2.05V37Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"14.5\\\" y=\\\"18.5\\\" width=\\\"6\\\" height=\\\"5\\\" fill=\\\"#484f60\\\"/><rect x=\\\"14.5\\\" y=\\\"30.5\\\" width=\\\"15\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><rect x=\\\"14.5\\\" y=\\\"26.5\\\" width=\\\"15\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><rect x=\\\"22.5\\\" y=\\\"22.5\\\" width=\\\"13\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><rect x=\\\"22.5\\\" y=\\\"18.5\\\" width=\\\"13\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"notification\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M25,11.1c-8.28,0-15,4.9-15,11a8.87,8.87,0,0,0,2.27,5.77h-.16c.15.1.28.21.43.32a12.22,12.22,0,0,0,1.34,1.24c3.07,3.75.06,8.72-3.25,9.85,5.79-1.34,9.32-3.9,10.91-6.53A20.52,20.52,0,0,0,25,33c8.28,0,15-4.9,15-10.95S33.28,11.1,25,11.1Zm1.38,17.07H23.55V21.11h2.83ZM26,18.58a1.42,1.42,0,0,1-2,0,1.42,1.42,0,0,1,0-2,1.32,1.32,0,0,1,1-.41,1.35,1.35,0,0,1,1,.41,1.42,1.42,0,0,1,0,2Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"not_equal\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><path d=\\\"M298.1,413a2,2,0,1,1-1.4.6A1.9,1.9,0,0,1,298.1,413Z\\\" transform=\\\"translate(-272.5 -396)\\\" fill=\\\"#4d5050\\\"/><rect x=\\\"23.4\\\" y=\\\"24\\\" width=\\\"4\\\" height=\\\"10\\\" fill=\\\"#4d5050\\\"/></svg>\",\n \"option\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M22.54,35.41a1.9,1.9,0,0,0-2,0L15,39.26c-.55.38-.84.17-.65-.47l2-6.45a1.9,1.9,0,0,0-.62-1.9l-5.36-4.06c-.54-.41-.42-.75.24-.76l6.73-.14a1.88,1.88,0,0,0,1.62-1.17L21.14,18c.22-.63.58-.63.8,0l2.21,6.36a1.87,1.87,0,0,0,1.61,1.17l6.73.14c.67,0,.78.35.25.76l-5.36,4.06a1.88,1.88,0,0,0-.62,1.9l1.95,6.45c.19.64-.1.85-.65.47Z\\\" fill=\\\"#484f60\\\"/><g opacity=\\\"0.75\\\"><path d=\\\"M17.52,23.8l.6-1.73-4.07.09c-.67,0-.78.35-.25.76L15.26,24l2,0A.51.51,0,0,0,17.52,23.8Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M28.2,31.92l.6,2,2.72,1.89c.55.39.84.18.65-.47l-1.63-5.39-2.26,1.71A.51.51,0,0,0,28.2,31.92Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M36,22.16,29.22,22a1.88,1.88,0,0,1-1.61-1.17L25.4,14.49c-.22-.63-.58-.63-.8,0l-1.14,3.28,2.1,6.05a.49.49,0,0,0,.25.16l6.71.14a2.21,2.21,0,0,1,1.44.49l2.24-1.69C36.73,22.51,36.62,22.17,36,22.16Z\\\" fill=\\\"#484f60\\\"/></g><g opacity=\\\"0.5\\\"><path d=\\\"M35.63,31.86,34.17,27a2.43,2.43,0,0,1-.53.54L31.81,29l.45,1.47L35,32.33C35.53,32.72,35.82,32.5,35.63,31.86Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M17.51,18.7c-.67,0-.78.35-.25.76l1.4,1.06.64-1.86Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M39.42,18.7l-6.73-.14a1.87,1.87,0,0,1-1.62-1.18L28.86,11c-.22-.63-.58-.63-.8,0L26.92,14.3,29,20.35a.45.45,0,0,0,.25.17l6.71.14a2.16,2.16,0,0,1,1.44.49l2.24-1.69C40.2,19.05,40.08,18.71,39.42,18.7Z\\\" fill=\\\"#484f60\\\"/></g></svg>\",\n \"optionset\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M25.47,21.86a.89.89,0,0,0-.94,0l-3,2.1c-.26.18-.4.07-.31-.23l1.06-3.51a.89.89,0,0,0-.29-.9l-2.92-2.21c-.25-.19-.2-.35.12-.36l3.66-.07a.91.91,0,0,0,.77-.56l1.2-3.46c.1-.3.27-.3.38,0l1.2,3.46a.91.91,0,0,0,.77.56l3.66.07c.32,0,.37.17.12.36L28,19.32a.89.89,0,0,0-.29.9l1.06,3.51c.09.3-.05.41-.31.23Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M32.35,31.92a.9.9,0,0,0-1,0l-3,2.1c-.26.18-.4.08-.3-.22l1.06-3.51a.88.88,0,0,0-.3-.9l-2.92-2.22c-.25-.19-.2-.35.12-.36l3.67-.07a.9.9,0,0,0,.76-.56l1.2-3.46c.11-.3.28-.3.38,0l1.21,3.46a.88.88,0,0,0,.76.56l3.67.07c.31,0,.37.17.11.36l-2.92,2.22a.89.89,0,0,0-.29.9l1.06,3.51c.09.3,0,.4-.3.22Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M18.6,31.92a.9.9,0,0,0-1,0l-3,2.1c-.27.18-.4.08-.31-.22l1.06-3.51a.89.89,0,0,0-.29-.9l-2.92-2.22c-.26-.19-.2-.35.11-.36L16,26.74a.88.88,0,0,0,.76-.56l1.21-3.46c.1-.3.27-.3.38,0l1.2,3.46a.9.9,0,0,0,.76.56l3.67.07c.32,0,.37.17.12.36l-2.93,2.22a.89.89,0,0,0-.29.9l1.07,3.51c.09.3-.05.4-.31.22Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M25,41A16,16,0,1,1,41,25,16,16,0,0,1,25,41Zm0-30.27A14.27,14.27,0,1,0,39.27,25,14.28,14.28,0,0,0,25,10.73Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"order\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"17.5\\\" y=\\\"17.5\\\" width=\\\"6\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><rect x=\\\"17.5\\\" y=\\\"21.5\\\" width=\\\"10\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><rect x=\\\"17.5\\\" y=\\\"25.5\\\" width=\\\"10\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><rect x=\\\"17.5\\\" y=\\\"29.5\\\" width=\\\"10\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><path d=\\\"M35.5,18.49V38a.5.5,0,0,1-.5.5H15a.5.5,0,0,1-.5-.5V12a.5.5,0,0,1,.5-.5H28.73V10H15a2,2,0,0,0-2,2V38a2,2,0,0,0,2,2H35a2,2,0,0,0,2-2V18.49Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M28.73,10v6.44c0,1.78.27,2,2.05,2H37Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"17.5\\\" y=\\\"14.5\\\" width=\\\"6\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><rect x=\\\"29.5\\\" y=\\\"21.5\\\" width=\\\"3\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><rect x=\\\"29.5\\\" y=\\\"25.5\\\" width=\\\"3\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><rect x=\\\"29.5\\\" y=\\\"29.5\\\" width=\\\"3\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><path d=\\\"M28.73,35.78h-.1a.48.48,0,0,1-.36-.3l-.79-1.93-1.75.9a.49.49,0,0,1-.67-.21.48.48,0,0,1,.21-.67L27.5,32.4a.56.56,0,0,1,.4,0,.49.49,0,0,1,.29.29l.72,1.73.73-.74a.51.51,0,0,1,.5-.13l1.4.4.56-.72a.5.5,0,1,1,.8.6l-.77,1a.49.49,0,0,1-.54.18l-1.44-.42-1.06,1.07A.51.51,0,0,1,28.73,35.78Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"orderpicking\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M16.43,40.17c-.12-.16-2.92-4-1.53-8.21,1.33-4.08,6.25-9.69,6.46-9.84l.72-.55,2.28,2.83-1.45,1.17-1.13-1.39c-1.34,1.14-4.23,5.68-5.1,8.36C15.59,35.88,17.9,39,17.93,39l-1.5,1.13Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M27.86,41l-1.74-.66A17.68,17.68,0,0,0,27,32.56,63.51,63.51,0,0,0,25.5,25.1l-1.29-.38,1.27-4.35,1.05,2.26a81.55,81.55,0,0,1,2.28,9.64A19,19,0,0,1,27.86,41Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M34,39.94l-1.67-.83s1.9-3.88,1-6.39a36.83,36.83,0,0,0-4.84-8.51l-1.37,1.42-1.34-1.29,2.71-2.82.67.69c.2.2,4.84,6.82,5.93,9.89,1.16,3.25-1,7.65-1.1,7.84Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"22.91\\\" y=\\\"24.41\\\" width=\\\"4.48\\\" height=\\\"1.17\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"23.52 9 23.52 20.93 23.93 21.44 25.28 16.78 26.7 19.85 26.7 9 23.52 9\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"outgoing_storage\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"10\\\" y=\\\"12.36\\\" width=\\\"2.93\\\" height=\\\"25.61\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><rect x=\\\"14.39\\\" y=\\\"30.65\\\" width=\\\"11.22\\\" height=\\\"1.46\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><rect x=\\\"14.39\\\" y=\\\"21.87\\\" width=\\\"9.11\\\" height=\\\"1.46\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><rect x=\\\"27.07\\\" y=\\\"29.46\\\" width=\\\"2.93\\\" height=\\\"8.51\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><rect x=\\\"27.07\\\" y=\\\"12.36\\\" width=\\\"2.93\\\" height=\\\"8.51\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><rect x=\\\"14.39\\\" y=\\\"13.09\\\" width=\\\"11.22\\\" height=\\\"1.46\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><polygon points=\\\"40 25.16 32.62 17.79 32.62 22.38 25 22.38 25 27.96 32.62 27.96 32.62 32.55 40 25.16\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"over_booking\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"31.66 31 27.76 27.1 27.76 29.73 25.86 29.74 23.34 29.73 23.34 32.27 24.59 32.27 27.76 32.26 27.76 34.9 31.66 31\\\" fill=\\\"#484f60\\\"/><rect x=\\\"12.27\\\" y=\\\"30.23\\\" width=\\\"2.39\\\" height=\\\"4.77\\\" fill=\\\"#484f60\\\" opacity=\\\"0.75\\\"/><rect x=\\\"15.34\\\" y=\\\"30.23\\\" width=\\\"2.39\\\" height=\\\"4.77\\\" fill=\\\"#484f60\\\" opacity=\\\"0.75\\\"/><polygon points=\\\"21.34 27.73 22.5 27.73 22.5 23.41 15 20 7.5 23.41 7.5 35 10.91 35 10.91 28.86 19.09 28.86 19.09 35 22.5 35 22.5 34.27 21.34 34.27 21.34 27.73\\\" fill=\\\"#484f60\\\" opacity=\\\"0.75\\\"/><rect x=\\\"38.86\\\" y=\\\"28.64\\\" width=\\\"3.18\\\" height=\\\"6.36\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"32.5 19.54 32.5 29.01 34.49 31 32.5 32.99 32.5 35 37.05 35 37.05 26.82 42.5 26.82 42.5 15 32.5 19.54\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"pause_circle\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 51 51\\\" enable-background=\\\"new 0 0 51 51\\\" ><g><g><path fill=\\\"#484F5F\\\" d=\\\"M23.5,18.5v14h-3.1v-14H23.5z M30.6,18.5v14h-3.1v-14H30.6z\\\"/></g><path fill=\\\"#484F5F\\\" d=\\\"M25.5,39.5c-7.7,0-14-6.3-14-14s6.3-14,14-14s14,6.3,14,14S33.2,39.5,25.5,39.5 M25.5,40.5c8.3,0,15-6.7,15-15c0-8.3-6.7-15-15-15c-8.3,0-15,6.7-15,15C10.5,33.8,17.2,40.5,25.5,40.5L25.5,40.5z\\\"/></g></svg>\",\n \"pencil_round_open\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><rect x=\\\"290.8\\\" y=\\\"419.4\\\" width=\\\"10.4\\\" height=\\\"0.49\\\" transform=\\\"translate(-482.6 -62.8) rotate(-45)\\\" fill=\\\"#fff\\\"/><rect x=\\\"292.6\\\" y=\\\"420\\\" width=\\\"10.4\\\" height=\\\"3.1\\\" transform=\\\"translate(-483.4 -60.6) rotate(-45)\\\" fill=\\\"#fff\\\"/><path d=\\\"M305.8,414.7l-2.1-2.1a0.8,0.8,0,0,0-1.1,0l-0.8.8,3.1,3.1,0.8-.8A0.8,0.8,0,0,0,305.8,414.7Z\\\" transform=\\\"translate(-272.5 -395)\\\" fill=\\\"#fff\\\"/><rect x=\\\"301.6\\\" y=\\\"414\\\" width=\\\"1.3\\\" height=\\\"4.44\\\" transform=\\\"translate(-478.3 -59.3) rotate(-45)\\\" fill=\\\"#fff\\\"/><polygon points=\\\"18.8 29.3 17.5 33.1 17.9 33.5 21.7 32.2 18.8 29.3\\\" fill=\\\"#fff\\\"/><path d=\\\"M298,436a15.5,15.5,0,1,1,15.5-15.5A15.5,15.5,0,0,1,298,436Zm0-30a14.5,14.5,0,1,0,14.5,14.5A14.5,14.5,0,0,0,298,406Z\\\" transform=\\\"translate(-272.5 -395)\\\" fill=\\\"#fff\\\"/></svg>\",\n \"pen_to_square_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M490.3 40.4C512.2 62.27 512.2 97.73 490.3 119.6L460.3 149.7L362.3 51.72L392.4 21.66C414.3-.2135 449.7-.2135 471.6 21.66L490.3 40.4zM172.4 241.7L339.7 74.34L437.7 172.3L270.3 339.6C264.2 345.8 256.7 350.4 248.4 353.2L159.6 382.8C150.1 385.6 141.5 383.4 135 376.1C128.6 370.5 126.4 361 129.2 352.4L158.8 263.6C161.6 255.3 166.2 247.8 172.4 241.7V241.7zM192 63.1C209.7 63.1 224 78.33 224 95.1C224 113.7 209.7 127.1 192 127.1H96C78.33 127.1 64 142.3 64 159.1V416C64 433.7 78.33 448 96 448H352C369.7 448 384 433.7 384 416V319.1C384 302.3 398.3 287.1 416 287.1C433.7 287.1 448 302.3 448 319.1V416C448 469 405 512 352 512H96C42.98 512 0 469 0 416V159.1C0 106.1 42.98 63.1 96 63.1H192z\\\"/></svg>\",\n \"phone\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M28.23,38.17a4,4,0,0,1-2.06-.62A16.35,16.35,0,0,1,22,33.89,31.57,31.57,0,0,1,16,23a15.48,15.48,0,0,1-.75-4.38,3.7,3.7,0,0,1,1.69-3.31l1-.65c.16-.1.26-.07.36.1l3.35,5.8c.07.13.13.24,0,.36a2.78,2.78,0,0,0-1,2.69A10.07,10.07,0,0,0,23.78,30a4,4,0,0,0,2.33,1.19,2.24,2.24,0,0,0,1.2-.19c.19-.09.28,0,.38.13Q29.36,34,31,36.89c.07.12.13.23,0,.33A5.74,5.74,0,0,1,28.23,38.17Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M28,30.19a.81.81,0,0,1,.39-.68c.62-.36,1.23-.73,1.86-1.07a.78.78,0,0,1,1.09.38c.58,1,1.14,2,1.71,2.95l1.54,2.67c.4.71.31,1.06-.39,1.47-.5.29-1,.59-1.5.86a.79.79,0,0,1-1.2-.31c-1.13-1.94-2.25-3.89-3.38-5.85A1,1,0,0,1,28,30.19Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M21.18,12.17a.83.83,0,0,1,.82.53q1.16,2,2.29,4c.33.56.66,1.13,1,1.7a.85.85,0,0,1-.34,1.29l-1.58.91a.82.82,0,0,1-1.26-.34c-1.11-1.91-2.21-3.81-3.3-5.72a.81.81,0,0,1,.33-1.26c.53-.32,1.07-.62,1.61-.93A.77.77,0,0,1,21.18,12.17Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"phone_round_open\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><path d=\\\"M300.5,431.5a3.1,3.1,0,0,1-1.6-.5,12.6,12.6,0,0,1-3.2-2.8,24.3,24.3,0,0,1-4.7-8.4,11.8,11.8,0,0,1-.6-3.4,2.9,2.9,0,0,1,1.3-2.5l0.8-.5a0.2,0.2,0,0,1,.3.1l2.6,4.5a0.2,0.2,0,0,1,0,.3,2.1,2.1,0,0,0-.7,2.1,7.7,7.7,0,0,0,2.4,4.9,3,3,0,0,0,1.8.9h0.9a0.2,0.2,0,0,1,.3.1l2.6,4.5c0.1,0.1.1,0.2,0,.3A4.4,4.4,0,0,1,300.5,431.5Z\\\" transform=\\\"translate(-272.5 -396)\\\" fill=\\\"#fff\\\"/><path d=\\\"M300.3,425.3a0.6,0.6,0,0,1,.3-0.5l1.4-.8a0.6,0.6,0,0,1,.8.3l1.3,2.3,1.2,2.1a0.7,0.7,0,0,1-.3,1.1l-1.2.7a0.6,0.6,0,0,1-.9-0.2l-2.6-4.5A0.7,0.7,0,0,1,300.3,425.3Z\\\" transform=\\\"translate(-272.5 -396)\\\" fill=\\\"#fff\\\"/><path d=\\\"M295.1,411.5a0.7,0.7,0,0,1,.6.4l1.8,3,0.8,1.3a0.6,0.6,0,0,1-.3,1l-1.2.7a0.6,0.6,0,0,1-1-.3l-2.5-4.4a0.6,0.6,0,0,1,.3-1l1.2-.7h0.3Z\\\" transform=\\\"translate(-272.5 -396)\\\" fill=\\\"#fff\\\"/><path d=\\\"M298,437a15.5,15.5,0,1,1,15.5-15.5A15.5,15.5,0,0,1,298,437Zm0-30a14.5,14.5,0,1,0,14.5,14.5A14.5,14.5,0,0,0,298,407Z\\\" transform=\\\"translate(-272.5 -396)\\\" fill=\\\"#fff\\\"/></svg>\",\n \"piechart\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><g opacity=\\\"0.25\\\"><path d=\\\"M25,22.17,19.16,8.35a14.91,14.91,0,0,0-4.77,3.21L25,22.17Z\\\" fill=\\\"#4c5050\\\"/><path d=\\\"M25,7.17a15,15,0,0,0-5.84,1.18L25,22.17Z\\\" fill=\\\"#4c5050\\\"/><path d=\\\"M25,22.17,14.39,11.56a15.13,15.13,0,0,0-3.21,4.77L25,22.17Z\\\" fill=\\\"#4c5050\\\"/></g><path d=\\\"M38.82,16.33a15.13,15.13,0,0,0-3.21-4.77L25,22.17h0Z\\\" fill=\\\"#4c5050\\\"/><path d=\\\"M25,7.17v15L30.84,8.35A15,15,0,0,0,25,7.17Z\\\" fill=\\\"#4c5050\\\"/><path d=\\\"M30.84,8.35,25,22.17,35.61,11.56A14.91,14.91,0,0,0,30.84,8.35Z\\\" fill=\\\"#4c5050\\\"/><path d=\\\"M38.82,16.33,25,22.17H40A14.93,14.93,0,0,0,38.82,16.33Z\\\" fill=\\\"#4c5050\\\"/><g opacity=\\\"0.6\\\"><path d=\\\"M11.18,16.33A14.93,14.93,0,0,0,10,22.17H25Z\\\" fill=\\\"#4c5050\\\"/><path d=\\\"M14.39,32.77,25,22.17,11.18,28A15.08,15.08,0,0,0,14.39,32.77Z\\\" fill=\\\"#4c5050\\\"/><path d=\\\"M25,22.17H10A15,15,0,0,0,11.18,28L25,22.17Z\\\" fill=\\\"#4c5050\\\"/><path d=\\\"M19.16,36,25,22.17,14.39,32.77A15.1,15.1,0,0,0,19.16,36Z\\\" fill=\\\"#4c5050\\\"/><path d=\\\"M25,22.17h0L19.16,36A15,15,0,0,0,25,37.17v-15Z\\\" fill=\\\"#4c5050\\\"/><path d=\\\"M25,37.17A15,15,0,0,0,30.84,36L25,22.17Z\\\" fill=\\\"#4c5050\\\"/></g><path d=\\\"M30.84,36a15.1,15.1,0,0,0,4.77-3.22L25,22.17Z\\\" fill=\\\"#4c5050\\\"/><path d=\\\"M25,22.17l10.61,10.6A15.08,15.08,0,0,0,38.82,28L25,22.17Z\\\" fill=\\\"#4c5050\\\"/><path d=\\\"M25,22.17h0L38.82,28A15,15,0,0,0,40,22.17Z\\\" fill=\\\"#4c5050\\\"/><polygon points=\\\"25 22.17 25 22.17 25 22.17 25 22.17\\\" fill=\\\"#4c5050\\\"/><polygon points=\\\"25 22.17 25 22.17 25 22.17 25 22.17\\\" fill=\\\"#4c5050\\\"/></svg>\",\n \"pin\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><path d=\\\"M297.3,432.6a13.7,13.7,0,0,1-6-1.5c-4.9-2.4-7.7-7-6.1-10.1s3-2.8,5.7-2.8h0.2l-2,3.4V422a4.8,4.8,0,0,0,1.5,3.5,10.2,10.2,0,0,0,6.7,2.9,3.9,3.9,0,0,0,3.5-1.6v-0.2l1-2.9c1.5,2.1,2,4.3,1.1,6s-3,2.8-5.7,2.8h0Z\\\" transform=\\\"translate(-271.5 -396)\\\" fill=\\\"#fff\\\"/><path d=\\\"M297.3,426.3a7.9,7.9,0,0,1-5.1-2.3,2.9,2.9,0,0,1-.9-1.8l4.5-7.8a10.2,10.2,0,0,0,6.1,2.8l-3,8.4a2,2,0,0,1-1.6.6h0Z\\\" transform=\\\"translate(-271.5 -396)\\\" fill=\\\"#fff\\\"/><path d=\\\"M304.3,415.6a11.2,11.2,0,0,1-4.9-1.2c-4-2-6.2-5.6-5-8.2s2.4-2.2,4.6-2.2a11.3,11.3,0,0,1,4.9,1.2,10.7,10.7,0,0,1,4.5,4,4.4,4.4,0,0,1,.5,4.2c-0.7,1.4-2.4,2.2-4.6,2.2h0Z\\\" transform=\\\"translate(-271.5 -396)\\\" fill=\\\"#fff\\\"/><path d=\\\"M290,432.2l-1.7,3.7-0.2,3,2-2.3,1.6-3.7-1.1-.5Z\\\" transform=\\\"translate(-271.5 -396)\\\" fill=\\\"#fff\\\"/></svg>\",\n \"pin_round_open\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><path d=\\\"M683.16,390.18a7.07,7.07,0,0,1-3.09-.77c-2.53-1.25-3.94-3.58-3.14-5.19a3.07,3.07,0,0,1,2.94-1.43h.1l-1,1.74v.2a2.48,2.48,0,0,0,.78,1.82,5.23,5.23,0,0,0,3.44,1.51,2,2,0,0,0,1.8-.84l.06-.09.52-1.48a3,3,0,0,1,.57,3.09,3.07,3.07,0,0,1-2.94,1.43Z\\\" transform=\\\"translate(-657.5 -358.97)\\\" fill=\\\"#4d5065\\\"/><path d=\\\"M683.15,386.94a4.06,4.06,0,0,1-2.62-1.16,1.5,1.5,0,0,1-.47-.92l2.32-4a5.24,5.24,0,0,0,3.13,1.45L684,386.63a1,1,0,0,1-.84.31Z\\\" transform=\\\"translate(-657.5 -358.97)\\\" fill=\\\"#4d5065\\\"/><path d=\\\"M686.75,381.45a5.78,5.78,0,0,1-2.52-.63c-2.06-1-3.21-2.9-2.57-4.21a2.48,2.48,0,0,1,2.37-1.15,5.78,5.78,0,0,1,2.53.63,5.5,5.5,0,0,1,2.32,2.05,2.26,2.26,0,0,1,.24,2.15,2.48,2.48,0,0,1-2.37,1.15Z\\\" transform=\\\"translate(-657.5 -358.97)\\\" fill=\\\"#4d5065\\\"/><path d=\\\"M679.42,390l-.89,1.92-.13,1.55,1-1.16.81-1.92-.54-.24Z\\\" transform=\\\"translate(-657.5 -358.97)\\\" fill=\\\"#4d5065\\\"/><path d=\\\"M683,399.47a15,15,0,1,1,15-15A15,15,0,0,1,683,399.47Zm0-29a14,14,0,1,0,14,14A14,14,0,0,0,683,370.44Z\\\" transform=\\\"translate(-657.5 -358.97)\\\" fill=\\\"#4d5065\\\"/></svg>\",\n \"play_circle\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"32.95 25.17 21.05 32.17 21.05 18.17 32.95 25.17\\\" fill=\\\"#484f60\\\"/><path d=\\\"M25,39.17a14,14,0,1,1,14-14,14,14,0,0,1-14,14m0,1a15,15,0,1,0-15-15,15,15,0,0,0,15,15Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"plus_round\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"-288 379 35 35\\\" enable-background=\\\"new -288 379 35 35\\\" ><path fill=\\\"#29363E\\\" d=\\\"M-270.5,381.5c-8.3,0-15,6.7-15,15c0,8.3,6.7,15,15,15s15-6.7,15-15C-255.5,388.2-262.2,381.5-270.5,381.5z M-261.1,397.3c0,0.9-0.7,1.6-1.6,1.6h-5.5v5.5c0,0.9-0.7,1.6-1.6,1.6h-1.6c-0.9,0-1.6-0.7-1.6-1.6v-5.5h-5.5c-0.9,0-1.6-0.7-1.6-1.6v-1.6c0-0.9,0.7-1.6,1.6-1.6h5.5v-5.5c0-0.9,0.7-1.6,1.6-1.6h1.6c0.9,0,1.6,0.7,1.6,1.6v5.5h5.5c0.9,0,1.6,0.7,1.6,1.6V397.3z\\\"/></svg>\",\n \"plus_round_open\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M24.34,32.17a.34.34,0,0,1-.34-.34V26.17H18.34a.34.34,0,0,1-.34-.34V24.5a.34.34,0,0,1,.34-.33H24V18.5a.34.34,0,0,1,.34-.33h1.33a.33.33,0,0,1,.33.33v5.67h5.67a.33.33,0,0,1,.33.33v1.33a.34.34,0,0,1-.33.34H26v5.66a.34.34,0,0,1-.33.34Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M25,11.17a14,14,0,1,1-14,14,14,14,0,0,1,14-14m0-1a15,15,0,1,0,15,15,15,15,0,0,0-15-15Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"plus_simple\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M23.86,37a.58.58,0,0,1-.57-.57V26.71H13.58a.57.57,0,0,1-.58-.56v-2.3a.57.57,0,0,1,.58-.56h9.71V13.57a.58.58,0,0,1,.57-.57h2.28a.57.57,0,0,1,.57.57v9.72h9.72a.57.57,0,0,1,.57.56v2.3a.57.57,0,0,1-.57.56H26.71v9.72a.57.57,0,0,1-.57.57Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"plus_skinny\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 51 51\\\" enable-background=\\\"new 0 0 51 51\\\" ><path fill=\\\"#484F5F\\\" d=\\\"M24.4,37.5c-0.3,0-0.6-0.3-0.6-0.6v-9.7h-9.7c-0.3,0-0.6-0.3-0.6-0.6v-2.3c0-0.3,0.3-0.6,0.6-0.6h9.7v-9.7c0-0.3,0.3-0.6,0.6-0.6h2.3c0.3,0,0.6,0.3,0.6,0.6v9.7h9.7c0.3,0,0.6,0.3,0.6,0.6v2.3c0,0.3-0.3,0.6-0.6,0.6h-9.7v9.7c0,0.3-0.3,0.6-0.6,0.6H24.4z\\\"/></svg>\",\n \"plus_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 448 512\\\"><path d=\\\"M432 256c0 17.69-14.33 32.01-32 32.01H256v144c0 17.69-14.33 31.99-32 31.99s-32-14.3-32-31.99v-144H48c-17.67 0-32-14.32-32-32.01s14.33-31.99 32-31.99H192v-144c0-17.69 14.33-32.01 32-32.01s32 14.32 32 32.01v144h144C417.7 224 432 238.3 432 256z\\\"/></svg>\",\n \"plus_stars\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"24.09 10 23.32 12.15 21.13 12.82 22.93 14.22 22.89 16.51 24.79 15.23 26.95 15.98 26.31 13.78 27.69 11.95 25.4 11.88 24.09 10\\\" fill=\\\"#484f60\\\" opacity=\\\"0.8\\\"/><polygon points=\\\"15.69 13.56 16.49 15.05 15.77 16.58 17.43 16.28 18.67 17.43 18.9 15.76 20.38 14.94 18.86 14.21 18.54 12.55 17.37 13.77 15.69 13.56\\\" fill=\\\"#484f60\\\" opacity=\\\"0.6\\\"/><polygon points=\\\"12.16 19.48 13 20.08 13.02 21.11 13.85 20.49 14.83 20.79 14.5 19.81 15.09 18.97 14.06 18.98 13.44 18.16 13.13 19.14 12.16 19.48\\\" fill=\\\"#484f60\\\" opacity=\\\"0.4\\\"/><polygon points=\\\"25.91 40 26.68 37.85 28.87 37.18 27.07 35.77 27.11 33.49 25.21 34.77 23.05 34.02 23.69 36.22 22.31 38.05 24.6 38.12 25.91 40\\\" fill=\\\"#484f60\\\" opacity=\\\"0.8\\\"/><polygon points=\\\"34.31 36.44 33.51 34.95 34.23 33.42 32.56 33.72 31.33 32.57 31.1 34.24 29.62 35.06 31.14 35.79 31.46 37.45 32.63 36.23 34.31 36.44\\\" fill=\\\"#484f60\\\" opacity=\\\"0.6\\\"/><polygon points=\\\"37.84 30.52 37 29.92 36.98 28.89 36.15 29.51 35.17 29.21 35.5 30.19 34.91 31.03 35.94 31.02 36.56 31.84 36.87 30.86 37.84 30.52\\\" fill=\\\"#484f60\\\" opacity=\\\"0.4\\\"/><path d=\\\"M24.15,31.49a.31.31,0,0,1-.31-.31V25.92H18.58a.31.31,0,0,1-.31-.31V24.37a.31.31,0,0,1,.31-.31h5.26V18.8a.31.31,0,0,1,.31-.31h1.24a.31.31,0,0,1,.31.31v5.26H31a.31.31,0,0,1,.31.31v1.24a.31.31,0,0,1-.31.31H25.7v5.26a.31.31,0,0,1-.31.31Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"pointer\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"-280 372 50 50\\\" enable-background=\\\"new -280 372 50 50\\\" ><path fill=\\\"#4C5050\\\" d=\\\"M-255,384.5c-4.6,0-8.3,3.7-8.3,8.3s8.3,16.7,8.3,16.7s8.3-12.1,8.3-16.7S-250.4,384.5-255,384.5z M-255,394.9c-1.2,0-2.1-0.9-2.1-2.1c0-1.2,0.9-2.1,2.1-2.1c1.2,0,2.1,0.9,2.1,2.1C-252.9,394-253.8,394.9-255,394.9z\\\"/></svg>\",\n \"pointer_3d\": \"<svg width=\\\"512\\\" height=\\\"512\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><g><g stroke=\\\"null\\\"><path fill=\\\"#06B7FC\\\" d=\\\"m256,18.34937c-87.45543,0 -157.80002,70.34459 -157.80002,157.80002s157.80002,317.50125 157.80002,317.50125s157.80002,-230.04581 157.80002,-317.50125s-70.34459,-157.80002 -157.80002,-157.80002zm0,197.72533c-22.81446,0 -39.92531,-17.11085 -39.92531,-39.92531c0,-22.81446 17.11085,-39.92531 39.92531,-39.92531c22.81446,0 39.92531,17.11085 39.92531,39.92531c0,22.81446 -17.11085,39.92531 -39.92531,39.92531z\\\" stroke=\\\"null\\\"/></g></g></svg>\",\n \"pointer_filled\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 51 51\\\" enable-background=\\\"new 0 0 51 51\\\" ><path fill=\\\"#484F5F\\\" d=\\\"M25.5,13c-4.6,0-8.3,3.7-8.3,8.3S25.5,38,25.5,38s8.3-12.1,8.3-16.7S30.1,13,25.5,13z\\\"/></svg>\",\n \"POS\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><g opacity=\\\"0.9\\\"><path d=\\\"M29.21,11.05a1.05,1.05,0,0,1,1.05,1.06V30a1,1,0,0,1-1.05,1.05H17.63A1,1,0,0,1,16.58,30V12.11a1.05,1.05,0,0,1,1.05-1.06H29.21m0-1.05H17.63a2.1,2.1,0,0,0-2.1,2.11V30a2.11,2.11,0,0,0,2.1,2.11H29.21A2.12,2.12,0,0,0,31.32,30V12.11A2.11,2.11,0,0,0,29.21,10Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M26.4,40H20.09a1.58,1.58,0,0,1-1.58-1.58V33.16h1v5.26a.53.53,0,0,0,.53.53H26.4a.53.53,0,0,0,.53-.53V33.16H28v5.26A1.58,1.58,0,0,1,26.4,40Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M28.05,13.16v2.1H18.57v-2.1h9.48m0-1.05H18.57a1,1,0,0,0-1.05,1.05v2.1a1.06,1.06,0,0,0,1.05,1.06h9.48a1.06,1.06,0,0,0,1.05-1.06v-2.1a1,1,0,0,0-1.05-1.05Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"17.52\\\" y=\\\"18.42\\\" width=\\\"3.16\\\" height=\\\"2.11\\\" rx=\\\"1.05\\\" fill=\\\"#484f60\\\"/><rect x=\\\"21.73\\\" y=\\\"18.42\\\" width=\\\"3.16\\\" height=\\\"2.11\\\" rx=\\\"1.05\\\" fill=\\\"#484f60\\\"/><rect x=\\\"25.94\\\" y=\\\"18.42\\\" width=\\\"3.16\\\" height=\\\"2.11\\\" rx=\\\"1.05\\\" fill=\\\"#484f60\\\"/><rect x=\\\"17.52\\\" y=\\\"22.63\\\" width=\\\"3.16\\\" height=\\\"2.11\\\" rx=\\\"1.05\\\" fill=\\\"#484f60\\\"/><rect x=\\\"21.73\\\" y=\\\"22.63\\\" width=\\\"3.16\\\" height=\\\"2.11\\\" rx=\\\"1.05\\\" fill=\\\"#484f60\\\"/><rect x=\\\"25.94\\\" y=\\\"22.63\\\" width=\\\"3.16\\\" height=\\\"2.11\\\" rx=\\\"1.05\\\" fill=\\\"#484f60\\\"/><rect x=\\\"17.52\\\" y=\\\"26.84\\\" width=\\\"3.16\\\" height=\\\"2.11\\\" rx=\\\"1.05\\\" fill=\\\"#484f60\\\"/><rect x=\\\"21.73\\\" y=\\\"26.84\\\" width=\\\"3.16\\\" height=\\\"2.11\\\" rx=\\\"1.05\\\" fill=\\\"#484f60\\\"/><rect x=\\\"25.94\\\" y=\\\"26.84\\\" width=\\\"3.16\\\" height=\\\"2.11\\\" rx=\\\"1.05\\\" fill=\\\"#484f60\\\"/><rect x=\\\"23.25\\\" y=\\\"33.16\\\" width=\\\"2.11\\\" height=\\\"6.32\\\" fill=\\\"#484f60\\\"/><rect x=\\\"33.42\\\" y=\\\"18.42\\\" width=\\\"1.05\\\" height=\\\"12.63\\\" fill=\\\"#484f60\\\"/></g></svg>\",\n \"positioning\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"23\\\" y=\\\"17.17\\\" width=\\\"4\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><rect x=\\\"23\\\" y=\\\"23.17\\\" width=\\\"4\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><rect x=\\\"23\\\" y=\\\"29.17\\\" width=\\\"4\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"pregnancy\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 51 51\\\" enable-background=\\\"new 0 0 51 51\\\" ><g><g><path fill=\\\"#5B5B5B\\\" d=\\\"M21.3,31.4c0.6,1.5,0.7,2.4,2.3,2.5c1.6,0.1,2.4-0.7,3.1-2.1c0.7-1.4,1.4-2.9,2.1-4.3c0.7-1.4,0.6-2.5-0.9-3c-1-0.3-1.5-0.6-2.5-0.9c-0.8-0.2-1.1-0.9-1.6-1.6c-0.2-0.3-0.5-0.7-0.9-0.8c-0.5-0.1-1,0.1-1.2,0.5c-0.2,0.4-0.3,0.9-0.2,1.4c0.4,1.4,1.3,2.6,2.8,2.8c0.1,0,0.1,0.1,0.3,0.2c0,0-1.2,2.3-1.3,2.5c-0.1,0.2-0.2,0.5-0.3,0.7l0-0.2c-0.1-0.5-0.2-0.9-0.3-1.4c-0.1-0.3-0.2-0.6-0.4-0.8c-0.3-0.3-1-0.4-1.4-0.2c-0.6,0.2-1.2,0.8-1.5,1.3c-0.9,1.4-0.7,5.3-0.1,6.8c0.1,0.2,0.1,0.3,0.3,0.4c0.3,0.2,0.8,0.1,1.1-0.1C21.1,34.7,21.2,32,21.3,31.4\\\"/><path fill=\\\"#5B5B5B\\\" d=\\\"M28.4,23.4c-2.1,0-3.8-1.7-3.8-3.8c0-2.1,1.7-3.9,3.9-3.8c2.1,0,3.9,1.8,3.8,3.8C32.2,21.7,30.5,23.4,28.4,23.4z\\\"/></g><path fill=\\\"#5B5B5B\\\" d=\\\"M25.5,40.5c-8.3,0-15-6.7-15-15s6.7-15,15-15s15,6.7,15,15S33.8,40.5,25.5,40.5z M25.5,11.5c-7.7,0-14,6.3-14,14s6.3,14,14,14s14-6.3,14-14S33.2,11.5,25.5,11.5z\\\"/></g></svg>\",\n \"preset\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M37.07,11.48H12.93A1.94,1.94,0,0,0,11,13.41V36.59a1.94,1.94,0,0,0,1.93,1.93H37.07A1.94,1.94,0,0,0,39,36.59V13.41A1.94,1.94,0,0,0,37.07,11.48ZM20.66,32.72H18.24v2.9h-2.9v-2.9H12.93V27.9h2.41V15.34h2.9V27.9h2.42Zm8.2-9.65H26.45V35.62h-2.9V23.07H21.14V18.24h2.41v-2.9h2.9v2.9h2.41Zm8.21,6.76H34.66v5.79h-2.9V29.83H29.34V25h2.42V15.34h2.9V25h2.41Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"14.38\\\" y=\\\"29.34\\\" width=\\\"4.83\\\" height=\\\"1.93\\\" fill=\\\"#484f60\\\"/><rect x=\\\"22.59\\\" y=\\\"19.69\\\" width=\\\"4.83\\\" height=\\\"1.93\\\" fill=\\\"#484f60\\\"/><rect x=\\\"30.79\\\" y=\\\"26.45\\\" width=\\\"4.83\\\" height=\\\"1.93\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"print\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M39.25,27.44c0-1.25-2.51-3-3.75-3h-21c-1.24,0-3.75,1.75-3.75,3L10,34.94a2.25,2.25,0,0,0,2.25,2.25h3l1.22-2.44H13.75V29.5l.75-2.25C14.5,26,17,25,18.25,25h13.5c1.24,0,3.75,1,3.75,2.25l.75,2.25v5.25H33.53l1.22,2.44h3A2.25,2.25,0,0,0,40,34.94Zm-1.5,4.31a1.13,1.13,0,1,1,1.13-1.13A1.13,1.13,0,0,1,37.75,31.75Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M15,30.89V29.63l.71-2.17v-.17c0-.54,1.78-1.43,2.85-1.43H31.41c1.07,0,2.85.89,2.85,1.43v.17L35,29.63v1.26Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M18.25,12.06v9.75h13.5V12.06Zm12,7.5H19.75v-.75h10.5Zm0-2.25H19.75v-.75h10.5Zm0-2.25H19.75v-.75h10.5Z\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"15.71 37.94 17.96 33.44 32.04 33.44 34.29 37.94 15.71 37.94\\\" fill=\\\"#484f60\\\"/><rect x=\\\"16.75\\\" y=\\\"22.94\\\" width=\\\"16.5\\\" height=\\\"1.5\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"product_properties\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M37.43,12.64H12.57A2.57,2.57,0,0,0,10,15.21V29.79a2.57,2.57,0,0,0,2.57,2.57H31.11a3.45,3.45,0,0,1,1.75-.5H29.5v-13h1.84V14.79h1.29v4.07h.77V14.79H36v4.07h.53v13H32.93a3.45,3.45,0,0,1,1.75.5h2.75A2.57,2.57,0,0,0,40,29.79V15.21A2.57,2.57,0,0,0,37.43,12.64ZM14.29,30.21H12.15V14.79h2.14Zm2,0H15V14.79h1.29Zm2.57,0H17.54V14.79h1.29Zm3.52,0H20.2V14.79h2.15Zm2,0H23.11V14.79H24.4Zm2.06,0H25.17V14.79h1.29Zm2.66,0H27.83V14.79h1.29Zm9.17,0H37V14.79h1.29Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><path d=\\\"M32.9,37.36a2,2,0,0,1-2-2,2,2,0,0,1,.58-1.42,2,2,0,0,1,2.83,0,2,2,0,0,1,.59,1.42,2,2,0,0,1-2,2Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"31\\\" y=\\\"20.36\\\" width=\\\"4\\\" height=\\\"10\\\" transform=\\\"translate(66 50.72) rotate(180)\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"purchase\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><g opacity=\\\"0.75\\\"><polygon points=\\\"33.34 25.04 27.34 28.52 33.35 31.97 39.34 28.49 33.34 25.04\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"33.99 33.08 39.99 29.6 40 36.53 34.01 40.01 33.99 33.08\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><polygon points=\\\"26.72 36.55 26.71 29.63 32.71 33.08 32.72 40.01 26.72 36.55\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><polygon points=\\\"12.78 28.54 18.79 32 24.78 28.52 18.77 25.07 12.78 28.54\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"19.43 33.1 25.42 29.63 25.44 36.56 19.44 40.03 19.43 33.1\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><polygon points=\\\"12.15 36.58 12.14 29.65 18.15 33.11 18.16 40.04 12.15 36.58\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><polygon points=\\\"32.04 15.89 26.03 12.44 22.09 14.73 27.52 14.73 24.03 18.21 26.05 19.37 32.04 15.89\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"32.68 17 26.69 20.48 26.7 27.41 32.7 23.93 32.68 17\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><polygon points=\\\"23.1 19.15 19.41 22.83 19.41 23.95 25.42 27.41 25.41 20.48 23.1 19.15\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/></g><polygon points=\\\"19.03 16.34 19.03 10.3 14.61 10.3 14.61 16.34 14.61 16.34 10 16.34 16.82 23.16 23.64 16.34 19.03 16.34\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"qrcode\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\" version=\\\"1.1\\\" sodipodi:docname=\\\"qrcode.svg\\\" inkscape:version=\\\"0.92.4 (5da689c313, 2019-01-14)\\\"><metadata ><rdf:RDF><cc:Work rdf:about=\\\"\\\"><dc:format>image/svg+xml</dc:format><dc:type rdf:resource=\\\"http://purl.org/dc/dcmitype/StillImage\\\" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs /><sodipodi:namedview pagecolor=\\\"#ffffff\\\" bordercolor=\\\"#666666\\\" borderopacity=\\\"1\\\" objecttolerance=\\\"10\\\" gridtolerance=\\\"10\\\" guidetolerance=\\\"10\\\" inkscape:pageopacity=\\\"0\\\" inkscape:pageshadow=\\\"2\\\" inkscape:window-width=\\\"1920\\\" inkscape:window-height=\\\"1017\\\" showgr inkscape:zoom=\\\"10.24\\\" inkscape:cx=\\\"-3.609533\\\" inkscape:cy=\\\"34.630587\\\" inkscape:window-x=\\\"-8\\\" inkscape:window-y=\\\"-8\\\" inkscape:window-maximized=\\\"1\\\" inkscape:current-layer=\\\"svg12\\\" /><g transform=\\\"matrix(0.12987013,0,0,0.12987013,8.5714286,8.5714285)\\\" style=\\\"fill:#484f60;fill-opacity:1\\\"><path inkscape:connector-curvature=\\\"0\\\" style=\\\"fill:#484f60;fill-opacity:1\\\" d=\\\"M 11,11 H 22 V 22 H 11 Z m 11,0 H 33 V 22 H 22 Z m 11,0 H 44 V 22 H 33 Z m 11,0 H 55 V 22 H 44 Z m 11,0 H 66 V 22 H 55 Z m 11,0 H 77 V 22 H 66 Z m 11,0 H 88 V 22 H 77 Z m 33,0 h 11 v 11 h -11 z m 33,0 h 11 v 11 h -11 z m 22,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 11,0 h 11 V 22 H 231 Z M 11,22 H 22 V 33 H 11 Z m 66,0 H 88 V 33 H 77 Z m 22,0 h 11 V 33 H 99 Z m 33,0 h 11 v 11 h -11 z m 33,0 h 11 v 11 h -11 z m 66,0 h 11 V 33 H 231 Z M 11,33 H 22 V 44 H 11 Z m 22,0 H 44 V 44 H 33 Z m 11,0 H 55 V 44 H 44 Z m 11,0 H 66 V 44 H 55 Z m 22,0 H 88 V 44 H 77 Z m 33,0 h 11 v 11 h -11 z m 55,0 h 11 v 11 h -11 z m 22,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 22,0 h 11 V 44 H 231 Z M 11,44 H 22 V 55 H 11 Z m 22,0 H 44 V 55 H 33 Z m 11,0 H 55 V 55 H 44 Z m 11,0 H 66 V 55 H 55 Z m 22,0 H 88 V 55 H 77 Z m 22,0 h 11 V 55 H 99 Z m 33,0 h 11 v 11 h -11 z m 33,0 h 11 v 11 h -11 z m 22,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 22,0 h 11 V 55 H 231 Z M 11,55 H 22 V 66 H 11 Z m 22,0 H 44 V 66 H 33 Z m 11,0 H 55 V 66 H 44 Z m 11,0 H 66 V 66 H 55 Z m 22,0 H 88 V 66 H 77 Z m 44,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 22,0 h 11 v 11 h -11 z m 22,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 22,0 h 11 V 66 H 231 Z M 11,66 H 22 V 77 H 11 Z m 66,0 H 88 V 77 H 77 Z m 22,0 h 11 V 77 H 99 Z m 11,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 22,0 h 11 v 11 h -11 z m 22,0 h 11 v 11 h -11 z m 66,0 h 11 V 77 H 231 Z M 11,77 H 22 V 88 H 11 Z m 11,0 H 33 V 88 H 22 Z m 11,0 H 44 V 88 H 33 Z m 11,0 H 55 V 88 H 44 Z m 11,0 H 66 V 88 H 55 Z m 11,0 H 77 V 88 H 66 Z m 11,0 H 88 V 88 H 77 Z m 22,0 h 11 V 88 H 99 Z m 22,0 h 11 v 11 h -11 z m 22,0 h 11 v 11 h -11 z m 22,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 11,0 h 11 V 88 H 231 Z M 121,88 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 11,0 h 11 V 99 H 143 Z M 11,99 h 11 v 11 H 11 Z m 11,0 h 11 v 11 H 22 Z m 11,0 h 11 v 11 H 33 Z m 11,0 h 11 v 11 H 44 Z m 11,0 h 11 v 11 H 55 Z m 22,0 h 11 v 11 H 77 Z m 11,0 h 11 v 11 H 88 Z m 11,0 h 11 v 11 H 99 Z m 11,0 h 11 v 11 h -11 z m 33,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 22,0 h 11 v 11 h -11 z m 22,0 h 11 v 11 h -11 z m 22,0 h 11 v 11 H 220 Z M 22,110 h 11 v 11 H 22 Z m 77,0 h 11 v 11 H 99 Z m 11,0 h 11 v 11 h -11 z m 33,0 h 11 v 11 h -11 z m 33,0 h 11 v 11 h -11 z m 22,0 h 11 v 11 h -11 z m 33,0 h 11 v 11 H 231 Z M 22,121 h 11 v 11 H 22 Z m 11,0 h 11 v 11 H 33 Z m 22,0 h 11 v 11 H 55 Z m 22,0 h 11 v 11 H 77 Z m 33,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 22,0 h 11 v 11 h -11 z m 33,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 22,0 h 11 v 11 H 220 Z M 22,132 h 11 v 11 H 22 Z m 11,0 h 11 v 11 H 33 Z m 11,0 h 11 v 11 H 44 Z m 11,0 h 11 v 11 H 55 Z m 11,0 h 11 v 11 H 66 Z m 55,0 h 11 v 11 h -11 z m 55,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 H 220 Z M 22,143 h 11 v 11 H 22 Z m 22,0 h 11 v 11 H 44 Z m 11,0 h 11 v 11 H 55 Z m 11,0 h 11 v 11 H 66 Z m 11,0 h 11 v 11 H 77 Z m 11,0 h 11 v 11 H 88 Z m 22,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 22,0 h 11 v 11 h -11 z m 33,0 h 11 v 11 h -11 z m 44,0 h 11 v 11 H 231 Z M 99,154 h 11 v 11 H 99 Z m 11,0 h 11 v 11 h -11 z m 22,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 33,0 h 11 v 11 h -11 z m 33,0 h 11 v 11 H 231 Z M 11,165 h 11 v 11 H 11 Z m 11,0 h 11 v 11 H 22 Z m 11,0 h 11 v 11 H 33 Z m 11,0 h 11 v 11 H 44 Z m 11,0 h 11 v 11 H 55 Z m 11,0 h 11 v 11 H 66 Z m 11,0 h 11 v 11 H 77 Z m 22,0 h 11 v 11 H 99 Z m 11,0 h 11 v 11 h -11 z m 33,0 h 11 v 11 h -11 z m 22,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 44,0 h 11 v 11 H 220 Z M 11,176 h 11 v 11 H 11 Z m 66,0 h 11 v 11 H 77 Z m 33,0 h 11 v 11 h -11 z m 22,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 33,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 H 209 Z M 11,187 h 11 v 11 H 11 Z m 22,0 h 11 v 11 H 33 Z m 11,0 h 11 v 11 H 44 Z m 11,0 h 11 v 11 H 55 Z m 22,0 h 11 v 11 H 77 Z m 22,0 h 11 v 11 H 99 Z m 11,0 h 11 v 11 h -11 z m 33,0 h 11 v 11 h -11 z m 33,0 h 11 v 11 h -11 z m 44,0 h 11 v 11 H 220 Z M 11,198 h 11 v 11 H 11 Z m 22,0 h 11 v 11 H 33 Z m 11,0 h 11 v 11 H 44 Z m 11,0 h 11 v 11 H 55 Z m 22,0 h 11 v 11 H 77 Z m 22,0 h 11 v 11 H 99 Z m 11,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 22,0 h 11 v 11 h -11 z m 33,0 h 11 v 11 h -11 z m 22,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 H 209 Z M 11,209 h 11 v 11 H 11 Z m 22,0 h 11 v 11 H 33 Z m 11,0 h 11 v 11 H 44 Z m 11,0 h 11 v 11 H 55 Z m 22,0 h 11 v 11 H 77 Z m 22,0 h 11 v 11 H 99 Z m 11,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 22,0 h 11 v 11 h -11 z m 33,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 H 209 Z M 11,220 h 11 v 11 H 11 Z m 66,0 h 11 v 11 H 77 Z m 22,0 h 11 v 11 H 99 Z m 22,0 h 11 v 11 h -11 z m 55,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 22,0 h 11 v 11 H 209 Z M 11,231 h 11 v 11 H 11 Z m 11,0 h 11 v 11 H 22 Z m 11,0 h 11 v 11 H 33 Z m 11,0 h 11 v 11 H 44 Z m 11,0 h 11 v 11 H 55 Z m 11,0 h 11 v 11 H 66 Z m 11,0 h 11 v 11 H 77 Z m 22,0 h 11 v 11 H 99 Z m 11,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z m 22,0 h 11 v 11 h -11 z m 33,0 h 11 v 11 h -11 z m 22,0 h 11 v 11 h -11 z m 11,0 h 11 v 11 h -11 z\\\" /></g></svg>\",\n \"question\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M22.56,21H19.5A4.14,4.14,0,0,1,21,17.69a6.16,6.16,0,0,1,4.12-1.32,6.6,6.6,0,0,1,2.8.54,4.58,4.58,0,0,1,1.85,1.58,3.84,3.84,0,0,1,.69,2.16,3.46,3.46,0,0,1-.22,1.22,4.85,4.85,0,0,1-.7,1.23,10.78,10.78,0,0,1-1.34,1.24A8.45,8.45,0,0,0,27,25.51a2.8,2.8,0,0,0-.44.9A7,7,0,0,0,26.31,28H23.15v-.47A5.69,5.69,0,0,1,23.71,25a6.46,6.46,0,0,1,1.86-2.16,9.51,9.51,0,0,0,1.49-1.34,1.48,1.48,0,0,0,.26-.86,1.38,1.38,0,0,0-.63-1.14A2.71,2.71,0,0,0,25,19a2.66,2.66,0,0,0-1.76.57A1.83,1.83,0,0,0,22.56,21Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M24.79,30a2,2,0,0,1,1.45.59,2,2,0,0,1-2.86,2.82A2,2,0,0,1,24.79,30Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"radio_uncheck\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M25,34.5a9.34,9.34,0,1,1,9.33-9.33A9.34,9.34,0,0,1,25,34.5m0,.67a10,10,0,1,0-10-10,10,10,0,0,0,10,10Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"range\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><title>range</title><path d=\\\"M10,35.46V14.54h4.43V16.2H12V33.8h2.42v1.66Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M21.88,26V24h6.18v2Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M40,35.46H35.57V33.8H38V16.2H35.57V14.54H40Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"range_select\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"18\\\" y=\\\"11.17\\\" width=\\\"22\\\" height=\\\"4\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"18\\\" y=\\\"19.17\\\" width=\\\"22\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><rect x=\\\"18\\\" y=\\\"27.17\\\" width=\\\"22\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><circle cx=\\\"13\\\" cy=\\\"13.17\\\" r=\\\"3\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><circle cx=\\\"13\\\" cy=\\\"21.17\\\" r=\\\"3\\\" fill=\\\"#484f60\\\"/><circle cx=\\\"13\\\" cy=\\\"29.17\\\" r=\\\"3\\\" fill=\\\"#484f60\\\"/><rect x=\\\"18\\\" y=\\\"35.17\\\" width=\\\"22\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><circle cx=\\\"13\\\" cy=\\\"37.17\\\" r=\\\"3\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"rectangles\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 51 51\\\" enable-background=\\\"new 0 0 51 51\\\" ><g><path fill=\\\"#484F5F\\\" d=\\\"M24.7,24.2c0,0.2-0.2,0.4-0.4,0.4H10.9c-0.2,0-0.4-0.2-0.4-0.4v-8.4c0-0.2,0.2-0.4,0.4-0.4h13.3c0.2,0,0.4,0.2,0.4,0.4V24.2z\\\"/><path fill=\\\"#484F5F\\\" d=\\\"M40.5,24.2c0,0.2-0.2,0.4-0.4,0.4H26.8c-0.2,0-0.4-0.2-0.4-0.4v-8.4c0-0.2,0.2-0.4,0.4-0.4h13.3c0.2,0,0.4,0.2,0.4,0.4V24.2z\\\"/><path fill=\\\"#484F5F\\\" d=\\\"M24.7,35.2c0,0.2-0.2,0.4-0.4,0.4H10.9c-0.2,0-0.4-0.2-0.4-0.4v-8.4c0-0.2,0.2-0.4,0.4-0.4h13.3c0.2,0,0.4,0.2,0.4,0.4V35.2z\\\"/><path opacity=\\\"0.5\\\" fill=\\\"#484F5F\\\" d=\\\"M40.5,35.2c0,0.2-0.2,0.4-0.4,0.4H26.8c-0.2,0-0.4-0.2-0.4-0.4v-8.4c0-0.2,0.2-0.4,0.4-0.4h13.3c0.2,0,0.4,0.2,0.4,0.4V35.2z\\\"/></g></svg>\",\n \"refresh\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"14.58 22.71 14.58 10 27.29 22.71 14.58 22.71\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"35.42 27.29 35.42 40 22.71 27.29 35.42 27.29\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.9,15.32c4.09-4.09,10.2-8.13,18.33,0h0C31.73,8.82,26.65,13.9,22.56,18Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M30.1,34.68c-4.09,4.08-10.2,8.13-18.33,0h0c6.51,6.5,11.58,1.43,15.67-2.66Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"relations\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 50 50\\\" enable-background=\\\"new 0 0 50 50\\\" ><g><path fill=\\\"#2A363B\\\" d=\\\"M32.8,35.2c1.4-1.3,2.5-4.7,2.9-6.7l-1.5,1.7C34,31.3,33.6,33.3,32.8,35.2z\\\"/><path fill=\\\"#2A363B\\\" d=\\\"M37,26.1l1.6-1.8c0-1.8-1.9-4-4.1-4h-0.5c-0.2,0.3-0.5,0.6-0.7,0.9C35.3,22,36.8,24.1,37,26.1z\\\"/><path fill=\\\"#2A363B\\\" d=\\\"M34.6,15.3c0-2.8-2.8-5.3-6.4-5.3c-1,0-1.9,0.2-2.8,0.6c4.1,0.2,7.5,3.3,7.5,6.9c0,0.6-0.1,1.3-0.3,1.9C33.8,18.2,34.6,16.7,34.6,15.3z\\\"/><path fill=\\\"#2A363B\\\" d=\\\"M33.7,28.2l1.6-1.8c0-1.8-1.9-4-4.1-4h-0.5c-0.2,0.3-0.5,0.6-0.7,0.9C32.1,24.2,33.6,26.2,33.7,28.2z\\\"/><path fill=\\\"#2A363B\\\" d=\\\"M29.6,37.3c1.4-1.3,2.5-4.7,2.9-6.7l-1.5,1.7C30.8,33.4,30.4,35.5,29.6,37.3z\\\"/><path fill=\\\"#2A363B\\\" d=\\\"M31.4,17.4c0-2.8-2.8-5.3-6.4-5.3c-1,0-1.9,0.2-2.8,0.6c4.1,0.2,7.5,3.3,7.5,6.9c0,0.6-0.1,1.3-0.3,1.9C30.6,20.4,31.4,18.9,31.4,17.4z\\\"/><path fill=\\\"#2A363B\\\" d=\\\"M28,24.6h-0.5c-0.9,1.2-2.5,2.7-4.2,3.3c0.1,0.2,0.2,0.4,0.2,0.6c0,0.4-0.3,0.8-0.6,1l1.5,7.1l-2.6,2.6l-2.6-2.6l1.5-7.1c-0.4-0.2-0.6-0.6-0.6-1c0-0.2,0.1-0.4,0.2-0.6c-1.7-0.6-3.3-2-4.2-3.3h-0.5c-2.3,0-4.1,2.2-4.1,4l2.8,3c0,1.8,1.9,8.4,4.1,8.4h6.9c2.3,0,4.2-6.6,4.2-8.4l2.8-3C32.2,26.8,30.3,24.6,28,24.6z\\\"/><path fill=\\\"#2A363B\\\" d=\\\"M28.1,19.6c0,2.8-2.8,5.9-6.4,5.9c-3.5,0-6.4-3.1-6.4-5.9c0-2.8,2.8-5.3,6.4-5.3C25.3,14.3,28.1,16.8,28.1,19.6z\\\"/></g></svg>\",\n \"remark\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M25,10.93c-8.28,0-15,4.9-15,11a8.87,8.87,0,0,0,2.27,5.77h-.16c.15.1.28.22.43.32a13.37,13.37,0,0,0,1.34,1.25c3.07,3.74.06,8.71-3.25,9.84,5.79-1.34,9.32-3.89,10.91-6.53a19.53,19.53,0,0,0,3.46.31c8.28,0,15-4.91,15-11S33.28,10.93,25,10.93Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"remark_round_open\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><path d=\\\"M683,375.62c-5.52,0-10,3.27-10,7.31a5.91,5.91,0,0,0,1.51,3.85h-.11c.11.07.19.14.29.22a8.27,8.27,0,0,0,.9.83c2,2.5,0,5.81-2.16,6.56,3.86-.89,6.21-2.59,7.27-4.35a13.52,13.52,0,0,0,2.31.2c5.52,0,10-3.27,10-7.3S688.52,375.62,683,375.62Z\\\" transform=\\\"translate(-658.5 -359.5)\\\" fill=\\\"#4d5050\\\"/><path d=\\\"M683,405a20,20,0,1,1,20-20A20,20,0,0,1,683,405Zm0-38.71A18.71,18.71,0,1,0,701.71,385,18.73,18.73,0,0,0,683,366.29Z\\\" transform=\\\"translate(-658.5 -359.5)\\\" fill=\\\"#4d5050\\\"/></svg>\",\n \"report_in_type\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><g opacity=\\\"0.75\\\"><path d=\\\"M27.38,15.39a1,1,0,0,0-1-1H24.89a1,1,0,0,0-1,1v7.53c0,.55-.32.68-.71.29l-3.47-3.47c-.39-.39-.71-.26-.71.29v2.89c0,.55-.34.7-.75.34l-4.08-3.57c-.41-.36-.75-.21-.75.34v2.89c0,.55-.32.68-.71.29L9.25,19.74c-.39-.39-.71-.26-.71.29v7.14a1,1,0,0,0,1,1H20.4l7-7Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M15.73,13.38,15.39,12a13.26,13.26,0,0,1-3.2.47,5.14,5.14,0,0,1-2.92-.79L8.5,12.87a6.43,6.43,0,0,0,3.69,1A14.53,14.53,0,0,0,15.73,13.38Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M18.41,12.61a18.14,18.14,0,0,1,4.74-1,2.35,2.35,0,0,1,2.24,1.1l1.18-.73a3.72,3.72,0,0,0-3.42-1.76A19,19,0,0,0,18,11.28l-.63.19.41,1.34Z\\\" fill=\\\"#484f60\\\"/></g><g opacity=\\\"0.75\\\"><rect x=\\\"28.55\\\" y=\\\"34.12\\\" width=\\\"3.02\\\" height=\\\"6.05\\\" fill=\\\"#484f60\\\"/><rect x=\\\"32.43\\\" y=\\\"34.12\\\" width=\\\"3.02\\\" height=\\\"6.05\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"33.28 21.29 22.5 32.07 22.5 40.17 26.82 40.17 26.82 32.39 37.18 32.39 37.18 40.17 41.5 40.17 41.5 25.48 33.28 21.29\\\" fill=\\\"#484f60\\\"/></g><rect x=\\\"6.6\\\" y=\\\"24.67\\\" width=\\\"39.6\\\" height=\\\"1\\\" transform=\\\"translate(-10.06 26.04) rotate(-45)\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"resize\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><polygon points=\\\"1.1 49.9 1.1 30.6 7.8 37.3 37.3 8 30.6 1.3 49.9 1.3 49.9 20.6 43.2 13.9 13.7 43.2 20.5 49.9 1.1 49.9\\\" fill=\\\"#4d5050\\\"/></svg>\",\n \"resize_down\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"29.5 28.25 25 32.75 20.5 28.25 29.5 28.25\\\" fill=\\\"#484f60\\\"/><rect x=\\\"23\\\" y=\\\"21.25\\\" width=\\\"4\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><rect x=\\\"17\\\" y=\\\"21.25\\\" width=\\\"4\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><rect x=\\\"29\\\" y=\\\"21.25\\\" width=\\\"4\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"resize_up\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"20.5 22.75 25 18.25 29.5 22.75 20.5 22.75\\\" fill=\\\"#484f60\\\"/><rect x=\\\"23\\\" y=\\\"25.75\\\" width=\\\"4\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><rect x=\\\"29\\\" y=\\\"25.75\\\" width=\\\"4\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><rect x=\\\"17\\\" y=\\\"25.75\\\" width=\\\"4\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"returns\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M33.63,16.88H29.25A1.25,1.25,0,0,0,28,18.13v.65A1.25,1.25,0,0,0,29.25,20h9.5A1.25,1.25,0,0,0,40,18.78v-.65a1.25,1.25,0,0,0-1.25-1.25H33.63Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M35.36,22.45H20.53v1.79a3.21,3.21,0,0,1-.67,1.94V37.09H18.79v-10a3.24,3.24,0,0,1-1.08.33v9.68H16.64V27.45a3.68,3.68,0,0,1-.57-.06v9.7H14.29V26.36a3.17,3.17,0,0,1-.82-2.12V22.81a2.14,2.14,0,0,0-1,1.78V36.74a2.14,2.14,0,0,0,2.14,2.14H35.36a2.14,2.14,0,0,0,2.14-2.14V24.59A2.14,2.14,0,0,0,35.36,22.45ZM22.79,37.09H21V24.24h1.79Zm1.71,0H23.43V24.24H24.5Zm1.72,0H25.15V24.24h1.07Zm2.21,0H27.36V24.24h1.07Zm2.93,0H30.29V24.24h1.07Zm2.79,0H32V24.24h2.15Zm1.92,0H35V24.24h1.07Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M22.79,16.92H18.53V12.67a1.22,1.22,0,0,0-1.21-1.22h-.63a1.22,1.22,0,0,0-1.22,1.22v4.25H11.22A1.22,1.22,0,0,0,10,18.13v.64A1.21,1.21,0,0,0,11.22,20h4.25v4.26a1.21,1.21,0,0,0,1.22,1.21h.63a1.21,1.21,0,0,0,1.21-1.21V20h4.26A1.21,1.21,0,0,0,24,18.77v-.64A1.21,1.21,0,0,0,22.79,16.92Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/></svg>\",\n \"return_goods\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><path d=\\\"M298,407.7a15,15,0,0,0-5.1.9l-2.7-3.5-2.5,9.7,10-.3-2-2.6,2.4-.3a11,11,0,1,1-11,11h-4A15,15,0,1,0,298,407.7Z\\\" transform=\\\"translate(-272.5 -396)\\\" fill=\\\"#fff\\\"/></svg>\",\n \"rotate_left_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M480 256c0 123.4-100.5 223.9-223.9 223.9c-48.84 0-95.17-15.58-134.2-44.86c-14.12-10.59-16.97-30.66-6.375-44.81c10.59-14.12 30.62-16.94 44.81-6.375c27.84 20.91 61 31.94 95.88 31.94C344.3 415.8 416 344.1 416 256s-71.69-159.8-159.8-159.8c-37.46 0-73.09 13.49-101.3 36.64l45.12 45.14c17.01 17.02 4.955 46.1-19.1 46.1H35.17C24.58 224.1 16 215.5 16 204.9V59.04c0-24.04 29.07-36.08 46.07-19.07l47.6 47.63C149.9 52.71 201.5 32.11 256.1 32.11C379.5 32.11 480 132.6 480 256z\\\"/></svg>\",\n \"save_disk\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"-288 379 35 35\\\" enable-background=\\\"new -288 379 35 35\\\" ><g opacity=\\\"0.95\\\"><path fill=\\\"#29363E\\\" d=\\\"M-259.5,384.4h-2.1v6.8c0,0.4-0.3,0.7-0.7,0.7h-16.6c-0.4,0-0.7-0.3-0.7-0.7v-6.8h-2c-0.6,0-1.1,0.5-1.1,1.1v22.4c0,0.6,0.5,1.1,1.1,1.1h2v-14c0-0.4,0.3-0.7,0.7-0.7h16.7c0.4,0,0.7,0.3,0.7,0.7v14h2c0.6,0,1.1-0.5,1.1-1.1v-22.4C-258.4,384.9-258.9,384.4-259.5,384.4z M-280.1,406.6h-1.7V405h1.7V406.6z M-259.2,406.6h-1.7V405h1.7V406.6z\\\"/><rect x=\\\"-278.4\\\" y=\\\"395.4\\\" fill=\\\"#29363E\\\" width=\\\"15.8\\\" height=\\\"13.5\\\"/><path fill=\\\"#29363E\\\" d=\\\"M-263.4,384h-12c-0.1,0-0.3,0.1-0.3,0.3v6.5c0,0.1,0.1,0.3,0.3,0.3h12c0.1,0,0.2-0.1,0.2-0.3v-6.5C-263.1,384.1-263.2,384-263.4,384z M-265.6,390c0,0.1-0.1,0.3-0.3,0.3h-2.4c-0.1,0-0.2-0.1-0.2-0.3v-4.8c0-0.1,0.1-0.3,0.2-0.3h2.4c0.1,0,0.3,0.1,0.3,0.3V390z\\\"/></g></svg>\",\n \"save_skinny\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><polygon points=\\\"23.8 38.1 14.9 25.6 15.7 25 23.6 36.2 35.2 12.9 36.1 13.4 23.8 38.1\\\" fill=\\\"#fff\\\"/></svg>\",\n \"scale_balanced\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 640 512\\\"><path style=\\\"fill:#484f60\\\" d=\\\"M554.9 154.5c-17.62-35.25-68.12-35.38-85.87 0c-87 174.3-84.1 165.9-84.1 181.5c0 44.13 57.25 80 128 80s127.1-35.88 127.1-80C639.1 319.9 641.4 327.3 554.9 154.5zM439.1 320l71.96-144l72.17 144H439.1zM256 336c0-16.12 1.375-8.75-85.12-181.5c-17.62-35.25-68.12-35.38-85.87 0c-87 174.3-84.1 165.9-84.1 181.5c0 44.13 57.25 80 127.1 80S256 380.1 256 336zM127.9 176L200.1 320H55.96L127.9 176zM495.1 448h-143.1V153.3C375.5 143 393.1 121.8 398.4 96h113.6c17.67 0 31.1-14.33 31.1-32s-14.33-32-31.1-32h-128.4c-14.62-19.38-37.5-32-63.62-32S270.1 12.62 256.4 32H128C110.3 32 96 46.33 96 64S110.3 96 127.1 96h113.6c5.25 25.75 22.87 47 46.37 57.25V448H144c-26.51 0-48.01 21.49-48.01 48c0 8.836 7.165 16 16 16h416c8.836 0 16-7.164 16-16C544 469.5 522.5 448 495.1 448z\\\"/></svg>\",\n \"scanner\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M38.21,34.13s-1.57-5.49-2.34-9a13.47,13.47,0,0,1-.51-3.86,10.31,10.31,0,0,1,.24-2.92,4.85,4.85,0,0,1,1.24-2.07,20.07,20.07,0,0,0,.2-2.18A17.29,17.29,0,0,0,37,12.08a.88.88,0,0,0-.39-.71A4.2,4.2,0,0,0,35.13,11l-8.38-.85s-2.21.4-4.63,1c-4.21,1-9.67,2.42-9.67,2.42a1.36,1.36,0,0,0-.5.35.8.8,0,0,0-.16.46l1.13,6.24a2,2,0,0,0,.2.7,1,1,0,0,0,.43.39s3.79,1.35,7.32,2.18a39,39,0,0,0,5.65.86,2.22,2.22,0,0,0,.9-.16A1.28,1.28,0,0,0,28,24a3.38,3.38,0,0,1,0,1,4.14,4.14,0,0,1-.31,1l-1.09,2.69a.8.8,0,0,0,0,.43,1.19,1.19,0,0,0,.23.43,15.44,15.44,0,0,0,1.48.7,2,2,0,0,0,.78.16,2.49,2.49,0,0,0,.63,0,3.52,3.52,0,0,0,.81-.24l1.06-2.06.5-2.3.31-.47a11.58,11.58,0,0,1,.16,1.31,5.3,5.3,0,0,1,0,.87,11.17,11.17,0,0,1-.14,1.31,4.52,4.52,0,0,1-.25.91,8.47,8.47,0,0,1-.37.9,3.13,3.13,0,0,1-.37.58l-.35.32a3.72,3.72,0,0,1-1.05.07,2.55,2.55,0,0,1-.94-.31L29.05,33l-.15,1a1.4,1.4,0,0,1-.39.45,2.75,2.75,0,0,1-.67.29.88.88,0,0,0-.42.43,2.27,2.27,0,0,0-.08.89s1.59,4.1,4.44,4.06C38.4,40.21,38.21,34.13,38.21,34.13ZM25.08,22.48c-.73-.11-2.63-.39-4.4-.82-2.53-.61-5-1.43-5.64-1.63a.23.23,0,0,1-.15-.19l-.55-3.51a.24.24,0,0,1,.27-.27c.73.12,2.62.43,4.55.78,2.36.43,4.75.95,5.37,1.08a.23.23,0,0,1,.18.2l.63,4.09A.24.24,0,0,1,25.08,22.48Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"search_round_open\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><path d=\\\"M299.9,415.2a5.8,5.8,0,1,0,0,8.2A5.8,5.8,0,0,0,299.9,415.2Zm-1,7.2a4.4,4.4,0,1,1,0-6.3A4.4,4.4,0,0,1,298.9,422.4Z\\\" transform=\\\"translate(-272.5 -396)\\\" fill=\\\"#fff\\\"/><path d=\\\"M305.6,426.7l-2.9-2.9a1.4,1.4,0,0,0-1.9,0l-0.5.5a1.3,1.3,0,0,0,0,1.9l2.9,2.9a1.3,1.3,0,0,0,1.9,0l0.5-.5A1.3,1.3,0,0,0,305.6,426.7Z\\\" transform=\\\"translate(-272.5 -396)\\\" fill=\\\"#fff\\\"/><path d=\\\"M295.5,422.2h-0.1v-2.4h-2.6V419h2.6v-2.4h0.9v2.4h2.6v0.6h-2.6v2.4h-0.7Z\\\" transform=\\\"translate(-272.5 -396)\\\" fill=\\\"#fff\\\"/><path d=\\\"M298,407.5a14,14,0,1,1-14,14,14,14,0,0,1,14-14m0-1a15,15,0,1,0,15,15,15,15,0,0,0-15-15h0Z\\\" transform=\\\"translate(-272.5 -396)\\\" fill=\\\"#fff\\\"/></svg>\",\n \"sections\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"12.5\\\" y=\\\"13.17\\\" width=\\\"25\\\" height=\\\"11\\\" fill=\\\"#484f60\\\"/><rect x=\\\"12.5\\\" y=\\\"26.17\\\" width=\\\"25\\\" height=\\\"11\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"select_all_round\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><path d=\\\"M298,406.5a15,15,0,1,0,15,15A15,15,0,0,0,298,406.5Zm-3,24-6.2-9.1,2.8-3.6,3.4,5.1,4.7-10.4h5.6Zm9.3,0-0.5-1.5h-2.7l-0.5,1.5h-1.9l2.7-7.3h2.2l2.7,7.3h-1.9Z\\\" transform=\\\"translate(-272.5 -396)\\\" fill=\\\"#fff\\\"/><polygon points=\\\"30.8 31.7 30 29.1 29.1 31.7 30.8 31.7\\\" fill=\\\"#fff\\\"/></svg>\",\n \"services\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M30.5,23.39l2-2.2a3.14,3.14,0,0,0-3-2.88h-.37c-.82,1.17-2.53,2.56-4.13,2.56s-3.31-1.39-4.14-2.56H20.5a3.13,3.13,0,0,0-3,2.88l2,2.2a4.93,4.93,0,0,0,.08.75H30.42A4.93,4.93,0,0,0,30.5,23.39Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M29.6,14.68a4.61,4.61,0,0,1-9.2,0c0-2,2.06-3.82,4.6-3.82S29.6,12.66,29.6,14.68Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M24.1,32.67a2.9,2.9,0,0,0-1-2.31c-2-1.93-4.27-3.55-6.44-5.28a2.7,2.7,0,0,0-1.92-.68c-.55.05-.7.29-.41.77a13.73,13.73,0,0,0,1.78,2.16,18.19,18.19,0,0,1,2.07,2.4c.14.22.34.48.12.74s-.53.12-.73,0c-1.85-1.51-3.76-3-4.32-5.5-.45-2-.85-4-1.28-6a7.56,7.56,0,0,0-.79-2.39.6.6,0,0,0-.58-.36.59.59,0,0,0-.45.51A4.92,4.92,0,0,0,10,18.38c.23,2.79.55,5.58.84,8.37A7.54,7.54,0,0,0,14,32.39c1,.75,2,1.57,2.94,2.41a3.94,3.94,0,0,1,1.51,2.88c0,.6,0,1.2,0,1.8h5.59C24.06,37.21,24.06,34.94,24.1,32.67Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M39.84,16.6c-.16-.54-.55-.63-.94-.17a3.41,3.41,0,0,0-.61,1.5c-.51,2.29-1,4.59-1.49,6.9-.54,2.56-2.47,4.05-4.34,5.59-.19.16-.48.33-.73.06s0-.51.1-.74a13.22,13.22,0,0,1,1.56-1.87,20.28,20.28,0,0,0,2.19-2.53c.14-.21.37-.44.19-.73s-.48-.2-.74-.21a2.24,2.24,0,0,0-1.42.53,66.31,66.31,0,0,0-7,5.75,2.21,2.21,0,0,0-.69,1.7c0,1.36,0,2.72,0,4.07h0c0,1,0,2,0,3h5.51A5.57,5.57,0,0,1,34,34c1-.77,2-1.61,3-2.46A5.63,5.63,0,0,0,38.92,28c.53-3.31.87-6.64,1.07-10A4.33,4.33,0,0,0,39.84,16.6Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"settings\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 50 50\\\" enable-background=\\\"new 0 0 50 50\\\" ><g><g><path fill=\\\"#2A363B\\\" d=\\\"M30.6,31.5V29l-3.2-0.9c-0.2-0.6-0.4-1.2-0.7-1.8l1.6-2.8l-1.8-1.8l-2.7,1.6c-0.5-0.3-1.1-0.6-1.7-0.7l-0.9-3.2h-2.5l-0.9,3.2c-0.6,0.2-1.3,0.4-1.8,0.8l-2.7-1.6l-1.8,1.8l1.6,2.7c-0.3,0.6-0.6,1.2-0.7,1.8L9,29v2.5l3.3,0.9c0.2,0.6,0.4,1.2,0.7,1.7l-1.6,2.7l1.8,1.8l2.8-1.6c0.6,0.3,1.2,0.6,1.8,0.7l0.9,3.2h2.5l0.9-3.2c0.6-0.2,1.2-0.4,1.7-0.7l2.8,1.6l1.8-1.8l-1.6-2.8c0.3-0.5,0.5-1.1,0.7-1.7L30.6,31.5z M19.8,33.3c-1.7,0-3.1-1.4-3.1-3.1c0-1.7,1.4-3.1,3.1-3.1c1.7,0,3.1,1.4,3.1,3.1C22.9,31.9,21.5,33.3,19.8,33.3z\\\"/></g><g><path fill=\\\"#2A363B\\\" d=\\\"M40.6,13.5l-2.3-0.1c-0.2-0.3-0.5-0.7-0.8-0.9c-0.3-0.3-0.6-0.5-0.9-0.8l-0.1-2.3L34.8,9l-1,1.9c-1,0-1.9,0.2-2.8,0.7l-2.1-1.2l-1.2,1.2l1.2,2c-0.5,0.9-0.8,1.9-0.7,2.9l-1.9,1l0.4,1.7l2.3,0.1c0.2,0.3,0.5,0.7,0.7,0.9c0.3,0.3,0.6,0.5,0.9,0.7l0.1,2.3l1.7,0.4l1-1.9c1,0,2-0.2,2.9-0.7l2,1.2l1.2-1.2L38.4,19c0.5-0.9,0.7-1.8,0.7-2.8l1.9-1L40.6,13.5z M35.3,18.1c-0.9,0.9-2.5,0.9-3.4,0c-0.9-0.9-0.9-2.5,0-3.4c0.9-0.9,2.5-0.9,3.4,0C36.3,15.6,36.3,17.1,35.3,18.1z\\\"/></g></g><path fill=\\\"#2A363B\\\" d=\\\"M25.3,24.9c-0.1,0-0.3-0.1-0.4-0.1c-0.1,0.1-0.1,0.2-0.2,0.3C24.9,25.1,25.1,25,25.3,24.9z\\\"/></svg>\",\n \"Shop\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"12.68\\\" y=\\\"13.92\\\" width=\\\"24.35\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"26.2 16.25 28.1 16.25 28.82 20.96 26.2 20.96 26.2 16.25\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"30.27 16.25 32.45 16.25 34.38 20.96 31.48 20.96 30.27 16.25\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"34.62 16.25 36.8 16.25 39.7 20.96 37.04 20.96 34.62 16.25\\\" fill=\\\"#484f60\\\"/><rect x=\\\"26.16\\\" y=\\\"22.29\\\" width=\\\"2.66\\\" height=\\\"1.45\\\" fill=\\\"#484f60\\\"/><rect x=\\\"31.48\\\" y=\\\"22.29\\\" width=\\\"2.9\\\" height=\\\"1.45\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"23.5 16.25 21.61 16.25 20.88 20.96 23.5 20.96 23.5 16.25\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"19.43 16.25 17.25 16.25 15.32 20.96 18.22 20.96 19.43 16.25\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"15.08 16.25 12.9 16.25 10 20.96 12.66 20.96 15.08 16.25\\\" fill=\\\"#484f60\\\"/><rect x=\\\"20.88\\\" y=\\\"22.29\\\" width=\\\"2.66\\\" height=\\\"1.45\\\" fill=\\\"#484f60\\\"/><rect x=\\\"15.32\\\" y=\\\"22.29\\\" width=\\\"2.9\\\" height=\\\"1.45\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"22.29\\\" width=\\\"2.66\\\" height=\\\"1.45\\\" fill=\\\"#484f60\\\"/><rect x=\\\"37.1\\\" y=\\\"22.29\\\" width=\\\"2.9\\\" height=\\\"1.45\\\" fill=\\\"#484f60\\\"/><path d=\\\"M35.85,26.58m-1-1.5v9.5h-20v-9.5h-1.5v11h23v-11Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"shopping_cart\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 576 512\\\"><path style= \\\"fill: #484f60\\\" d=\\\"M96 0C107.5 0 117.4 8.19 119.6 19.51L121.1 32H541.8C562.1 32 578.3 52.25 572.6 72.66L518.6 264.7C514.7 278.5 502.1 288 487.8 288H170.7L179.9 336H488C501.3 336 512 346.7 512 360C512 373.3 501.3 384 488 384H159.1C148.5 384 138.6 375.8 136.4 364.5L76.14 48H24C10.75 48 0 37.25 0 24C0 10.75 10.75 0 24 0H96zM128 464C128 437.5 149.5 416 176 416C202.5 416 224 437.5 224 464C224 490.5 202.5 512 176 512C149.5 512 128 490.5 128 464zM512 464C512 490.5 490.5 512 464 512C437.5 512 416 490.5 416 464C416 437.5 437.5 416 464 416C490.5 416 512 437.5 512 464z\\\"/></svg>\",\n \"shopping_cart_nr\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M16.58,34.84a1.8,1.8,0,1,0,1.8,1.8A1.79,1.79,0,0,0,16.58,34.84Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M31.49,34.84a1.8,1.8,0,1,0,1.8,1.8A1.79,1.79,0,0,0,31.49,34.84Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M35.6,17.9l-2.87.34a8.92,8.92,0,0,1,.08,1.16c0,.26,0,.52,0,.78l.42-.05a.88.88,0,0,1,1,1.08L32.35,29.5a1.52,1.52,0,0,1-1.44,1.2H16.51a1.75,1.75,0,0,1-1.57-1.17l-2.31-5.6a1,1,0,0,1,.85-1.29l.87-.11a9.27,9.27,0,0,1-.47-2.05l-3,.35a1,1,0,0,0-.87,1.28l3.34,9.44A1.73,1.73,0,0,0,15,32.72H32.64a1.51,1.51,0,0,0,1.43-1.2L36.6,19A.89.89,0,0,0,35.6,17.9Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M39,17a1.87,1.87,0,0,0-1.36,1.46l-.42,2.89c-.1.67.31,1,.9.7a2.75,2.75,0,0,0,1.33-1.7L40,18A.73.73,0,0,0,39,17Z\\\" fill=\\\"#484f60\\\"/><circle cx=\\\"23.31\\\" cy=\\\"19.4\\\" r=\\\"7.5\\\" fill=\\\"#484f60\\\"/><text transform=\\\"translate(20.46 22.82)\\\" font-size=\\\"10\\\" fill=\\\"#484f60\\\" font-family=\\\"Quicksand-Regular, Quicksand\\\">3</text></svg>\",\n \"shortcut\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M23.51,13.64A14.9,14.9,0,0,0,8.62,28.54h3.72a11.16,11.16,0,0,1,21.91-3l3.42-1.59A14.92,14.92,0,0,0,23.51,13.64Z\\\" fill=\\\"#484f60\\\"/><polyline points=\\\"36.98 21.51 41.1 19.58 37.84 28.54 28.89 25.28 33.01 23.35\\\" fill=\\\"#484f60\\\"/><path d=\\\"M13.46,33.38a3,3,0,1,1-3-3A3,3,0,0,1,13.46,33.38Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M23.14,33.38a3,3,0,1,1-3-3A3,3,0,0,1,23.14,33.38Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><path d=\\\"M32.82,33.38a3,3,0,1,1-3-3A3,3,0,0,1,32.82,33.38Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><path d=\\\"M42.5,33.38a3,3,0,1,1-3-3A3,3,0,0,1,42.5,33.38Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"SinglePerson\": \"<svg preserveAspectRatio=\\\"none\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 50 50\\\" x=\\\"0px\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" y=\\\"0px\\\"><g transform=\\\" translate(12 10)\\\"><path d=\\\"M 19.357 0 L 18.768 0 C 17.44 1.885 14.674 4.129 12.098 4.129 C 9.52 4.129 6.752 1.885 5.426 0 L 4.836 0 C 2.164 0 0 2.515 0 4.644 L 3.225 8.191 C 3.225 10.319 5.395 17.969 8.064 17.969 L 16.129 17.969 C 18.803 17.969 20.971 10.319 20.971 8.191 L 24.197 4.644 C 24.197 2.515 22.027 0 19.357 0 Z\\\" fill=\\\"#1E2930\\\" transform=\\\" translate(0.901 12.031)\\\" /><path d=\\\"M 14.842 6.166 C 14.842 9.427 11.52 13.099 7.422 13.099 C 3.324 13.099 0 9.427 0 6.166 C 0 2.905 3.324 0 7.422 0 C 11.52 0 14.842 2.905 14.842 6.166 Z\\\" fill=\\\"#1E2930\\\" transform=\\\" translate(5.577 0.001)\\\" /></g></svg>\",\n \"skills\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M36.29,33.16h-4c.3.57.55,1.1.85,1.59a11.57,11.57,0,0,0,2.88,3.08.64.64,0,0,0,.36.11h1.45v1.14H20.25V38H21.6a.47.47,0,0,0,.31-.08,12.92,12.92,0,0,0,3.35-4.27l.12-.29s0-.06,0-.12l-.33,0H22.12c-.24,0-.32-.06-.31-.31,0-.48,0-1,0-1.45a.32.32,0,0,0-.28-.38,7.84,7.84,0,0,1-5-4l-.2-.42a.71.71,0,0,1,0-.12h5.47V25.26H36.29v1.25c0,.55,0,.55.52.71A8.58,8.58,0,0,1,40,29.09c-.64.47-1.24.94-1.87,1.34a14,14,0,0,1-1.59.81c-.18.09-.25.16-.25.36C36.3,32.1,36.29,32.61,36.29,33.16Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M23,17.88,10.86,23.32,10,21.41,22.1,16,21,12.18,23,11.25c.06,0,.19,0,.25.09q1.78,1.73,3.54,3.47a.85.85,0,0,1,.18.32c.44,1.44.87,2.88,1.31,4.31.07.22,0,.31-.17.41-1,.41-1.9.84-2.85,1.28-.21.1-.3.05-.42-.14-.56-.93-1.13-1.85-1.7-2.78C23.1,18.11,23,18,23,17.88Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"slider_panel\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M311.1,407.5H286.9a1.9,1.9,0,0,0-1.9,1.9v23.2a1.9,1.9,0,0,0,1.9,1.9h24.1a1.9,1.9,0,0,0,1.9-1.9V409.4A1.9,1.9,0,0,0,311.1,407.5Zm-16.4,21.2h-2.4v2.9h-2.9v-2.9h-2.4v-4.8h2.4V411.3h2.9v12.6h2.4v4.8Zm8.2-9.7h-2.4v12.6h-2.9V419.1h-2.4v-4.8h2.4v-2.9h2.9v2.9h2.4v4.8Zm8.2,6.8h-2.4v5.8h-2.9v-5.8h-2.4V421h2.4v-9.7h2.9V421h2.4v4.8Z\\\" transform=\\\"translate(-274 -396)\\\" fill=\\\"#fff\\\"/><rect x=\\\"14.4\\\" y=\\\"29.3\\\" width=\\\"4.8\\\" height=\\\"1.93\\\" fill=\\\"#fff\\\"/><rect x=\\\"22.6\\\" y=\\\"19.7\\\" width=\\\"4.8\\\" height=\\\"1.93\\\" fill=\\\"#fff\\\"/><rect x=\\\"30.8\\\" y=\\\"26.5\\\" width=\\\"4.8\\\" height=\\\"1.93\\\" fill=\\\"#fff\\\"/></svg>\",\n \"slide_in\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M12,12.17H38v26H12ZM36.76,13.4H13.24V36.93H36.76Z\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"33.71 23.42 28.41 23.42 28.41 20.43 24.13 24.72 28.41 29.01 28.41 26.02 33.71 26.02 33.71 23.42\\\" fill=\\\"#484f60\\\"/><rect x=\\\"12\\\" y=\\\"12.17\\\" width=\\\"9\\\" height=\\\"26\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"smaller_than\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M31.37,36.19,16.72,26.61a.48.48,0,0,1-.23-.42V23.81a.48.48,0,0,1,.23-.42l14.65-9.58a.5.5,0,0,1,.69.14l1.37,2.1a.49.49,0,0,1-.15.69l-12,7.84a.5.5,0,0,0,0,.84l12,7.84a.49.49,0,0,1,.15.69l-1.37,2.1A.5.5,0,0,1,31.37,36.19Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"small_tiles\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"12.5\\\" y=\\\"12.67\\\" width=\\\"7\\\" height=\\\"7\\\" fill=\\\"#484f60\\\"/><rect x=\\\"12.5\\\" y=\\\"21.67\\\" width=\\\"7\\\" height=\\\"7\\\" fill=\\\"#484f60\\\"/><rect x=\\\"12.5\\\" y=\\\"30.67\\\" width=\\\"7\\\" height=\\\"7\\\" fill=\\\"#484f60\\\"/><rect x=\\\"21.5\\\" y=\\\"12.67\\\" width=\\\"7\\\" height=\\\"7\\\" fill=\\\"#484f60\\\"/><rect x=\\\"21.5\\\" y=\\\"21.67\\\" width=\\\"7\\\" height=\\\"7\\\" fill=\\\"#484f60\\\"/><rect x=\\\"21.5\\\" y=\\\"30.67\\\" width=\\\"7\\\" height=\\\"7\\\" fill=\\\"#484f60\\\"/><rect x=\\\"30.5\\\" y=\\\"12.67\\\" width=\\\"7\\\" height=\\\"7\\\" fill=\\\"#484f60\\\"/><rect x=\\\"30.5\\\" y=\\\"21.67\\\" width=\\\"7\\\" height=\\\"7\\\" fill=\\\"#484f60\\\"/><rect x=\\\"30.5\\\" y=\\\"30.67\\\" width=\\\"7\\\" height=\\\"7\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"sort_asc\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"21.99 31.3 21.99 12.67 17.86 12.67 17.86 31.3 17.86 31.3 13.56 31.3 19.93 37.67 26.29 31.3 21.99 31.3\\\" fill=\\\"#484f60\\\"/><path d=\\\"M31.29,15.17a7.34,7.34,0,0,0,1.28-.65,5.12,5.12,0,0,0,1.14-1h.77v8H33.4V15a2.71,2.71,0,0,1-.34.26c-.13.09-.28.18-.44.27l-.49.24-.51.2Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M36.18,30.88a2,2,0,0,1-.17.79,3.74,3.74,0,0,1-.43.74,6.66,6.66,0,0,1-.61.72l-.68.7c-.13.12-.27.27-.44.45a6.17,6.17,0,0,0-.48.54,4.94,4.94,0,0,0-.38.54.92.92,0,0,0-.15.45h3.6v.89H31.7a.57.57,0,0,1,0-.13v-.13a2.62,2.62,0,0,1,.17-1,4,4,0,0,1,.46-.87,6.51,6.51,0,0,1,.63-.76c.23-.24.46-.48.69-.7s.37-.36.53-.54.32-.35.46-.53a2.75,2.75,0,0,0,.31-.55,1.45,1.45,0,0,0,.12-.59,1.43,1.43,0,0,0-.11-.58,1.15,1.15,0,0,0-.28-.4,1.37,1.37,0,0,0-.43-.23,1.7,1.7,0,0,0-.51-.07,1.89,1.89,0,0,0-.6.09,2.67,2.67,0,0,0-.48.21,1.83,1.83,0,0,0-.37.25l-.22.2-.52-.75a2.92,2.92,0,0,1,.3-.28,3.18,3.18,0,0,1,.49-.31,3.59,3.59,0,0,1,.63-.24,3.07,3.07,0,0,1,2.6.46A2.09,2.09,0,0,1,36.18,30.88Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"sort_desc\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"26.29 19.03 19.93 12.67 13.56 19.03 17.86 19.03 17.86 37.67 21.99 37.67 21.99 19.03 21.99 19.03 26.29 19.03\\\" fill=\\\"#484f60\\\"/><path d=\\\"M36.18,15.75a2,2,0,0,1-.17.79,3.74,3.74,0,0,1-.43.74A6.66,6.66,0,0,1,35,18l-.68.7c-.13.12-.27.27-.44.45a6.17,6.17,0,0,0-.48.54,4.94,4.94,0,0,0-.38.54.92.92,0,0,0-.15.45h3.6v.89H31.7a.57.57,0,0,1,0-.13v-.13a2.62,2.62,0,0,1,.17-1,4,4,0,0,1,.46-.87A6.51,6.51,0,0,1,33,18.7c.23-.24.46-.48.69-.7s.37-.36.53-.54.32-.35.46-.53a2.75,2.75,0,0,0,.31-.55,1.46,1.46,0,0,0,.12-.6,1.41,1.41,0,0,0-.11-.57,1.15,1.15,0,0,0-.28-.4,1.37,1.37,0,0,0-.43-.23,1.7,1.7,0,0,0-.51-.07,1.89,1.89,0,0,0-.6.09,2.67,2.67,0,0,0-.48.21,1.83,1.83,0,0,0-.37.25l-.22.19-.52-.74a2.92,2.92,0,0,1,.3-.28,3.18,3.18,0,0,1,.49-.31,3.59,3.59,0,0,1,.63-.24,3.07,3.07,0,0,1,2.6.46A2.09,2.09,0,0,1,36.18,15.75Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M31.29,30.41a7.34,7.34,0,0,0,1.28-.65,5.12,5.12,0,0,0,1.14-1h.77v8H33.4V30.25a4.61,4.61,0,0,1-.78.53c-.15.08-.32.17-.49.24l-.51.2Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"Star\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M26.23,33.67a2.32,2.32,0,0,0-2.46,0L17,38.41c-.68.47-1,.21-.8-.58l2.41-7.94a2.34,2.34,0,0,0-.77-2.34l-6.6-5c-.66-.5-.53-.92.3-.94l8.29-.17a2.33,2.33,0,0,0,2-1.44l2.72-7.84c.27-.78.71-.78,1,0L28.21,20a2.33,2.33,0,0,0,2,1.44l8.29.17c.83,0,1,.44.3.94l-6.6,5a2.34,2.34,0,0,0-.77,2.34l2.41,7.94c.23.79-.12,1.05-.8.58Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"star_round_open\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><path d=\\\"M684,399a14,14,0,1,1,14-14,14,14,0,0,1-14,14m0,1a15,15,0,1,0-15-15,15,15,0,0,0,15,15Z\\\" transform=\\\"translate(-658 -359)\\\" fill=\\\"#4d5050\\\"/><path d=\\\"M685.23,390.55a2.32,2.32,0,0,0-2.46,0l-3.1,2.16c-.68.47-1,.21-.8-.58l1.09-3.61a2.32,2.32,0,0,0-.76-2.34l-3-2.28c-.66-.5-.52-.92.3-.94l3.78-.08a2.32,2.32,0,0,0,2-1.45l1.24-3.57c.27-.78.71-.78,1,0l1.24,3.57a2.32,2.32,0,0,0,2,1.45l3.78.08c.82,0,1,.44.3.94l-3,2.28a2.32,2.32,0,0,0-.76,2.34l1.09,3.61c.24.79-.12,1.05-.8.58Z\\\" transform=\\\"translate(-658 -359)\\\" fill=\\\"#4d5050\\\"/></svg>\",\n \"status_active\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"23.22 32.18 26 28.64 28.55 32.46 34.59 22.19 40 22.19 28.59 40 23.22 32.18\\\" fill=\\\"#484f60\\\"/><path d=\\\"M22.74,30.36H12.14V28.21H24.43l1.66-2.12,2.38,3.55.82-1.39V10H10V40h7.5V33.57h4.29V40h5l-5.41-7.88ZM12.14,12.14h15v2.15h-15Zm0,5.36h15v2.14h-15Zm0,5.36h15V25h-15Z\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/></svg>\",\n \"status_adoption\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M25,10c3.83,0,6.93,2.72,6.93,5.76s-3.1,6.48-6.93,6.48-6.94-3.43-6.94-6.48S21.17,10,25,10Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M35.26,30.14c-.62-2.17-1.08-4.39-1.79-6.53a3.82,3.82,0,0,0-1.61-1.95l-.58-.28c-1.37,1.78-3.9,3.72-6.28,3.72s-5.17-2.14-6.49-4A3,3,0,0,0,16.75,23c-.92,2.84-1.49,5.81-2.16,8.74a1.9,1.9,0,0,0,.81,2c1,.77,2,1.47,3.19,2.28-.44,1.33-.88,2.69-1.32,4h16c-.29-.93-.58-1.86-.86-2.79-.49-1.57-.52-1.62.87-2.46A3.7,3.7,0,0,0,35.26,30.14Zm-4.2,1A7.8,7.8,0,0,1,30,32a7.15,7.15,0,0,1-1.13.59,6,6,0,0,1-.59.22,8.53,8.53,0,0,1-1.26.27h0a9.48,9.48,0,0,1-1.6,0,15.15,15.15,0,0,1-1.65-.19,1.91,1.91,0,0,1-.44-.15c-.43-.22-.87-.6-1.47-1a3.64,3.64,0,0,1-1,0,2.7,2.7,0,0,1-.49-.12,2.32,2.32,0,0,1-.87-.53,3,3,0,0,1-.81-1.64,2.49,2.49,0,0,1,.68-2.18,2.57,2.57,0,0,1,1.2-.73,2.33,2.33,0,0,1,1.55.05,3.69,3.69,0,0,1,1.86,2.36,2.62,2.62,0,0,1,1.66-.48,3.88,3.88,0,0,1,.75.11,8.29,8.29,0,0,1,.93.29l1.85.71L30,30c.4.16.81.34,1.26.54l.24.1C31.38,30.85,31.23,31,31.06,31.17Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M20.32,31.72a2.32,2.32,0,0,1-.87-.53A2.32,2.32,0,0,0,20.32,31.72Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M31.54,30.67c-.16.18-.31.34-.48.5.17-.16.32-.32.48-.5l-.24-.1Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M25.41,33.11a9.48,9.48,0,0,0,1.6,0A9.48,9.48,0,0,1,25.41,33.11Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M20.81,31.84a3.64,3.64,0,0,0,1,0c.6.36,1,.74,1.47,1-.43-.22-.87-.6-1.47-1A3.64,3.64,0,0,1,20.81,31.84Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M29.12,29.68,27.27,29a8.29,8.29,0,0,0-.93-.29,8.29,8.29,0,0,1,.93.29Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M23.93,29.05h0a3.69,3.69,0,0,0-1.86-2.36A3.69,3.69,0,0,1,23.93,29.05Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"status_fostercare\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M18.5,10.16c2.88,0,5.21,2,5.21,4.33a5.33,5.33,0,0,1-5.21,4.87,5.34,5.34,0,0,1-5.22-4.87C13.28,12.2,15.62,10.16,18.5,10.16Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M31.5,10.16c2.88,0,5.21,2,5.21,4.33a5.23,5.23,0,0,1-10.43,0C26.28,12.2,28.62,10.16,31.5,10.16Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M23,21.87h4A3.54,3.54,0,0,0,25,19,3.54,3.54,0,0,0,23,21.87Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M36.6,18.61h-.42c-.93,1.32-2.87,2.9-4.68,2.9s-3.76-1.58-4.69-2.9H26.4A3.18,3.18,0,0,0,25,19a3.54,3.54,0,0,1,2,2.92H23A3.54,3.54,0,0,1,25,19a3.18,3.18,0,0,0-1.4-.34h-.42c-.93,1.32-2.87,2.9-4.68,2.9s-3.76-1.58-4.69-2.9H13.4A3.54,3.54,0,0,0,10,21.87l2.27,2.49c0,1.5,2.52,15.48,4.4,15.48h6.5C22,39.84,21,36.37,21,35.4L19.5,33.79a2.3,2.3,0,0,1,2.2-2.12H22a4.3,4.3,0,0,0,3,1.88,4.3,4.3,0,0,0,3-1.88h.27a2.31,2.31,0,0,1,2.2,2.12L29,35.4c0,1-1,4.44-2.2,4.44h6.5c1.88,0,4.4-14,4.4-15.48L40,21.87A3.55,3.55,0,0,0,36.6,18.61ZM25,32.32a4.09,4.09,0,0,1-4-3.73c0-1.76,1.79-3.33,4-3.33s4,1.57,4,3.33A4.09,4.09,0,0,1,25,32.32Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"status_ill\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><g opacity=\\\"0.5\\\"><polygon points=\\\"29.79 40.5 29.79 39.49 28.97 40.5 29.79 40.5\\\" fill=\\\"#4d5050\\\"/><path d=\\\"M684,389.82H671.14v-2.14h11.1l-2.6-3.21h-8.5v-2.14h6.77l-.8-1h9.15l2,2.51V369.47H669v30h7.5V393h4.29v3.38l4.26-5.27Zm-12.83-18.21h15v2.14h-15Zm0,5.36h15v2.14h-15Z\\\" transform=\\\"translate(-658.5 -358.97)\\\" fill=\\\"#4d5050\\\"/></g><polygon points=\\\"35.21 40.5 31.13 35.45 27.04 40.5 21.75 40.5 28.48 32.18 21.75 23.87 27.04 23.87 31.13 28.91 35.21 23.87 40.5 23.87 33.77 32.18 40.5 40.5 35.21 40.5\\\" fill=\\\"#4d5050\\\"/></svg>\",\n \"status_leave\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M36.94,12h-4v2a2,2,0,1,1-4.08,0V12H21.17v2a2,2,0,1,1-4.08,0V12h-4a1.2,1.2,0,0,0-1.19,1.2V18H38.14V13.16A1.2,1.2,0,0,0,36.94,12Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M37.14,20.5v16L34.65,39H13.05a.2.2,0,0,1-.19-.2V20.5H37.14m1-1H11.86V38.8A1.2,1.2,0,0,0,13.05,40h22l3.08-3.08V19.5Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"18.24\\\" y=\\\"10\\\" width=\\\"1.79\\\" height=\\\"4.87\\\" rx=\\\"0.9\\\" ry=\\\"0.9\\\" fill=\\\"#484f60\\\"/><rect x=\\\"29.97\\\" y=\\\"10\\\" width=\\\"1.79\\\" height=\\\"4.87\\\" rx=\\\"0.9\\\" ry=\\\"0.9\\\" fill=\\\"#484f60\\\"/><rect x=\\\"11.86\\\" y=\\\"24.37\\\" width=\\\"26.28\\\" height=\\\"0.5\\\" fill=\\\"#484f60\\\"/><rect x=\\\"11.86\\\" y=\\\"29.5\\\" width=\\\"26.28\\\" height=\\\"0.5\\\" fill=\\\"#484f60\\\"/><rect x=\\\"11.86\\\" y=\\\"34.62\\\" width=\\\"26.28\\\" height=\\\"0.5\\\" fill=\\\"#484f60\\\"/><rect x=\\\"18.18\\\" y=\\\"19.5\\\" width=\\\"0.5\\\" height=\\\"20.5\\\" fill=\\\"#484f60\\\"/><rect x=\\\"24.75\\\" y=\\\"19.5\\\" width=\\\"0.5\\\" height=\\\"20.5\\\" fill=\\\"#484f60\\\"/><rect x=\\\"31.32\\\" y=\\\"19.5\\\" width=\\\"0.5\\\" height=\\\"20.5\\\" fill=\\\"#484f60\\\"/><path d=\\\"M23.18,29.34a13.36,13.36,0,0,1-3-3.65l.87-.5a12.36,12.36,0,0,0,2.71,3.32Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M20.45,28.73l-1-.24c.15-.6.9-1.23,2-2.11a7.56,7.56,0,0,0,1.21-1.07l1,.2c-.06.45-.55.85-1.57,1.65C21.57,27.6,20.53,28.42,20.45,28.73Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M29.46,29.34a13.47,13.47,0,0,1-3-3.65l.87-.5A12.58,12.58,0,0,0,30,28.51Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M26.72,28.73l-1-.24c.16-.6.91-1.23,2-2.11A7.74,7.74,0,0,0,29,25.31l1,.2c-.06.45-.55.85-1.57,1.65C27.84,27.6,26.8,28.42,26.72,28.73Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M36,29.34a13.36,13.36,0,0,1-3-3.65l.87-.5a12.36,12.36,0,0,0,2.71,3.32Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M33.23,28.73l-1-.24c.15-.6.9-1.23,2-2.11a7.13,7.13,0,0,0,1.21-1.07l1,.2c-.06.45-.55.85-1.57,1.65C34.35,27.6,33.31,28.42,33.23,28.73Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M17.19,34.47a13.46,13.46,0,0,1-3-3.65l.87-.5a12.63,12.63,0,0,0,2.7,3.32Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M14.46,33.86l-1-.25c.15-.59.9-1.22,2-2.11a8.72,8.72,0,0,0,1.21-1.06l1,.19c-.06.45-.56.86-1.58,1.66C15.58,32.73,14.54,33.55,14.46,33.86Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M23.05,34.47a13.46,13.46,0,0,1-3-3.65l.87-.5a12.52,12.52,0,0,0,2.71,3.32Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M20.32,33.86l-1-.25c.15-.59.9-1.22,2-2.11a8.16,8.16,0,0,0,1.21-1.06l1,.19c-.06.45-.55.86-1.57,1.66C21.44,32.73,20.4,33.55,20.32,33.86Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"status_pregnancy\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><path d=\\\"M682.38,393.69a7.48,7.48,0,0,1,3.35-5.39,1.29,1.29,0,0,0,.48-1.82,8.11,8.11,0,0,0-3.66-3.86c-1.19-.63-1.6-.34-2.21.48a6.92,6.92,0,0,1-5.14,3.08,6.66,6.66,0,0,0,.62,13.29A6.45,6.45,0,0,0,682.38,393.69Zm-10.45,2.42a4.82,4.82,0,0,1-1.26-3.4,4.75,4.75,0,0,1,1.33-3.27c.22-.22.69-.18,1-.26,0,.34.05.77-.12,1a3.94,3.94,0,0,0,0,5.22c.17.24.07.66.09,1C672.63,396.32,672.15,396.34,671.93,396.12Z\\\" transform=\\\"translate(-658.5 -358.97)\\\" fill=\\\"#4d5050\\\"/><path d=\\\"M692.65,390.82a12.66,12.66,0,0,0-1.36-3.28,32.24,32.24,0,0,0-10.1-10.27,12.85,12.85,0,0,0-3.15-1.41c-1.33-.41-2.07.34-1.8,1.72a12.81,12.81,0,0,0,2.46,4.85c.09-.11.19-.2.29-.33a3.11,3.11,0,0,1,2.5-1.5,3.93,3.93,0,0,1,1.84.53,9.76,9.76,0,0,1,4.4,4.64,3,3,0,0,1-1,3.89c-.17.12-.29.25-.44.37a11.94,11.94,0,0,0,4.76,2.44C692.29,392.65,693,392,692.65,390.82Z\\\" transform=\\\"translate(-658.5 -358.97)\\\" fill=\\\"#4d5050\\\"/><path d=\\\"M694.1,381.5a6.09,6.09,0,1,0-7.07-3.85c.48,1.31,1.12,1.85,1.86,1.48,1.12-.56.71-1.4.3-2.2a.91.91,0,0,1,0-.11,3.82,3.82,0,1,1,4.81,2.38l-.36.12Z\\\" transform=\\\"translate(-658.5 -358.97)\\\" fill=\\\"#4d5050\\\"/><path d=\\\"M690.36,378.72a2,2,0,0,1-1.1,1.17,1.82,1.82,0,0,1-.82.2c-.94,0-1.68-.72-2.2-2.15a7.07,7.07,0,0,1-.31-1.14,5.12,5.12,0,0,0-1.59,1,33.85,33.85,0,0,1,7.16,7.29,5.11,5.11,0,0,0-1.37-8.14A2.36,2.36,0,0,1,690.36,378.72Z\\\" transform=\\\"translate(-658.5 -358.97)\\\" fill=\\\"#4d5050\\\"/></svg>\",\n \"stock\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"26.19 27.13 31.78 23.88 37.39 27.11 31.79 30.35 26.19 27.13\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"32.39 31.38 37.99 28.14 38 34.61 32.41 37.85 32.39 31.38\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><polygon points=\\\"25.6 34.63 25.59 28.16 31.2 31.39 31.21 37.85 25.6 34.63\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><polygon points=\\\"12.6 27.15 18.19 23.91 23.8 27.13 18.2 30.37 12.6 27.15\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"18.8 31.41 24.39 28.16 24.41 34.63 18.81 37.88 18.8 31.41\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><polygon points=\\\"12.01 34.65 12 28.19 17.61 31.41 17.62 37.88 12.01 34.65\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><polygon points=\\\"19.37 15.37 24.96 12.12 30.57 15.35 24.98 18.59 19.37 15.37\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"25.58 19.62 31.17 16.38 31.18 22.85 25.59 26.09 25.58 19.62\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><polygon points=\\\"18.79 22.87 18.77 16.4 24.38 19.63 24.39 26.09 18.79 22.87\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/></svg>\",\n \"stock_management\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 50 50\\\" enable-background=\\\"new 0 0 50 50\\\" ><g><polygon fill=\\\"#2A363B\\\" points=\\\"20,32.1 25,29.2 29.9,32.1 25,34.9 \\\"/><polygon opacity=\\\"0.5\\\" fill=\\\"#2A363B\\\" points=\\\"25.5,35.9 30.5,33 30.5,38.7 25.5,41.6 \\\"/><polygon opacity=\\\"0.25\\\" fill=\\\"#2A363B\\\" points=\\\"19.5,38.7 19.5,33 24.5,35.9 24.5,41.6 \\\"/><polygon fill=\\\"#2A363B\\\" points=\\\"26,21.7 31,18.8 35.9,21.7 31,24.5 \\\"/><polygon opacity=\\\"0.5\\\" fill=\\\"#2A363B\\\" points=\\\"31.5,25.4 36.5,22.6 36.5,28.3 31.5,31.2 \\\"/><polygon opacity=\\\"0.25\\\" fill=\\\"#2A363B\\\" points=\\\"25.5,28.3 25.5,22.6 30.5,25.4 30.5,31.2 \\\"/><polygon fill=\\\"#2A363B\\\" points=\\\"14,21.7 19,18.8 23.9,21.7 19,24.5 \\\"/><polygon opacity=\\\"0.5\\\" fill=\\\"#2A363B\\\" points=\\\"19.5,25.5 24.4,22.6 24.5,28.3 19.5,31.2 \\\"/><polygon opacity=\\\"0.25\\\" fill=\\\"#2A363B\\\" points=\\\"13.5,28.3 13.5,22.6 18.4,25.5 18.5,31.2 \\\"/><polygon fill=\\\"#2A363B\\\" points=\\\"8,32.1 13,29.2 17.9,32.1 13,35 \\\"/><polygon opacity=\\\"0.5\\\" fill=\\\"#2A363B\\\" points=\\\"13.5,35.9 18.5,33 18.5,38.7 13.5,41.6 \\\"/><polygon opacity=\\\"0.25\\\" fill=\\\"#2A363B\\\" points=\\\"7.5,38.7 7.5,33 12.5,35.9 12.5,41.6 \\\"/><polygon fill=\\\"#2A363B\\\" points=\\\"32.1,32.1 37,29.2 42,32 37,34.9 \\\"/><polygon opacity=\\\"0.5\\\" fill=\\\"#2A363B\\\" points=\\\"37.5,35.8 42.5,33 42.5,38.7 37.6,41.5 \\\"/><polygon opacity=\\\"0.25\\\" fill=\\\"#2A363B\\\" points=\\\"31.5,38.7 31.5,33 36.5,35.8 36.5,41.5 \\\"/><polygon fill=\\\"#2A363B\\\" points=\\\"20,11.3 25,8.4 29.9,11.3 25,14.1 \\\"/><polygon opacity=\\\"0.5\\\" fill=\\\"#2A363B\\\" points=\\\"25.5,15 30.4,12.2 30.4,17.9 25.5,20.8 \\\"/><polygon opacity=\\\"0.25\\\" fill=\\\"#2A363B\\\" points=\\\"19.5,17.9 19.5,12.2 24.4,15 24.4,20.8 \\\"/></g></svg>\",\n \"storage\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"25.9 25.28 30.14 22.82 34.39 25.26 30.15 27.72 25.9 25.28\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"30.6 28.5 34.84 26.05 34.85 30.95 30.61 33.4 30.6 28.5\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><polygon points=\\\"25.46 30.96 25.45 26.06 29.7 28.5 29.7 33.41 25.46 30.96\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><polygon points=\\\"15.6 25.3 19.84 22.84 24.09 25.28 19.85 27.74 15.6 25.3\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"20.3 28.52 24.54 26.07 24.55 30.96 20.31 33.42 20.3 28.52\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><polygon points=\\\"15.16 30.98 15.15 26.08 19.4 28.52 19.41 33.42 15.16 30.98\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><polygon points=\\\"20.73 16.37 24.97 13.91 29.22 16.35 24.98 18.81 20.73 16.37\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"25.44 19.59 29.68 17.14 29.68 22.03 25.45 24.49 25.44 19.59\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><polygon points=\\\"20.29 22.05 20.28 17.15 24.53 19.59 24.54 24.5 20.29 22.05\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><polygon points=\\\"40 36.42 10 36.42 10 16.66 11.43 16.66 11.43 35 38.57 35 38.57 16.66 40 16.66 40 36.42\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"supervisor\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M18.14,26.63l.69-.84c.17-.22.35-.44.53-.65A.46.46,0,0,1,19.6,25a1.59,1.59,0,0,1,1,.19,1.07,1.07,0,0,1,.52.84c.05.8.08,1.61.12,2.41a.57.57,0,0,1,0,.12H15c0-.22,0-.43,0-.64,0-.6.08-1.19.1-1.79A1.18,1.18,0,0,1,16.27,25a.85.85,0,0,1,.86.39c.24.35.54.67.81,1Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M23.26,25.32H21.62v-.76h1.63V17.12h2.83v.74h-2v6.7h2v.75h-2V32h2v.76H23.26Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M33,27.62H28.18v-.16c0-.45.06-.89.08-1.34a.61.61,0,0,1,.35-.53,1.76,1.76,0,0,1,.63-.15c.89,0,1.77,0,2.65,0a1.45,1.45,0,0,1,.47.08.71.71,0,0,1,.52.7c0,.41,0,.82.08,1.23Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M28.17,34c0-.38,0-.74.07-1.09,0-.12,0-.23,0-.34a.63.63,0,0,1,.39-.62,1.89,1.89,0,0,1,.58-.14h2.68a1.32,1.32,0,0,1,.44.08.71.71,0,0,1,.53.7c0,.41,0,.81.07,1.22A1.15,1.15,0,0,1,33,34Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M28.17,21.1c0-.19,0-.36,0-.53s0-.56.06-.84a.76.76,0,0,1,.68-.79,1.87,1.87,0,0,1,.34,0h2.58a1.19,1.19,0,0,1,.71.19.59.59,0,0,1,.29.47c0,.48.07,1,.1,1.45,0,0,0,0,0,.08Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.74,22.9a1.6,1.6,0,0,1-1.6,1.62,1.63,1.63,0,0,1-1.63-1.61,1.61,1.61,0,0,1,1.63-1.61A1.58,1.58,0,0,1,19.74,22.9Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M29.33,23.78a1.24,1.24,0,1,1,1.25,1.27A1.25,1.25,0,0,1,29.33,23.78Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M29.33,17.26a1.24,1.24,0,1,1,1.23,1.27A1.24,1.24,0,0,1,29.33,17.26Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M29.33,30.16a1.24,1.24,0,1,1,2.48,0,1.24,1.24,0,1,1-2.48,0Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M25,11A14,14,0,1,1,11,25,14,14,0,0,1,25,11m0-1A15,15,0,1,0,40,25,15,15,0,0,0,25,10Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"supplier\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 50 50\\\" enable-background=\\\"new 0 0 50 50\\\" ><g><polygon fill=\\\"#29363E\\\" points=\\\"18.6,12.9 25.5,10.1 32.4,12.9 25.5,15.8 \\\"/><path fill=\\\"#29363E\\\" d=\\\"M33.2,14.2L26.2,17l0,8l0.2-0.1c0,0,0.1,0,0.1,0l0.7-0.3c-0.4-0.8-0.6-1.6-0.6-2.5c0-3,3-5.6,6.4-5.6c0,0,0,0,0.1,0L33.2,14.2z\\\"/><polyline fill=\\\"#29363E\\\" points=\\\"18,17.6 24.8,24.3 24.8,17.1 17.8,14.2 17.8,17.4 \\\"/><path fill=\\\"#29363E\\\" d=\\\"M38,26.1h-0.4c-0.9,1.3-2.7,2.8-4.4,2.8c-1.7,0-3.6-1.5-4.4-2.8h-0.4c-0.8,0-1.4,0.3-2,0.8l3.7,3.7l-2.5,2.5c0.5,2,1.6,5,3,5h5.4c1.8,0,3.2-5.1,3.2-6.5l2.2-2.4C41.2,27.8,39.7,26.1,38,26.1z\\\"/><path fill=\\\"#29363E\\\" d=\\\"M38.1,22.2c0,2.2-2.2,4.6-4.9,4.6c-2.7,0-4.9-2.4-4.9-4.6c0-2.2,2.2-4.1,4.9-4.1C35.9,18.1,38.1,20,38.1,22.2z\\\"/><g><polygon fill=\\\"#29363E\\\" points=\\\"27.9,30.6 18.5,21.2 18.5,27 8.8,27 8.8,34.1 18.5,34.1 18.5,39.9 \\\"/></g></g></svg>\",\n \"surgery\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 51 51\\\" enable-background=\\\"new 0 0 51 51\\\" ><g><path fill=\\\"#4C4C4C\\\" d=\\\"M25.5,38.8c-7.2,0-13-5.8-13-13c0-6.4,4.6-11.8,10.9-12.8l0.4,0.9c-0.8,0.6-1.2,1.5-1.2,2.4c0,1.7,1.3,3,3,3s3-1.3,3-3c0-1-0.4-1.8-1.2-2.4l0.4-0.9c6.3,1,10.9,6.4,10.9,12.8C38.5,32.9,32.7,38.8,25.5,38.8z M22,14.3c-5,1.5-8.5,6.1-8.5,11.5c0,6.6,5.4,12,12,12s12-5.4,12-12c0-5.4-3.5-10-8.5-11.5c0.3,0.6,0.5,1.3,0.5,2c0,2.2-1.8,4-4,4s-4-1.8-4-4C21.5,15.5,21.7,14.9,22,14.3z\\\"/><path fill=\\\"#4C4C4C\\\" d=\\\"M30,34.3h-9c-0.8,0-1.5-0.7-1.5-1.5v-5c0-0.8,0.7-1.5,1.5-1.5h9c0.8,0,1.5,0.7,1.5,1.5v5C31.5,33.6,30.8,34.3,30,34.3z\\\"/><rect x=\\\"15.8\\\" y=\\\"23.1\\\" transform=\\\"matrix(0.2747 -0.9615 0.9615 0.2747 -13.7537 35.2664)\\\" fill=\\\"#4C4C4C\\\" width=\\\"1.5\\\" height=\\\"7.3\\\"/><rect x=\\\"30.9\\\" y=\\\"26\\\" transform=\\\"matrix(0.9615 -0.2749 0.2749 0.9615 -6.0243 10.5144)\\\" fill=\\\"#4C4C4C\\\" width=\\\"7.3\\\" height=\\\"1.5\\\"/><rect x=\\\"15.8\\\" y=\\\"32.5\\\" transform=\\\"matrix(0.9715 -0.237 0.237 0.9715 -7.3694 5.2014)\\\" fill=\\\"#4C4C4C\\\" width=\\\"4.2\\\" height=\\\"1.5\\\"/><rect x=\\\"32.3\\\" y=\\\"31.1\\\" transform=\\\"matrix(0.2368 -0.9716 0.9716 0.2368 -7.0792 57.4882)\\\" fill=\\\"#4C4C4C\\\" width=\\\"1.5\\\" height=\\\"4.2\\\"/><rect x=\\\"30.8\\\" y=\\\"14.2\\\" transform=\\\"matrix(5.361340e-03 -1 1 5.361340e-03 14.5533 48.1979)\\\" fill=\\\"#4C4C4C\\\" width=\\\"1.5\\\" height=\\\"5.1\\\"/><rect x=\\\"16.9\\\" y=\\\"16\\\" transform=\\\"matrix(1 -5.208263e-03 5.208263e-03 1 -8.714692e-02 0.1018)\\\" fill=\\\"#4C4C4C\\\" width=\\\"5.1\\\" height=\\\"1.5\\\"/><g><path fill=\\\"#4C4C4C\\\" d=\\\"M22,24c-0.5,0-1,0.1-1-1s0.5-2,1-2s1,0.9,1,2S22.5,24,22,24z\\\"/><path fill=\\\"#4C4C4C\\\" d=\\\"M22,24.2c-0.7,0-1.3,0-1.3-1.3s0.6-2.3,1.3-2.3s1.3,1,1.3,2.3S22.7,24.2,22,24.2z M22,21.2c-0.3,0-0.8,0.7-0.8,1.8s0.5,0.8,0.8,0.8s0.8,0.3,0.8-0.8S22.3,21.2,22,21.2z\\\"/></g><g><path fill=\\\"#4C4C4C\\\" d=\\\"M29,24c-0.5,0-1,0.1-1-1s0.5-2,1-2s1,0.9,1,2S29.5,24,29,24z\\\"/><path fill=\\\"#4C4C4C\\\" d=\\\"M29,24.2c-0.7,0-1.3,0-1.3-1.3s0.6-2.3,1.3-2.3s1.3,1,1.3,2.3S29.7,24.2,29,24.2z M29,21.2c-0.3,0-0.8,0.7-0.8,1.8s0.5,0.8,0.8,0.8s0.8,0.3,0.8-0.8S29.3,21.2,29,21.2z\\\"/></g><path fill=\\\"#4C4C4C\\\" d=\\\"M25.5,20.3c-2.2,0-4-1.8-4-4s1.8-4,4-4s4,1.8,4,4S27.7,20.3,25.5,20.3z\\\"/></g></svg>\",\n \"tablechart\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"10\\\" y=\\\"12.67\\\" width=\\\"7.5\\\" height=\\\"25\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"17.5\\\" y=\\\"12.67\\\" width=\\\"22.5\\\" height=\\\"5\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><rect x=\\\"10\\\" y=\\\"37.17\\\" width=\\\"30\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"27.17\\\" width=\\\"30\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"17.17\\\" width=\\\"30\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"12.17\\\" width=\\\"30\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"22.17\\\" width=\\\"30\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"32.17\\\" width=\\\"30\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><rect x=\\\"9.5\\\" y=\\\"12.67\\\" width=\\\"1\\\" height=\\\"25\\\" fill=\\\"#484f60\\\"/><rect x=\\\"39.5\\\" y=\\\"12.67\\\" width=\\\"1\\\" height=\\\"25\\\" fill=\\\"#484f60\\\"/><rect x=\\\"24.5\\\" y=\\\"12.67\\\" width=\\\"1\\\" height=\\\"25\\\" fill=\\\"#484f60\\\"/><rect x=\\\"17\\\" y=\\\"12.67\\\" width=\\\"1\\\" height=\\\"25\\\" fill=\\\"#484f60\\\"/><rect x=\\\"32\\\" y=\\\"12.67\\\" width=\\\"1\\\" height=\\\"25\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"tag\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M40,29.15v-.68a5.28,5.28,0,0,0-1.34-3.25L24.78,11.34A5.34,5.34,0,0,0,21.53,10H11.9A1.91,1.91,0,0,0,10,11.9v9.63a5.28,5.28,0,0,0,1.34,3.25L25.22,38.66A5.28,5.28,0,0,0,28.47,40h.68a5.28,5.28,0,0,0,3.24-1.34l6.27-6.27A5.28,5.28,0,0,0,40,29.15ZM13.13,16.72a2.54,2.54,0,1,1,3.59,0A2.55,2.55,0,0,1,13.13,16.72Zm15.9,19L17.84,24.55l1.34-1.34L30.37,34.4Zm2.69-2.69L20.52,21.87l1.35-1.35,11.19,11.2Zm2.68-2.69L23.21,19.18l1.34-1.34L35.75,29Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"talk_too_much\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><ellipse cx=\\\"19.4\\\" cy=\\\"28.2\\\" rx=\\\"10.9\\\" ry=\\\"8\\\" fill=\\\"#4d5050\\\"/><path d=\\\"M290,428.4c0.9,2.7-1.6,6.7-8.5,8.3h0c2.8-.9,5.3-5.6,1.1-8.3H290Z\\\" transform=\\\"translate(-272.5 -396)\\\" fill=\\\"#4d5050\\\"/><path d=\\\"M315,414.2c0-4.4-4.9-8-10.9-8s-10.9,3.6-10.9,8v0.2c5.6,0.4,10.1,3.6,11.3,7.7C310.3,422.1,315,418.6,315,414.2Z\\\" transform=\\\"translate(-272.5 -396)\\\" fill=\\\"#4d5050\\\"/><path d=\\\"M306,418.5c-0.9,2.7,1.6,6.7,8.5,8.3h0c-2.8-.9-5.3-5.6-1.1-8.3H306Z\\\" transform=\\\"translate(-272.5 -396)\\\" fill=\\\"#4d5050\\\"/></svg>\",\n \"target\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M13.67,25.17c0-.34,0-.67,0-1h-2c0,.33,0,.66,0,1A13.35,13.35,0,0,0,22,38.16V36.09A11.33,11.33,0,0,1,13.67,25.17Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M35.93,28.17A11.36,11.36,0,0,1,25,36.5c-.34,0-.67,0-1,0v2c.33,0,.66,0,1,0A13.35,13.35,0,0,0,38,28.17Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M25,13.83c.34,0,.67,0,1,.05v-2c-.33,0-.66,0-1,0A13.35,13.35,0,0,0,12,22.17h2.06A11.36,11.36,0,0,1,25,13.83Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M38.3,26.17c0-.33,0-.67,0-1A13.37,13.37,0,0,0,28,12.17v2.07a11.35,11.35,0,0,1,8.33,10.93c0,.33,0,.67,0,1Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M25,19.17a6.63,6.63,0,0,1,1,.08v-2a8.26,8.26,0,0,0-1-.06,8,8,0,0,0-7.41,5h2.22A6,6,0,0,1,25,19.17Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19,25.17a6.53,6.53,0,0,1,.08-1h-2a8.14,8.14,0,0,0-.06,1,8,8,0,0,0,5,7.41V30.36A6,6,0,0,1,19,25.17Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M30.19,28.17a6,6,0,0,1-5.19,3,5.55,5.55,0,0,1-1-.09v2a8.26,8.26,0,0,0,1,.07,8,8,0,0,0,7.41-5Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M32.94,26.17a8.26,8.26,0,0,0,.06-1,8,8,0,0,0-5-7.42V20a6,6,0,0,1,3,5.2,6.63,6.63,0,0,1-.08,1Z\\\" fill=\\\"#484f60\\\"/><circle cx=\\\"25\\\" cy=\\\"25.17\\\" r=\\\"2.67\\\" fill=\\\"#484f60\\\"/><rect x=\\\"9\\\" y=\\\"24.17\\\" width=\\\"32\\\" height=\\\"2\\\" fill=\\\"#484f60\\\"/><rect x=\\\"24\\\" y=\\\"9.17\\\" width=\\\"2\\\" height=\\\"32\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"task\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M33.82,13.53h-.88v1.32h.88a.44.44,0,0,1,.44.44v23a.44.44,0,0,1-.44.44H16.18a.44.44,0,0,1-.44-.44v-23a.44.44,0,0,1,.44-.44h.88V13.53h-.88a1.76,1.76,0,0,0-1.77,1.76v23A1.76,1.76,0,0,0,16.18,40H33.82a1.76,1.76,0,0,0,1.77-1.76v-23A1.76,1.76,0,0,0,33.82,13.53Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M27.65,12.65a2.65,2.65,0,0,1-5.3,0H19.26a.88.88,0,0,0-.88.88v2.65a.89.89,0,0,0,.88.88H30.74a.89.89,0,0,0,.88-.88V13.53a.88.88,0,0,0-.88-.88Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M25,10a2.65,2.65,0,1,0,2.65,2.65A2.65,2.65,0,0,0,25,10Zm0,4a1.33,1.33,0,1,1,1.32-1.32A1.32,1.32,0,0,1,25,14Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"22.09\\\" y=\\\"21.51\\\" width=\\\"10\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><rect x=\\\"22.09\\\" y=\\\"27.51\\\" width=\\\"10\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><rect x=\\\"22.09\\\" y=\\\"33.51\\\" width=\\\"10\\\" height=\\\"1\\\" fill=\\\"#484f60\\\"/><path d=\\\"M20.09,33.51v1h-1v-1h1m1-1h-3v3h3v-3Z\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"19.44 30.02 17.91 27.86 18.52 27.43 19.33 28.57 20.61 26.02 21.27 26.35 19.44 30.02\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"19.44 24.02 17.91 21.86 18.52 21.43 19.33 22.57 20.61 20.02 21.27 20.35 19.44 24.02\\\" fill=\\\"#484f60\\\"/><path d=\\\"M25-1.67A23.35,23.35,0,0,1,1.67-25,23.35,23.35,0,0,1,25-48.33,23.35,23.35,0,0,1,48.33-25,23.35,23.35,0,0,1,25-1.67M25,0A25,25,0,0,0,50-25,25,25,0,0,0,25-50,25,25,0,0,0,0-25,25,25,0,0,0,25,0Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"thick_lines\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"10\\\" y=\\\"12.67\\\" width=\\\"30\\\" height=\\\"7\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"21.67\\\" width=\\\"30\\\" height=\\\"7\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"30.67\\\" width=\\\"30\\\" height=\\\"7\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"thin_lines\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"10\\\" y=\\\"14.17\\\" width=\\\"30\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"20.17\\\" width=\\\"30\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"26.17\\\" width=\\\"30\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"32.17\\\" width=\\\"30\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"three_sixty_view\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M10,28.3c0,4,5.36,6.39,11.5,7.05V31.62c-5.56-.63-9.64-2.71-9.64-5.18,0-1.3,1.14-2.49,3-3.43l-.13-.12C11.91,24.1,10,25.91,10,28.3Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M35.21,22.87a1.59,1.59,0,0,1-.13.13c1.9.93,3.06,2.13,3.06,3.44,0,2.63-4.61,4.81-10.71,5.28l2.27,1.82-2.39,1.91C33.93,35,40,32.56,40,28.3,40,25.9,38.07,24.09,35.21,22.87Z\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"26.5 33.54 21.5 37.54 21.5 29.54 26.5 33.54\\\" fill=\\\"#484f60\\\"/><path d=\\\"M13.5,19.2s10.7,15.5,23,0C36.5,19.2,26.2,4,13.5,19.2ZM25,24.87a5.59,5.59,0,1,1,5.59-5.59A5.59,5.59,0,0,1,25,24.87Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M27.45,17.74A2.46,2.46,0,1,1,25,15.29,2.45,2.45,0,0,1,27.45,17.74Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"thumb_bronze\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 51 51\\\" enable-background=\\\"new 0 0 51 51\\\" ><g><g><g><path fill=\\\"#A06F51\\\" d=\\\"M38.5,27.5c-0.3-0.5-0.2-1.2,0.2-1.6l1.2-1.4c0.4-0.4,0.3-1-0.1-1.4l-1.5-1.1c-0.4-0.3-0.7-1-0.5-1.6l0.5-1.7c0.2-0.5-0.1-1.1-0.7-1.2l-1.8-0.4c-0.5-0.1-1-0.7-1.1-1.2l-0.2-1.8c-0.1-0.5-0.6-0.9-1.1-0.8l-1.8,0.3c-0.5,0.1-1.2-0.2-1.5-0.7l-0.9-1.6c-0.3-0.5-0.9-0.6-1.3-0.3l-1.5,1c-0.5,0.3-1.2,0.3-1.6,0l-1.5-1c-0.5-0.3-1.1-0.2-1.3,0.3L20.9,13c-0.3,0.5-1,0.8-1.5,0.7l-1.8-0.3c-0.5-0.1-1,0.3-1.1,0.8l-0.2,1.8c-0.1,0.5-0.6,1.1-1.1,1.2l-1.8,0.4c-0.5,0.1-0.8,0.7-0.7,1.2l0.5,1.7c0.2,0.5-0.1,1.2-0.5,1.6l-1.5,1.1c-0.4,0.3-0.5,0.9-0.1,1.4l1.2,1.4c0.4,0.4,0.4,1.2,0.2,1.6l-0.9,1.6c-0.3,0.5-0.1,1.1,0.4,1.3l1.6,0.8c0.5,0.2,0.9,0.9,0.8,1.4l-0.2,1.8c0,0.5,0.4,1,0.9,1l1.8,0c0.5,0,1.1,0.4,1.3,1l0.6,1.7c0.2,0.5,0.7,0.8,1.2,0.6L22,38c0.5-0.2,1.2-0.1,1.6,0.3l1.2,1.3c0.4,0.4,1,0.4,1.4,0l1.2-1.3c0.4-0.4,1.1-0.6,1.6-0.3l1.7,0.7c0.5,0.2,1.1,0,1.2-0.6l0.6-1.7c0.2-0.5,0.8-1,1.3-1l1.8,0c0.5,0,1-0.5,0.9-1l-0.2-1.8c0-0.5,0.3-1.2,0.8-1.4l1.6-0.8c0.5-0.2,0.7-0.8,0.4-1.3L38.5,27.5z M25.5,37.5c-6.6,0-12-5.4-12-12c0-6.6,5.4-12,12-12c6.6,0,12,5.4,12,12C37.5,32.1,32.1,37.5,25.5,37.5z\\\"/></g></g><path fill=\\\"#CF8E67\\\" d=\\\"M25.5,37C19.2,37,14,31.8,14,25.5S19.2,14,25.5,14S37,19.2,37,25.5S31.8,37,25.5,37z\\\"/><g><path fill=\\\"#FFFFFF\\\" d=\\\"M18.5,25.1c1.1-0.2,2.1-0.3,3.2-0.5c-0.4,1.6,0.1,5.2,2,5.5c-0.5,1.7-2.9,0.5-3.7-0.4C19,28.5,18.5,26.7,18.5,25.1\\\"/><path fill=\\\"#FFFFFF\\\" d=\\\"M24.4,29.8c-1.2-0.1-1.8-1.8-2-3c-0.4-2.1,0.3-1.7,1.5-2.9c1-1,2.1-2.2,3.1-3.3c0.5-0.5,2.1-3.4,2.6-2.3c0.9,1.8-2.3,3.4-1,4.8c0.9,0.9,2.4-0.3,3.3,0.2c0.8,0.5,0.9,1.5-0.3,1.7c1,0.6,0.9,1.5-0.1,2c0.7,0.5,0.6,1-0.1,1.4c-0.6,0.4,0.1,1-0.8,1.7C29,31.1,26.1,30.1,24.4,29.8\\\"/></g></g></svg>\",\n \"thumb_gold\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 51 51\\\" enable-background=\\\"new 0 0 51 51\\\" ><g><g><g><path fill=\\\"#CB9618\\\" d=\\\"M38.5,27.5c-0.3-0.5-0.2-1.2,0.2-1.6l1.2-1.4c0.4-0.4,0.3-1-0.1-1.4l-1.5-1.1c-0.4-0.3-0.7-1-0.5-1.6l0.5-1.7c0.2-0.5-0.1-1.1-0.7-1.2l-1.8-0.4c-0.5-0.1-1-0.7-1.1-1.2l-0.2-1.8c-0.1-0.5-0.6-0.9-1.1-0.8l-1.8,0.3c-0.5,0.1-1.2-0.2-1.5-0.7l-0.9-1.6c-0.3-0.5-0.9-0.6-1.3-0.3l-1.5,1c-0.5,0.3-1.2,0.3-1.6,0l-1.5-1c-0.5-0.3-1.1-0.2-1.3,0.3L20.9,13c-0.3,0.5-1,0.8-1.5,0.7l-1.8-0.3c-0.5-0.1-1,0.3-1.1,0.8l-0.2,1.8c-0.1,0.5-0.6,1.1-1.1,1.2l-1.8,0.4c-0.5,0.1-0.8,0.7-0.7,1.2l0.5,1.7c0.2,0.5-0.1,1.2-0.5,1.6l-1.5,1.1c-0.4,0.3-0.5,0.9-0.1,1.4l1.2,1.4c0.4,0.4,0.4,1.2,0.2,1.6l-0.9,1.6c-0.3,0.5-0.1,1.1,0.4,1.3l1.6,0.8c0.5,0.2,0.9,0.9,0.8,1.4l-0.2,1.8c0,0.5,0.4,1,0.9,1l1.8,0c0.5,0,1.1,0.4,1.3,1l0.6,1.7c0.2,0.5,0.7,0.8,1.2,0.6L22,38c0.5-0.2,1.2-0.1,1.6,0.3l1.2,1.3c0.4,0.4,1,0.4,1.4,0l1.2-1.3c0.4-0.4,1.1-0.6,1.6-0.3l1.7,0.7c0.5,0.2,1.1,0,1.2-0.6l0.6-1.7c0.2-0.5,0.8-1,1.3-1l1.8,0c0.5,0,1-0.5,0.9-1l-0.2-1.8c0-0.5,0.3-1.2,0.8-1.4l1.6-0.8c0.5-0.2,0.7-0.8,0.4-1.3L38.5,27.5z M25.5,37.5c-6.6,0-12-5.4-12-12c0-6.6,5.4-12,12-12c6.6,0,12,5.4,12,12C37.5,32.1,32.1,37.5,25.5,37.5z\\\"/></g></g><path fill=\\\"#F0B016\\\" d=\\\"M25.5,37C19.2,37,14,31.8,14,25.5S19.2,14,25.5,14S37,19.2,37,25.5S31.8,37,25.5,37z\\\"/><g><path fill=\\\"#FFFFFF\\\" d=\\\"M18.5,25.1c1.1-0.2,2.1-0.3,3.2-0.5c-0.4,1.6,0.1,5.2,2,5.5c-0.5,1.7-2.9,0.5-3.7-0.4C19,28.5,18.5,26.7,18.5,25.1\\\"/><path fill=\\\"#FFFFFF\\\" d=\\\"M24.4,29.8c-1.2-0.1-1.8-1.8-2-3c-0.4-2.1,0.3-1.7,1.5-2.9c1-1,2.1-2.2,3.1-3.3c0.5-0.5,2.1-3.4,2.6-2.3c0.9,1.8-2.3,3.4-1,4.8c0.9,0.9,2.4-0.3,3.3,0.2c0.8,0.5,0.9,1.5-0.3,1.7c1,0.6,0.9,1.5-0.1,2c0.7,0.5,0.6,1-0.1,1.4c-0.6,0.4,0.1,1-0.8,1.7C29,31.1,26.1,30.1,24.4,29.8\\\"/></g></g></svg>\",\n \"thumb_silver\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 51 51\\\" enable-background=\\\"new 0 0 51 51\\\" ><g><g><g><path fill=\\\"#C0C1C2\\\" d=\\\"M38.5,27.5c-0.3-0.5-0.2-1.2,0.2-1.6l1.2-1.4c0.4-0.4,0.3-1-0.1-1.4l-1.5-1.1c-0.4-0.3-0.7-1-0.5-1.6l0.5-1.7c0.2-0.5-0.1-1.1-0.7-1.2l-1.8-0.4c-0.5-0.1-1-0.7-1.1-1.2l-0.2-1.8c-0.1-0.5-0.6-0.9-1.1-0.8l-1.8,0.3c-0.5,0.1-1.2-0.2-1.5-0.7l-0.9-1.6c-0.3-0.5-0.9-0.6-1.3-0.3l-1.5,1c-0.5,0.3-1.2,0.3-1.6,0l-1.5-1c-0.5-0.3-1.1-0.2-1.3,0.3L20.9,13c-0.3,0.5-1,0.8-1.5,0.7l-1.8-0.3c-0.5-0.1-1,0.3-1.1,0.8l-0.2,1.8c-0.1,0.5-0.6,1.1-1.1,1.2l-1.8,0.4c-0.5,0.1-0.8,0.7-0.7,1.2l0.5,1.7c0.2,0.5-0.1,1.2-0.5,1.6l-1.5,1.1c-0.4,0.3-0.5,0.9-0.1,1.4l1.2,1.4c0.4,0.4,0.4,1.2,0.2,1.6l-0.9,1.6c-0.3,0.5-0.1,1.1,0.4,1.3l1.6,0.8c0.5,0.2,0.9,0.9,0.8,1.4l-0.2,1.8c0,0.5,0.4,1,0.9,1l1.8,0c0.5,0,1.1,0.4,1.3,1l0.6,1.7c0.2,0.5,0.7,0.8,1.2,0.6L22,38c0.5-0.2,1.2-0.1,1.6,0.3l1.2,1.3c0.4,0.4,1,0.4,1.4,0l1.2-1.3c0.4-0.4,1.1-0.6,1.6-0.3l1.7,0.7c0.5,0.2,1.1,0,1.2-0.6l0.6-1.7c0.2-0.5,0.8-1,1.3-1l1.8,0c0.5,0,1-0.5,0.9-1l-0.2-1.8c0-0.5,0.3-1.2,0.8-1.4l1.6-0.8c0.5-0.2,0.7-0.8,0.4-1.3L38.5,27.5z M25.5,37.5c-6.6,0-12-5.4-12-12c0-6.6,5.4-12,12-12c6.6,0,12,5.4,12,12C37.5,32.1,32.1,37.5,25.5,37.5z\\\"/></g></g><path fill=\\\"#E2E2E2\\\" d=\\\"M25.5,37C19.2,37,14,31.8,14,25.5S19.2,14,25.5,14S37,19.2,37,25.5S31.8,37,25.5,37z\\\"/><g><path fill=\\\"#FFFFFF\\\" d=\\\"M18.5,25.1c1.1-0.2,2.1-0.3,3.2-0.5c-0.4,1.6,0.1,5.2,2,5.5c-0.5,1.7-2.9,0.5-3.7-0.4C19,28.5,18.5,26.7,18.5,25.1\\\"/><path fill=\\\"#FFFFFF\\\" d=\\\"M24.4,29.8c-1.2-0.1-1.8-1.8-2-3c-0.4-2.1,0.3-1.7,1.5-2.9c1-1,2.1-2.2,3.1-3.3c0.5-0.5,2.1-3.4,2.6-2.3c0.9,1.8-2.3,3.4-1,4.8c0.9,0.9,2.4-0.3,3.3,0.2c0.8,0.5,0.9,1.5-0.3,1.7c1,0.6,0.9,1.5-0.1,2c0.7,0.5,0.6,1-0.1,1.4c-0.6,0.4,0.1,1-0.8,1.7C29,31.1,26.1,30.1,24.4,29.8\\\"/></g></g></svg>\",\n \"timeline\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"10\\\" y=\\\"10\\\" width=\\\"11\\\" height=\\\"6\\\" fill=\\\"#484f60\\\"/><rect x=\\\"29\\\" y=\\\"18\\\" width=\\\"11\\\" height=\\\"6\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"26\\\" width=\\\"11\\\" height=\\\"6\\\" fill=\\\"#484f60\\\"/><circle cx=\\\"25\\\" cy=\\\"13\\\" r=\\\"2\\\" fill=\\\"#484f60\\\"/><circle cx=\\\"25\\\" cy=\\\"21\\\" r=\\\"2\\\" fill=\\\"#484f60\\\"/><circle cx=\\\"25\\\" cy=\\\"29\\\" r=\\\"2\\\" fill=\\\"#484f60\\\"/><rect x=\\\"29\\\" y=\\\"34\\\" width=\\\"11\\\" height=\\\"6\\\" fill=\\\"#484f60\\\"/><circle cx=\\\"25\\\" cy=\\\"37\\\" r=\\\"2\\\" fill=\\\"#484f60\\\"/><rect x=\\\"24.5\\\" y=\\\"16\\\" width=\\\"1\\\" height=\\\"2\\\" fill=\\\"#484f60\\\"/><rect x=\\\"24.5\\\" y=\\\"32\\\" width=\\\"1\\\" height=\\\"2\\\" fill=\\\"#484f60\\\"/><rect x=\\\"24.5\\\" y=\\\"24\\\" width=\\\"1\\\" height=\\\"2\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"transactions\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 50 50\\\" enable-background=\\\"new 0 0 50 50\\\" ><g><path fill=\\\"#333333\\\" d=\\\"M29.8,18.9c-1.9,0-2.1-0.3-2.1-2.1v-6.3l8.2,8.4H29.8z\\\"/><path fill=\\\"#333333\\\" d=\\\"M15.8,40c-1.9,0-2.1-0.3-2.1-2.1V12.1c0-1.9,0.3-2.1,2.1-2.1h10v6.7c0,2.9,1.1,4,4,4h6.5v17.1c0,1.9-0.3,2.1-2.1,2.1H15.8z M29.4,32h4.1v-1.8h-4.1V32z M29.4,28.4h4.1v-1.8h-4.1V28.4z M29.4,24.7h4.1v-1.8h-4.1V24.7z M16.3,32h11.5v-1.8H16.3V32z M16.3,28.4h11.5v-1.8H16.3V28.4z M16.3,24.7h11.5v-1.8H16.3V24.7z M27.4,36.9h6.1v-1.8h-6.1V36.9z M16.3,14.3h6.1v-1.8h-6.1V14.3z M16.3,16.7h6.1v-1.8h-6.1V16.7z\\\"/></g></svg>\",\n \"transaction_detail\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><g opacity=\\\"0.5\\\"><rect x=\\\"15.5\\\" y=\\\"18\\\" width=\\\"6\\\" height=\\\"1\\\" fill=\\\"#4d5050\\\"/><rect x=\\\"15.5\\\" y=\\\"22\\\" width=\\\"10\\\" height=\\\"1\\\" fill=\\\"#4d5050\\\"/><rect x=\\\"15.5\\\" y=\\\"26\\\" width=\\\"10\\\" height=\\\"1\\\" fill=\\\"#4d5050\\\"/><rect x=\\\"15.5\\\" y=\\\"30\\\" width=\\\"10\\\" height=\\\"1\\\" fill=\\\"#4d5050\\\"/><polygon points=\\\"35 18.98 33.5 18.98 33.5 25.52 35 27.02 35 18.98\\\" fill=\\\"#4d5050\\\"/><path d=\\\"M671,398V372a.5.5,0,0,1,.5-.5h13.73V370H671.5a2,2,0,0,0-2,2v26a2,2,0,0,0,2,2h19.14v-1.5H671.5A.5.5,0,0,1,671,398Z\\\" transform=\\\"translate(-658.5 -359.5)\\\" fill=\\\"#4d5050\\\"/><path d=\\\"M685.23,370v6.44c0,1.78.27,2,2,2h6.22Z\\\" transform=\\\"translate(-658.5 -359.5)\\\" fill=\\\"#4d5050\\\"/><rect x=\\\"15.5\\\" y=\\\"15\\\" width=\\\"6\\\" height=\\\"1\\\" fill=\\\"#4d5050\\\"/><rect x=\\\"27.5\\\" y=\\\"22\\\" width=\\\"3\\\" height=\\\"1\\\" fill=\\\"#4d5050\\\"/><rect x=\\\"27.5\\\" y=\\\"26\\\" width=\\\"3\\\" height=\\\"1\\\" fill=\\\"#4d5050\\\"/><rect x=\\\"27.5\\\" y=\\\"30\\\" width=\\\"3\\\" height=\\\"0.57\\\" fill=\\\"#4d5050\\\"/><path d=\\\"M684.69,392.66a.5.5,0,0,0-.29-.28.51.51,0,0,0-.4,0l-2.23,1.16a.5.5,0,0,0,.46.89l1.75-.9.79,1.93a.49.49,0,0,0,.23.24V393.4Z\\\" transform=\\\"translate(-658.5 -359.5)\\\" fill=\\\"#4d5050\\\"/></g><polygon points=\\\"33.64 32.07 28 32.07 28 36.2 33.64 36.2 33.64 36.2 33.64 40.5 40 34.14 33.64 27.77 33.64 32.07\\\" fill=\\\"#4d5050\\\"/></svg>\",\n \"TrashBin\": \"<svg preserveAspectRatio=\\\"none\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 50 50\\\" x=\\\"0px\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" y=\\\"0px\\\"><g transform=\\\" translate(14 10)\\\"><path d=\\\"M 0 0 L 0 18.215 C 0 19.99 1.439 21.429 3.215 21.429 L 15 21.429 C 16.775 21.429 18.215 19.99 18.215 18.215 L 18.215 0 L 0 0 Z M 4.287 19.286 L 2.143 19.286 L 2.143 2.143 L 4.287 2.143 L 4.287 19.286 Z M 10.18 19.286 L 8.037 19.286 L 8.037 2.143 L 10.18 2.143 L 10.18 19.286 Z M 16.072 19.286 L 13.93 19.286 L 13.93 2.143 L 16.072 2.143 L 16.072 19.286 Z\\\" fill=\\\"#1E2930\\\" transform=\\\" translate(1.891 8.571)\\\" /><path d=\\\"M 18.213 2.143 L 10.713 2.143 C 11.305 2.143 11.785 1.664 11.785 1.071 C 11.785 0.479 11.305 0 10.713 0 L 9.643 0 C 9.051 0 8.57 0.479 8.57 1.071 C 8.57 1.664 9.051 2.143 9.643 2.143 L 2.143 2.143 C 0.959 2.143 0 3.103 0 4.286 L 0 5.357 C 0 6.541 0.959 6.429 2.143 6.429 L 18.213 6.429 C 19.397 6.429 20.357 6.541 20.357 5.357 L 20.357 4.286 C 20.357 3.103 19.397 2.143 18.213 2.143 Z\\\" fill=\\\"#1E2930\\\" transform=\\\" translate(0.821 0)\\\" /></g></svg>\",\n \"trash_can_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 448 512\\\"><path d=\\\"M135.2 17.69C140.6 6.848 151.7 0 163.8 0H284.2C296.3 0 307.4 6.848 312.8 17.69L320 32H416C433.7 32 448 46.33 448 64C448 81.67 433.7 96 416 96H32C14.33 96 0 81.67 0 64C0 46.33 14.33 32 32 32H128L135.2 17.69zM31.1 128H416V448C416 483.3 387.3 512 352 512H95.1C60.65 512 31.1 483.3 31.1 448V128zM111.1 208V432C111.1 440.8 119.2 448 127.1 448C136.8 448 143.1 440.8 143.1 432V208C143.1 199.2 136.8 192 127.1 192C119.2 192 111.1 199.2 111.1 208zM207.1 208V432C207.1 440.8 215.2 448 223.1 448C232.8 448 240 440.8 240 432V208C240 199.2 232.8 192 223.1 192C215.2 192 207.1 199.2 207.1 208zM304 208V432C304 440.8 311.2 448 320 448C328.8 448 336 440.8 336 432V208C336 199.2 328.8 192 320 192C311.2 192 304 199.2 304 208z\\\"/></svg>\",\n \"triangle_down\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"29.06 18.75 37.5 18.75 25 31.25 12.5 18.75 20.95 18.75 29.06 18.75\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"triangle_large\": \"<svg version=\\\"1.1\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 50 50\\\" enable-background=\\\"new 0 0 50 50\\\"><g><polygon fill=\\\"green\\\" points=\\\"0 0, 100 100, 0 100\\\"/></g></svg>\",\n \"triangle_left\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"31.25 29.06 31.25 37.5 18.75 25 31.25 12.5 31.25 20.95 31.25 29.06\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"triangle_right\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"18.75 20.94 18.75 12.5 31.25 25 18.75 37.5 18.75 29.05 18.75 20.94\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"triangle_up\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"20.94 31.25 12.5 31.25 25 18.75 37.5 31.25 29.05 31.25 20.94 31.25\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"truck\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"10\\\" y=\\\"14.75\\\" width=\\\"17.47\\\" height=\\\"12.62\\\" fill=\\\"#484f60\\\"/><path d=\\\"M37,18.11h-8V28.84H20.22a4.42,4.42,0,0,1,1.41,2.73H30a4.41,4.41,0,0,1,8.76,0H40V24.63Zm-.26,6.73H32.25a.57.57,0,0,1-.57-.57V20a.57.57,0,0,1,.57-.58h2.63a.58.58,0,0,1,.52.35L37.31,24A.58.58,0,0,1,36.78,24.84Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M14.28,28.84a4.39,4.39,0,0,0-1.42,2.73H12l-2-1.26V28.84Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M31.25,32.1a3.16,3.16,0,1,0,3.16-3.16A3.16,3.16,0,0,0,31.25,32.1Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M14.09,32.1a3.16,3.16,0,1,0,3.16-3.16A3.15,3.15,0,0,0,14.09,32.1Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"truck_calendar\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M312.6,408.7H297.3a0.8,0.8,0,0,0-.8.8v3.8h16.9v-3.8A0.8,0.8,0,0,0,312.6,408.7Zm-12.1,3.7a1.3,1.3,0,1,1,1.3-1.3A1.3,1.3,0,0,1,300.5,412.5Zm8.8,0a1.3,1.3,0,1,1,1.3-1.3A1.3,1.3,0,0,1,309.3,412.5Z\\\" transform=\\\"translate(-272.4 -397)\\\" fill=\\\"#fff\\\" opacity=\\\"0.5\\\"/><path d=\\\"M313.4,415H296.5v7.7h4.6v-3h-0.8v-1.4a0.9,0.9,0,0,0,.8-0.4,1.2,1.2,0,0,0,.3-0.8h1.8v5.5h3.2l0.9-1.6a4,4,0,0,0,.4-1.9q0-.6-0.4-0.6a0.4,0.4,0,0,0-.4.4v1.6h-1.9v-1.6q0-1.8,2.3-1.8a2.2,2.2,0,0,1,1.9.7,3.9,3.9,0,0,1,.5,2.2,2.1,2.1,0,0,1-.2,1l-0.9,1.7h1.6v5.9l3.2-3.2V415Z\\\" transform=\\\"translate(-272.4 -397)\\\" fill=\\\"#fff\\\" opacity=\\\"0.5\\\"/><rect x=\\\"27.6\\\" y=\\\"9\\\" width=\\\"1.2\\\" height=\\\"3.86\\\" fill=\\\"#fff\\\" opacity=\\\"0.5\\\"/><rect x=\\\"36.4\\\" y=\\\"9\\\" width=\\\"1.1\\\" height=\\\"3.86\\\" fill=\\\"#fff\\\" opacity=\\\"0.5\\\"/><rect x=\\\"17.5\\\" y=\\\"27.1\\\" width=\\\"18.9\\\" height=\\\"8.57\\\" rx=\\\"1\\\" ry=\\\"1\\\" fill=\\\"#fff\\\"/><path d=\\\"M288.8,433.6v-7.3h-5.4l-2,4.4v4.7h0.8a3,3,0,0,1,6,0h11.2a3,3,0,0,1,1-1.9H288.8Zm-1.8-3.6a0.9,0.9,0,0,1-.9.9h-2.4a0.9,0.9,0,0,1-.9-0.9s1.1-2.9,1.7-2.9h1.6a0.9,0.9,0,0,1,.9.9v2Z\\\" transform=\\\"translate(-272.4 -397)\\\" fill=\\\"#fff\\\"/><path d=\\\"M305.3,433.6c-0.6,0-.8.3-0.6,0.6s0.8,1.3,1.2,1.3l1.6-.4h0.3a1.4,1.4,0,0,0,.9-0.9,0.9,0.9,0,0,0-1-.5h-2.5Z\\\" transform=\\\"translate(-272.4 -397)\\\" fill=\\\"#fff\\\"/><circle cx=\\\"12.8\\\" cy=\\\"38.9\\\" r=\\\"2.1\\\" fill=\\\"#fff\\\"/><circle cx=\\\"29.9\\\" cy=\\\"38.9\\\" r=\\\"2.1\\\" fill=\\\"#fff\\\"/></svg>\",\n \"undo_round_open\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"22.18 17.59 20.94 15.25 18.38 20.68 24.3 21.62 23.38 19.88 22.18 17.59\\\" fill=\\\"#484f60\\\"/><path d=\\\"M21.78,18.07l.34-.12A8.49,8.49,0,1,1,25,34.43h0a8.49,8.49,0,0,1-8.48-8h1.41A7.1,7.1,0,0,0,25,33a7.1,7.1,0,1,0,0-14.2,6.87,6.87,0,0,0-1.57.18l-.78.17Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M25,40.67a15.5,15.5,0,1,1,15.5-15.5A15.52,15.52,0,0,1,25,40.67Zm0-30a14.5,14.5,0,1,0,14.5,14.5A14.51,14.51,0,0,0,25,10.67Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"user\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 50 50\\\" enable-background=\\\"new 0 0 50 50\\\" ><g><path fill=\\\"#878787\\\" d=\\\"M32.3,22h-0.6c-1.3,1.9-4.1,4.1-6.7,4.1c-2.6,0-5.3-2.2-6.7-4.1h-0.6c-2.7,0-4.8,2.5-4.8,4.6l3.2,3.5c0,2.1,2.2,9.8,4.8,9.8H29c2.7,0,4.8-7.6,4.8-9.8l3.2-3.5C37.1,24.5,34.9,22,32.3,22z\\\"/><path fill=\\\"#878787\\\" d=\\\"M32.4,16.2c0,3.3-3.3,6.9-7.4,6.9c-4.1,0-7.4-3.7-7.4-6.9c0-3.3,3.3-6.2,7.4-6.2C29.1,10,32.4,12.9,32.4,16.2z\\\"/></g></svg>\",\n \"variants\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><g opacity=\\\"0.5\\\"><path d=\\\"M19,28.6l-.78-1.81H14.74L14,28.6H12l3.62-8.39h1.82L21,28.6Zm-2.53-5.89-1.06,2.43h2.1Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M23.5,35.5H9.5v-21h14Zm-13-1h12v-19h-12Z\\\" fill=\\\"#484f60\\\"/></g><path d=\\\"M34.07,28.6H30.4V20.21h3.26a4.88,4.88,0,0,1,1.47.2,2.1,2.1,0,0,1,.93.56,2.15,2.15,0,0,1,.57,1.46A1.72,1.72,0,0,1,36,23.89a1.17,1.17,0,0,1-.3.21l-.3.14a2.22,2.22,0,0,1,1.24.7,2,2,0,0,1,.46,1.33,2.27,2.27,0,0,1-.6,1.55A3.12,3.12,0,0,1,34.07,28.6Zm-1.8-5h.89a3.12,3.12,0,0,0,1.16-.16.71.71,0,0,0,.37-.73.76.76,0,0,0-.34-.74,2.81,2.81,0,0,0-1.18-.18h-.9Zm0,3.41h1.28a2.73,2.73,0,0,0,1.21-.2.77.77,0,0,0,.4-.77.75.75,0,0,0-.42-.77,3.56,3.56,0,0,0-1.37-.19h-1.1Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M40.5,35.5h-14v-21h14Zm-13-1h12v-19h-12Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"vbarchart\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"15\\\" y=\\\"26.17\\\" width=\\\"4\\\" height=\\\"8\\\" fill=\\\"#484f60\\\"/><rect x=\\\"23\\\" y=\\\"16.17\\\" width=\\\"4\\\" height=\\\"18\\\" fill=\\\"#484f60\\\"/><rect x=\\\"31\\\" y=\\\"12.17\\\" width=\\\"4\\\" height=\\\"22\\\" fill=\\\"#484f60\\\"/><path d=\\\"M40,38.17H10v-26h1v25H40Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"view\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M42.23,20.39H40.61c-4.19-2.23-11.11-.52-13.92,0H23.31c-2.81-.52-9.73-2.23-13.92,0H7.77a2.49,2.49,0,0,0,0,2.2c1.42-.18,1.22.63,1.22.63s-.07,7.64,6.75,7.84,8-7.57,8-7.57A2.33,2.33,0,0,1,25,23.36a2.33,2.33,0,0,1,1.28.13s1.15,7.77,8,7.57S41,23.22,41,23.22s-.2-.81,1.22-.63A2.49,2.49,0,0,0,42.23,20.39Zm-20,3.42s-.94,6.29-6.46,6.13-5.48-6.35-5.48-6.35l.33-2.3c3.4-1.8,9.81-.41,12.09,0Zm12.36,6.13c-5.53.16-6.46-6.13-6.46-6.13l-.48-2.52c2.27-.41,8.69-1.8,12.08,0l.33,2.3S40.11,29.78,34.58,29.94Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"warehouse\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"19.54\\\" y=\\\"30.45\\\" width=\\\"4.77\\\" height=\\\"9.55\\\" fill=\\\"#484f60\\\"/><rect x=\\\"25.68\\\" y=\\\"30.45\\\" width=\\\"4.77\\\" height=\\\"9.55\\\" fill=\\\"#484f60\\\"/><path d=\\\"M25,10,10,16.82V40h6.82V27.73H33.18V40H40V16.82Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"watermark\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 228.2 60\\\"><rect width=\\\"16.5\\\" height=\\\"52.3\\\" fill=\\\"#ed0a0a\\\"/><path d=\\\"M103.3,30A40.3,40.3,0,0,0,91.8,1.1L90.7,0H35.8L34.7,1.1A40.3,40.3,0,0,0,23.2,30,40.2,40.2,0,0,0,34.7,58.9L35.8,60H90.7l1.1-1.1A40.3,40.3,0,0,0,103.3,30ZM79.9,47.8c-4.5,4.8-9.7,7-16.6,7s-12.2-2.2-16.7-7S39.9,37.1,39.9,30s2.2-13,6.7-17.8,9.8-7,16.7-7,12.1,2.2,16.6,7A25.1,25.1,0,0,1,86.6,30C86.6,37.1,84.4,43,79.9,47.8Z\\\" transform=\\\"translate(-0.9)\\\" fill=\\\"#ed0a0a\\\"/><polygon points=\\\"161.5 0 161.5 38.6 127.9 0 108.2 0 108.2 60 124.7 60 124.7 21.5 158.3 60 178 60 178 0 161.5 0\\\" fill=\\\"#ed0a0a\\\"/><polygon points=\\\"200.3 53.7 200.3 34.8 224.6 34.8 224.6 19.1 200.3 19.1 200.3 6.1 227.2 6.1 227.2 0 183.8 0 183.8 60 228.2 60 228.2 53.7 200.3 53.7\\\" fill=\\\"#ed0a0a\\\"/></svg>\",\n \"website\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M12.71,40.17,11,34.57h1l.89,3.23L13.2,39c0-.06.11-.44.29-1.15l.89-3.28h1l.83,3.25.28,1.07.32-1.08,1-3.24h.92l-1.74,5.6h-1l-.89-3.35-.22-1L13.7,40.17Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M21.37,40.17l-1.71-5.6h1l.89,3.23.33,1.2c0-.06.11-.44.29-1.15L23,34.57h1l.84,3.25.28,1.07.32-1.08,1-3.24h.92l-1.75,5.6h-1l-.89-3.35-.22-1-1.13,4.31Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M30,40.17l-1.71-5.6h1l.89,3.23.33,1.2c0-.06.11-.44.29-1.15l.89-3.28h1l.84,3.25.28,1.07.32-1.08,1-3.24H36l-1.75,5.6h-1l-.89-3.35-.22-1L31,40.17Z\\\" fill=\\\"#484f60\\\"/><polyline points=\\\"12.44 32.26 12.44 15.15 24.68 15.15 25.59 14.25 24.05 12.71 10 12.71 10 32.26\\\" fill=\\\"#484f60\\\"/><polyline points=\\\"36.99 32.26 36.99 25.65 35.92 24.58 34.55 25.95 34.55 32.26\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"40 10.17 27.92 10.17 32 14.25 22.24 26 24.16 27.92 35.92 18.17 40 22.25 40 10.17\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"wizard\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 26.5 30.9\\\"><polygon points=\\\"12.3 0 11.5 2.2 9.2 2.9 11.1 4.4 11.1 6.7 13 5.4 15.2 6.2 14.6 3.9 16 2 13.6 1.9 12.3 0\\\" fill=\\\"#fff\\\"/><polygon points=\\\"3.6 3.7 4.5 5.2 3.7 6.8 5.4 6.5 6.7 7.7 6.9 5.9 8.5 5.1 6.9 4.3 6.6 2.6 5.4 3.9 3.6 3.7\\\" fill=\\\"#fff\\\"/><polygon points=\\\"0 9.8 0.9 10.4 0.9 11.4 1.7 10.8 2.8 11.1 2.4 10.1 3 9.2 2 9.3 1.3 8.4 1 9.4 0 9.8\\\" fill=\\\"#fff\\\"/><polygon points=\\\"14.2 30.9 15 28.7 17.2 28 15.4 26.6 15.4 24.2 13.4 25.5 11.2 24.8 11.9 27 10.5 28.9 12.8 29 14.2 30.9\\\" fill=\\\"#fff\\\"/><polygon points=\\\"22.8 27.3 22 25.7 22.7 24.1 21 24.4 19.8 23.3 19.5 25 18 25.8 19.6 26.6 19.9 28.3 21.1 27 22.8 27.3\\\" fill=\\\"#fff\\\"/><polygon points=\\\"26.5 21.1 25.6 20.5 25.6 19.5 24.7 20.1 23.7 19.8 24 20.8 23.4 21.7 24.5 21.7 25.1 22.5 25.5 21.5 26.5 21.1\\\" fill=\\\"#fff\\\"/><polygon points=\\\"13 19.4 8.4 22.6 10 17.2 5.5 13.8 11.2 13.7 13 8.3 14.8 13.7 20.5 13.8 16 17.2 17.6 22.6 13 19.4\\\" fill=\\\"#fff\\\"/></svg>\",\n \"wms\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 50 50\\\" enable-background=\\\"new 0 0 50 50\\\" ><g><polygon fill=\\\"#2A363B\\\" points=\\\"20,32.1 25,29.2 29.9,32.1 25,34.9 \\\"/><polygon opacity=\\\"0.5\\\" fill=\\\"#2A363B\\\" points=\\\"25.5,35.9 30.5,33 30.5,38.7 25.5,41.6 \\\"/><polygon opacity=\\\"0.25\\\" fill=\\\"#2A363B\\\" points=\\\"19.5,38.7 19.5,33 24.5,35.9 24.5,41.6 \\\"/><polygon fill=\\\"#2A363B\\\" points=\\\"26,21.7 31,18.8 35.9,21.7 31,24.5 \\\"/><polygon opacity=\\\"0.5\\\" fill=\\\"#2A363B\\\" points=\\\"31.5,25.4 36.5,22.6 36.5,28.3 31.5,31.2 \\\"/><polygon opacity=\\\"0.25\\\" fill=\\\"#2A363B\\\" points=\\\"25.5,28.3 25.5,22.6 30.5,25.4 30.5,31.2 \\\"/><polygon fill=\\\"#2A363B\\\" points=\\\"14,21.7 19,18.8 23.9,21.7 19,24.5 \\\"/><polygon opacity=\\\"0.5\\\" fill=\\\"#2A363B\\\" points=\\\"19.5,25.5 24.4,22.6 24.5,28.3 19.5,31.2 \\\"/><polygon opacity=\\\"0.25\\\" fill=\\\"#2A363B\\\" points=\\\"13.5,28.3 13.5,22.6 18.4,25.5 18.5,31.2 \\\"/><polygon fill=\\\"#2A363B\\\" points=\\\"8,32.1 13,29.2 17.9,32.1 13,35 \\\"/><polygon opacity=\\\"0.5\\\" fill=\\\"#2A363B\\\" points=\\\"13.5,35.9 18.5,33 18.5,38.7 13.5,41.6 \\\"/><polygon opacity=\\\"0.25\\\" fill=\\\"#2A363B\\\" points=\\\"7.5,38.7 7.5,33 12.5,35.9 12.5,41.6 \\\"/><polygon fill=\\\"#2A363B\\\" points=\\\"32.1,32.1 37,29.2 42,32 37,34.9 \\\"/><polygon opacity=\\\"0.5\\\" fill=\\\"#2A363B\\\" points=\\\"37.5,35.8 42.5,33 42.5,38.7 37.6,41.5 \\\"/><polygon opacity=\\\"0.25\\\" fill=\\\"#2A363B\\\" points=\\\"31.5,38.7 31.5,33 36.5,35.8 36.5,41.5 \\\"/><polygon fill=\\\"#2A363B\\\" points=\\\"20,11.3 25,8.4 29.9,11.3 25,14.1 \\\"/><polygon opacity=\\\"0.5\\\" fill=\\\"#2A363B\\\" points=\\\"25.5,15 30.4,12.2 30.4,17.9 25.5,20.8 \\\"/><polygon opacity=\\\"0.25\\\" fill=\\\"#2A363B\\\" points=\\\"19.5,17.9 19.5,12.2 24.4,15 24.4,20.8 \\\"/></g></svg>\",\n \"work_in_progress\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><polygon points=\\\"26.8 34 27.7 33 28.3 32.3 29.1 31.9 30 31.7 30.1 31 30.1 30.1 30.2 29 30.8 28.5 31.7 28 33.2 28.1 34.2 28.4 34.9 28.8 35 29.5 30.5 34 26.8 34\\\" fill=\\\"#4d5050\\\"/><path d=\\\"M298.4,421.8v-2.7l0.2-3.2v-1.5l-1.1-.7-1.1-.3-1.6.7-1.7.7-1.3.3v0.5l0.4,1.6,0.6,1.5-0.5.9v7.3l1.5,2.2v-1.1l0.4-3.1,0.3-2.8,1.2,2.4v4.6H297v-5.5l-1.1-2.2,4.6,3.9h0.5v-0.9Zm-5-4.5-0.4-.8v-0.8l1.9-.2Zm2.5,2.4,1.4-2v2l0.3,1.5Z\\\" transform=\\\"translate(-272.5 -395)\\\" fill=\\\"#4d5050\\\"/><circle cx=\\\"26.7\\\" cy=\\\"17.5\\\" r=\\\"1.6\\\" fill=\\\"#4d5050\\\"/><path d=\\\"M296.1,403.7l-14.9,14.9a2.6,2.6,0,0,0,0,3.7l14.9,14.9a2.6,2.6,0,0,0,3.7,0l14.9-14.9a2.6,2.6,0,0,0,0-3.7l-14.9-14.9A2.6,2.6,0,0,0,296.1,403.7Zm0.9,31.4-13.8-13.8a1.3,1.3,0,0,1,0-1.9l13.8-13.8a1.3,1.3,0,0,1,1.9,0l13.8,13.8a1.3,1.3,0,0,1,0,1.9l-13.8,13.8A1.3,1.3,0,0,1,297.1,435.2Z\\\" transform=\\\"translate(-272.5 -395)\\\" fill=\\\"#4d5050\\\"/></svg>\",\n \"work_in_progress_round_open\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><path d=\\\"M684,405a20,20,0,1,1,20-20A20,20,0,0,1,684,405Zm0-38.71A18.71,18.71,0,1,0,702.71,385,18.73,18.73,0,0,0,684,366.29Z\\\" transform=\\\"translate(-658.5 -359.5)\\\" fill=\\\"#4d5050\\\"/><path d=\\\"M695.74,392.08l-.08-1.41-.91-.48-1.55-.58-2.13-.1-1.45.78-.78.78-.19,1.55V394l-.1,1-1.36.29-1.16.68-1,1-1.26,1.45h6A55.26,55.26,0,0,0,695.74,392.08Z\\\" transform=\\\"translate(-658.5 -359.5)\\\" fill=\\\"#4d5050\\\"/><path d=\\\"M682.25,383.88l.29-4.65-.1-2.23-1.55-1.07-1.65-.48-2.33,1-2.52,1-1.94.39-.19.68.58,2.33.87,2.23-.68,1.36-.1,10.74,2.23,3.23.1-1.65.58-4.56.39-4.07,1.84,3.49.1,6.79h2.23v-6.21l-.1-1.94-1.55-3.3,6.73,5.76.68-.1.1-1.36-3.82-3.33Zm-7.18-2.72-.58-1.16.1-1.16,2.81-.29Zm3.68,3.49,2-3-.19,2.91.48,2.23Z\\\" transform=\\\"translate(-658.5 -359.5)\\\" fill=\\\"#4d5050\\\"/><circle cx=\\\"25.1\\\" cy=\\\"14.49\\\" r=\\\"2.33\\\" fill=\\\"#4d5050\\\"/></svg>\",\n \"wrench\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><path d=\\\"M696.41,378.36a5.36,5.36,0,0,0-.58.61q-2.09,2.11-4.2,4.21a2.22,2.22,0,0,1-3.38.24,22.16,22.16,0,0,1-2.06-2,10.79,10.79,0,0,1-1.31-1.51,2.1,2.1,0,0,1,.29-3c.54-.55,1.08-1.09,1.63-1.63L690.2,372c-.33-.11-.51-.18-.7-.23a9.89,9.89,0,0,0-12,12,.86.86,0,0,1-.27.95c-2.08,2.06-4.15,4.14-6.23,6.2a13.7,13.7,0,0,0,6.53,6.48q3.1-3.1,6.2-6.2a.86.86,0,0,1,.95-.27,9.89,9.89,0,0,0,12.19-8A8.55,8.55,0,0,0,696.41,378.36Z\\\" transform=\\\"translate(-658.5 -358.97)\\\" fill=\\\"#4c5050\\\"/></svg>\",\n \"x_axis\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"30.24 23.75 38.24 31.75 30.24 39.75 29.34 38.85 36.43 31.75 29.34 24.65 30.24 23.75\\\" fill=\\\"#484f60\\\" opacity=\\\"0.98\\\"/><rect x=\\\"11.76\\\" y=\\\"10.25\\\" width=\\\"1.5\\\" height=\\\"19\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><rect x=\\\"12.01\\\" y=\\\"31\\\" width=\\\"20\\\" height=\\\"1.5\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"y_axis\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"26.25 19.76 25.35 20.66 18.25 13.57 11.15 20.66 10.25 19.76 18.25 11.76 26.25 19.76\\\" fill=\\\"#484f60\\\" opacity=\\\"0.98\\\"/><rect x=\\\"17.5\\\" y=\\\"17.99\\\" width=\\\"1.5\\\" height=\\\"20\\\" fill=\\\"#484f60\\\"/><rect x=\\\"20.75\\\" y=\\\"36.74\\\" width=\\\"19\\\" height=\\\"1.5\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/></svg>\"\n};","import { Injectable } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\n\r\nimport { ObjectUtils } from '../../core/utils/object-utils';\r\nimport { StringUtils } from '../../core/utils/string-utils';\r\nimport { CoreComponentsIcon } from '../../core/enum/core-components-icon.enum';\r\nimport { CoreComponentsIconSvg } from '../../core/model/core-components-icon-svg';\r\n\r\n@Injectable()\r\nexport class IconCacheService {\r\n /**\r\n * All the icons as a large JSON object, from the all-icons.json file.\r\n * The object has property keys that are the icon names, and property values with the data string of the actual svg icon.\r\n */\r\n public get iconCache(): { [iconName: string]: SafeHtml } {\r\n return this._iconCache;\r\n }\r\n\r\n private _iconCache: { [iconName: string]: SafeHtml } = {};\r\n\r\n private _allIcons: any;\r\n\r\n constructor(private _sanitizer: DomSanitizer) {\r\n this._allIcons = CoreComponentsIconSvg;\r\n this.setIconCache();\r\n }\r\n\r\n public getIcon(iconName: CoreComponentsIcon): SafeHtml {\r\n if (StringUtils.IsStringWithLength(iconName)) {\r\n return this._iconCache[iconName.toLowerCase()];\r\n }\r\n }\r\n\r\n public getRawIcon(iconName: CoreComponentsIcon): string {\r\n if (StringUtils.IsStringWithLength(iconName)) {\r\n return this._allIcons[iconName.toLowerCase()];\r\n }\r\n }\r\n\r\n public getIconAsBase64(iconName: CoreComponentsIcon): SafeHtml {\r\n const icon: string = this._allIcons[iconName];\r\n const base64Data: string = window.btoa(icon);\r\n return this._sanitizer.bypassSecurityTrustUrl(`data:image/svg+xml;base64,${base64Data}`);\r\n }\r\n\r\n public getIconRawBase64(iconName: CoreComponentsIcon): string {\r\n const icon: string = this._allIcons[iconName];\r\n const base64Data: string = window.btoa(icon);\r\n return \"data:image/svg+xml;base64,\" + base64Data;\r\n }\r\n\r\n public setIconCache(): void {\r\n ObjectUtils.ForOwnProperty(this._allIcons, (svgData: string, iconName: CoreComponentsIcon) => {\r\n this._iconCache[iconName.toLowerCase()] = this._sanitizer.bypassSecurityTrustHtml(this._allIcons[iconName]);\r\n });\r\n }\r\n}\r\n","import {Component, ElementRef, HostBinding, Input, ViewEncapsulation} from '@angular/core';\r\nimport {CoreComponentsIcon} from \"../../core/enum/core-components-icon.enum\";\r\nimport {IconCacheService} from \"../icon/icon-cache.service\";\r\n\r\n@Component({\r\n selector: \"co-validation-error\",\r\n template: `\r\n <div class=\"validation-error-wrapper\" [overlay]=\"parentForOverlay\">\r\n <div class=\"validation-error-content\">\r\n <co-icon [iconData]=\"icons.getIcon(Icons.InformationRoundOpen)\"></co-icon>\r\n <div class=\"validation-error-message\" [textContent]=\"error | coreLocalize\"></div>\r\n </div>\r\n </div>\r\n `,\r\n animations: [\r\n\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class ValidationErrorComponent {\r\n public readonly Icons: any = CoreComponentsIcon;\r\n\r\n @Input()\r\n public error: string;\r\n\r\n @Input()\r\n public parentForOverlay: ElementRef;\r\n\r\n @HostBinding('style.top.px')\r\n @Input()\r\n public top: number;\r\n\r\n @HostBinding('style.left.px')\r\n @Input()\r\n public left: number;\r\n\r\n @HostBinding('class.co-validation-error')\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n constructor(public icons: IconCacheService) {\r\n }\r\n\r\n}\r\n","import {ApplicationRef, ComponentFactoryResolver, ComponentRef, ElementRef, EmbeddedViewRef, Injectable, Injector} from '@angular/core';\r\n\r\n@Injectable()\r\nexport class OverlayService {\r\n\r\n private _componentRefs: Map<any, ComponentRef<any>> = new Map<any, ComponentRef<any>>();\r\n\r\n constructor(\r\n private _componentFactoryResolver: ComponentFactoryResolver,\r\n private _appRef: ApplicationRef,\r\n private _injector: Injector\r\n ) {\r\n }\r\n\r\n public createComponent(compClass: any, inputs: any, events?: any): ComponentRef<any> {\r\n if (this._componentRefExists(compClass)) {\r\n this._removeComponentRef(compClass);\r\n }\r\n const componentRef = this._componentFactoryResolver\r\n .resolveComponentFactory(compClass)\r\n .create(this._injector);\r\n\r\n if (inputs) {\r\n for (let property in inputs) {\r\n if (inputs.hasOwnProperty(property)) {\r\n componentRef.instance[property] = inputs[property];\r\n }\r\n }\r\n }\r\n\r\n if (events) {\r\n for (let event in events) {\r\n if (events.hasOwnProperty(event)) {\r\n componentRef.instance[event].subscribe((value) => events[event](value));\r\n }\r\n }\r\n }\r\n\r\n this._appRef.attachView(componentRef.hostView);\r\n\r\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>)\r\n .rootNodes[0] as HTMLElement;\r\n\r\n document.body.appendChild(domElem);\r\n\r\n componentRef.onDestroy(() => {\r\n this._appRef.detachView(componentRef.hostView);\r\n });\r\n\r\n this._componentRefs.set(compClass, componentRef);\r\n return componentRef;\r\n }\r\n\r\n public removeComponent(componentRef: ComponentRef<any>): void {\r\n if (componentRef) {\r\n const compClass: any = this._getClassFromComponentRef(componentRef);\r\n componentRef.destroy();\r\n this._componentRefs.delete(compClass);\r\n }\r\n }\r\n\r\n private _componentRefExists(compClass: any): boolean {\r\n return this._componentRefs.has(compClass);\r\n }\r\n\r\n private _removeComponentRef(compClass: any): void {\r\n const componentRef: ComponentRef<any> = this._componentRefs.get(compClass);\r\n this.removeComponent(componentRef);\r\n }\r\n\r\n private _getClassFromComponentRef(componentRef: ComponentRef<any>): any {\r\n let result: any;\r\n this._componentRefs.forEach((value: ComponentRef<any>, key: any) => {\r\n if (value === componentRef) {\r\n result = key;\r\n return;\r\n }\r\n });\r\n return result;\r\n }\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n Output,\r\n QueryList,\r\n Renderer2,\r\n ViewChildren,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {animate, state, style, transition, trigger} from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'co-commit-buttons',\r\n template: `\r\n <div class=\"commit-buttons-wrapper\" [overlay]=\"parentForOverlay\" [rightAlign]=\"true\" @showHideSaveCancel>\r\n <div class=\"commit-buttons-button save\" [class.finished]=\"commitFinished\"\r\n (click)=\"commitClick.emit($event)\">\r\n <div class=\"save-button-spinner\" *ngIf=\"committing\">\r\n <div #animatediv></div>\r\n <div #animatediv></div>\r\n <div #animatediv></div>\r\n <div #animatediv></div>\r\n </div>\r\n <svg class=\"checkmark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\" *ngIf=\"firstShow || commitFinished\">\r\n <path class=\"checkmark-check\" [class.first-show]=\"firstShow\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"/></svg>\r\n </div>\r\n <div class=\"commit-buttons-button cancel\" (click)=\"cancelClick.emit($event)\">\r\n <div class=\"cancel-button\"></div>\r\n </div>\r\n </div>\r\n `,\r\n animations: [\r\n trigger('showHideSaveCancel', [\r\n state('*', style({transform: 'scaleY(1)', opacity: 1})),\r\n state('void', style({transform: 'scaleY(0)', opacity: 0})),\r\n transition('void <=> *', animate(200))\r\n ]),\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CommitButtonsComponent {\r\n @ViewChildren('animatediv', {read: ElementRef}) set content(children) {\r\n this.animateDivs = children.toArray();\r\n this._checkAnimation();\r\n }\r\n\r\n public animateDivs: QueryList<ElementRef>;\r\n public firstShow: boolean = true;\r\n\r\n @Input()\r\n public set committing(value: boolean) {\r\n if (value) {\r\n this.firstShow = false;\r\n }\r\n this._committing = value;\r\n this._checkAnimation();\r\n }\r\n\r\n public get committing(): boolean {\r\n return this._committing;\r\n }\r\n\r\n @Input()\r\n public set commitFinished(value: boolean) {\r\n if (value) {\r\n this._checkAnimationFinished();\r\n }\r\n this._commitFinished = value;\r\n }\r\n\r\n public get commitFinished(): boolean {\r\n return this._commitFinished;\r\n }\r\n\r\n @Input()\r\n public parentForOverlay: ElementRef;\r\n\r\n @Output()\r\n public cancelClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public commitClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @HostBinding('class.co-commit-buttons')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n private _committing: boolean = false;\r\n private _commitFinished: boolean = false;\r\n\r\n constructor(private _renderer: Renderer2) {\r\n }\r\n\r\n private _checkAnimation(): void {\r\n if (this.animateDivs) {\r\n if (this.committing) {\r\n this.animateDivs.forEach(a => this._renderer.addClass(a.nativeElement, 'animate'));\r\n } else {\r\n this.animateDivs.forEach(a => this._renderer.removeClass(a.nativeElement, 'animate'));\r\n }\r\n }\r\n }\r\n\r\n private _checkAnimationFinished(): void {\r\n if (this.commitFinished && this.animateDivs) {\r\n this.animateDivs.forEach(a => {\r\n a.nativeElement.addEventListener('animationiteration', this._handleAnimationIteration);\r\n });\r\n }\r\n }\r\n\r\n private _handleAnimationIteration = (event: AnimationEvent) => {\r\n this._renderer.removeClass(event.currentTarget, 'animate');\r\n event.currentTarget.removeEventListener('animationiteration', this._handleAnimationIteration);\r\n };\r\n}\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n ComponentFactory,\r\n ComponentFactoryResolver,\r\n ComponentRef, ContentChild,\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n Injectable,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n Output,\r\n ViewChild,\r\n ViewContainerRef\r\n} from \"@angular/core\";\r\nimport {AsyncValidatorFn, FormControl, NgModel, ValidatorFn} from \"@angular/forms\";\r\nimport {isNill} from \"../../core/function/is-nill.function\";\r\nimport {notNill} from \"../../core/function/not-nill.function\";\r\nimport {InputBoolean, InputBooleanDecorator} from \"../../core/decorator/input-boolean.decorator\";\r\nimport {requiredValidator} from \"../../core/validator/required.validator\";\r\nimport {precisionScaleValidator} from \"../../core/validator/precision-scale.validator\";\r\nimport {maxStringLengthValidator} from \"../../core/validator/max-string-length.validator\";\r\nimport {StringUtils} from \"../../core/utils/string-utils\";\r\nimport {Subscription} from \"rxjs\";\r\nimport {FormInputUserModelChangeListenerService} from \"../../core/service/form-input-user-change-listener.service\";\r\nimport {NumberUtils} from \"../../core/utils/number-utils\";\r\nimport {NgZoneWrapperService} from \"../../core/service/ng-zone-wrapper.service\";\r\nimport {CoreComponentsIcon} from \"../../core/enum/core-components-icon.enum\";\r\nimport {FormComponent} from \"../form/form.component\";\r\nimport {ValidationErrorComponent} from \"../validation-error/validation-error.component\";\r\nimport {ScreenConfigAdapterComponent} from \"../../interfaces/screen-config-adapter.component.interface\";\r\nimport {OverlayService} from '../../service/overlay.service';\r\nimport {CommitButtonsComponent} from './commit-buttons/commit-buttons.component';\r\n\r\n/**\r\n * Abstract base class for all concrete form input components that contain a native <input> element. Provides common data and functionality, such as\r\n * adding self as a control to the parent form.\r\n */\r\n@Directive()\r\n@Injectable()\r\nexport abstract class BaseInputComponent<T> implements OnInit, OnDestroy, AfterViewInit, ScreenConfigAdapterComponent {\r\n public readonly icons: typeof CoreComponentsIcon = CoreComponentsIcon;\r\n\r\n @ViewChild(\"validationError\", {read: ViewContainerRef})\r\n public validationErrorContainer: ViewContainerRef;\r\n\r\n @ViewChild(NgModel, {static: true})\r\n public _ngModel: NgModel;\r\n\r\n public get ngModel(): NgModel {\r\n if (this._myFormInputInstance) {\r\n return this._myFormInputInstance.ngModel;\r\n } else {\r\n return this._ngModel;\r\n }\r\n }\r\n\r\n public static BaseFormInputComponentIndex: number = 0;\r\n public static HiddenClass: string = \"hidden\";\r\n\r\n @Input()\r\n public showSaveCancel: boolean = false;\r\n\r\n @Input()\r\n public set model(value: T) {\r\n if (!this._initialModelSet) {\r\n this._initialModel = this._model;\r\n this._initialModelSet = true;\r\n }\r\n this._model = value;\r\n this.canSaveOrCancel = this._model !== this._initialModel;\r\n this._modelDirtyForCommit = this._model !== this._initialModel;\r\n this._clearErrorComponent();\r\n this.modelSet();\r\n }\r\n\r\n public get model(): T {\r\n return this._model;\r\n }\r\n\r\n @Input()\r\n public label: string;\r\n\r\n @Input() @InputBoolean()\r\n public noValidation: boolean = false;\r\n\r\n @Input() @InputBoolean()\r\n public initFocus: boolean;\r\n\r\n @Input() @InputBoolean()\r\n public noClickFocus: boolean;\r\n\r\n // used to link field to business object for deep-validation\r\n @Input()\r\n public businessObjectId: any;\r\n\r\n // @Input()\r\n // public errorMessage: ValidationMessage;\r\n\r\n public name: string;\r\n\r\n @Input()\r\n public set disabled(disabled: boolean) {\r\n if (disabled === this._disabled) {\r\n return;\r\n }\r\n this._disabled = InputBooleanDecorator.InputValueToBoolean(disabled);\r\n this._updateControlValidatorsAndOwnFlags();\r\n }\r\n\r\n public get disabled(): boolean {\r\n return this._disabled;\r\n }\r\n\r\n @Input()\r\n public set maxLength(maxLength: number) {\r\n this.setMaxLength(maxLength);\r\n }\r\n\r\n public get maxLength(): number {\r\n return notNill(this.forcedMaxLength) ? this.forcedMaxLength : this._maxLength;\r\n }\r\n\r\n @Input()\r\n public forcedMaxLength: number;\r\n\r\n @Input()\r\n public set readonly(readonly: boolean) {\r\n if (this._forceReadonly !== undefined || readonly === this._readonly) {\r\n return;\r\n }\r\n this._readonly = InputBooleanDecorator.InputValueToBoolean(readonly);\r\n this._updateControlValidatorsAndOwnFlags();\r\n if (this._hasOnPushCdStrategy) {\r\n this.detectChanges();\r\n }\r\n }\r\n\r\n public get readonly(): boolean {\r\n return this.forceReadonly || this._readonly;\r\n }\r\n\r\n @Input()\r\n public set forceReadonly(forceReadonly: boolean) {\r\n if (forceReadonly === this._forceReadonly) {\r\n return;\r\n }\r\n this._forceReadonly = InputBooleanDecorator.InputValueToBoolean(forceReadonly);\r\n this._updateControlValidatorsAndOwnFlags();\r\n }\r\n\r\n public get forceReadonly(): boolean {\r\n return this._forceReadonly;\r\n }\r\n\r\n @Input()\r\n public set required(required: boolean) {\r\n if (required === this._required) {\r\n return;\r\n }\r\n this._required = InputBooleanDecorator.InputValueToBoolean(required);\r\n this._updateControlValidatorsAndOwnFlags();\r\n }\r\n\r\n public get required(): boolean {\r\n return this.forceRequired || this._required;\r\n }\r\n\r\n @Input() @InputBoolean()\r\n public forceRequired: boolean = false; // a force outside of [cfgName]'s influence\r\n\r\n @Input()\r\n public set validators(validators: ValidatorFn[]) {\r\n if (validators === this._validators) {\r\n return;\r\n }\r\n this._validators = validators;\r\n this._updateControlValidatorsAndOwnFlags();\r\n }\r\n\r\n public get validators(): ValidatorFn[] {\r\n return this._validators;\r\n }\r\n\r\n @Input()\r\n public set asyncValidators(validators: AsyncValidatorFn[]) {\r\n this._asyncValidators = validators;\r\n this._updateControlValidatorsAndOwnFlags();\r\n }\r\n\r\n public get asyncValidators(): AsyncValidatorFn[] {\r\n return this._asyncValidators;\r\n }\r\n\r\n @Input() @HostBinding(\"class.\" + BaseInputComponent.HiddenClass)\r\n public set hidden(hidden: boolean) {\r\n if (hidden === this._hidden) {\r\n return;\r\n }\r\n\r\n this._hidden = hidden;\r\n\r\n this._addOrRemoveSelfFromForm();\r\n\r\n if (!this._destroyed) {\r\n if (hidden) {\r\n this.changeDetector.detach();\r\n } else {\r\n this.changeDetector.reattach();\r\n if (this._hasOnPushCdStrategy) {\r\n this.detectChangesAfterAngular();\r\n }\r\n }\r\n }\r\n\r\n this.hiddenChange.emit(hidden);\r\n }\r\n\r\n public get hidden(): boolean {\r\n return this._hidden;\r\n }\r\n\r\n // no custom setter logic as with the other 'screen config props', because concrete form input components handle this themselves.\r\n @Input()\r\n public set decimals(value: number) {\r\n this._decimals = value;\r\n }\r\n\r\n public get decimals(): number {\r\n return this._decimals;\r\n }\r\n\r\n @Input()\r\n public icon: CoreComponentsIcon;\r\n\r\n @Input()\r\n public customCssClass: string;\r\n\r\n // Goal: ability to emulate the red background of input fields (form-submitted invalid state)\r\n @Input() @HostBinding(\"class.cc-red-error-background\")\r\n public redErrorBackground: boolean = false;\r\n\r\n @Input()\r\n set myFormInputInstance(value: BaseInputComponent<T>) {\r\n if (value === this._myFormInputInstance) {\r\n return;\r\n }\r\n this._myFormInputInstance = value;\r\n this._updateControlValidatorsAndOwnFlags();\r\n }\r\n\r\n get myFormInputInstance(): BaseInputComponent<T> {\r\n return this._myFormInputInstance;\r\n }\r\n\r\n @Input()\r\n public commitOnBlur: boolean = true;\r\n\r\n // @Output()\r\n // public commit: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @Output()\r\n public readonly nativeBlur: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output()\r\n public readonly blur: EventEmitter<any> = new EventEmitter();\r\n\r\n // emits when the enter button on keyboard was pressed while this form input had focussed\r\n @Output()\r\n public readonly enter: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output()\r\n public readonly focus: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output()\r\n public readonly keyDown: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output()\r\n public readonly keyUp: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output()\r\n public readonly modelChange: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @Output()\r\n public readonly userModelChange: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @Output()\r\n public readonly hiddenChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @HostBinding(\"class.cc-input-focused\")\r\n public focused: boolean = false;\r\n\r\n public formComponent: FormComponent;\r\n\r\n @HostBinding(\"class.form-input\")\r\n public formInput: boolean = true;\r\n\r\n @Input() @InputBoolean() @HostBinding(\"class.custom-width\")\r\n public customWidth: boolean = false;\r\n\r\n @Input() @InputBoolean() @HostBinding('class.custom-height')\r\n public customHeight: boolean = false;\r\n\r\n @Input() @InputBoolean()\r\n public noTriangleGraphic: boolean = false;\r\n\r\n @Input() @InputBoolean()\r\n public keepFocussed: boolean = false;\r\n\r\n @Input() @InputBoolean() @HostBinding(\"class.half-width\")\r\n public halfWidth: boolean = false;\r\n\r\n @Input() @InputBoolean() @HostBinding(\"class.full-width-important\")\r\n public fullWidth: boolean = false;\r\n\r\n @Input() @InputBoolean()\r\n public excludeUserModelChange: boolean = false;\r\n\r\n @Input() @InputBoolean()\r\n public noFormGroupControl: boolean = false;\r\n\r\n @HostBinding(\"class.form-submitted\")\r\n public get formSubmitted(): boolean {\r\n return this.formComponent && this.formComponent.submitted;\r\n }\r\n\r\n @HostBinding(\"class.hasnolabel\")\r\n public get hasNoLabel(): boolean {\r\n return isNill(this.label);\r\n }\r\n\r\n @HostBinding(\"class.hasvalue\")\r\n public get hasValue(): boolean {\r\n return (!Array.isArray(this.model) && !!this.model || StringUtils.IsStringWithLength(this.model) || NumberUtils.IsNumber(this.model)) ||\r\n (Array.isArray(this.model) && this.model.length > 0);\r\n }\r\n\r\n @HostBinding(\"class.invalid\")\r\n public get invalid(): boolean {\r\n return this._checkState() && !this.control.valid;\r\n }\r\n\r\n @HostBinding(\"class.disabled\")\r\n public get isDisabled(): boolean {\r\n return this._disabled;\r\n }\r\n\r\n @HostBinding(\"class.read-only\")\r\n public get isReadonly(): boolean {\r\n return this.readonly;\r\n }\r\n\r\n @HostBinding(\"class.required\")\r\n public get isRequired(): boolean {\r\n return this.required;\r\n }\r\n\r\n @HostBinding(\"class.cc-touched-invalid\")\r\n public get touchedInvalid(): boolean {\r\n return this._controlExists() && this.control.touched && !this.control.valid;\r\n }\r\n\r\n @HostBinding(\"class.valid\")\r\n public get valid(): boolean {\r\n return this._checkState() && this.control.valid;\r\n }\r\n\r\n @HostBinding(\"class.no-validation\")\r\n public get validationDisabled(): boolean {\r\n return this.readonly || this.disabled || this.noValidation;\r\n }\r\n\r\n @HostListener(\"click\", [\"$event\"])\r\n onClick(event: MouseEvent): void {\r\n if (this.canChange && !this.noClickFocus) {\r\n this.requestFocus();\r\n if (!this.excludeUserModelChange) {\r\n this.markAsUserTouched();\r\n }\r\n }\r\n }\r\n\r\n @HostListener(\"focusin\")\r\n onFocusIn(): void {\r\n if (!this.excludeUserModelChange) {\r\n this.markAsUserTouched();\r\n }\r\n }\r\n\r\n // @HostListener(\"document:scroll\")\r\n // public handleDocumentScroll(): void {\r\n // this._positionValidationError();\r\n // }\r\n\r\n // @HostListener(\"window:resize\")\r\n // public handleWindowResize(): void {\r\n // this._positionValidationError();\r\n // }\r\n\r\n @HostListener(\"keydown\", [\"$event\"])\r\n public handleKeyDown(event: KeyboardEvent): void {\r\n this.keyDown.next(event);\r\n if (this.showSaveCancel && this.canSaveOrCancel) {\r\n this._handleKeyDown(event);\r\n }\r\n // this._positionValidationError();\r\n }\r\n\r\n public get canChange(): boolean {\r\n return !this.readonly && !this.disabled;\r\n }\r\n\r\n public get control(): FormControl {\r\n return this._myFormInputInstance ? this._myFormInputInstance.control : this.ngModel && this.ngModel.control;\r\n }\r\n\r\n public get formInputInstance(): BaseInputComponent<T> {\r\n return this._myFormInputInstance || this;\r\n }\r\n\r\n public get isDestroyed(): boolean {\r\n return this._destroyed;\r\n }\r\n\r\n public input: HTMLInputElement | HTMLTextAreaElement;\r\n\r\n public keepFocus: boolean = false;\r\n\r\n public set canSaveOrCancel(value: boolean) {\r\n this._canSaveOrCancel = value;\r\n if (this.showSaveCancel && this.focused && this._canSaveOrCancel) {\r\n if (!this._commitButtonsComponentRef) {\r\n this._commitButtonsComponentRef = this.overlayService.createComponent(CommitButtonsComponent,\r\n {\r\n parentForOverlay: this.elementRef,\r\n committing: false,\r\n commitFinished: false\r\n }, {\r\n commitClick: (event) => this._handleCommit(event),\r\n cancelClick: (event) => this.cancelClick(event)\r\n });\r\n }\r\n } else {\r\n this.overlayService.removeComponent(this._commitButtonsComponentRef);\r\n this._commitButtonsComponentRef = undefined;\r\n }\r\n }\r\n\r\n public get canSaveOrCancel(): boolean {\r\n return this._canSaveOrCancel;\r\n }\r\n\r\n // @implements ConfigurationAdapterComponent\r\n public objectConfigName: string;\r\n public validationError: string = \"\";\r\n\r\n protected _markedAsUserTouched: boolean = false;\r\n\r\n protected _destroyed: boolean = false;\r\n protected _hasOnPushCdStrategy: boolean = false;\r\n protected _model: T;\r\n protected _modelDirtyForCommit: boolean = false;\r\n protected _initialModel: T;\r\n protected _initialModelSet: boolean = false;\r\n\r\n private _myFormInputInstance: BaseInputComponent<T>;\r\n private _errorValidationComponent: ComponentRef<ValidationErrorComponent>;\r\n private _decimals: number;\r\n private _hidden: boolean;\r\n private _disabled: boolean;\r\n private _maxLength: number;\r\n private _readonly: boolean;\r\n private _required: boolean;\r\n\r\n private _forceReadonly: boolean = undefined;\r\n\r\n private _validators: ValidatorFn[] = [];\r\n private _asyncValidators: AsyncValidatorFn[] = [];\r\n\r\n private _speechSub: Subscription;\r\n private _modelChangeSub: Subscription;\r\n private _formAnySubmitSub: Subscription;\r\n private _formReadonlyChangeSub: Subscription;\r\n private _clearMarkedAsUserTouchedSub: Subscription;\r\n private _canSaveOrCancel: boolean = false;\r\n\r\n private _commitButtonsComponentRef: ComponentRef<any>;\r\n private _validationComponentRef: ComponentRef<any>;\r\n\r\n constructor(\r\n protected changeDetector: ChangeDetectorRef,\r\n protected componentFactoryResolver: ComponentFactoryResolver,\r\n protected overlayService: OverlayService,\r\n @Optional() protected formUserChangeListener?: FormInputUserModelChangeListenerService,\r\n @Optional() protected ngZoneWrapper?: NgZoneWrapperService,\r\n @Optional() public elementRef?: ElementRef,\r\n ) {\r\n BaseInputComponent.BaseFormInputComponentIndex++;\r\n this.name = BaseInputComponent.BaseFormInputComponentIndex.toString();\r\n\r\n if (this.formUserChangeListener) {\r\n this._clearMarkedAsUserTouchedSub = this.formUserChangeListener.clearAllMarkedAsUserTouched.subscribe(() => {\r\n this._markedAsUserTouched = false;\r\n });\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this._modelChangeSub = this.modelChange.subscribe((val: any) => {\r\n this.model = val;\r\n });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._prepareInput();\r\n\r\n this._updateControlValidatorsAndOwnFlags();\r\n\r\n this._addOrRemoveSelfFromForm();\r\n\r\n if (this.formComponent) {\r\n this.readonly = this.readonly || this.formComponent.readonly;\r\n this._formReadonlyChangeSub = this.formComponent.readonlyChange.subscribe((isFormReadonly: boolean) => {\r\n this.readonly = isFormReadonly;\r\n });\r\n }\r\n\r\n if (this.initFocus) {\r\n setTimeout(this.requestFocus.bind(this));\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._removeSelfFromForm();\r\n\r\n if (this.input) {\r\n this.input.removeEventListener('blur', (event) => this.doBlur(event));\r\n this.input.removeEventListener('focus', (event) => this.doFocus(event));\r\n }\r\n\r\n this._destroyed = true;\r\n this._clearErrorComponent();\r\n\r\n // if (this.tooltipManager && this.elementRef) {\r\n // this.tooltipManager.destroyErrorTooltipOfElement(this.elementRef.nativeElement);\r\n // }\r\n\r\n if (this._modelChangeSub) {\r\n this._modelChangeSub.unsubscribe();\r\n }\r\n if (this._speechSub) {\r\n this._speechSub.unsubscribe();\r\n }\r\n if (this._formAnySubmitSub) {\r\n this._formAnySubmitSub.unsubscribe();\r\n }\r\n if (this._formReadonlyChangeSub) {\r\n this._formReadonlyChangeSub.unsubscribe();\r\n }\r\n if (this._clearMarkedAsUserTouchedSub) {\r\n this._clearMarkedAsUserTouchedSub.unsubscribe();\r\n }\r\n // this._removeSelfFromForm();\r\n this.elementRef = undefined;\r\n this.changeDetector = undefined;\r\n this.input = undefined;\r\n }\r\n\r\n // descendents should override this\r\n public commit = async (model: any): Promise<boolean> => {\r\n return Promise.resolve(true);\r\n }\r\n\r\n public cancelClick(event?: MouseEvent): void {\r\n this.keepFocus = true;\r\n if (this._initialModelSet) {\r\n this.model = this._initialModel;\r\n }\r\n this.keepFocus = false;\r\n }\r\n\r\n public showValidationError(error: string): void {\r\n this.validationError = error;\r\n this._validationComponentRef = this.overlayService.createComponent(ValidationErrorComponent, {parentForOverlay: this.elementRef, error: error});\r\n }\r\n\r\n /**\r\n * Emits a modelChange event with given value, indicating that the model of this form input\r\n * has changed and its new value is given value. Also emits userModelChange if markedAsUserTouched.\r\n */\r\n public setModel(value: any): void {\r\n this.model = value;\r\n this.modelChange.emit(value);\r\n\r\n if (this.control) {\r\n this.control.markAsDirty({onlySelf: true});\r\n }\r\n if (this.formComponent) {\r\n this.formComponent.formGroup.markAsDirty({onlySelf: true});\r\n }\r\n\r\n if (this._markedAsUserTouched && this.formUserChangeListener) {\r\n this.formUserChangeListener.userModelChange.next(value);\r\n this.userModelChange.next(value);\r\n }\r\n\r\n if (this._hasOnPushCdStrategy) {\r\n this.detectChanges();\r\n }\r\n }\r\n\r\n public requestFocus(): void {\r\n if (this.canChange && this.input) {\r\n this.input.focus();\r\n this.focused = true;\r\n if (this._hasOnPushCdStrategy) {\r\n this.markForCheck();\r\n }\r\n }\r\n }\r\n\r\n public doFocus(event?: any): any {\r\n if (this.disabled) {\r\n return;\r\n }\r\n this._initialModelSet = false;\r\n this.focused = true;\r\n this.canSaveOrCancel = false;\r\n if (this._hasOnPushCdStrategy) {\r\n this.markForCheck();\r\n }\r\n this.focus.next();\r\n }\r\n\r\n public async doBlur(event?: any, handleCommit: boolean = true): Promise<any> {\r\n if (this.showSaveCancel && handleCommit && this._modelDirtyForCommit) {\r\n await this._handleCommit(event, false);\r\n }\r\n setTimeout(() => {\r\n if (this.keepFocus || this.keepFocussed) {\r\n if (event) {\r\n event.preventDefault;\r\n }\r\n return false;\r\n }\r\n this.focused = false;\r\n if (this._hasOnPushCdStrategy) {\r\n this.markForCheck();\r\n }\r\n if (this.input) {\r\n this.input.blur();\r\n }\r\n this.blur.next();\r\n }, 200);\r\n }\r\n\r\n public detectChanges(): void {\r\n if (!this._destroyed) {\r\n this.changeDetector.detectChanges();\r\n }\r\n }\r\n\r\n public markForCheck(): void {\r\n if (!this._destroyed) {\r\n this.changeDetector.markForCheck();\r\n }\r\n }\r\n\r\n public detectChangesAfterAngular(): void {\r\n if (!!this.ngZoneWrapper) {\r\n this.ngZoneWrapper.setTimeoutOutsideAngular(() => {\r\n if (!this._destroyed) {\r\n if (this._hasOnPushCdStrategy) {\r\n this.changeDetector.markForCheck();\r\n }\r\n this.changeDetector.detectChanges();\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Links the given formComp.submit event to the firing of detectChanges() of given change detector. This is a 'utility-like' method,\r\n * but we manage the actual subscription (with UNSUBSCRIBE()!) on this base class.\r\n * @param formComp The form whose submit we want to link with the call of .detectChanges() on given change detector ref.\r\n * @param changeDetectorRef This should be given as param. I choose not to make this part of our (BaseFormInputComponent) constructor,\r\n * because we already have 21 extenders.\r\n */\r\n // public linkFormAnySubmitWithDetectChanges(formComp: FormComponent, changeDetectorRef: ChangeDetectorRef): void {\r\n // if (formComp && changeDetectorRef) {\r\n // this._formAnySubmitSub = formComp.anySubmit.subscribe((() => {\r\n // if (!this._destroyed) {\r\n // changeDetectorRef.detectChanges();\r\n // }\r\n // }));\r\n // }\r\n // }\r\n\r\n public markAsUserTouched(): void {\r\n this._markedAsUserTouched = true;\r\n this.redErrorBackground = false; // not sure if this is the right place to do that\r\n }\r\n\r\n public clearMarkedAsUserTouched(): void {\r\n this._markedAsUserTouched = false;\r\n }\r\n\r\n protected modelSet(): void {\r\n\r\n }\r\n\r\n //used for descendents, because descendents can't set super properties, see InputNumberComponent\r\n protected setMaxLength(maxLength: number): void {\r\n if (notNill(this.forcedMaxLength) || maxLength === this._maxLength) {\r\n return;\r\n }\r\n\r\n if (!isNaN(maxLength)) {\r\n this._maxLength = maxLength;\r\n this._updateControlValidatorsAndOwnFlags();\r\n }\r\n }\r\n\r\n protected _markAsOnPush(): void {\r\n this._hasOnPushCdStrategy = true;\r\n }\r\n\r\n protected _checkState(): boolean {\r\n if (this.ngModel) {\r\n return this.formSubmitted || (this._controlExists() && this.control.touched);\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n // Place validators onto our Angular's FormControl.\r\n protected _updateControlValidatorsAndOwnFlags(): void {\r\n const er: ElementRef = this.myFormInputInstance ? this.myFormInputInstance.elementRef : this.elementRef;\r\n // if (this.tooltipManager && er) {\r\n // this.tooltipManager.destroyErrorTooltipOfElement(er.nativeElement);\r\n // }\r\n this._setNativeRequired(this.required);\r\n this._setNativeMaxLength(this.maxLength);\r\n this._setNativeDisabled(this.disabled);\r\n this._setNativeReadOnly(this.readonly || this.forceReadonly);\r\n\r\n this.redErrorBackground = false;\r\n if (this._controlExists()) {\r\n const validators: ValidatorFn[] = [];\r\n\r\n // add required\r\n if (this.required) {\r\n validators.push(requiredValidator);\r\n }\r\n\r\n // add maxlength\r\n if (notNill(this._maxLength)) {\r\n if (this.decimals) {\r\n validators.push(precisionScaleValidator(this._maxLength, this.decimals));\r\n } else {\r\n validators.push(maxStringLengthValidator(this._maxLength));\r\n }\r\n }\r\n\r\n // add @Input()-ed validators\r\n validators.push(...this._validators);\r\n\r\n if (this._validators) {\r\n this._validators.forEach(validator => {\r\n if (validator === requiredValidator) {\r\n this._required = true;\r\n this._setNativeRequired(true);\r\n }\r\n });\r\n }\r\n\r\n this.control.setValidators(validators);\r\n this.control.setAsyncValidators(this._asyncValidators);\r\n this.control.updateValueAndValidity();\r\n }\r\n }\r\n\r\n private async _handleCommit(event?: MouseEvent, doBlur: boolean = true): Promise<boolean> {\r\n if (!this.showSaveCancel || (!this._modelDirtyForCommit)) {\r\n return true;\r\n }\r\n this.keepFocus = true;\r\n if (this._commitButtonsComponentRef) {\r\n this._commitButtonsComponentRef.instance.commitFinished = false;\r\n this._commitButtonsComponentRef.instance.committing = true;\r\n }\r\n this._modelDirtyForCommit = false;\r\n const success: boolean = await this.commit(this.model);\r\n this.keepFocus = false;\r\n await this._commitFinished();\r\n if (success && doBlur) {\r\n this.doBlur(event, false);\r\n }\r\n return success;\r\n }\r\n\r\n private _commitFinished(): Promise<void> {\r\n return new Promise((resolve: Function) => {\r\n if (this._commitButtonsComponentRef) {\r\n this._commitButtonsComponentRef.instance.commitFinished = true;\r\n this._commitButtonsComponentRef.instance.committing = false;\r\n setTimeout(() => {\r\n // this._commitButtonsComponentRef.instance.commitFinished = false;\r\n this.overlayService.removeComponent(this._commitButtonsComponentRef);\r\n resolve();\r\n }, 800);\r\n } else {\r\n resolve();\r\n }\r\n });\r\n }\r\n\r\n private _clearErrorComponent(): void {\r\n this.overlayService.removeComponent(this._validationComponentRef);\r\n }\r\n\r\n\r\n // whether this.ngModel.control has safe access\r\n private _controlExists(): boolean {\r\n return this.ngModel && !!this.control;\r\n }\r\n\r\n private _controlIsValid(): boolean {\r\n return this._controlExists() && this.control.valid;\r\n }\r\n\r\n private _setNativeDisabled(disabled: boolean): void {\r\n if (this.input) {\r\n this.input.disabled = disabled;\r\n }\r\n }\r\n\r\n private _setNativeMaxLength(maxlength: number): void {\r\n if (this.input && !isNaN(maxlength)) {\r\n this.input.maxLength = maxlength;\r\n }\r\n }\r\n\r\n protected _setNativeReadOnly(readonly: boolean): void {\r\n if (this.input) {\r\n this.input.readOnly = readonly;\r\n }\r\n }\r\n\r\n private _setNativeRequired(required: boolean): void {\r\n if (this.input) {\r\n this.input.required = required;\r\n }\r\n }\r\n\r\n private _subscribeToSpeechInput(): void {\r\n // this._speechSub = this.speechInput.speechInput.subscribe((data) => {\r\n // if (this.focused && this._controlExists()) {\r\n // const val: string = this.control.value;\r\n // this.setModel((StringUtils.IsString(val) ? val : '') + data);\r\n // }\r\n // });\r\n }\r\n\r\n private _addOrRemoveSelfFromForm(): void {\r\n if (this.hidden) {\r\n this._removeSelfFromForm();\r\n } else {\r\n this._addSelfToForm();\r\n }\r\n }\r\n\r\n private _updateSelfInForm(): void {\r\n if (this.formComponent) {\r\n this.formComponent.updateFormInput(this);\r\n }\r\n }\r\n\r\n private _removeSelfFromForm(): void {\r\n if (this.formComponent && this.ngModel) {\r\n this.formComponent.removeFormInput(this);\r\n }\r\n }\r\n\r\n private _addSelfToForm(): void {\r\n if (this.formComponent && this.ngModel && !this.noFormGroupControl) {\r\n this.formComponent.removeFormInput(this); // preventing there are two controls in formgroup when myFormInputInstance is (being) set\r\n this.formComponent.addFormInput(this.myFormInputInstance ? this.myFormInputInstance : this);\r\n }\r\n }\r\n\r\n private _prepareInput(): void {\r\n if (this.elementRef && this.elementRef.nativeElement) {\r\n //try to find input element\r\n this._findInputNode(this.elementRef.nativeElement.children);\r\n if (this.input) {\r\n this.input.addEventListener('blur', (event) => this.doBlur(event));\r\n this.input.addEventListener('focus', (event) => this.doFocus(event));\r\n }\r\n }\r\n }\r\n\r\n private _findInputNode(nodes): void {\r\n for (let i = 0; i < nodes.length; i++) {\r\n const node = nodes[i];\r\n if (node instanceof HTMLInputElement || node instanceof HTMLTextAreaElement) {\r\n this.input = node;\r\n break;\r\n } else if (node.children.length > 0) {\r\n this._findInputNode(node.children);\r\n }\r\n }\r\n }\r\n\r\n private _positionValidationError(): void {\r\n if (this.elementRef && this.elementRef.nativeElement && this._errorValidationComponent) {\r\n const clientRect: ClientRect = this.elementRef.nativeElement.getBoundingClientRect();\r\n this._errorValidationComponent.instance.top = clientRect.bottom;\r\n this._errorValidationComponent.instance.left = clientRect.left;\r\n }\r\n }\r\n\r\n protected async _handleKeyDown(event: KeyboardEvent): Promise<any> {\r\n switch (event.code) {\r\n case 'Enter':\r\n case 'NumpadEnter':\r\n if (!event.shiftKey) {\r\n event.preventDefault();\r\n await this._handleCommit();\r\n return false;\r\n }\r\n return true;\r\n case 'Tab':\r\n const nextSiblingToFocus = event.shiftKey ? (event.currentTarget as any).previousSibling : (event.currentTarget as any).nextSibling;\r\n event.preventDefault();\r\n const success: boolean = await this._handleCommit();\r\n if (success) {\r\n if (nextSiblingToFocus) {\r\n try {\r\n this._setFocusOnNextPossibleInput(nextSiblingToFocus, event.shiftKey);\r\n } catch (e) {\r\n }\r\n }\r\n }\r\n return false;\r\n case 'Escape':\r\n this.cancelClick();\r\n event.preventDefault();\r\n return false;\r\n }\r\n }\r\n\r\n private _createNewFocusEvent(element: any): Event {\r\n let eventType = \"onfocusin\" in element ? \"focusin\" : \"focus\",\r\n bubbles = \"onfocusin\" in element,\r\n focusEvent;\r\n\r\n if (\"createEvent\" in document) {\r\n focusEvent = document.createEvent(\"Event\");\r\n focusEvent.initEvent(eventType, bubbles, true);\r\n } else if (\"Event\" in window) {\r\n focusEvent = new Event(eventType, { bubbles: bubbles, cancelable: true });\r\n }\r\n return focusEvent;\r\n }\r\n\r\n private _setFocusOnNextPossibleInput(element: any, previous: boolean): void {\r\n let elementColl = element.getElementsByTagName('input');\r\n if (!elementColl || elementColl.length < 1) {\r\n elementColl = element.getElementsByTagName('textarea');\r\n }\r\n if (elementColl && elementColl.length > 0) {\r\n const inputElement = elementColl[0];\r\n if (inputElement.disabled || inputElement.readOnly) {\r\n this._setFocusOnNextPossibleInput(previous ? element.previousSibling : element.nextSibling, previous);\r\n } else {\r\n const focusEvent = this._createNewFocusEvent(element);\r\n inputElement.focus();\r\n inputElement.dispatchEvent(focusEvent);\r\n }\r\n }\r\n }\r\n}\r\n","import {Component, HostBinding, Input, OnInit, ViewEncapsulation} from '@angular/core';\r\nimport {SafeHtml} from '@angular/platform-browser';\r\nimport {CoreComponentsIcon} from '../../core/enum/core-components-icon.enum';\r\nimport {IconCacheService} from './icon-cache.service';\r\n\r\n@Component({\r\n selector: 'co-icon',\r\n template: ''\r\n ,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class IconComponent implements OnInit {\r\n\r\n @Input()\r\n public set icon(value: CoreComponentsIcon) {\r\n this._icon = value;\r\n }\r\n\r\n @Input()\r\n public set iconData(value: SafeHtml | undefined) {\r\n if (value) {\r\n this._iconData = value;\r\n this._prepareIcon();\r\n }\r\n }\r\n\r\n @HostBinding('class.co-icon')\r\n public showClass: boolean = true;\r\n\r\n @HostBinding('innerHtml')\r\n public innerIconData: SafeHtml | undefined;\r\n\r\n private _icon: CoreComponentsIcon;\r\n private _iconData: SafeHtml | undefined;\r\n\r\n constructor(private _iconCache: IconCacheService) {\r\n }\r\n\r\n ngOnInit() {\r\n this._prepareIcon();\r\n }\r\n\r\n private _prepareIcon(): void {\r\n if (this._iconData) {\r\n this.innerIconData = this._iconData;\r\n } else if (this._icon) {\r\n this._setIconFromEnum(this._icon);\r\n }\r\n }\r\n\r\n private _setIconFromEnum(icon: CoreComponentsIcon): void {\r\n this.innerIconData = this._iconCache.getIcon(icon);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\n\r\nimport { IconComponent } from './icon.component';\r\nimport { IconCacheService } from './icon-cache.service';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HttpClientModule\r\n ],\r\n declarations: [\r\n IconComponent\r\n ],\r\n providers: [\r\n IconCacheService\r\n ],\r\n exports: [\r\n IconComponent\r\n ]\r\n})\r\nexport class IconModule {\r\n}\r\n","// NOTE: Copied and adapted to iOneJS from https://github.com/angular/material2/blob/master/src/lib/core on 14-march-2017.\r\nimport { ElementRef, Injectable, Optional, SkipSelf } from '@angular/core';\r\nimport { fromEvent, merge, Observable, Subject, Subscription } from 'rxjs';\r\n\r\nimport { CoScrollableDirective } from './scrollable.directive';\r\nimport { auditTime } from 'rxjs/operators';\r\n\r\n/** Time in ms to throttle the scrolling events by default. */\r\nexport const DEFAULT_SCROLL_TIME = 20;\r\n\r\n/**\r\n * Service contained all registered Scrollable references and emits an event when any one of the\r\n * Scrollable references emit a scrolled event.\r\n */\r\n@Injectable()\r\nexport class CoScrollDispatcherService {\r\n /** Subject for notifying that a registered scrollable reference element has been scrolled. */\r\n _scrolled: Subject<void> = new Subject<void>();\r\n\r\n /** Keeps track of the global `scroll` and `resize` subscriptions. */\r\n _globalSubscription: Subscription = null;\r\n\r\n /** Keeps track of the amount of subscriptions to `scrolled`. Used for cleaning up afterwards. */\r\n private _scrolledCount = 0;\r\n\r\n /**\r\n * Map of all the scrollable references that are registered with the service and their\r\n * scroll event subscriptions.\r\n */\r\n scrollableReferences: Map<CoScrollableDirective, Subscription> = new Map();\r\n\r\n /**\r\n * Registers a Scrollable with the service and listens for its scrolled events. When the\r\n * scrollable is scrolled, the service emits the event in its scrolled observable.\r\n * @param scrollable Scrollable instance to be registered.\r\n */\r\n register(scrollable: CoScrollableDirective): void {\r\n const scrollSubscription = scrollable.elementScrolled().subscribe(() => this._notify());\r\n\r\n this.scrollableReferences.set(scrollable, scrollSubscription);\r\n }\r\n\r\n /**\r\n * Deregisters a Scrollable reference and unsubscribes from its scroll event observable.\r\n * @param scrollable Scrollable instance to be deregistered.\r\n */\r\n deregister(scrollable: CoScrollableDirective): void {\r\n if (this.scrollableReferences.has(scrollable)) {\r\n this.scrollableReferences.get(scrollable).unsubscribe();\r\n this.scrollableReferences.delete(scrollable);\r\n }\r\n }\r\n\r\n /**\r\n * Subscribes to an observable that emits an event whenever any of the registered Scrollable\r\n * references (or window, document, or body) fire a scrolled event. Can provide a time in ms\r\n * to override the default \"throttle\" time.\r\n */\r\n scrolled(auditTimeInMs: number = DEFAULT_SCROLL_TIME, callback: () => any): Subscription {\r\n // In the case of a 0ms delay, use an observable without auditTime\r\n // since it does add a perceptible delay in processing overhead.\r\n let observable: any = auditTimeInMs > 0 ?\r\n auditTime(auditTimeInMs) :\r\n this._scrolled.asObservable();\r\n\r\n this._scrolledCount++;\r\n\r\n if (!this._globalSubscription) {\r\n this._globalSubscription = merge(\r\n fromEvent(window.document, 'scroll'),\r\n fromEvent(window, 'resize')\r\n ).subscribe(() => this._notify());\r\n }\r\n\r\n // Note that we need to do the subscribing from here, in order to be able to remove\r\n // the global event listeners once there are no more subscriptions.\r\n return observable.subscribe(callback).add(() => {\r\n this._scrolledCount--;\r\n\r\n if (this._globalSubscription && !this.scrollableReferences.size && !this._scrolledCount) {\r\n this._globalSubscription.unsubscribe();\r\n this._globalSubscription = null;\r\n }\r\n });\r\n }\r\n\r\n /** Returns all registered Scrollables that contain the provided element. */\r\n getScrollContainers(elementRef: ElementRef): CoScrollableDirective[] {\r\n const scrollingContainers: CoScrollableDirective[] = [];\r\n\r\n this.scrollableReferences.forEach((subscription: Subscription, scrollable: CoScrollableDirective) => {\r\n if (this.scrollableContainsElement(scrollable, elementRef)) {\r\n scrollingContainers.push(scrollable);\r\n }\r\n });\r\n\r\n return scrollingContainers;\r\n }\r\n\r\n /** Returns true if the element is contained within the provided Scrollable. */\r\n scrollableContainsElement(scrollable: CoScrollableDirective, elementRef: ElementRef): boolean {\r\n let element = elementRef.nativeElement;\r\n let scrollableElement = scrollable.getElementRef().nativeElement;\r\n\r\n // Traverse through the element parents until we reach null, checking if any of the elements\r\n // are the scrollable's element.\r\n do {\r\n if (element == scrollableElement) {\r\n return true;\r\n }\r\n } while (element = element.parentElement);\r\n }\r\n\r\n /** Sends a notification that a scroll event has been fired. */\r\n _notify() {\r\n this._scrolled.next();\r\n }\r\n}\r\n\r\nexport function SCROLL_DISPATCHER_PROVIDER_FACTORY(parentDispatcher: CoScrollDispatcherService) {\r\n return parentDispatcher || new CoScrollDispatcherService();\r\n}\r\n\r\nexport const SCROLL_DISPATCHER_PROVIDER = {\r\n // If there is already a ScrollDispatcher available, use that. Otherwise, provide a new one.\r\n provide: CoScrollDispatcherService,\r\n deps: [[new Optional(), new SkipSelf(), CoScrollDispatcherService]],\r\n useFactory: SCROLL_DISPATCHER_PROVIDER_FACTORY\r\n};\r\n","// NOTE: Copied and adapted to TwoDSelector from iOneJS on 9-may-2018.\r\nimport {Injectable, Optional, SkipSelf} from '@angular/core';\r\n\r\nimport {CoScrollDispatcherService} from \"./scroll-dispatcher.service\";\r\n\r\n/**\r\n * Simple utility for getting the bounds of the browser viewport.\r\n * @docs-private\r\n */\r\n@Injectable()\r\nexport class CoViewportRulerService {\r\n\r\n /** Cached document client rectangle. */\r\n private _documentRect?: ClientRect;\r\n\r\n constructor(scrollDispatcher: CoScrollDispatcherService) {\r\n // Initially cache the document rectangle.\r\n this._cacheViewportGeometry();\r\n\r\n // Subscribe to scroll and resize events and update the document rectangle on changes.\r\n scrollDispatcher.scrolled(null, () => this._cacheViewportGeometry());\r\n }\r\n\r\n /** Gets a ClientRect for the viewport's bounds. */\r\n getViewportRect(documentRect = this._documentRect): ClientRect {\r\n // Use the document element's bounding rect rather than the window scroll properties\r\n // (e.g. pageYOffset, scrollY) due to in issue in Chrome and IE where window scroll\r\n // properties and client coordinates (boundingClientRect, clientX/Y, etc.) are in different\r\n // conceptual viewports. Under most circumstances these viewports are equivalent, but they\r\n // can disagree when the page is pinch-zoomed (on devices that support touch).\r\n // See https://bugs.chromium.org/p/chromium/issues/detail?id=489206#c4\r\n // We use the documentElement instead of the body because, by default (without a css reset)\r\n // browsers typically give the document body an 8px margin, which is not included in\r\n // getBoundingClientRect().\r\n const scrollPosition = this.getViewportScrollPosition(documentRect);\r\n const height = window.innerHeight;\r\n const width = window.innerWidth;\r\n\r\n return {\r\n top: scrollPosition.top,\r\n left: scrollPosition.left,\r\n bottom: scrollPosition.top + height,\r\n right: scrollPosition.left + width,\r\n height,\r\n width,\r\n };\r\n }\r\n\r\n\r\n /**\r\n * Gets the (top, left) scroll position of the viewport.\r\n * @param documentRect\r\n */\r\n getViewportScrollPosition(documentRect = this._documentRect) {\r\n // The top-left-corner of the viewport is determined by the scroll position of the document\r\n // body, normally just (scrollLeft, scrollTop). However, Chrome and Firefox disagree about\r\n // whether `document.body` or `document.documentElement` is the scrolled element, so reading\r\n // `scrollTop` and `scrollLeft` is inconsistent. However, using the bounding rect of\r\n // `document.documentElement` works consistently, where the `top` and `left` values will\r\n // equal negative the scroll position.\r\n const top = -documentRect.top || document.body.scrollTop || window.scrollY || 0;\r\n const left = -documentRect.left || document.body.scrollLeft || window.scrollX || 0;\r\n\r\n return {top, left};\r\n }\r\n\r\n /** Caches the latest client rectangle of the document element. */\r\n _cacheViewportGeometry() {\r\n this._documentRect = document.documentElement.getBoundingClientRect();\r\n }\r\n\r\n}\r\n\r\nexport function VIEWPORT_RULER_PROVIDER_FACTORY(parentRuler: CoViewportRulerService,\r\n scrollDispatcher: CoScrollDispatcherService) {\r\n return parentRuler || new CoViewportRulerService(scrollDispatcher);\r\n}\r\n\r\nexport const VIEWPORT_RULER_PROVIDER = {\r\n // If there is already a ViewportRuler available, use that. Otherwise, provide a new one.\r\n provide: CoViewportRulerService,\r\n deps: [[new Optional(), new SkipSelf(), CoViewportRulerService], CoScrollDispatcherService],\r\n useFactory: VIEWPORT_RULER_PROVIDER_FACTORY\r\n};","// NOTE: Copied and adapted to CoreComponents from iOneJS on 9-may-2018.\r\n\r\nimport {CoRippleConfig, CoRippleRenderer} from \"./ripple-renderer\";\r\n\r\n/** Possible states for a ripple element. */\r\nexport enum CoRippleState {\r\n FADING_IN, VISIBLE, FADING_OUT, HIDDEN\r\n}\r\n\r\n/**\r\n * Reference to a previously launched ripple element.\r\n */\r\nexport class CoRippleRef {\r\n\r\n /** Current state of the ripple reference. */\r\n state: CoRippleState = CoRippleState.HIDDEN;\r\n\r\n constructor(\r\n private _renderer: CoRippleRenderer,\r\n public element: HTMLElement,\r\n public config: CoRippleConfig) {\r\n }\r\n\r\n /** Fades out the ripple element. */\r\n fadeOut() {\r\n this._renderer.fadeOutRipple(this);\r\n }\r\n}","// NOTE: Copied and adapted to CoreComponents from iOneJS on 9-may-2018.\r\n\r\nimport {ElementRef, NgZone} from '@angular/core';\r\n\r\nimport {CoRippleRef, CoRippleState} from \"./ripple-ref\";\r\nimport {CoViewportRulerService} from \"./viewport-ruler.service\";\r\n\r\n/** Fade-in duration for the ripples. Can be modified with the speedFactor option. */\r\nexport const RIPPLE_FADE_IN_DURATION = 450;\r\n\r\n/** Fade-out duration for the ripples in milliseconds. This can't be modified by the speedFactor. */\r\nexport const RIPPLE_FADE_OUT_DURATION = 400;\r\n\r\nexport type CoRippleConfig = {\r\n color?: string;\r\n centered?: boolean;\r\n radius?: number;\r\n speedFactor?: number;\r\n persistent?: boolean;\r\n};\r\n\r\n/**\r\n * Helper service that performs DOM manipulations. Not intended to be used outside this module.\r\n * The constructor takes a reference to the ripple directive's host element and a map of DOM\r\n * event handlers to be installed on the element that triggers ripple animations.\r\n * This will eventually become a custom renderer once Angular support exists.\r\n * @docs-private\r\n */\r\nexport class CoRippleRenderer {\r\n\r\n /** Element where the ripples are being added to. */\r\n private _containerElement: HTMLElement;\r\n\r\n /** Element which triggers the ripple elements on mouse events. */\r\n private _triggerElement: HTMLElement;\r\n\r\n /** Whether the mouse is currently down or not. */\r\n private _isMousedown: boolean = false;\r\n\r\n /** Events to be registered on the trigger element. */\r\n private _triggerEvents = new Map<string, any>();\r\n\r\n /** Set of currently active ripple references. */\r\n private _activeRipples = new Set<CoRippleRef>();\r\n\r\n /** Ripple config for all ripples created by events. */\r\n rippleConfig: CoRippleConfig = {};\r\n\r\n /** Whether mouse ripples should be created or not. */\r\n rippleDisabled: boolean = false;\r\n\r\n constructor(_elementRef: ElementRef, private _ngZone: NgZone, private _ruler: CoViewportRulerService) {\r\n this._containerElement = _elementRef.nativeElement;\r\n\r\n // Specify events which need to be registered on the trigger.\r\n this._triggerEvents.set('mousedown', this.onMousedown.bind(this));\r\n this._triggerEvents.set('mouseup', this.onMouseup.bind(this));\r\n this._triggerEvents.set('mouseleave', this.onMouseLeave.bind(this));\r\n\r\n // By default use the host element as trigger element.\r\n this.setTriggerElement(this._containerElement);\r\n }\r\n\r\n /** Fades in a ripple at the given coordinates. */\r\n fadeInRipple(pageX: number, pageY: number, config: CoRippleConfig = {}): CoRippleRef {\r\n let containerRect = this._containerElement.getBoundingClientRect();\r\n\r\n if (config.centered) {\r\n pageX = containerRect.left + containerRect.width / 2;\r\n pageY = containerRect.top + containerRect.height / 2;\r\n } else {\r\n // Subtract scroll values from the coordinates because calculations below\r\n // are always relative to the viewport rectangle.\r\n let scrollPosition = this._ruler.getViewportScrollPosition();\r\n pageX -= scrollPosition.left;\r\n pageY -= scrollPosition.top;\r\n }\r\n\r\n let radius = config.radius || distanceToFurthestCorner(pageX, pageY, containerRect);\r\n let duration = RIPPLE_FADE_IN_DURATION * (1 / (config.speedFactor || 1));\r\n let offsetX = pageX - containerRect.left;\r\n let offsetY = pageY - containerRect.top;\r\n\r\n let ripple = document.createElement('div');\r\n ripple.classList.add('mat-ripple-element');\r\n\r\n ripple.style.left = `${offsetX - radius}px`;\r\n ripple.style.top = `${offsetY - radius}px`;\r\n ripple.style.height = `${radius * 2}px`;\r\n ripple.style.width = `${radius * 2}px`;\r\n\r\n // If the color is not set, the default CSS color will be used.\r\n ripple.style.backgroundColor = config.color;\r\n ripple.style.transitionDuration = `${duration}ms`;\r\n\r\n this._containerElement.appendChild(ripple);\r\n\r\n // By default the browser does not recalculate the styles of dynamically created\r\n // ripple elements. This is critical because then the `scale` would not animate properly.\r\n enforceStyleRecalculation(ripple);\r\n\r\n ripple.style.transform = 'scale(1)';\r\n\r\n // Exposed reference to the ripple that will be returned.\r\n let rippleRef = new CoRippleRef(this, ripple, config);\r\n\r\n rippleRef.state = CoRippleState.FADING_IN;\r\n\r\n // Add the ripple reference to the list of all active ripples.\r\n this._activeRipples.add(rippleRef);\r\n\r\n // Wait for the ripple element to be completely faded in.\r\n // Once it's faded in, the ripple can be hidden immediately if the mouse is released.\r\n this.runTimeoutOutsideZone(() => {\r\n rippleRef.state = CoRippleState.VISIBLE;\r\n\r\n if (!config.persistent && !this._isMousedown) {\r\n rippleRef.fadeOut();\r\n }\r\n }, duration);\r\n\r\n return rippleRef;\r\n }\r\n\r\n /** Fades out a ripple reference. */\r\n fadeOutRipple(rippleRef: CoRippleRef) {\r\n // For ripples that are not active anymore, don't re-un the fade-out animation.\r\n if (!this._activeRipples.delete(rippleRef)) {\r\n return;\r\n }\r\n\r\n let rippleEl = rippleRef.element;\r\n\r\n rippleEl.style.transitionDuration = `${RIPPLE_FADE_OUT_DURATION}ms`;\r\n rippleEl.style.opacity = '0';\r\n\r\n rippleRef.state = CoRippleState.FADING_OUT;\r\n\r\n // Once the ripple faded out, the ripple can be safely removed from the DOM.\r\n this.runTimeoutOutsideZone(() => {\r\n rippleRef.state = CoRippleState.HIDDEN;\r\n rippleEl.parentNode.removeChild(rippleEl);\r\n }, RIPPLE_FADE_OUT_DURATION);\r\n }\r\n\r\n /** Fades out all currently active ripples. */\r\n fadeOutAll() {\r\n this._activeRipples.forEach(ripple => ripple.fadeOut());\r\n }\r\n\r\n /** Sets the trigger element and registers the mouse events. */\r\n setTriggerElement(element: HTMLElement) {\r\n // Remove all previously register event listeners from the trigger element.\r\n if (this._triggerElement) {\r\n this._triggerEvents.forEach((fn, type) => this._triggerElement.removeEventListener(type, fn));\r\n }\r\n\r\n if (element) {\r\n // If the element is not null, register all event listeners on the trigger element.\r\n this._ngZone.runOutsideAngular(() => {\r\n this._triggerEvents.forEach((fn, type) => element.addEventListener(type, fn));\r\n });\r\n }\r\n\r\n this._triggerElement = element;\r\n }\r\n\r\n /** Listener being called on mousedown event. */\r\n private onMousedown(event: MouseEvent) {\r\n if (!this.rippleDisabled) {\r\n this._isMousedown = true;\r\n this.fadeInRipple(event.pageX, event.pageY, this.rippleConfig);\r\n }\r\n }\r\n\r\n /** Listener being called on mouseup event. */\r\n private onMouseup() {\r\n this._isMousedown = false;\r\n\r\n // Fade-out all ripples that are completely visible and not persistent.\r\n this._activeRipples.forEach(ripple => {\r\n if (!ripple.config.persistent && ripple.state === CoRippleState.VISIBLE) {\r\n ripple.fadeOut();\r\n }\r\n });\r\n }\r\n\r\n /** Listener being called on mouseleave event. */\r\n private onMouseLeave() {\r\n if (this._isMousedown) {\r\n this.onMouseup();\r\n }\r\n }\r\n\r\n /** Runs a timeout outside of the Angular zone to avoid triggering the change detection. */\r\n private runTimeoutOutsideZone(fn: Function, delay: number = 0): void {\r\n this._ngZone.runOutsideAngular(() => setTimeout(fn, delay));\r\n }\r\n\r\n}\r\n\r\n/** Enforces a style recalculation of a DOM element by computing its styles. */\r\nfunction enforceStyleRecalculation(element: HTMLElement) {\r\n // Enforce a style recalculation by calling `getComputedStyle` and accessing any property.\r\n // Calling `getPropertyValue` is important to let optimizers know that this is not a noop.\r\n // See: https://gist.github.com/paulirish/5d52fb081b3570c81e3a\r\n window.getComputedStyle(element).getPropertyValue('opacity');\r\n}\r\n\r\n/**\r\n * Returns the distance from the point (x, y) to the furthest corner of a rectangle.\r\n */\r\nfunction distanceToFurthestCorner(x: number, y: number, rect: ClientRect) {\r\n const distX = Math.max(Math.abs(x - rect.left), Math.abs(x - rect.right));\r\n const distY = Math.max(Math.abs(y - rect.top), Math.abs(y - rect.bottom));\r\n return Math.sqrt(distX * distX + distY * distY);\r\n}","// NOTE: Copied from iOneJS and adapted to CoreComponents on 9-may-2018.\r\n\r\nimport {Directive, ElementRef, Inject, InjectionToken, Input, NgZone, OnChanges, OnDestroy, Optional, SimpleChanges} from '@angular/core';\r\nimport {CoRippleConfig, CoRippleRenderer} from \"./ripple-renderer\";\r\nimport {CoRippleRef} from \"./ripple-ref\";\r\nimport {CoViewportRulerService} from \"./viewport-ruler.service\";\r\n\r\n/** OpaqueToken that can be used to specify the global ripple options. */\r\nexport const MD_RIPPLE_GLOBAL_OPTIONS: InjectionToken<CoRippleGlobalOptions> = new InjectionToken('CoRippleGlobalOptions');\r\n\r\nexport type CoRippleGlobalOptions = {\r\n disabled?: boolean;\r\n baseSpeedFactor?: number;\r\n};\r\n\r\n@Directive({\r\n selector: '[md-ripple], [mat-ripple], [mdRipple], [matRipple]',\r\n exportAs: 'mdRipple',\r\n host: {\r\n '[class.mat-ripple]': 'true',\r\n '[class.mat-ripple-unbounded]': 'unbounded'\r\n }\r\n})\r\nexport class CoRippleDirective implements OnChanges, OnDestroy {\r\n\r\n /**\r\n * The element that triggers the ripple when click events are received. Defaults to the\r\n * directive's host element.\r\n */\r\n // Prevent TS metadata emit from referencing HTMLElement in ripple.js\r\n // Otherwise running this code in a Node environment (e.g Universal) will not work.\r\n @Input('mdRippleTrigger') trigger: HTMLElement | HTMLElement;\r\n\r\n /**\r\n * Whether the ripple always originates from the center of the host element's bounds, rather\r\n * than originating from the location of the click event.\r\n */\r\n @Input('mdRippleCentered') centered: boolean;\r\n\r\n /**\r\n * Whether click events will not trigger the ripple. It can still be triggered by manually\r\n * calling createRipple()\r\n */\r\n @Input('mdRippleDisabled') disabled: boolean;\r\n\r\n /**\r\n * If set, the radius in pixels of foreground ripples when fully expanded. If unset, the radius\r\n * will be the distance from the center of the ripple to the furthest corner of the host element's\r\n * bounding rectangle.\r\n */\r\n @Input('mdRippleRadius') radius: number = 0;\r\n\r\n /**\r\n * If set, the normal duration of ripple animations is divided by this value. For example,\r\n * setting it to 0.5 will cause the animations to take twice as long.\r\n * A changed speedFactor will not modify the fade-out duration of the ripples.\r\n */\r\n @Input('mdRippleSpeedFactor') speedFactor: number = 1;\r\n\r\n /** Custom color for ripples. */\r\n @Input('mdRippleColor') color: string;\r\n\r\n /** Whether foreground ripples should be visible outside the component's bounds. */\r\n @Input('mdRippleUnbounded') unbounded: boolean;\r\n\r\n /** Renderer for the ripple DOM manipulations. */\r\n private _rippleRenderer: CoRippleRenderer;\r\n\r\n /** Options that are set globally for all ripples. */\r\n private _globalOptions: CoRippleGlobalOptions;\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n ngZone: NgZone,\r\n ruler: CoViewportRulerService,\r\n // Type needs to be `any` because of https://github.com/angular/angular/issues/12631\r\n @Optional() @Inject(MD_RIPPLE_GLOBAL_OPTIONS) globalOptions: any\r\n ) {\r\n this._rippleRenderer = new CoRippleRenderer(elementRef, ngZone, ruler);\r\n this._globalOptions = globalOptions ? globalOptions : {};\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['trigger'] && this.trigger) {\r\n this._rippleRenderer.setTriggerElement(this.trigger);\r\n }\r\n\r\n this._rippleRenderer.rippleDisabled = this._globalOptions.disabled || this.disabled;\r\n this._rippleRenderer.rippleConfig = this.rippleConfig;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n // Set the trigger element to null to cleanup all listeners.\r\n this._rippleRenderer.setTriggerElement(null);\r\n }\r\n\r\n /** Launches a manual ripple at the specified position. */\r\n launch(pageX: number, pageY: number, config: CoRippleConfig = this.rippleConfig): CoRippleRef {\r\n return this._rippleRenderer.fadeInRipple(pageX, pageY, config);\r\n }\r\n\r\n /** Fades out all currently showing ripple elements. */\r\n fadeOutAll(): void {\r\n this._rippleRenderer.fadeOutAll();\r\n }\r\n\r\n /** Ripple configuration from the directive's input values. */\r\n get rippleConfig(): CoRippleConfig {\r\n return {\r\n centered: this.centered,\r\n speedFactor: this.speedFactor * (this._globalOptions.baseSpeedFactor || 1),\r\n radius: this.radius,\r\n color: this.color\r\n };\r\n }\r\n}","// NOTE: Copied and adapted to TwoDSelector from iOneJS on 9-may-2018.\r\nimport { Directive, ElementRef, OnDestroy, OnInit } from '@angular/core';\r\n\r\nimport { CoScrollDispatcherService } from './scroll-dispatcher.service';\r\nimport { fromEvent, Observable } from 'rxjs';\r\n\r\n/**\r\n * Sends an event when the directive's element is scrolled. Registers itself with the\r\n * ScrollDispatcher service to include itself as part of its collection of scrolling events that it\r\n * can be listened to through the service.\r\n */\r\n@Directive({\r\n selector: '[cdk-scrollable]'\r\n})\r\nexport class CoScrollableDirective implements OnInit, OnDestroy {\r\n constructor(private _elementRef: ElementRef, private _scroll: CoScrollDispatcherService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this._scroll.register(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._scroll.deregister(this);\r\n }\r\n\r\n /**\r\n * Returns observable that emits when a scroll event is fired on the host element.\r\n */\r\n elementScrolled(): Observable<any> {\r\n return fromEvent(this._elementRef.nativeElement, 'scroll');\r\n }\r\n\r\n getElementRef(): ElementRef {\r\n return this._elementRef;\r\n }\r\n}\r\n","// NOTE: Copied from iOneJS and adapted to CoreComponents on 9-may-2018.\r\n\r\nimport {NgModule} from \"@angular/core\";\r\n\r\nimport {CoViewportRulerService} from \"./viewport-ruler.service\";\r\nimport {CoRippleDirective} from \"./ripple.directive\";\r\nimport {CoScrollableDirective} from \"./scrollable.directive\";\r\nimport {CoScrollDispatcherService} from \"./scroll-dispatcher.service\";\r\n\r\n@NgModule({\r\n declarations: [\r\n CoRippleDirective,\r\n CoScrollableDirective\r\n ],\r\n providers: [\r\n CoScrollDispatcherService,\r\n CoViewportRulerService\r\n ],\r\n exports: [\r\n CoRippleDirective\r\n ]\r\n})\r\nexport class RippleModule {\r\n}","import {isNill} from \"../function/is-nill.function\";\r\n\r\n// @dynamic\r\nexport class EventUtils {\r\n public static get passiveSupported(): boolean {\r\n if (isNill(EventUtils._passiveSupported)) {\r\n EventUtils._CheckPassiveSupported();\r\n }\r\n return EventUtils._passiveSupported;\r\n }\r\n\r\n public static get passiveBubble(): boolean {\r\n if (isNill(EventUtils._passiveBubble)) {\r\n EventUtils._passiveBubble = EventUtils.passiveSupported ? {passive: true, capture: false} : false;\r\n }\r\n return EventUtils._passiveBubble;\r\n }\r\n\r\n public static get passiveCapture(): boolean {\r\n if (isNill(EventUtils._passiveCapture)) {\r\n EventUtils._passiveCapture = EventUtils.passiveSupported ? {passive: true, capture: true} : true;\r\n }\r\n return EventUtils._passiveCapture;\r\n }\r\n\r\n private static _passiveSupported: boolean = undefined;\r\n\r\n private static _passiveCapture: any = undefined;\r\n\r\n private static _passiveBubble: any = undefined;\r\n\r\n public static KillEvent(event: Event): void {\r\n if (event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n event.stopImmediatePropagation();\r\n }\r\n }\r\n\r\n public static StopEvent(event: Event): void {\r\n this.KillEvent(event);\r\n }\r\n\r\n public static GetMouseEventOrTouch(originalEvent: MouseEvent | TouchEvent): MouseEvent | Touch {\r\n return originalEvent instanceof MouseEvent ? originalEvent : originalEvent.touches[0];\r\n }\r\n\r\n private static _CheckPassiveSupported(): void {\r\n let passiveSupported: boolean = false;\r\n try {\r\n const options: any = Object.defineProperty({}, \"passive\", {\r\n get: function (): void {\r\n passiveSupported = true;\r\n }\r\n });\r\n window.addEventListener(\"test\", null, options);\r\n } catch (e) {\r\n }\r\n this._passiveSupported = passiveSupported;\r\n }\r\n}\r\n","import {InjectionToken} from \"@angular/core\";\r\nimport {ScreenConfigAdapterComponent} from \"./screen-config-adapter.component.interface\";\r\n\r\n// Enables \"DI for interfaces\" (see ConfigNameDirective injected .hostComponent).\r\nexport const SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME: InjectionToken<ScreenConfigAdapterComponent> =\r\n new InjectionToken<ScreenConfigAdapterComponent>(\"ScreenConfigAdapterComponent\");\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter, forwardRef,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n OnDestroy,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {SafeHtml} from '@angular/platform-browser';\r\nimport {EventUtils} from '../../core/utils/event-utils';\r\nimport {SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME} from '../../interfaces/screen-config-adapter-component-interface-name';\r\nimport {ScreenConfigAdapterComponent} from '../../interfaces/screen-config-adapter.component.interface';\r\n\r\n@Component({\r\n selector: 'co-button',\r\n template: `\r\n <co-icon *ngIf=\"!!iconData\" [iconData]=\"iconData\"></co-icon>\r\n <span *ngIf=\"!!label\" class=\"label\">{{ label }}</span>\r\n <co-icon *ngIf=\"!!iconDataRight\" [iconData]=\"iconDataRight\"></co-icon>\r\n <div class=\"rippler\" md-ripple [mdRippleDisabled]=\"disabled\"></div>\r\n `,\r\n host: {\r\n tabindex: '0'\r\n },\r\n providers: [{\r\n provide: SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME,\r\n useExisting: forwardRef(() => ButtonComponent)\r\n }\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ButtonComponent implements ScreenConfigAdapterComponent, OnDestroy {\r\n @HostBinding('class.has-label')\r\n @Input()\r\n public label: string;\r\n\r\n @HostBinding('class.has-left-icon')\r\n @Input()\r\n public iconData: SafeHtml | undefined;\r\n\r\n @HostBinding('class.has-right-icon')\r\n @Input()\r\n public iconDataRight: SafeHtml | undefined;\r\n\r\n @Input()\r\n public isToggleButton: boolean;\r\n\r\n @Input()\r\n @HostBinding('class.toggled')\r\n public isToggled: boolean;\r\n\r\n @Input()\r\n @HostBinding('class.co-hidden')\r\n public hidden: boolean = false;\r\n\r\n @Input()\r\n @HostBinding('class.disabled')\r\n public disabled: boolean = false;\r\n\r\n @HostBinding('class.co-button')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n @Output()\r\n public readonly onClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public readonly clickedWhileDisabled: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public readonly isToggledChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @HostBinding('class.has-icon')\r\n public get hasIcon(): boolean {\r\n return !!this.iconData;\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n public onHostClick(event: MouseEvent): void {\r\n if (this.readonly || this.disabled) {\r\n this.clickedWhileDisabled.emit(event);\r\n EventUtils.KillEvent(event);\r\n } else {\r\n this.onClick.emit(event);\r\n if (this.isToggleButton) {\r\n this.isToggled = !this.isToggled;\r\n this.isToggledChange.emit(this.isToggled);\r\n }\r\n }\r\n }\r\n\r\n public objectConfigName: string;\r\n public required: boolean;\r\n public forceReadonly: boolean;\r\n @HostBinding(\"class.read-only\")\r\n public readonly: boolean;\r\n public maxLength: number;\r\n public decimals: number;\r\n public redErrorBackground: boolean;\r\n\r\n constructor(private _elementRef: ElementRef) {\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._elementRef = undefined;\r\n }\r\n\r\n public focus(): void {\r\n this._elementRef.nativeElement.focus();\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\nimport {IconModule} from \"../icon/icon.module\";\r\nimport {RippleModule} from \"../../directives/ripple/ripple.module\";\r\nimport {ButtonComponent} from \"./button.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule,\r\n RippleModule\r\n ],\r\n declarations: [ButtonComponent],\r\n exports: [ButtonComponent]\r\n})\r\nexport class ButtonModule {\r\n}","import {Component, HostBinding, Input, OnInit, ViewEncapsulation} from '@angular/core';\r\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: \"co-image\",\r\n template: `\r\n <ng-container *ngIf=\"!error\">\r\n <img *ngIf=\"!!source\" [src]=\"source\" (error)=\"handleImageError($event)\">\r\n </ng-container>\r\n <ng-container *ngIf=\"error || !source\">\r\n <div class=\"no-image-wrapper\">\r\n <co-icon [iconData]=\"innerPlaceHolder\"></co-icon>\r\n <span [textContent]=\"'geen afbeelding'\"></span>\r\n </div>\r\n </ng-container>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ImageComponent implements OnInit {\r\n /**\r\n * Source of the image, can be an URL or a base64 data string\r\n */\r\n @Input()\r\n public source: string;\r\n\r\n /**\r\n * Placeholder svg source to show when there is no image\r\n */\r\n @Input()\r\n public placeHolder: string;\r\n\r\n @HostBinding(\"class.co-image\")\r\n public showClass: boolean = true;\r\n\r\n public error: boolean = false;\r\n public innerPlaceHolder: SafeHtml | undefined;\r\n\r\n private _defaultPlaceholder: string = '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 50\"><path d=\"M35,18l-3-4H22l-3,4H16V36H40V18ZM24,16h6v2H24Zm2.5,18A6.5,6.5,0,1,1,33,27.5,6.51,6.51,0,0,1,26.5,34ZM38,22H36V20h2Z\" fill=\"#484f60\"/><rect x=\"10\" y=\"18\" width=\"5\" height=\"18\" fill=\"#484f60\"/><rect x=\"11\" y=\"15\" width=\"3\" height=\"2\" fill=\"#484f60\"/><path d=\"M26.5,32A4.5,4.5,0,1,1,31,27.5,4.51,4.51,0,0,1,26.5,32Z\" fill=\"#484f60\"/></svg>';\r\n\r\n constructor(private _sanitizer: DomSanitizer) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.innerPlaceHolder = this._sanitizer.bypassSecurityTrustHtml(this.placeHolder ? this.placeHolder : this._defaultPlaceholder);\r\n }\r\n\r\n public handleImageError(event: any): void {\r\n this.error = true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {ImageComponent} from \"./image.component\";\r\nimport {IconModule} from '../icon/icon.module';\r\n\r\n@NgModule({\r\n imports: [CommonModule, IconModule],\r\n declarations: [ImageComponent],\r\n exports: [ImageComponent]\r\n})\r\nexport class ImageModule {\r\n}\r\n","import {Directive, ElementRef, Input, NgZone, OnDestroy, OnInit} from \"@angular/core\";\r\n\r\nimport {EventUtils} from \"../../core/utils/event-utils\";\r\n\r\n@Directive({\r\n selector: '[stopClick]'\r\n})\r\nexport class StopClickDirective implements OnInit, OnDestroy {\r\n\r\n @Input()\r\n public stopClick: boolean;\r\n\r\n constructor(private _elementRef: ElementRef, private _ngZone: NgZone) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this._ngZone.runOutsideAngular(() => {\r\n this._elementRef.nativeElement.addEventListener('click', this._killEventHandler);\r\n this._elementRef.nativeElement.addEventListener('dblclick', this._killEventHandler);\r\n this._elementRef.nativeElement.addEventListener('mousedown', this._killEventHandler);\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._elementRef.nativeElement.removeEventListener('click', this._killEventHandler);\r\n this._elementRef.nativeElement.removeEventListener('dblclick', this._killEventHandler);\r\n this._elementRef.nativeElement.removeEventListener('mousedown', this._killEventHandler);\r\n }\r\n\r\n private _killEventHandler: EventListener = (event: MouseEvent): void => {\r\n if (this.stopClick) {\r\n EventUtils.KillEvent(event);\r\n }\r\n };\r\n}","import {NgModule} from \"@angular/core\";\r\n\r\nimport {StopClickDirective} from \"./stop-click.directive\";\r\n\r\n@NgModule({\r\n declarations: [\r\n StopClickDirective\r\n ],\r\n exports: [\r\n StopClickDirective\r\n ]\r\n})\r\nexport class StopClickModule {\r\n}","import {ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation} from '@angular/core';\r\n\r\nimport {LevelIndicatorLevel} from './level-indicator-level.enum';\r\n\r\n@Component({\r\n selector: \"co-level-indicator\",\r\n template: `\r\n <div [ngClass]=\"modelAsString\">\r\n <div class=\"square-1\"></div>\r\n <div class=\"square-2\"></div>\r\n <div class=\"square-3\"></div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class LevelIndicatorComponent {\r\n @Input()\r\n set model(value: LevelIndicatorLevel) {\r\n this._model = value;\r\n this._modelAsString = \"\" + value;\r\n }\r\n\r\n get model(): LevelIndicatorLevel {\r\n return this._model;\r\n }\r\n\r\n @HostBinding('class.co-level-indicator')\r\n public showClass: boolean = true;\r\n\r\n get modelAsString(): string {\r\n return this._modelAsString;\r\n }\r\n\r\n private _model: LevelIndicatorLevel;\r\n\r\n // to prevent hard crashes on [ngClass] when this component was given a non-string model @Input\r\n private _modelAsString: string;\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {LevelIndicatorComponent} from \"./level-indicator.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [LevelIndicatorComponent],\r\n exports: [LevelIndicatorComponent]\r\n})\r\nexport class LevelIndicatorModule {\r\n}","import {Pipe, PipeTransform} from \"@angular/core\";\r\nimport {NumberUtils} from \"../core/utils/number-utils\";\r\nimport {notNill} from \"../core/function/not-nill.function\";\r\n\r\n@Pipe({name: \"priceDisplay\"})\r\nexport class PriceDisplayPipe implements PipeTransform {\r\n transform(value: number | string): string {\r\n let priceStr: string = \"\";\r\n\r\n if (notNill(value) && value !== 0 && value !== \"\") {\r\n value = NumberUtils.ParseFloat(value, 2);\r\n priceStr = \"€ \" + NumberUtils.AddThousandsCommasTo(value);\r\n if (NumberUtils.GetDecimalPlaces(priceStr) === 0) {\r\n priceStr += \",-\";\r\n }\r\n }\r\n\r\n return priceStr;\r\n }\r\n}","import {NgModule} from \"@angular/core\";\r\n\r\nimport {PriceDisplayPipe} from \"./price-display.pipe\";\r\n\r\n@NgModule({\r\n declarations: [\r\n PriceDisplayPipe\r\n ],\r\n exports: [\r\n PriceDisplayPipe\r\n ]\r\n})\r\nexport class PriceDisplayPipeModule {\r\n}","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from '@angular/core';\r\nimport {IconCacheService} from '../icon/icon-cache.service';\r\nimport {CoreComponentsIcon} from '../../core/enum/core-components-icon.enum';\r\nimport {SafeHtml} from '@angular/platform-browser';\r\nimport {InputBoolean} from '../../core/decorator/input-boolean.decorator';\r\n\r\n@Component({\r\n selector: 'co-tile',\r\n template: `\r\n <div class=\"tile-wrapper\">\r\n <div class=\"tile-top\">\r\n <ng-content select=\"[tile-top-content]\"></ng-content>\r\n </div>\r\n <div class=\"image\" (click)=\"onImageClick.emit()\">\r\n <co-image *ngIf=\"image\" [source]=\"image\"></co-image>\r\n <div class=\"no-image-wrapper\" *ngIf=\"!image && !noImagePlaceholder\">\r\n <co-icon class=\"no-image\" [iconData]=\"imagePlaceHolder\"></co-icon>\r\n <span [textContent]=\"'Geen afbeelding'\"></span>\r\n </div>\r\n <ng-content select=\"[tile-over-image]\"></ng-content>\r\n </div>\r\n <div class=\"tile-bottom\">\r\n <ng-content select=\"[tile-bottom-content]\"></ng-content>\r\n </div>\r\n </div>\r\n <div class=\"tile-extra-bottom\">\r\n <div class=\"main\">\r\n <ng-content select=\"[tile-extra-bottom-content]\"></ng-content>\r\n </div>\r\n </div>\r\n <div class=\"tile-extended-shadow-wrapper\" *ngIf=\"mouseOverExtended\">\r\n <div class=\"shodow-masque\"></div>\r\n <div class=\"extended\">\r\n <ng-content select=\"[tile-extended-content]\"></ng-content>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TileComponent {\r\n\r\n public readonly icon: typeof CoreComponentsIcon = CoreComponentsIcon;\r\n\r\n @Input()\r\n public image: string;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public mouseOverExtended: boolean = false;\r\n\r\n @HostBinding('class.small')\r\n @Input()\r\n @InputBoolean()\r\n public small: boolean = false;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public noImagePlaceholder: boolean = false;\r\n\r\n @Output()\r\n public onImageClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @HostBinding('class.co-tile')\r\n public showClass: boolean = true;\r\n\r\n public imagePlaceHolder: null | SafeHtml;\r\n\r\n constructor(private _iconCache: IconCacheService) {\r\n this.imagePlaceHolder = this._iconCache.getIcon(this.icon.Camera);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TileComponent } from './tile.component';\r\nimport { IconModule } from '../icon/icon.module';\r\nimport { IconCacheService } from '../icon/icon-cache.service';\r\nimport { ImageModule } from '../image/image.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule,\r\n ImageModule\r\n ],\r\n declarations: [TileComponent],\r\n providers: [\r\n IconCacheService\r\n ],\r\n exports: [TileComponent]\r\n})\r\nexport class TileModule {\r\n}\r\n","import {ChangeDetectionStrategy, Component, EventEmitter, HostBinding, HostListener, Input, Output} from \"@angular/core\";\r\n\r\nimport {IconCacheService} from \"../icon/icon-cache.service\";\r\nimport {CoreComponentsIcon} from \"../../core/enum/core-components-icon.enum\";\r\nimport {LevelIndicatorLevel} from \"../level-indicator/level-indicator-level.enum\";\r\n\r\n@Component({\r\n selector: \"co-article-tile\",\r\n template: `\r\n <co-tile [image]=\"imageData\" [small]=\"isSmallModus\">\r\n <ng-container tile-top-content>\r\n <ng-content select=\"[tile-top-content]\"></ng-content>\r\n </ng-container>\r\n <ng-container tile-over-image>\r\n <ng-content select=\"[over-image]\"></ng-content>\r\n </ng-container>\r\n <ng-container tile-bottom-content>\r\n <div class=\"bottom-content-wrapper\">\r\n <div class=\"left-buttons\">\r\n <co-button class=\"card-button square white\" *ngIf=\"hasConfigureButton\" [iconData]=\"icons.getIcon(Icons.MagicWand)\"\r\n [stopClick]=\"true\" [class.mini]=\"isSmallModus\"\r\n (click)=\"configureButtonClick.emit($event)\"></co-button>\r\n <co-button class=\"card-button square white\" *ngIf=\"hasThreeDButton\" [iconData]=\"icons.getIcon(Icons.ThreeD)\"\r\n [stopClick]=\"true\" [class.mini]=\"isSmallModus\"\r\n (click)=\"threeDButtonClick.emit($event)\"></co-button>\r\n </div>\r\n <co-level-indicator *ngIf=\"!!level\" [model]=\"level\" [class.small]=\"isSmallModus\"></co-level-indicator>\r\n <co-button class=\"card-button\" *ngIf=\"hasCartButton\" [iconData]=\"icons.getIcon(Icons.AddToCartDrop)\"\r\n [stopClick]=\"true\" [class.mini]=\"isSmallModus\"\r\n (click)=\"cartButtonClick.emit($event)\"></co-button>\r\n </div>\r\n </ng-container>\r\n <ng-container tile-extra-bottom-content>\r\n <span *ngIf=\"!!description\" class=\"description\" [innerText]=\"description\"></span>\r\n <span *ngIf=\"!!price\" class=\"price\" [innerText]=\"price | priceDisplay\"></span>\r\n <ng-content select=\"[card-extra-content]\"></ng-content>\r\n </ng-container>\r\n </co-tile>\r\n `,\r\n styleUrls: [\r\n \"article-tile.component.scss\"\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ArticleTileComponent {\r\n @Input()\r\n public imageData: string;\r\n\r\n @Input()\r\n public description: string;\r\n\r\n @Input()\r\n public price: number | string;\r\n\r\n @Input()\r\n public level: LevelIndicatorLevel;\r\n\r\n @Input()\r\n public isSelected: boolean = false;\r\n\r\n @Input() @HostBinding(\"class.small-modus\")\r\n public isSmallModus: boolean = false;\r\n\r\n @Input()\r\n public hasConfigureButton: boolean = false;\r\n\r\n @Input()\r\n public hasThreeDButton: boolean = false;\r\n\r\n @Input()\r\n public hasCartButton: boolean = false;\r\n\r\n // does not emit when you click one of the predefined buttons, but emits on a click on any of our other content\r\n @Output()\r\n public readonly contentClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public readonly configureButtonClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public readonly threeDButtonClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public readonly cartButtonClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n public readonly Icons: any = CoreComponentsIcon;\r\n\r\n constructor(public icons: IconCacheService) {\r\n }\r\n\r\n @HostListener(\"click\", [\"$event\"])\r\n public onHostClick(event: MouseEvent): void {\r\n this.contentClick.emit(event);\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {HttpClientModule} from \"@angular/common/http\";\r\n\r\nimport {IconModule} from \"../icon/icon.module\";\r\nimport {ButtonModule} from \"../button/button.module\";\r\nimport {ImageModule} from \"../image/image.module\";\r\nimport {StopClickModule} from \"../../directives/stopclick/stop-click.module\";\r\nimport {LevelIndicatorModule} from \"../level-indicator/level-indicator.module\";\r\nimport {PriceDisplayPipeModule} from \"../../pipes/price-display-pipe.module\";\r\nimport { TileModule } from '../tile/tile.module';\r\nimport { ArticleTileComponent } from './article-tile.component';\r\nimport { IconCacheService } from '../icon/icon-cache.service';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n IconModule,\r\n ButtonModule,\r\n ImageModule,\r\n StopClickModule,\r\n LevelIndicatorModule,\r\n PriceDisplayPipeModule,\r\n TileModule\r\n ],\r\n declarations: [ArticleTileComponent],\r\n providers: [\r\n IconCacheService\r\n ],\r\n exports: [ArticleTileComponent]\r\n})\r\nexport class ArticleTileModule {\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\nimport {IconCacheService} from '../icon/icon-cache.service';\r\nimport {CoreComponentsIcon} from '../../core/enum/core-components-icon.enum';\r\nimport {LevelIndicatorLevel} from '../level-indicator/level-indicator-level.enum';\r\n\r\n@Component({\r\n selector: 'co-card',\r\n template: `\r\n <div class=\"co-card-wrapper\">\r\n <div class=\"content-wrapper\">\r\n <co-icon *ngIf=\"isSelected\" [iconData]=\"icons.getIcon(Icons.Check)\" class=\"check light circle\"></co-icon>\r\n <co-button *ngIf=\"hasMagnifierButton\" [iconData]=\"icons.getIcon(Icons.MagnifierPlus)\" class=\"magnify white small circle\"\r\n [stopClick]=\"true\" (click)=\"magnifierButtonClick.emit($event)\"></co-button>\r\n <div class=\"image\">\r\n <co-image [source]=\"imageData\"></co-image>\r\n <ng-content select=\"[over-image]\"></ng-content>\r\n </div>\r\n <co-level-indicator class=\"co-level-indicator\" *ngIf=\"!!level\" [model]=\"level\"></co-level-indicator>\r\n <co-button *ngIf=\"hasInfoButton\" [iconData]=\"icons.getIcon(Icons.Information)\" class=\"info white small circle\"\r\n [class.small]=\"!isSmallModus\" [stopClick]=\"true\" [class.mini]=\"isSmallModus\"\r\n (click)=\"infoButtonClick.emit($event)\"></co-button>\r\n </div>\r\n <div class=\"description-wrapper\">\r\n <span *ngIf=\"!!description\" class=\"description\" [innerText]=\"description\"></span>\r\n <span *ngIf=\"!!price\" class=\"price\" [innerText]=\"price | priceDisplay\"></span>\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class CardComponent {\r\n @Input()\r\n public imageData: string;\r\n\r\n @Input()\r\n public description: string;\r\n\r\n @Input()\r\n public price: number | string;\r\n\r\n @Input()\r\n public level: LevelIndicatorLevel;\r\n\r\n @Input()\r\n public isSelected: boolean = false;\r\n\r\n @Input() @HostBinding('class.small-modus')\r\n public isSmallModus: boolean = false;\r\n\r\n @Input()\r\n public hasMagnifierButton: boolean = false;\r\n\r\n @Input()\r\n public hasInfoButton: boolean = false;\r\n\r\n // does not emit when you click one of the predefined buttons, but emits on a click on any of our other content\r\n @Output()\r\n public readonly contentClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public readonly infoButtonClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public readonly magnifierButtonClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @HostBinding('class.co-card')\r\n public showClass: boolean = true;\r\n\r\n @HostListener('click', ['$event'])\r\n public onHostClick(event: MouseEvent): void {\r\n this.contentClick.emit(event);\r\n }\r\n\r\n public readonly Icons: any = CoreComponentsIcon;\r\n\r\n public heightCard: number = 150;\r\n\r\n constructor(public icons: IconCacheService, private _changeDetector: ChangeDetectorRef) {\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {HttpClientModule} from \"@angular/common/http\";\r\n\r\nimport {CardComponent} from \"./card.component\";\r\nimport {IconModule} from \"../icon/icon.module\";\r\nimport {ButtonModule} from \"../button/button.module\";\r\nimport {ImageModule} from \"../image/image.module\";\r\nimport {StopClickModule} from \"../../directives/stopclick/stop-click.module\";\r\nimport {LevelIndicatorModule} from \"../level-indicator/level-indicator.module\";\r\nimport {PriceDisplayPipeModule} from \"../../pipes/price-display-pipe.module\";\r\nimport { TileModule } from '../tile/tile.module';\r\nimport { IconCacheService } from '../icon/icon-cache.service';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n IconModule,\r\n ButtonModule,\r\n ImageModule,\r\n StopClickModule,\r\n LevelIndicatorModule,\r\n PriceDisplayPipeModule,\r\n TileModule\r\n ],\r\n declarations: [CardComponent],\r\n providers: [\r\n IconCacheService\r\n ],\r\n exports: [CardComponent]\r\n})\r\nexport class CardModule {\r\n}\r\n","import {CSS3DObject} from \"three/examples/jsm/renderers/CSS3DRenderer\";\r\nimport {Mesh, PlaneBufferGeometry, Vector2, Vector3} from \"three\";\r\n\r\nexport class CarouselItem {\r\n\r\n public object: CSS3DObject;\r\n public mesh: Mesh;\r\n public index: number;\r\n\r\n private _options: {\r\n tileSize: Vector2,\r\n tileBackgroundColor: any,\r\n textSelectable: boolean,\r\n tileBorderColor: any\r\n };\r\n private _element: HTMLDivElement;\r\n\r\n constructor(options, index, onClick) {\r\n this._options = options || {};\r\n this.index = index;\r\n\r\n const width = this._options.tileSize?.x || 0;\r\n const height = this._options.tileSize?.y || 0;\r\n\r\n this._element = document.createElement('div');\r\n // this._element.style.backgroundColor = this._options.tileBackgroundColor;\r\n this._element.style.width = width + \"px\";\r\n this._element.style.height = height + \"px\";\r\n\r\n this._element.addEventListener(\"click\", () => {\r\n if (onClick) {\r\n onClick(this.index);\r\n }\r\n }, false);\r\n\r\n this.object = new CSS3DObject(this._element);\r\n\r\n const geometry = new PlaneBufferGeometry(width, height);\r\n this.mesh = new Mesh(geometry, options.tileMaterial);\r\n this.mesh.castShadow = true;\r\n }\r\n\r\n public setPosition(position: Vector3): void {\r\n if (this.mesh) {\r\n this.mesh.position.copy(position);\r\n }\r\n if (this.object) {\r\n this.object.position.copy(position);\r\n }\r\n }\r\n\r\n public setContent(content): void {\r\n if (this._element) {\r\n\r\n // remove any exising tile content before setting new content\r\n while (this._element.lastElementChild) {\r\n this._element.removeChild(this._element.lastElementChild);\r\n }\r\n\r\n try {\r\n this._element.appendChild(content);\r\n }\r\n catch (err) {\r\n }\r\n }\r\n }\r\n\r\n public setVisible(visible: boolean): void {\r\n if (this.mesh) {\r\n this.mesh.visible = visible;\r\n }\r\n\r\n if (this.object) {\r\n this.object.visible = visible;\r\n }\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n ContentChildren,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n OnDestroy,\r\n Output,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {\r\n AmbientLight,\r\n Box3,\r\n Color,\r\n Fog,\r\n Mesh,\r\n MeshPhongMaterial,\r\n PerspectiveCamera,\r\n PlaneGeometry,\r\n Scene,\r\n SpotLight,\r\n Vector2,\r\n Vector3,\r\n WebGLRenderer\r\n} from \"three\";\r\nimport {CarouselItem} from \"./carouselItem\";\r\nimport {CSS3DObject, CSS3DRenderer} from \"three/examples/jsm/renderers/CSS3DRenderer\";\r\nimport * as TWEEN from \"@tweenjs/tween.js\";\r\n\r\n@Component({\r\n selector: \"co-carousel-3d\",\r\n template: `\r\n <div class=\"carousel-3d-canvas-wrapper\" #canvasContainer>\r\n <div class=\"carousel-wrapper\" #carouselWrapper>\r\n <div class=\"carousel-navigate-button left\">\r\n <div class=\"carousel-navigate-button-wrapper\" *ngIf=\"canNavigateLeft\" (click)=\"handleButtonLeftClick()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 256 512\">\r\n <path\r\n d=\"M31.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L127.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L201.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34z\"></path>\r\n </svg>\r\n </div>\r\n </div>\r\n <div class=\"carousel-navigate-button right\">\r\n <div class=\"carousel-navigate-button-wrapper\" *ngIf=\"canNavigateRight\" (click)=\"handleButtonRightClick()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 256 512\">\r\n <path\r\n d=\"M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z\"></path>\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class Carousel3dComponent implements AfterViewInit, OnDestroy {\r\n @ViewChild(\"canvasContainer\", {read: ElementRef})\r\n public canvasContainer: ElementRef;\r\n\r\n @ViewChild(\"carouselWrapper\", {read: ElementRef})\r\n public carouselWrapper: ElementRef;\r\n\r\n @ContentChildren(\"carouselItem\", {read: ElementRef, descendants: true}) set children(children) {\r\n this._elementsCreated = false;\r\n this._tileElements = children.toArray();\r\n this._buildCarousel();\r\n }\r\n\r\n @Input()\r\n public tileWidth: number;\r\n\r\n @Input()\r\n public tileHeight: number;\r\n\r\n @Input()\r\n public cameraHeight: number = 50;\r\n\r\n @Input()\r\n public shadow: boolean = false;\r\n\r\n @Input()\r\n public selectedIndex: number = 0;\r\n\r\n @Output()\r\n public indexSelected: EventEmitter<number> = new EventEmitter<number>();\r\n\r\n @HostBinding(\"class.co-carousel-3d\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n private _camera: PerspectiveCamera;\r\n private _cameraZoom: number = 0;\r\n private _backgroundColor = 0xffffff;\r\n private _sceneCss: Scene;\r\n private _scene: Scene;\r\n private _rendererCss: CSS3DRenderer;\r\n private _renderer: WebGLRenderer;\r\n private _ambientLight: boolean = true;\r\n private _tileSize: Vector2 = new Vector2();\r\n private _tileMargin: number = 20;\r\n private _targetPositions = [];\r\n private _tileElements: ElementRef[] = [];\r\n private _tileOffset = 0;\r\n private _tiles3D: CarouselItem[] = [];\r\n private _planeColor = 0xffffff;\r\n private _planeHeight = -46;\r\n private _spotLightPosition: Vector3 = new Vector3(0, 250, -200);\r\n private _fullCircle: boolean = false;\r\n private _initialized: boolean = false;\r\n private _elementsCreated: boolean = false;\r\n\r\n public canNavigateLeft: boolean = false;\r\n public canNavigateRight: boolean = false;\r\n\r\n ngAfterViewInit(): void {\r\n this._buildCarousel();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.canvasContainer = undefined;\r\n this.carouselWrapper = undefined;\r\n this._clearScenes();\r\n }\r\n\r\n public handleButtonLeftClick(): void {\r\n this._tileOffset -= 1;\r\n this._rotate(400);\r\n }\r\n\r\n public handleButtonRightClick(): void {\r\n this._tileOffset += 1;\r\n this._rotate(400);\r\n }\r\n\r\n private _buildCarousel(): void {\r\n if (!this._initialized) {\r\n this._init();\r\n }\r\n if (this._initialized && !this._elementsCreated) {\r\n this._createTiles();\r\n }\r\n this._checkNavigationButtons();\r\n this._resizeCanvasToDisplaySize();\r\n }\r\n\r\n private _init(): void {\r\n if (!this.canvasContainer || !this.canvasContainer.nativeElement) {\r\n return;\r\n }\r\n\r\n this._initCamera();\r\n this._initScene();\r\n this._initRenderer();\r\n\r\n if (this.shadow) {\r\n const geometry = new PlaneGeometry(10000, 10000);\r\n const material = new MeshPhongMaterial({color: this._planeColor, shininess: 100});\r\n const plane = new Mesh(geometry, material);\r\n plane.receiveShadow = true;\r\n plane.rotation.x = -Math.PI / 2;\r\n plane.position.y = this._planeHeight;\r\n this._scene.add(plane);\r\n\r\n const spotLight = new SpotLight(0xffffff, 0.5);\r\n spotLight.position.copy(this._spotLightPosition);\r\n spotLight.castShadow = true;\r\n spotLight.shadow.mapSize.width = 512;\r\n spotLight.shadow.mapSize.height = 512;\r\n spotLight.shadow.camera.near = 50;\r\n spotLight.shadow.camera.far = 1200;\r\n spotLight.shadow.camera.fov = 30;\r\n spotLight.penumbra = 1;\r\n this._scene.add(spotLight);\r\n }\r\n\r\n this.carouselWrapper.nativeElement.appendChild(this._rendererCss.domElement);\r\n this.canvasContainer.nativeElement.appendChild(this.carouselWrapper.nativeElement);\r\n this.canvasContainer.nativeElement.appendChild(this._renderer.domElement);\r\n\r\n this._render();\r\n this._animate();\r\n\r\n window.addEventListener(\"resize\", () => {\r\n this._resizeCanvasToDisplaySize();\r\n }, false);\r\n\r\n this._initialized = true;\r\n }\r\n\r\n private _initCamera(): void {\r\n this._camera = new PerspectiveCamera(50, this.canvasContainer.nativeElement.clientWidth / this.canvasContainer.nativeElement.clientHeight, 1, 10000);\r\n this._camera.position.z = 600 - this._cameraZoom;\r\n this._camera.position.y = this.cameraHeight;\r\n this._camera.lookAt(new Vector3());\r\n }\r\n\r\n private _initScene(): void {\r\n this._sceneCss = new Scene();\r\n this._scene = new Scene();\r\n this._scene.background = new Color(this._backgroundColor);\r\n\r\n if (this._ambientLight) {\r\n const light = new AmbientLight(0xaaaaaa); // soft white light\r\n this._scene.add(light);\r\n\r\n this._scene.fog = new Fog(this._backgroundColor, 70, 2500);\r\n }\r\n }\r\n\r\n private _initRenderer(): void {\r\n this._rendererCss = new CSS3DRenderer();\r\n this._rendererCss.setSize(this.canvasContainer.nativeElement.clientWidth, this.canvasContainer.nativeElement.clientHeight);\r\n this._rendererCss.domElement.style.position = \"absolute\";\r\n\r\n this._renderer = new WebGLRenderer({antialias: true});\r\n this._renderer.setPixelRatio(window.devicePixelRatio);\r\n this._renderer.setSize(this.canvasContainer.nativeElement.clientWidth, this.canvasContainer.nativeElement.clientHeight);\r\n this._renderer.shadowMap.enabled = true;\r\n }\r\n\r\n private _disposeObject(obj: Mesh | CSS3DObject): void {\r\n if (obj instanceof Mesh) {\r\n if (obj.geometry) {\r\n obj.geometry.dispose();\r\n }\r\n if (obj.material) {\r\n Array.isArray(obj.material)? obj.material.map(m => m.dispose()) : obj.material.dispose();\r\n }\r\n obj = undefined;\r\n } else {\r\n obj.element = undefined;\r\n obj = undefined;\r\n }\r\n }\r\n\r\n private _clearScenes(): void {\r\n const meshes: Mesh[] = this._tiles3D.map(t => t.mesh);\r\n const cssObjs: CSS3DObject[] = this._tiles3D.map(t => t.object);\r\n this._scene.remove(...meshes);\r\n meshes.map(m => this._disposeObject(m));\r\n meshes.length = 0;\r\n this._sceneCss.remove(...cssObjs);\r\n cssObjs.map(o => this._disposeObject(o));\r\n cssObjs.length = 0;\r\n this._tiles3D.length = 0;\r\n this._targetPositions.length = 0;\r\n }\r\n\r\n private _createTiles(): void {\r\n this._clearScenes();\r\n this._tileSize.x = this.tileWidth;\r\n this._tileSize.y = this.tileHeight;\r\n const tileWidth = this._tileSize.x + this._tileMargin;\r\n const numItems: number = Math.max(this._tileElements.length, 20);\r\n this._fullCircle = this._tileElements.length >= 20;\r\n let angleTileDeg: number = 360 / numItems;\r\n const circumference: number = numItems * tileWidth;\r\n const radius: number = circumference / (Math.PI * 2);\r\n const y = this.shadow ? 75 : 45;\r\n\r\n const len: number = numItems;\r\n let angleDeg: number = 90;\r\n const position: Vector3 = new Vector3();\r\n for (var i = 0; i < len; i++) {\r\n const angle = angleDeg * ( Math.PI / 180 ); // Radians\r\n const x = radius * Math.cos(angle);\r\n const z = -radius + radius * Math.sin(angle);\r\n position.set(x, y, z);\r\n this._targetPositions.push(position.clone());\r\n if (i < this._tileElements.length) {\r\n const tile: CarouselItem = new CarouselItem({tileSize: this._tileSize}, i, (idx: number) => this._rotateTo(idx));\r\n tile.setPosition(position);\r\n tile.setContent(this._tileElements[i].nativeElement);\r\n this._scene.add(tile.mesh);\r\n this._sceneCss.add(tile.object);\r\n this._tiles3D.push(tile);\r\n }\r\n angleDeg = angleDeg - angleTileDeg; // CW instead of CCW\r\n }\r\n this._adjustCameraZoom();\r\n this._tileOffset = this.selectedIndex;\r\n this._rotate(0);\r\n this._render();\r\n }\r\n\r\n private _adjustCameraZoom(): void {\r\n if (this._tiles3D.length === 0) {\r\n return;\r\n }\r\n const object = this._tiles3D[0].mesh;\r\n // offset = offset || 1.15;\r\n\r\n // get bounding box of object - this will be used to setup controls and camera\r\n const boundingBox = new Box3();\r\n boundingBox.setFromObject(object);\r\n const center: Vector3 = new Vector3();\r\n boundingBox.getCenter(center);\r\n const size: Vector3 = new Vector3();\r\n boundingBox.getSize(size);\r\n\r\n // get the max side of the bounding box (fits to width OR height as needed )\r\n const maxDim = Math.max(size.x, size.y, size.z);\r\n this._camera.position.z = Math.abs((maxDim / 2) * Math.atan(this._camera.fov / 2));\r\n this._camera.lookAt(center);\r\n }\r\n\r\n private _checkNavigationButtons(): void {\r\n const currentIdx: number = this._getSelectedIndex();\r\n this.canNavigateLeft = (currentIdx > 0) || this._fullCircle;\r\n this.canNavigateRight = (currentIdx < this._tileElements.length - 1) || this._fullCircle;\r\n }\r\n\r\n private _animate() {\r\n TWEEN.update();\r\n setTimeout(() => {\r\n this._renderer.setAnimationLoop(() => this._animate());\r\n }, 200);\r\n }\r\n\r\n private _getSelectedIndex() {\r\n return Math.max(0, Math.min(this.selectedIndex, this._tileElements.length - 1));\r\n }\r\n\r\n private _rotate(duration) {\r\n TWEEN.removeAll();\r\n\r\n for (let i: number = 0; i < this._tiles3D.length; i++) {\r\n const tile = this._tiles3D[i];\r\n\r\n if (Math.abs(this._tileOffset) > this._targetPositions.length) { // full circle\r\n this._tileOffset = this._tileOffset > 0 ? 1 : -1;\r\n }\r\n\r\n let positionIdx: number = i - this._tileOffset;\r\n if (positionIdx > this._targetPositions.length - 1) {\r\n positionIdx = positionIdx - this._targetPositions.length;\r\n } else if (positionIdx < 0) {\r\n positionIdx = this._targetPositions.length + positionIdx;\r\n }\r\n const target = this._targetPositions[positionIdx];\r\n\r\n new TWEEN.Tween(tile.object.position)\r\n .to(target, duration)\r\n .easing(TWEEN.Easing.Quartic.Out)\r\n .start();\r\n new TWEEN.Tween(tile.mesh.position)\r\n .to(target, duration)\r\n .easing(TWEEN.Easing.Quartic.Out)\r\n .start();\r\n }\r\n\r\n new TWEEN.Tween()\r\n .to({}, duration * 2)\r\n .onUpdate(() => {\r\n this._render();\r\n })\r\n .start();\r\n\r\n this.selectedIndex = this._tileOffset;\r\n this._checkNavigationButtons();\r\n this.indexSelected.next(this._getSelectedIndex());\r\n }\r\n\r\n private _rotateTo(index: number) {\r\n const current = this._getSelectedIndex();\r\n this._tileOffset += index - current;\r\n this._rotate(800);\r\n }\r\n\r\n private _resizeCanvasToDisplaySize() {\r\n setTimeout(() => {\r\n if (!this.canvasContainer || !this.canvasContainer.nativeElement) {\r\n return;\r\n }\r\n this._camera.aspect = this.canvasContainer.nativeElement.clientWidth / this.canvasContainer.nativeElement.clientHeight;\r\n this._camera.updateProjectionMatrix();\r\n this._rendererCss.setSize(this.canvasContainer.nativeElement.clientWidth, this.canvasContainer.nativeElement.clientHeight);\r\n this._renderer.setSize(this.canvasContainer.nativeElement.clientWidth, this.canvasContainer.nativeElement.clientHeight);\r\n this._render();\r\n });\r\n }\r\n\r\n private _render() {\r\n this._rendererCss.render(this._sceneCss, this._camera);\r\n this._renderer.render(this._scene, this._camera);\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {Carousel3dComponent} from \"./carousel-3d.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n Carousel3dComponent\r\n ],\r\n exports: [\r\n Carousel3dComponent\r\n ]\r\n})\r\nexport class Carousel3dModule {\r\n}\r\n","import {Component, ContentChildren, ElementRef, HostBinding, OnDestroy, ViewChild, ViewEncapsulation} from '@angular/core';\r\nimport 'hammerjs';\r\n\r\n@Component({\r\n selector: 'co-carousel',\r\n template: `\r\n <div class=\"carousel-wrapper\" #container (swipeleft)=\"handleButtonRightClick()\" (swiperight)=\"handleButtonLeftClick()\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"carousel-navigate-button left\">\r\n <div class=\"carousel-navigate-button-wrapper\" *ngIf=\"canNavigateLeft\" (click)=\"handleButtonLeftClick()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 256 512\">\r\n <path\r\n d=\"M31.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L127.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L201.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34z\"></path>\r\n </svg>\r\n </div>\r\n </div>\r\n <div class=\"carousel-navigate-button right\">\r\n <div class=\"carousel-navigate-button-wrapper\" *ngIf=\"canNavigateRight\" (click)=\"handleButtonRightClick()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 256 512\">\r\n <path\r\n d=\"M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z\"></path>\r\n </svg>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CarouselComponent implements OnDestroy {\r\n @ViewChild('container', { read: ElementRef }) set containerChild(child) {\r\n if (child) {\r\n this.container = child;\r\n this._checkNavigationButtons();\r\n this.ro.observe(this.container.nativeElement);\r\n }\r\n }\r\n\r\n @ContentChildren('carouselItem', { read: ElementRef, descendants: true }) set contentChildren(content) {\r\n if (content) {\r\n this.carouselItems = content.toArray();\r\n }\r\n this._checkNavigationButtons();\r\n }\r\n\r\n @HostBinding('class.co-carousel')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public carouselItems: ElementRef[];\r\n public canNavigateLeft: boolean = false;\r\n public canNavigateRight: boolean = false;\r\n public container: ElementRef;\r\n public activeIndex: number = 0;\r\n public ro: ResizeObserver = new ResizeObserver(entries => {\r\n this._checkNavigationButtons();\r\n });\r\n\r\n private _disableButtons: boolean = false;\r\n\r\n ngOnDestroy(): void {\r\n for (let i = this.carouselItems.length - 1; i >= 0; i--) {\r\n this.carouselItems[i] = undefined;\r\n }\r\n this.container = undefined;\r\n }\r\n\r\n public handlePress(event): void {\r\n console.log(event);\r\n }\r\n\r\n public handleSwipe(event): void {\r\n const x = Math.abs(event.deltaX) > 40 ? (event.deltaX > 0 ? 'right' : 'left'):'';\r\n const y = Math.abs(event.deltaY) > 40 ? (event.deltaY > 0 ? 'down' : 'up') : '';\r\n\r\n console.log(`${x} ${y}`);\r\n }\r\n\r\n public async handleButtonLeftClick(): Promise<void> {\r\n this._navigate();\r\n }\r\n\r\n public async handleButtonRightClick(): Promise<void> {\r\n this._navigate(true);\r\n }\r\n\r\n private async _navigate(right: boolean = false): Promise<void> {\r\n if (this._disableButtons) {\r\n return;\r\n }\r\n this._disableButtons = true;\r\n const wantedIndex: number = this.activeIndex + (right ? 1 : -1);\r\n const left: number = this._getLeftPositionFromActiveItem(wantedIndex);\r\n if (left !== null) {\r\n if (await this._scrollWrapper(left)) {\r\n this.activeIndex = wantedIndex;\r\n }\r\n }\r\n this._checkNavigationButtons();\r\n this._disableButtons = false;\r\n }\r\n\r\n private _checkNavigationButtons(): void {\r\n if (this.container && this.container.nativeElement) {\r\n this.canNavigateLeft = this.container.nativeElement.scrollLeft > 0;\r\n this.canNavigateRight = this.container.nativeElement.scrollLeft + this.container.nativeElement.clientWidth < this.container.nativeElement.scrollWidth;\r\n }\r\n }\r\n\r\n private _getLeftPositionFromActiveItem(index: number): number {\r\n const element = this.carouselItems[index];\r\n return element ? element.nativeElement.offsetLeft : null;\r\n }\r\n\r\n private async _scrollWrapper(left: number): Promise<boolean> {\r\n return new Promise((resolve: Function) => {\r\n if (this.container && this.container.nativeElement) {\r\n const oldScroll: number = this.container.nativeElement.scrollLeft;\r\n this.container.nativeElement.scrollLeft = left;\r\n setTimeout(() => {\r\n return resolve(oldScroll !== this.container.nativeElement.scrollLeft);\r\n }, 400)\r\n } else {\r\n return resolve(false);\r\n }\r\n });\r\n }\r\n}\r\n","import {Injectable, NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {CarouselComponent} from './carousel.component';\r\nimport {HAMMER_GESTURE_CONFIG, HammerGestureConfig, HammerModule} from '@angular/platform-browser';\r\n\r\nexport class CarouselHammerConfig extends HammerGestureConfig {\r\n overrides = <any> {\r\n swipe: { direction: Hammer.DIRECTION_HORIZONTAL },\r\n };\r\n}\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HammerModule\r\n ],\r\n declarations: [\r\n CarouselComponent\r\n ],\r\n exports: [\r\n CarouselComponent\r\n ],\r\n providers: [\r\n {provide: HAMMER_GESTURE_CONFIG, useClass: CarouselHammerConfig},\r\n ]\r\n})\r\nexport class CarouselModule {\r\n}\r\n","import {Component, EventEmitter, HostBinding, HostListener, Input, OnInit, Output, TemplateRef, ViewEncapsulation} from '@angular/core';\nimport {CoreComponentsIcon} from '../../core/enum/core-components-icon.enum';\nimport {animate, animateChild, AnimationTriggerMetadata, query, state, style, transition, trigger} from '@angular/animations';\n\nexport const showHideDialog = [\n window.innerWidth > 700 ?\n trigger('showHideDialog', [\n state('*', style({opacity: 1})),\n state('void', style({opacity: 0})),\n transition('void <=> *', animate(200))\n ]) :\n trigger('showHideDialog', [\n state('*', style({bottom: 0})),\n state('void', style({bottom: '-100%'})),\n transition('void <=> *', animate(200))\n ])\n]\n\n@Component({\n selector: 'co-dialog',\n template: `\n <div class=\"co-dialog-overlay\" (click)=\"handleOverlayClick($event)\"></div>\n <div class=\"co-dialog-placeholder\">\n <div class=\"co-dialog-wrapper\" [ngClass]=\"customCssClass ? customCssClass : undefined\" @showHideDialog cdkDrag>\n <div *ngIf=\"!borderless\" class=\"dialog-drag-handle\" cdkDragHandle></div>\n <div class=\"dialog-header\" *ngIf=\"!borderless\">\n <div class=\"dialog-header-caption\" *ngIf=\"headerTemplate\">\n <ng-container [ngTemplateOutlet]=\"headerTemplate\"></ng-container>\n </div>\n <div class=\"dialog-close-button\" *ngIf=\"showCloseIcon\" (click)=\"handleCloseDialog($event)\">\n <co-icon [icon]=\"icons.CrossSkinny\"></co-icon>\n </div>\n </div>\n <div class=\"dialog-content co-small-scrollbar\" [ngClass]=\"customCssClass ? customCssClass : undefined\">\n <ng-content></ng-content>\n </div>\n <div class=\"dialog-footer\" *ngIf=\"footerTemplate\">\n <ng-container [ngTemplateOutlet]=\"footerTemplate\"></ng-container>\n </div>\n </div>\n </div>\n `,\n animations: [\n trigger('showHideCoDialog', [\n transition('void => *', [\n query('.co-dialog-overlay', style({opacity: 0})),\n // query('.co-dialog-wrapper', style({bottom: '-100%'})),\n query('.co-dialog-overlay', animate(200, style({opacity: 1}))),\n query('@showHideDialog', animateChild())\n\n ]),\n transition('* => void', [\n // query('.co-dialog-wrapper', style({bottom: 0})),\n query('@showHideDialog', animateChild()),\n query('.co-dialog-overlay', animate(200, style({opacity: 0})))\n ]),\n ]),\n showHideDialog\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class CoDialogComponent implements OnInit {\n public readonly icons: typeof CoreComponentsIcon = CoreComponentsIcon;\n\n @Input()\n public customCssClass: string;\n\n @Input()\n public headerTemplate: TemplateRef<any>;\n\n @Input()\n public footerTemplate: TemplateRef<any>;\n\n @Input()\n public showCloseIcon: boolean = true;\n\n @Input()\n public modal: boolean = false;\n\n @HostBinding('class.borderless')\n @Input()\n public borderless: boolean = false;\n\n @Output()\n public readonly closeClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n @HostBinding('class.co-dialog')\n public showClass(): boolean {\n return true;\n }\n\n @HostListener('window:keydown', ['$event'])\n public handleKeyDown(event: KeyboardEvent): void {\n switch (event.code) {\n case 'Escape':\n this.handleCloseDialog();\n }\n }\n\n @HostBinding('class.is-touch')\n public isTouch: boolean = false;\n\n @HostBinding('class.is-mobile')\n public mobile: boolean = false;\n\n public state: string = 'closed';\n\n @HostBinding('@showHideCoDialog')\n\n ngOnInit(): void {\n this._checkDevice();\n }\n\n public handleCloseDialog(event?: MouseEvent): void {\n this.closeClick.emit(event);\n }\n\n public handleOverlayClick(event: MouseEvent): void {\n if (!this.modal) {\n this.closeClick.emit(event);\n }\n }\n\n private _checkDevice(): void {\n this.isTouch = ('ontouchstart' in window) ||\n (navigator.maxTouchPoints > 0) ||\n (navigator.msMaxTouchPoints > 0);\n this.mobile = window.innerWidth < 700;\n }\n}\n","import {NgModule} from \"@angular/core\";\r\nimport {CoDialogComponent} from \"./co-dialog.component\";\r\nimport {IconModule} from \"../icon/icon.module\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {DragDropModule} from '@angular/cdk/drag-drop';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule,\r\n DragDropModule\r\n ],\r\n declarations: [CoDialogComponent],\r\n exports: [CoDialogComponent]\r\n})\r\nexport class CoDialogModule {\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\nimport {CoreComponentsIcon} from \"../../core/enum/core-components-icon.enum\";\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\n\n@Component({\n selector: 'co-dialog-wizard',\n template: `\n <div class=\"co-dialog-wizard-wrapper\" [@showHideDialog]=\"animation\">\n <div class=\"dialog-header\">\n <ng-content select=\"[header]\"></ng-content>\n <div class=\"dialog-close-button\" *ngIf=\"showCloseIcon\" (click)=\"closeClick.emit($event)\">\n <co-icon [icon]=\"icons.Cancel\"></co-icon>\n </div>\n </div>\n\n <hr class=\"co-dialog-wizard-divider\">\n\n <div class=\"dialog-content\">\n <ng-content></ng-content>\n </div>\n </div>\n `,\n animations: [\n trigger('showHideDialog', [\n state('*', style({opacity: 1})),\n state('void', style({opacity: 0})),\n transition('void => *', animate('200ms 200ms')),\n transition('* => void', animate(200))\n ])\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class CoDialogWizardComponent {\n public readonly icons: typeof CoreComponentsIcon = CoreComponentsIcon;\n\n @Input()\n public showCloseIcon: boolean = true;\n\n @Input()\n public animation: boolean = true;\n\n @Output()\n public readonly closeClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n @HostBinding(\"class.co-dialog-wizard\")\n public showClass(): boolean {\n return true;\n }\n\n}\n","import {NgModule} from \"@angular/core\";\r\nimport {CoDialogWizardComponent} from \"./co-dialog-wizard.component\";\r\nimport {IconModule} from \"../icon/icon.module\";\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule\r\n ],\r\n declarations: [CoDialogWizardComponent],\r\n exports: [CoDialogWizardComponent]\r\n})\r\nexport class CoDialogWizardModule {\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n OnDestroy,\r\n Output, TemplateRef,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport { SafeHtml } from \"@angular/platform-browser\";\r\nimport { animate, state, style, transition, trigger } from \"@angular/animations\";\r\nimport {InputBoolean} from \"../../core/decorator/input-boolean.decorator\";\r\n\r\n@Component({\r\n selector: \"co-collapsible\",\r\n template: `\r\n <div class=\"collapsible-header\" [class.end]=\"expandButtonLast\" (click)=\"changeExpanded()\">\r\n <div class=\"collapsible-header-start\">\r\n <div class=\"expand-icon-wrapper\" [class.expanded]=\"expanded\" *ngIf=\"!expandButtonLast\">\r\n <co-icon class=\"expand-icon\" [iconData]=\"iconData\"></co-icon>\r\n </div>\r\n <div class=\"collapsible-title\" *ngIf=\"customHeaderContent\">\r\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\r\n </div>\r\n <div *ngIf=\"!customHeaderContent\" class=\"collapsible-title\" [textContent]=\"headerTitle\"></div>\r\n </div>\r\n <div class=\"collapsible-header-end\">\r\n <div class=\"collapsible-button-wrapper\" *ngIf=\"showButton !== undefined\" (click)=\"$event.stopPropagation()\">\r\n <button class=\"collapsible-button\" *ngIf=\"showButton\" [textContent]=\"buttonText\"\r\n (click)=\"onButtonClick()\"></button>\r\n </div>\r\n <div class=\"expand-icon-wrapper\" [class.expanded]=\"expanded\" *ngIf=\"expandButtonLast\">\r\n <co-icon class=\"expand-icon\" [iconData]=\"iconData\"></co-icon>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"collapsible-content\" *ngIf=\"expanded\" @showHideContent>\r\n <ng-content></ng-content>\r\n </div>\r\n `,\r\n animations: [\r\n trigger('showHideContent', [\r\n state('*', style({height: '*'})),\r\n state('void', style({height: 0})),\r\n transition('void <=> *', animate(200))\r\n ]),\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CollapsibleComponent implements OnDestroy {\r\n @Input()\r\n public headerContent: TemplateRef<any>;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public customHeaderContent: boolean = false;\r\n\r\n @Input()\r\n public headerTitle: string;\r\n\r\n @Input()\r\n public buttonText: string;\r\n\r\n @Input()\r\n public iconData: SafeHtml | undefined;\r\n\r\n @Input()\r\n public expandButtonLast: boolean = false;\r\n\r\n @Input()\r\n public showButton: boolean;\r\n\r\n @Input()\r\n public expanded: boolean = false;\r\n\r\n @Output()\r\n public expandedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @Output()\r\n public buttonClicked: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @HostBinding(\"class.co-collapsible\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n @HostListener(\"click\", [\"$event\"])\r\n public onHostClick(event: MouseEvent): void {\r\n\r\n }\r\n\r\n constructor(private _elementRef: ElementRef) {}\r\n\r\n public ngOnDestroy(): void {\r\n this._elementRef = undefined;\r\n }\r\n\r\n public focus(): void {\r\n this._elementRef.nativeElement.focus();\r\n }\r\n\r\n public changeExpanded(): void {\r\n this.expanded = !this.expanded;\r\n this.expandedChange.next(this.expanded);\r\n }\r\n\r\n public onButtonClick(): void {\r\n this.buttonClicked.emit();\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport { ButtonModule } from \"../button/button.module\";\r\nimport {IconModule} from \"../icon/icon.module\";\r\nimport {CollapsibleComponent} from \"./collapsible.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule,\r\n ButtonModule\r\n ],\r\n declarations: [CollapsibleComponent],\r\n exports: [CollapsibleComponent]\r\n})\r\nexport class CollapsibleModule {\r\n}\r\n","// Represents a positional model\r\nexport class ElementPosition {\r\n public top: number;\r\n public right: number;\r\n public bottom: number;\r\n public left: number;\r\n\r\n constructor (top?: number, right?: number, bottom?: number, left?: number) {\r\n this.top = top;\r\n this.right = right;\r\n this.bottom = bottom;\r\n this.left = left;\r\n }\r\n}\r\n","import {Injectable, OnDestroy} from \"@angular/core\";\r\nimport {Subject, Subscription} from \"rxjs\";\r\nimport { FormComponent } from '../../components/form/form.component';\r\nimport { ArrayUtils } from '../utils/array-utils';\r\nimport { ElementPosition } from '../model/element-position';\r\n\r\n/**\r\n * Service to use inside [providers] of some leaf component that contains multiple <co-form>'s inside, possibly nested. Gives the master\r\n * full control over submits etc. of all its inner co-forms with just one service.\r\n */\r\n@Injectable()\r\nexport class FormMasterService implements OnDestroy {\r\n // emits when ALL slaves valid-submitted\r\n public readonly validSlavesSubmit: Subject<void> = new Subject<void>();\r\n\r\n private _slaveForms: FormComponent[] = [];\r\n\r\n private _subs: Subscription[] = [];\r\n\r\n private _slaveHoldingFirstInvalidField: FormComponent;\r\n private _keyOfFirstInvalidFieldInDom: string;\r\n private _positionOfFirstInvalidFieldInDom: ElementPosition = new ElementPosition(9999, 9999, 9999, 9999);\r\n\r\n private _firstErrorTooltipSpawned: boolean = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._slaveForms.length = 0;\r\n this._subs.forEach(s => s.unsubscribe());\r\n }\r\n\r\n public addSlave(coFormComp: FormComponent): void {\r\n this._slaveForms.push(coFormComp);\r\n this._subs.push(coFormComp.invalidSubmit.subscribe(() => {\r\n this._handleFormCompInvalidity();\r\n }));\r\n this._subs.push(coFormComp.anySubmit.subscribe(() => {\r\n this._resetFirstInvalidFieldProps();\r\n }));\r\n }\r\n\r\n public removeSlave(coFormComp: FormComponent): void {\r\n ArrayUtils.RemoveElement(coFormComp, this._slaveForms);\r\n this._firstErrorTooltipSpawned = false;\r\n }\r\n\r\n // Returns true if ALL submits were succesful, false if at least one submit failed. Returns undefined if we had no slaves.\r\n public submitSlaves(): boolean {\r\n this._resetFirstInvalidFieldProps();\r\n let success: boolean = true;\r\n if (this._slaveForms) {\r\n for (let i: number = 0, len: number = this._slaveForms.length; i < len; i++) {\r\n if (!this._slaveForms[i].submit(true)) {\r\n success = false;\r\n }\r\n }\r\n }\r\n\r\n if (success) {\r\n this.validSlavesSubmit.next();\r\n } else {\r\n this._handleFormCompInvalidity();\r\n }\r\n return success;\r\n }\r\n\r\n public resetSlaves(): void {\r\n if (this._slaveForms) {\r\n for (let i: number = 0, len: number = this._slaveForms.length; i < len; i++) {\r\n this._slaveForms[i].reset();\r\n }\r\n }\r\n }\r\n\r\n public setFirstInvalidField(form: FormComponent, key: string, element: HTMLElement): void {\r\n if (!element) {\r\n return;\r\n }\r\n const clientRect: ClientRect = element.getBoundingClientRect(),\r\n scrollLeft: number = window.pageXOffset || document.documentElement.scrollLeft,\r\n scrollTop: number = window.pageYOffset || document.documentElement.scrollTop,\r\n top: number = clientRect.top + scrollTop,\r\n left: number = clientRect.left + scrollLeft;\r\n if (this._positionOfFirstInvalidFieldInDom.top >= top && this._positionOfFirstInvalidFieldInDom.left >= left) {\r\n this._slaveHoldingFirstInvalidField = form;\r\n this._keyOfFirstInvalidFieldInDom = key;\r\n this._positionOfFirstInvalidFieldInDom = new ElementPosition(top, clientRect.right, clientRect.bottom, left);\r\n }\r\n }\r\n\r\n public allSlavesValid(): boolean {\r\n if (this._slaveForms) {\r\n for (let i: number = 0, len: number = this._slaveForms.length; i < len; i++) {\r\n if (!this._slaveForms[i].isValid()) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n private _resetFirstInvalidFieldProps(): void {\r\n this._positionOfFirstInvalidFieldInDom = new ElementPosition(9999, 9999, 9999, 9999);\r\n this._keyOfFirstInvalidFieldInDom = \"\";\r\n this._slaveHoldingFirstInvalidField = undefined;\r\n this._firstErrorTooltipSpawned = false;\r\n }\r\n\r\n private _handleFormCompInvalidity(): void {\r\n if (this._slaveHoldingFirstInvalidField && !this._firstErrorTooltipSpawned) {\r\n this._slaveHoldingFirstInvalidField.showErrorTooltipOnFormGroupControl(this._keyOfFirstInvalidFieldInDom);\r\n this._firstErrorTooltipSpawned = true;\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, HostBinding, Input, OnDestroy, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {FormControl, FormGroup} from \"@angular/forms\";\r\nimport {Subject, Subscription} from \"rxjs\";\r\nimport {BaseInputComponent} from \"../base/base-input.component\";\r\nimport {FormMasterService} from \"../../core/service/form-master.service\";\r\n\r\nconst FormGroupStatus: any = {\r\n VALID: \"VALID\",\r\n INVALID: \"INVALID\",\r\n PENDING: \"PENDING\",\r\n DISABLED: \"DISABLED\"\r\n};\r\n\r\n@Component({\r\n selector: \"co-form\",\r\n template: `\r\n <ng-content></ng-content>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n// The iOneJS version of the form tag, representing a form with controls.\r\nexport class FormComponent implements AfterViewInit, OnDestroy, OnInit {\r\n @Input()\r\n set readonly(value: boolean) {\r\n this._readonly = value;\r\n this.readonlyChange.emit(value);\r\n }\r\n\r\n get readonly(): boolean {\r\n return this._readonly;\r\n }\r\n\r\n @Input()\r\n public keepInView: Element;\r\n\r\n @Output()\r\n public onChange: EventEmitter<FormControl> = new EventEmitter<FormControl>();\r\n\r\n @HostBinding(\"class.co-form\")\r\n public showClass: boolean = true;\r\n\r\n @HostBinding(\"class.submitted\")\r\n public submitted: boolean = false;\r\n\r\n // Emits true after every valid submit.\r\n @Output()\r\n public readonly validSubmit: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n // Emits void after every 'submit' (either valid or invalid, eg a submit attempt)\r\n @Output()\r\n public readonly anySubmit: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n // note: a disabled control is considered valid\r\n @Output()\r\n public readonly validityChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @Output()\r\n public readonly readonlyChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n // The Angular in-memory representation of the form controls on this form. Performs actual logic, emits 'input field' (Control) state change events, etc.\r\n public formGroup: FormGroup = new FormGroup({});\r\n\r\n @Output()\r\n public invalidSubmit: Subject<void> = new Subject<void>();\r\n\r\n private _readonly: boolean = false;\r\n private _valueChangeSub: Subscription;\r\n private _statusChangeSub: Subscription;\r\n\r\n private _init: boolean;\r\n\r\n // key: name of form inputs, values: the component for that name\r\n private _componentMap: Map<string, BaseInputComponent<any>> = new Map<string, BaseInputComponent<any>>([]);\r\n\r\n constructor(\r\n private _formMaster: FormMasterService\r\n ) {\r\n this._formMaster.addSlave(this);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._init = true;\r\n }\r\n\r\n ngOnInit(): void {\r\n this._valueChangeSub = this.formGroup.valueChanges.subscribe((e) => {\r\n this.onChange.emit(e);\r\n });\r\n this._statusChangeSub = this.formGroup.statusChanges.subscribe((e) => {\r\n if (e === FormGroupStatus.VALID || e === FormGroupStatus.DISABLED) {\r\n this.validityChange.emit(true);\r\n } else if (e === FormGroupStatus.INVALID) {\r\n this.validityChange.emit(false);\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this._valueChangeSub) {\r\n this._valueChangeSub.unsubscribe();\r\n }\r\n if (this._statusChangeSub) {\r\n this._statusChangeSub.unsubscribe();\r\n }\r\n this._componentMap.clear();\r\n this._componentMap = undefined;\r\n this._formMaster.removeSlave(this);\r\n this.keepInView = undefined;\r\n }\r\n\r\n public addFormInput(formInput: BaseInputComponent<any>): void {\r\n this.formGroup.addControl(formInput.name, formInput.control);\r\n if (formInput.elementRef) {\r\n this._componentMap.set(formInput.name, formInput);\r\n }\r\n }\r\n\r\n public removeFormInput(formInput: BaseInputComponent<any>): void {\r\n this.formGroup.removeControl(formInput.name);\r\n this._componentMap.delete(formInput.name);\r\n }\r\n\r\n public updateFormInput(formInput: BaseInputComponent<any>): void {\r\n this.formGroup.setControl(formInput.name, formInput.control);\r\n }\r\n\r\n // Marks form as touched, checks validity and returns true if indeed valid, else false. Visuals of form inputs can change after calling this.\r\n public checkUpdateValidity(): boolean {\r\n this.formGroup.markAsTouched();\r\n this.formGroup.updateValueAndValidity();\r\n if (!this.isValid()) {\r\n this._setFirstInvalidElementOnMaster();\r\n }\r\n return this.isValid();\r\n }\r\n\r\n public isTouched(): boolean {\r\n return this.formGroup.touched;\r\n }\r\n\r\n public isValid(): boolean {\r\n return this._init && this.formGroup.valid;\r\n }\r\n\r\n // @HostListener('keyup.enter', ['$event'])\r\n // onEnterKey(event: KeyboardEvent): void {\r\n // const target: HTMLElement = <HTMLElement>event.target;\r\n // if (['TEXTAREA', 'SELECT'].indexOf(target.tagName) !== -1) {\r\n // return;\r\n // }\r\n // if (target.isContentEditable) {\r\n // return;\r\n // }\r\n // if (target.tagName === 'BUTTON-COLIJN' && target.getAttribute('type') === 'submit') {\r\n // return;\r\n // }\r\n // this.submit();\r\n // }\r\n\r\n public reset(): void {\r\n this.submitted = false;\r\n this.formGroup.markAsUntouched();\r\n }\r\n\r\n // returns validity\r\n public submit(throughFormMaster: boolean = false): boolean {\r\n this.submitted = true;\r\n if (!throughFormMaster) {\r\n this.anySubmit.emit();\r\n }\r\n if (this.checkUpdateValidity()) {\r\n this.validSubmit.emit();\r\n } else {\r\n if (!throughFormMaster) {\r\n this.invalidSubmit.next();\r\n }\r\n }\r\n return this.isValid();\r\n }\r\n\r\n public showErrorTooltipOnFormGroupControl(key: string): void {\r\n for (const controlKey in this.formGroup.controls) {\r\n if (this.formGroup.controls.hasOwnProperty(controlKey)) {\r\n if (this._componentMap.has(controlKey)) {\r\n const comp: BaseInputComponent<any> = this._componentMap.get(controlKey);\r\n for (const errorKey in this.formGroup.controls[controlKey].errors) {\r\n if (this.formGroup.controls[controlKey].errors.hasOwnProperty(errorKey)) {\r\n const error: any = this.formGroup.controls[controlKey].errors[errorKey];\r\n if (controlKey === key) {\r\n comp.showValidationError(error);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n private _setFirstInvalidElementOnMaster(): void {\r\n const elements: any = Array.from(this._componentMap);\r\n const len: number = elements.length;\r\n for (let i: number = 0; i < len; i++) {\r\n const key: string = elements[i][0];\r\n const value: BaseInputComponent<any> = elements[i][1];\r\n if (this.formGroup.controls.hasOwnProperty(key) && this.formGroup.controls[key].status.toLowerCase() === \"invalid\") {\r\n this._formMaster.setFirstInvalidField(this, key, value.elementRef ? value.elementRef.nativeElement : undefined);\r\n return;\r\n }\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\nimport {FormComponent} from \"./form.component\";\r\nimport {FormMasterService} from \"../../core/service/form-master.service\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n FormComponent\r\n ],\r\n providers: [\r\n FormMasterService\r\n ],\r\n exports: [\r\n FormComponent\r\n ]\r\n})\r\nexport class FormModule {\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from '@angular/core';\r\nimport {CoreComponentsIcon} from \"../../core/enum/core-components-icon.enum\";\r\nimport {IconCacheService} from \"../icon/icon-cache.service\";\r\nimport {InputBoolean} from '../../core/decorator/input-boolean.decorator';\r\n\r\n@Component({\r\n selector: \"co-grid-toolbar\",\r\n template: `\r\n <div class=\"grid-toolbar-wrapper\">\r\n <co-icon *ngIf=\"showEdit\" [iconData]=\"iconsService.getIcon(icons.PenToSquareSolid)\" [title]=\"'edit'\" (click)=\"editClick.emit($event)\"></co-icon>\r\n <co-icon *ngIf=\"showEdit\" [iconData]=\"iconsService.getIcon(icons.RotateLeftSolid)\" [title]=\"'cancel'\" (click)=\"cancelClick.emit()\"></co-icon>\r\n <co-icon *ngIf=\"showEdit\" [iconData]=\"iconsService.getIcon(icons.FloppyDiskSolid)\" [title]=\"'save'\" (click)=\"saveClick.emit()\"></co-icon>\r\n <co-icon *ngIf=\"showAdd || showEdit\" [iconData]=\"iconsService.getIcon(icons.PlusSolid)\" [title]=\"'add'\" (click)=\"addClick.emit()\"></co-icon>\r\n <co-icon *ngIf=\"showDelete\" [iconData]=\"iconsService.getIcon(icons.TrashCanSolid)\" [title]=\"'delete'\" [class.disabled]=\"!deleteEnabled\" (click)=\"handleDeleteClick()\"></co-icon>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class GridToolbarComponent {\r\n public readonly icons: typeof CoreComponentsIcon = CoreComponentsIcon;\r\n\r\n @Input()\r\n public showEdit: boolean = false;\r\n\r\n @Input()\r\n public showAdd: boolean = false;\r\n\r\n @Input()\r\n public showDelete: boolean = false;\r\n\r\n @Input()\r\n public deleteEnabled: boolean = false;\r\n\r\n @Output()\r\n public editClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public cancelClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output()\r\n public saveClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output()\r\n public addClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output()\r\n public deleteClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @HostBinding(\"class.co-grid-toolbar\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n constructor(public iconsService: IconCacheService) {\r\n }\r\n\r\n public handleDeleteClick(): void {\r\n if (this.deleteEnabled) {\r\n this.deleteClick.next();\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {GridToolbarComponent} from \"./grid-toolbar.component\";\r\nimport {IconModule} from \"../icon/icon.module\";\r\nimport {ButtonModule} from \"../button/button.module\";\r\nimport {CommonModule} from '@angular/common';\r\n\r\n@NgModule({\r\n imports: [\r\n IconModule,\r\n ButtonModule,\r\n CommonModule\r\n ],\r\n declarations: [\r\n GridToolbarComponent\r\n ],\r\n exports: [\r\n GridToolbarComponent\r\n ]\r\n})\r\nexport class GridToolbarModule {\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {SafeHtml} from \"@angular/platform-browser\";\r\n\r\n@Component({\r\n selector: \"co-grid-toolbar-button\",\r\n template: `\r\n <div class=\"grid-toolbar-button-wrapper\" [class.disabled]=\"disabled\" (click)=\"buttonClick.next()\">\r\n <co-icon [iconData]=\"iconData\"></co-icon>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class GridToolbarButtonComponent {\r\n\r\n @Input()\r\n public iconData: SafeHtml | undefined;\r\n\r\n @Input()\r\n public disabled: boolean = false;\r\n\r\n @Output()\r\n public buttonClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @HostBinding(\"class.co-grid-toolbar-button\")\r\n public showClass() {\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {GridToolbarButtonComponent} from \"./grid-toolbar-button.component\";\r\nimport {IconModule} from \"../icon/icon.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n IconModule,\r\n ],\r\n declarations: [\r\n GridToolbarButtonComponent\r\n ],\r\n exports: [\r\n GridToolbarButtonComponent\r\n ]\r\n})\r\nexport class GridToolbarButtonModule {\r\n}\r\n","// Direction type for regular straight directions.\r\nexport enum CoDirection {\r\n Right = \"right\",\r\n Left = \"left\",\r\n Up = \"top\",\r\n Down = \"bottom\",\r\n}","import {CoDirection} from \"./co-direction\";\r\n\r\n// Represents a bi-directional orientation.\r\nexport enum CoOrientation {\r\n Horizontal = \"horizontal\",\r\n Vertical = \"vertical\",\r\n}\r\n\r\nconst _orientationsOfDirections: Map<CoDirection, CoOrientation> = new Map<CoDirection, CoOrientation>([\r\n [CoDirection.Right, CoOrientation.Vertical],\r\n [CoDirection.Left, CoOrientation.Vertical],\r\n [CoDirection.Up, CoOrientation.Horizontal],\r\n [CoDirection.Down, CoOrientation.Horizontal]\r\n]);\r\n\r\nexport function OrientationOfDirection(direction: CoDirection): CoOrientation {\r\n return _orientationsOfDirections.get(direction);\r\n}","import { CoDirection } from \"../enum/co-direction\";\r\n\r\n// @dynamic\r\nexport class DirectionEnumUtils {\r\n private static readonly _OppositeDirections: Map<CoDirection, CoDirection> = new Map<CoDirection, CoDirection>([\r\n [CoDirection.Right, CoDirection.Left],\r\n [CoDirection.Left, CoDirection.Right],\r\n [CoDirection.Up, CoDirection.Down],\r\n [CoDirection.Down, CoDirection.Up]\r\n ]);\r\n\r\n public static OppositeOf(direction: CoDirection): CoDirection {\r\n return this._OppositeDirections.get(direction);\r\n }\r\n}\r\n","import { Component, HostBinding, Input, ViewEncapsulation } from \"@angular/core\";\r\nimport { InputBoolean } from \"../../core/decorator/input-boolean.decorator\";\r\nimport { CoDirection } from \"../../core/enum/co-direction\";\r\nimport { CoOrientation, OrientationOfDirection } from \"../../core/enum/co-orientation\";\r\nimport { CoreComponentsIcon } from \"../../core/enum/core-components-icon.enum\";\r\nimport { DirectionEnumUtils } from \"../../core/utils/direction-enum-utils\";\r\n\r\n@Component({\r\n selector: \"co-icon-collapse-handle\",\r\n template: `\r\n <div class=\"wrap\">\r\n <co-icon [icon]=\"Icons.ArrowPointUp\" [class]=\"'first ' + arrowDirection + ' ' + iconColorClass\"></co-icon>\r\n <co-icon *ngIf=\"twoArrows\" [icon]=\"Icons.ArrowPointUp\"\r\n [class]=\"'second ' + oppositeArrowDirection + ' ' + iconColorClass\"></co-icon>\r\n </div>\r\n <div class=\"absolute-fill-parent\" md-ripple></div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class IconCollapseHandleComponent {\r\n\r\n @HostBinding(\"class.co-icon-collapse-handle\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n @Input()\r\n public orientation: CoOrientation = CoOrientation.Horizontal;\r\n\r\n @Input()\r\n public set arrowDirection(arrowDirection: CoDirection) {\r\n this._arrowDirection = arrowDirection;\r\n this._oppositeArrowDirection = DirectionEnumUtils.OppositeOf(this._arrowDirection);\r\n }\r\n\r\n public get arrowDirection(): CoDirection {\r\n return this._arrowDirection;\r\n }\r\n\r\n @Input() @InputBoolean() @HostBinding(\"class.two-arrows\")\r\n public twoArrows: boolean = false;\r\n\r\n @HostBinding(\"class.vertical\")\r\n public get isVertical(): boolean {\r\n return this.orientation === CoOrientation.Vertical;\r\n }\r\n\r\n @HostBinding(\"class.arrows-orientated-horizontally\")\r\n public get arrowsOrientatedHorizontally(): boolean {\r\n return OrientationOfDirection(this._arrowDirection) === CoOrientation.Horizontal;\r\n }\r\n\r\n public get oppositeArrowDirection(): CoDirection {\r\n return this._oppositeArrowDirection;\r\n }\r\n\r\n public readonly iconColorClass: string = \"action-color\";\r\n\r\n @HostBinding(\"class.hidden\")\r\n public hidden: boolean;\r\n\r\n public required: boolean;\r\n public readonly: boolean;\r\n\r\n\r\n public readonly Icons: typeof CoreComponentsIcon = CoreComponentsIcon;\r\n\r\n private _arrowDirection: CoDirection = CoDirection.Up;\r\n private _oppositeArrowDirection: CoDirection = CoDirection.Down;\r\n\r\n constructor() {\r\n }\r\n\r\n\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { RippleModule } from \"../../directives/ripple/ripple.module\";\r\nimport { IconModule } from \"../icon/icon.module\";\r\nimport { IconCollapseHandleComponent } from \"./icon-collapse-handle.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule,\r\n RippleModule\r\n ],\r\n declarations: [\r\n IconCollapseHandleComponent\r\n ],\r\n exports: [\r\n IconCollapseHandleComponent\r\n ]\r\n})\r\nexport class IconCollapseHandleModule {\r\n}\r\n","export enum FilterItemMode {\r\n\r\n //This mode makes the Filter display a multi select list\r\n // Input will be passed along directly as a string with the following syntax: \"?>='choice 1', ?<='choice2'\"\r\n Filterlist = 'filterlist',\r\n\r\n //This mode makes the Filter display a single select list\r\n // Input will be passed along directly as a simple string.\r\n SingleSelectList = 'singleSelectList',\r\n\r\n //This mode makes the Filter display a multi select list\r\n // Input will be passed along directly as a simple string.\r\n SelectListWithStringCollectionOutput = 'selectListWithStringCollectionOutput',\r\n\r\n //This mode makes the Filter display a multi select list\r\n // Available choices will need to have their identifying value be a number. The summation of all these numbers will be passed along.\r\n SelectListWithNumberOutput = 'selectListWithNumberOutput',\r\n\r\n //This mode makes the Filter display a min and max field. This should eventually be a slider.\r\n // input is passed along as \"min - max\"\r\n Slider = 'slider',\r\n\r\n //This mode makes the Filter display a min and max field. This should eventually be a slider.\r\n // input is passed along as \"min - max\" This version can be emptied.\r\n NullableSlider = 'nullableSlider',\r\n\r\n //This mode makes the Filter display a simple textfield.\r\n // The value typed into the field will be passed along directly as a string.\r\n TextField = 'textField',\r\n\r\n //This mode makes the Filter display a simple dateField.\r\n // Field input will be passed along directly as a date object.\r\n DateField = 'dateField',\r\n\r\n //This mode makes the Filter display a dateRange field.\r\n // Field input will be passed along directly as a string with the following syntax: \"?>='01-08-2022'& ?<='31-08-2022'\"\r\n DateRangeField = 'dateRangeField',\r\n\r\n //This mode makes the Filter display a simple checkBox.\r\n // It's value will be passed along directly as a boolean.\r\n Checkbox = 'checkbox',\r\n\r\n //This mode makes the Filter display a simple checkBox.\r\n // It's value will be passed along as either a 'T' or and 'F'.\r\n CheckboxToSimpleText = 'checkboxToSimpleText',\r\n\r\n //This mode makes the Filter display a simple checkBox.\r\n // It's value will be passed along as either a \"?='T'\" or and \"?='F'\".\r\n CheckboxToText = 'checkboxToText',\r\n\r\n //This mode makes the Filter display a simple checkBox.\r\n // It's value will be passed along as either a 1 or and 0.\r\n CheckboxToBinary = 'checkboxToBinary',\r\n\r\n\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { FormInputUserModelChangeListenerService } from '../../core/service/form-input-user-change-listener.service';\r\nimport { NgZoneWrapperService } from '../../core/service/ng-zone-wrapper.service';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule\r\n ],\r\n declarations: [\r\n\r\n ],\r\n exports: [],\r\n providers: [\r\n FormInputUserModelChangeListenerService,\r\n NgZoneWrapperService\r\n ]\r\n})\r\nexport class BaseModule {\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ComponentFactoryResolver,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n HostBinding, HostListener,\r\n Input,\r\n Optional,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {BaseInputComponent} from '../base/base-input.component';\r\nimport {FormComponent} from '../form/form.component';\r\nimport {FormInputUserModelChangeListenerService} from '../../core/service/form-input-user-change-listener.service';\r\nimport {NgZoneWrapperService} from '../../core/service/ng-zone-wrapper.service';\r\nimport {SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME} from '../../interfaces/screen-config-adapter-component-interface-name';\r\nimport {IconCacheService} from '../icon/icon-cache.service';\r\nimport {OverlayService} from '../../service/overlay.service';\r\n\r\n@Component({\r\n selector: 'co-input-checkbox',\r\n template: `\r\n <div class=\"checkbox\" (click)=\"handleModelChange($event)\" [class.checked]=\"model\">\r\n <div class=\"checkmark\" [class.show]=\"model\"></div>\r\n </div>\r\n <div class=\"label\" [class.clickable]=\"clickableLabel\" *ngIf=\"label\" [textContent]=\"label\"\r\n (click)=\"clickableLabel ? handleModelChange($event) : true\"></div>\r\n <input #input [ngModel]=\"model\" [readonly]=\"readonly\" [disabled]=\"disabled\" type=\"hidden\">\r\n `,\r\n providers: [\r\n OverlayService,\r\n {\r\n provide: SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME,\r\n useExisting: forwardRef(() => InputCheckboxComponent)\r\n }, {\r\n provide: BaseInputComponent,\r\n useExisting: InputCheckboxComponent\r\n }],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class InputCheckboxComponent extends BaseInputComponent<boolean> {\r\n @Input()\r\n public cssClass: string;\r\n\r\n @Input()\r\n public clickableLabel: boolean = true;\r\n\r\n @Output()\r\n public modelChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @HostBinding('class.co-input-checkbox')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n public handleClick(event: MouseEvent) {\r\n this.handleModelChange(event);\r\n }\r\n\r\n constructor(\r\n @Optional() public formComponent: FormComponent,\r\n public iconCacheService: IconCacheService,\r\n protected changeDetector: ChangeDetectorRef,\r\n protected overlayService: OverlayService,\r\n protected componentFactoryResolver: ComponentFactoryResolver,\r\n protected formUserChangeListener?: FormInputUserModelChangeListenerService,\r\n protected ngZoneWrapper?: NgZoneWrapperService,\r\n public elementRef?: ElementRef,\r\n ) {\r\n super(changeDetector, componentFactoryResolver, overlayService, formUserChangeListener, ngZoneWrapper, elementRef);\r\n }\r\n\r\n public handleModelChange(event: MouseEvent): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (!this.readonly && !this.disabled) {\r\n this.setModel(!this.model);\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { BaseModule } from '../base/base.module';\r\nimport { InputCheckboxComponent } from './input-checkbox.component';\r\n\r\n@NgModule({\r\n imports: [\r\n BaseModule,\r\n CommonModule,\r\n FormsModule\r\n ],\r\n declarations: [InputCheckboxComponent],\r\n exports: [InputCheckboxComponent]\r\n})\r\nexport class InputCheckboxModule {\r\n}\r\n","import {Directive, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\r\nimport {SafeHtml} from \"@angular/platform-browser\";\r\nimport {BaseInputComponent} from \"../base/base-input.component\";\r\nimport {CoreComponentsIcon} from \"../../core/enum/core-components-icon.enum\";\r\n\r\n@Directive()\r\nexport abstract class BaseInputDatePickerDirective extends BaseInputComponent<any> implements OnInit {\r\n public readonly rightIcon: CoreComponentsIcon = CoreComponentsIcon.CalendarDayRegular;\r\n\r\n @ViewChild(\"parentForOverlay\", {read: ElementRef})\r\n public parentForOverlay: ElementRef;\r\n\r\n @Input()\r\n public locale: string = 'en-EN';\r\n\r\n @Input()\r\n public placeholder: string;\r\n\r\n @Input()\r\n public leftIcon: CoreComponentsIcon;\r\n\r\n @Input()\r\n public leftIconData: SafeHtml;\r\n\r\n @Output()\r\n public leftIconClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Input()\r\n public closeAfterDateSelection: boolean = true;\r\n\r\n public showCalendar: boolean;\r\n}\r\n","import {Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"co-calendar\",\r\n template: `\r\n <div class=\"date-picker-container\" [overlay]=\"parentForOverlay\" (clickOutside)=\"clickedOutside.next()\">\r\n <calendar-template\r\n [locale]=\"locale\"\r\n [highlightDaysBetweenDates]=\"highlightDaysBetweenDates\"\r\n [selectedDate]=\"selectedDate\"\r\n [secondSelectedDate]=\"secondSelectedDate\"\r\n [secondHoveringDate]=\"secondHoveringDate\"\r\n (dateSelected)=\"dateSelected.next($event)\"\r\n (hoveringDate)=\"hoveringDate.next($event)\"\r\n ></calendar-template>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CalendarComponent {\r\n\r\n @Input()\r\n public locale: string = \"nl-NL\";\r\n\r\n @Input()\r\n public parentForOverlay: ElementRef;\r\n\r\n @Input()\r\n public highlightDaysBetweenDates: boolean = false;\r\n\r\n @Input()\r\n public selectedDate: Date;\r\n\r\n @Input()\r\n public secondSelectedDate: Date;\r\n\r\n @Input()\r\n public secondHoveringDate: Date;\r\n\r\n @Output()\r\n public dateSelected: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n @Output()\r\n public hoveringDate: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n @Output()\r\n public clickedOutside: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @HostBinding(\"class.co-calendar\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n}\r\n","import {\r\n Component,\r\n ComponentRef,\r\n forwardRef,\r\n HostBinding,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME} from '../../interfaces/screen-config-adapter-component-interface-name';\r\nimport {OverlayService} from '../../service/overlay.service';\r\nimport {BaseInputDatePickerDirective} from \"../base-input-date-picker/base-input-date-picker.directive\";\r\nimport {CalendarComponent} from \"../calendar/calendar.component\";\r\n\r\n@Component({\r\n selector: 'co-input-date',\r\n template: `\r\n <co-input-text (clickOutside)=\"toggleCalendar(false)\" overlayParent #parentForOverlay=\"overlayParent\"\r\n [hidden]=\"hidden\"\r\n [readonly]=\"readonly\"\r\n [(model)]=\"modelAsString\"\r\n [rightIcon]=\"rightIcon\"\r\n [leftIcon]=\"leftIcon\"\r\n [leftIconData]=\"leftIconData\"\r\n [pattern]=\"'yyyy-MM-dd'\"\r\n [type]=\"'date'\"\r\n [placeholder]=\"placeholder\"\r\n (leftIconClick)=\"leftIconClick.emit($event)\"\r\n (rightIconClick)=\"toggleCalendar(true)\"\r\n (blur)=\"handleDateChange(modelAsString)\"\r\n (clearIconClick)=\"handleClearIconClicked()\"\r\n ></co-input-text>\r\n `,\r\n providers: [\r\n OverlayService, {\r\n provide: SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME, useExisting: forwardRef(() => InputDatePickerComponent)\r\n }, {\r\n provide: BaseInputDatePickerDirective,\r\n useExisting: InputDatePickerComponent\r\n }],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class InputDatePickerComponent extends BaseInputDatePickerDirective {\r\n\r\n public modelAsString: string;\r\n\r\n private _calendarComponentRef: ComponentRef<CalendarComponent>;\r\n\r\n @HostBinding('class.co-input-date')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public handleDateSelected(date: Date): void {\r\n this.setModel(date);\r\n if (this.closeAfterDateSelection) {\r\n this.toggleCalendar(false);\r\n }\r\n }\r\n\r\n public toggleCalendar(show: boolean): void {\r\n if (this.readonly) {\r\n return;\r\n }\r\n\r\n this.showCalendar = show;\r\n\r\n if (this.showCalendar) {\r\n this._calendarComponentRef = this.overlayService.createComponent(CalendarComponent, {\r\n parentForOverlay: this.parentForOverlay,\r\n selectedDate: this.model\r\n }, {\r\n dateSelected: (event) => this.handleDateSelected(event),\r\n clickedOutside: () => this.toggleCalendar(false)\r\n });\r\n } else {\r\n this.overlayService.removeComponent(this._calendarComponentRef);\r\n }\r\n }\r\n\r\n public handleDateChange(value: string): void {\r\n if (value) {\r\n this.setModel(new Date(value));\r\n }\r\n }\r\n\r\n protected modelSet(): void {\r\n this.setModelAsString();\r\n }\r\n\r\n private setModelAsString(): void {\r\n if (this.model) {\r\n const year = this.model.toLocaleString(\"default\", { year: \"numeric\" });\r\n const month = this.model.toLocaleString(\"default\", { month: \"2-digit\" });\r\n const day = this.model.toLocaleString(\"default\", { day: \"2-digit\" });\r\n this.modelAsString = `${year}-${month}-${day}`;\r\n } else {\r\n this.modelAsString = null;\r\n }\r\n }\r\n\r\n public handleClearIconClicked() {\r\n this.setModel(undefined);\r\n }\r\n}\r\n","import {Directive, ElementRef, OnDestroy} from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[overlayParent]',\r\n exportAs: 'overlayParent'\r\n})\r\nexport class OverlayParentDirective implements OnDestroy {\r\n\r\n public elementRef: ElementRef;\r\n\r\n constructor(\r\n elementRef: ElementRef\r\n ) {\r\n this.elementRef = elementRef;\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this.elementRef = undefined;\r\n }\r\n}\r\n","import {Directive, ElementRef, Input, OnDestroy, OnInit} from '@angular/core';\r\nimport {OverlayParentDirective} from './overlay-parent.directive';\r\n\r\n@Directive({\r\n selector: \"[overlay]\"\r\n})\r\nexport class OverlayDirective implements OnDestroy, OnInit {\r\n\r\n @Input(\"overlay\")\r\n public set parent(value: OverlayParentDirective | ElementRef | HTMLElement) {\r\n if (value) {\r\n if (value instanceof ElementRef) {\r\n this._parent = value.nativeElement;\r\n } else if (value instanceof OverlayParentDirective) {\r\n this._parent = value.elementRef.nativeElement;\r\n } else {\r\n this._parent = value;\r\n }\r\n } else {\r\n if (this._parent && this._resizeObserver) {\r\n this._resizeObserver.disconnect();\r\n }\r\n }\r\n }\r\n\r\n @Input()\r\n public view: HTMLElement;\r\n\r\n /**\r\n * true; Element is added to the parent template\r\n * false; Element is added to the bottom of the DOM\r\n */\r\n @Input()\r\n public inline: boolean = false;\r\n\r\n @Input()\r\n public keepInView: boolean = false;\r\n\r\n @Input()\r\n public inheritWidth: boolean = false;\r\n\r\n @Input()\r\n public rightAlign: boolean = false;\r\n\r\n @Input()\r\n public fullSize: boolean = false;\r\n\r\n private _elementRef: ElementRef;\r\n private _resizeObserver: ResizeObserver;\r\n private _intersectionObserver: IntersectionObserver;\r\n private _parent: HTMLElement;\r\n\r\n constructor(\r\n elementRef: ElementRef\r\n ) {\r\n this._elementRef = elementRef;\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n document.removeEventListener(\"scroll\", this.handleScroll, true);\r\n if (this._intersectionObserver) {\r\n this._intersectionObserver.disconnect();\r\n }\r\n if (this._resizeObserver) {\r\n this._resizeObserver.disconnect();\r\n }\r\n this._elementRef = undefined;\r\n this._parent = undefined;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this._elementRef || !this._elementRef.nativeElement) {\r\n return;\r\n }\r\n document.addEventListener(\"scroll\", this.handleScroll, true);\r\n this._checkAndPlaceElement();\r\n this._resizeObserver = new ResizeObserver(\r\n (entries) => {\r\n this._checkAndPlaceElement();\r\n }\r\n );\r\n this._intersectionObserver = new IntersectionObserver(\r\n (entries: IntersectionObserverEntry[]) => {\r\n if (entries && entries.length > 0) {\r\n if (entries[0].isIntersecting === false) {\r\n this._elementRef.nativeElement.style.opacity = 0; // hide cause parent is not visible\r\n } else {\r\n this._elementRef.nativeElement.style.opacity = 1;\r\n }\r\n }\r\n }, {\r\n root: null\r\n }\r\n );\r\n if (this._parent) {\r\n this._intersectionObserver.observe(this._parent); // observe parent for visibility\r\n }\r\n this._resizeObserver.observe(document.body);\r\n }\r\n\r\n public handleScroll = (event: Event) => {\r\n this._checkAndPlaceElement();\r\n }\r\n\r\n private _checkAndPlaceElement(): void {\r\n if (this._elementRef && this._elementRef.nativeElement && this._parent) {\r\n const elementRect: ClientRect = this._elementRef.nativeElement.getBoundingClientRect();\r\n const parentBoundingRect: ClientRect = this._parent.getBoundingClientRect();\r\n let parentRect: {} = {};\r\n if (!this.inline) {\r\n parentRect = {\r\n bottom: parentBoundingRect.bottom,\r\n right: parentBoundingRect.right,\r\n left: parentBoundingRect.left,\r\n top: parentBoundingRect.top,\r\n width: parentBoundingRect.width\r\n }\r\n } else {\r\n parentRect = {\r\n bottom: this._parent.offsetTop + parentBoundingRect.height,\r\n right: this._parent.offsetLeft + parentBoundingRect.width,\r\n left: this._parent.offsetLeft,\r\n top: this._parent.offsetTop,\r\n width: parentBoundingRect.width\r\n }\r\n }\r\n this._placeElement(window.innerHeight, window.innerWidth, parentRect, elementRect);\r\n }\r\n }\r\n\r\n private _placeElement(bottom: number, right: number, parentRect: any, elementRect: ClientRect): void {\r\n this._elementRef.nativeElement.style.position = \"fixed\";\r\n if (bottom < parentRect.bottom + elementRect.height) { // make sure it fits at the bottom\r\n this._elementRef.nativeElement.style.top = (parentRect.top - elementRect.height) + \"px\";\r\n this._elementRef.nativeElement.classList.add('top');\r\n } else {\r\n this._elementRef.nativeElement.classList.remove('top');\r\n this._elementRef.nativeElement.style.top = parentRect.bottom + \"px\";\r\n }\r\n if (this.inheritWidth) {\r\n this._elementRef.nativeElement.style.width = parentRect.width + \"px\";\r\n }\r\n if (this.rightAlign) {\r\n let left: number = (parentRect.right - elementRect.width);\r\n if (this.keepInView) {\r\n const viewToKeepIn: any = this.view ? this.view : window;\r\n const viewLeft: number = viewToKeepIn.offsetLeft || 0;\r\n left = Math.max(left, viewLeft);\r\n }\r\n this._elementRef.nativeElement.style.left = left + \"px\";\r\n } else if (this.fullSize) {\r\n this._elementRef.nativeElement.style.left = \"0px\";\r\n } else {\r\n this._elementRef.nativeElement.style.left = parentRect.left + \"px\";\r\n }\r\n if (this.keepInView) {\r\n const viewToKeepIn: any = this.view ? this.view : window;\r\n const viewWidth: number = viewToKeepIn.innerWidth || viewToKeepIn.clientWidth;\r\n if (elementRect.right > viewWidth) {\r\n //see if we can move it to the left\r\n if (((viewWidth - elementRect.width) > 0) && !this.fullSize) {\r\n this._elementRef.nativeElement.style.left = (viewWidth - elementRect.width) + \"px\";\r\n } else { //resize so it fits into view\r\n this._elementRef.nativeElement.style.width = viewWidth + \"px\";\r\n this._elementRef.nativeElement.style.left = viewToKeepIn.offsetLeft + \"px\";\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {OverlayDirective} from './overlay.directive';\r\nimport {OverlayParentDirective} from './overlay-parent.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n OverlayDirective,\r\n OverlayParentDirective\r\n ],\r\n exports: [\r\n OverlayDirective,\r\n OverlayParentDirective\r\n ]\r\n})\r\nexport class OverlayModule {\r\n}\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Component,\r\n ComponentFactoryResolver,\r\n ElementRef, EventEmitter,\r\n forwardRef,\r\n HostBinding, HostListener,\r\n Input,\r\n Optional, Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {BaseInputComponent} from '../base/base-input.component';\r\nimport {SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME} from '../../interfaces/screen-config-adapter-component-interface-name';\r\nimport {CoreComponentsIcon} from '../../core/enum/core-components-icon.enum';\r\nimport {KeyboardCode} from '../../core/enum/keyboard-code.enum';\r\nimport {FormInputUserModelChangeListenerService} from '../../core/service/form-input-user-change-listener.service';\r\nimport {NgZoneWrapperService} from '../../core/service/ng-zone-wrapper.service';\r\nimport {FormComponent} from '../form/form.component';\r\nimport {SafeHtml} from '@angular/platform-browser';\r\nimport {OverlayService} from '../../service/overlay.service';\r\n\r\n@Component({\r\n selector: 'co-input-text',\r\n template: `\r\n <div class=\"input-text-wrapper\" overlayParent #parentForOverlay=\"overlayParent\">\r\n <co-icon *ngIf=\"leftIcon || leftIconData\" class=\"input-text-left-icon\" [icon]=\"leftIcon\" [iconData]=\"leftIconData\"\r\n (click)=\"handleLeftIconClick($event)\" (mousedown)=\"handleLeftIconMouseDown($event)\"\r\n (mouseup)=\"handleLeftIconMouseUp($event)\"></co-icon>\r\n <div *ngIf=\"leftIcon || leftIconData\" class=\"spacer left-icon\"></div>\r\n <div class=\"input-wrapper\">\r\n <label *ngIf=\"showPlaceholderOnFocus || (!showPlaceholderOnFocus && !hasValue && !focused)\"\r\n [textContent]=\"placeholder\"></label>\r\n <input #input\r\n [class.input-input-hidden]=\"useContent\"\r\n [ngClass]=\"align\"\r\n [type]=\"digitsOnly ? 'number' : type\"\r\n [pattern]=\"type === 'date' ? pattern : undefined\"\r\n [ngModel]=\"model\"\r\n [min]=\"(type === 'number' || type === 'date') && this.min ? this.min : undefined\"\r\n [max]=\"(type === 'number' || type === 'date') && this.max ? this.max : undefined\"\r\n [readonly]=\"readonly\"\r\n [required]=\"required\"\r\n (ngModelChange)=\"modelChange.emit($event)\"\r\n (keydown)=\"digitsOnly ? excludeNonDigitChars($event) : true\"\r\n (keyup)=\"keyUp.emit($event)\"\r\n >\r\n <ng-container *ngIf=\"useContent\">\r\n <div class=\"input-content-wrapper\">\r\n <ng-content></ng-content>\r\n </div>\r\n </ng-container>\r\n <co-icon [class.show]=\"showClearButton && hasValue && focused && !readonly\" class=\"input-text-clear-button\" [icon]=\"icons.CrossSkinny\" (click)=\"clearInput($event)\"></co-icon>\r\n <div class=\"required-indicator\"></div>\r\n </div>\r\n <div *ngIf=\"rightIcon || rightIconData\" class=\"spacer right-icon\"></div>\r\n <co-icon *ngIf=\"rightIcon || rightIconData\" class=\"input-text-right-icon\" [icon]=\"rightIcon\" [iconData]=\"rightIconData\"\r\n (click)=\"handleRightIconClick($event)\" (mousedown)=\"handleRightIconMouseDown($event)\" (mouseup)=\"handleRightIconMouseUp($event)\"></co-icon>\r\n </div>\r\n <!--\r\n <co-commit-buttons *ngIf=\"showSaveCancel && focused && canSaveOrCancel\"\r\n [committing]=\"committing\"\r\n [commitFinished]=\"commitFinished\"\r\n (commitClick)=\"commitClick($event)\"\r\n (cancelClick)=\"cancelClick($event)\"\r\n >\r\n </co-commit-buttons>\r\n -->\r\n `,\r\n providers: [\r\n OverlayService, {\r\n provide: SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME,\r\n useExisting: forwardRef(() => InputTextComponent)\r\n }, {\r\n provide: BaseInputComponent,\r\n useExisting: InputTextComponent\r\n }],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class InputTextComponent extends BaseInputComponent<any> implements AfterViewInit {\r\n\r\n @Input()\r\n public useContent: boolean = false;\r\n\r\n @Input()\r\n public placeholder: string = '';\r\n\r\n @Input()\r\n public align: string = 'left';\r\n\r\n @Input()\r\n public type: string = 'text';\r\n\r\n @Input()\r\n public min: number;\r\n\r\n @Input()\r\n public max: number;\r\n\r\n @Input()\r\n public pattern: string = 'dd-MM-yyyy';\r\n\r\n @Input()\r\n public digitsOnly: boolean = false;\r\n\r\n @Input()\r\n public excludePlusMinus: boolean = true;\r\n\r\n @Input()\r\n public showClearButton: boolean = true;\r\n\r\n @Input()\r\n public keyDownWhiteList: KeyboardCode[];\r\n\r\n @Input()\r\n public showPlaceholderOnFocus: boolean = true;\r\n\r\n @Input()\r\n public leftIcon: CoreComponentsIcon;\r\n\r\n @Input()\r\n public rightIcon: CoreComponentsIcon;\r\n\r\n @Input()\r\n public leftIconData: SafeHtml | undefined;\r\n\r\n @Input()\r\n public rightIconData: SafeHtml | undefined;\r\n\r\n @HostBinding('class.no-style')\r\n @Input()\r\n public noStyle: boolean = false;\r\n\r\n @Input()\r\n @HostBinding('class.hide-arrows')\r\n public hideArrowButtons: boolean = false;\r\n\r\n @HostBinding(\"class.isDate\")\r\n public get isDate(): boolean {\r\n return this.type === \"date\";\r\n }\r\n\r\n @Output()\r\n public leftIconClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public leftIconMouseDown: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public leftIconMouseUp: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public rightIconClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public rightIconMouseDown: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public rightIconMouseUp: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public clearIconClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @HostBinding('class.co-input-text')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n @HostBinding('class.has-left-icon')\r\n public get hasLeftIcon(): boolean {\r\n return this.leftIcon !== undefined && this.leftIcon !== null;\r\n }\r\n\r\n @HostBinding('class.has-right-icon')\r\n public get hasRightIcon(): boolean {\r\n return this.rightIcon !== undefined && this.rightIcon !== null;\r\n }\r\n\r\n @HostBinding('class.has-own-label')\r\n public hasOwnLabel: boolean = true;\r\n\r\n @HostListener('document:mouseup', ['$event'])\r\n public handleDocumentMouseUp(event: MouseEvent) {\r\n if (this._isLeftIconMouseDown) {\r\n this.leftIconMouseUp.next(event);\r\n }\r\n if (this._isRightIconMouseDown) {\r\n this.rightIconMouseUp.next(event);\r\n }\r\n }\r\n\r\n @Input()\r\n public set model(value: any) {\r\n if (this.type === 'number' && !isNaN(value)) {\r\n if (this.min && value < this.min || this.max && value > this.max) {\r\n super.model = this._initialModel;\r\n } else {\r\n super.model = value;\r\n }\r\n } else {\r\n super.model = value;\r\n }\r\n }\r\n\r\n public get model() {\r\n return super.model;\r\n }\r\n\r\n private _isLeftIconMouseDown: boolean = false;\r\n private _isRightIconMouseDown: boolean = false;\r\n\r\n constructor(\r\n @Optional() public formComponent: FormComponent,\r\n protected changeDetector: ChangeDetectorRef,\r\n protected overlayService: OverlayService,\r\n protected componentFactoryResolver: ComponentFactoryResolver,\r\n protected formUserChangeListener?: FormInputUserModelChangeListenerService,\r\n protected ngZoneWrapper?: NgZoneWrapperService,\r\n public elementRef?: ElementRef,\r\n ) {\r\n super(changeDetector, componentFactoryResolver, overlayService, formUserChangeListener, ngZoneWrapper, elementRef);\r\n super._markAsOnPush();\r\n }\r\n\r\n // exclude some non-digit characters, since input type 'number' still allows the characters -, + and e\r\n public excludeNonDigitChars(event): boolean {\r\n const excludedKeys = this.excludePlusMinus ? ['e', '-', '+'] : ['e'];\r\n\r\n return !excludedKeys.includes(event.key);\r\n }\r\n\r\n public handleLeftIconClick(event: MouseEvent): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.leftIconClick.emit(event);\r\n }\r\n\r\n public handleLeftIconMouseDown(event: MouseEvent): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this._isLeftIconMouseDown = true;\r\n this.leftIconMouseDown.emit(event);\r\n }\r\n\r\n public handleLeftIconMouseUp(event: MouseEvent): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this._isLeftIconMouseDown = false;\r\n this.leftIconMouseUp.emit(event);\r\n }\r\n\r\n public handleRightIconClick(event: MouseEvent): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.rightIconClick.emit(event);\r\n }\r\n\r\n public handleRightIconMouseDown(event: MouseEvent): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this._isRightIconMouseDown = true;\r\n this.rightIconMouseDown.emit(event);\r\n }\r\n\r\n public handleRightIconMouseUp(event: MouseEvent): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this._isRightIconMouseDown = false;\r\n this.rightIconMouseUp.emit(event);\r\n }\r\n\r\n public clearInput(event: MouseEvent) {\r\n this.setModel(null);\r\n this.clearIconClick.emit(event);\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from \"@angular/core\";\r\n\r\n// A pipe for appending strings to other strings in view templates.\r\n@Pipe({name: \"append\"})\r\nexport class AppendPipe implements PipeTransform {\r\n transform(value: string, append?: string): string {\r\n if (!value) {\r\n return \"\";\r\n }\r\n\r\n if (!append) {\r\n return value;\r\n }\r\n\r\n return value + append;\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { AppendPipe } from './append.pipe';\r\n\r\n@NgModule({\r\n declarations: [\r\n AppendPipe\r\n ],\r\n exports: [\r\n AppendPipe\r\n ]\r\n})\r\nexport class AppendPipeModule {\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\n\r\n// The localization service, providing peers with text translation functionality.\r\n@Injectable()\r\nexport class CoreDictionaryService {\r\n // Some dictionary values have one or more '|~' texts in them, meant to be replaced with client-side given texts.\r\n private readonly _placeholder: string = \"|~\";\r\n\r\n public translation: {};\r\n /**\r\n * Returns the localized text for the given dictionary key.\r\n * @param {string} key\r\n * @param {boolean} [upperCaseFirst = true] False for first letter lowercase, true for first letter uppercase for returned dict val\r\n * @param {string[]} replacementTexts Rest params for replacement of '|~' in returned dict value\r\n * @returns {string} The translated text for given dictionary key\r\n */\r\n public get(key: string, upperCaseFirst: boolean = true, ...replacementTexts: string[]): string {\r\n let text: string = key;\r\n if (this.translation && this.translation.hasOwnProperty(key)) {\r\n text = this.translation[key].toLowerCase();\r\n if (upperCaseFirst) {\r\n text = text.charAt(0).toUpperCase() + text.slice(1);\r\n }\r\n }\r\n return text;\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {CoreDictionaryService} from './core-dictionary.service';\r\n\r\n@Injectable()\r\nexport class CoreComponentsTranslationService {\r\n\r\n constructor(\r\n private _dictionaryService: CoreDictionaryService\r\n ) {\r\n }\r\n\r\n public setTranslation(translation: {}): void {\r\n this._dictionaryService.translation = translation;\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\nimport {CoreDictionaryService} from './core-dictionary.service';\r\n\r\n@Pipe({\r\n name: \"coreLocalize\"\r\n})\r\nexport class CoreLocalizePipe implements PipeTransform {\r\n\r\n constructor(private _dictionaryService: CoreDictionaryService) {}\r\n\r\n transform(value: string, upperCaseFirst: boolean = true, replace: string|string[] = []): string {\r\n if (!value) {\r\n return \"\";\r\n }\r\n replace = (replace !== undefined && replace !== null) ? replace : [];\r\n if (!Array.isArray(replace)) {\r\n replace = [replace];\r\n }\r\n return this._dictionaryService.get(value, upperCaseFirst, ...replace);\r\n }\r\n}\r\n","import {ModuleWithProviders, NgModule} from '@angular/core';\r\nimport {CoreComponentsTranslationService} from './core-components-translation.service';\r\nimport {CoreDictionaryService} from './core-dictionary.service';\r\nimport {CoreLocalizePipe} from './core-localize.pipe';\r\n\r\n@NgModule({\r\n declarations: [\r\n CoreLocalizePipe\r\n ],\r\n providers: [\r\n CoreComponentsTranslationService,\r\n CoreDictionaryService\r\n ],\r\n exports: [\r\n CoreLocalizePipe\r\n ]\r\n})\r\nexport class CoreComponentsTranslationModule {\r\n static forRoot(): ModuleWithProviders<CoreComponentsTranslationModule> {\r\n return {\r\n ngModule: CoreComponentsTranslationModule,\r\n providers: [\r\n CoreComponentsTranslationService\r\n ]\r\n };\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {ValidationErrorComponent} from \"./validation-error.component\";\r\nimport {IconModule} from \"../icon/icon.module\";\r\nimport {OverlayModule} from '../../directives/overlay/overlay.module';\r\nimport {CoreComponentsTranslationModule} from '../../translation/core-components-translation.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule,\r\n OverlayModule,\r\n CoreComponentsTranslationModule\r\n ],\r\n declarations: [\r\n ValidationErrorComponent\r\n ],\r\n exports: [\r\n ValidationErrorComponent\r\n ]\r\n})\r\nexport class ValidationErrorModule {\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CommitButtonsComponent} from \"./commit-buttons.component\";\r\nimport {OverlayModule} from '../../../directives/overlay/overlay.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n OverlayModule\r\n ],\r\n declarations: [\r\n CommitButtonsComponent\r\n ],\r\n exports: [\r\n CommitButtonsComponent\r\n ]\r\n})\r\nexport class CommitButtonsModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {FormsModule} from \"@angular/forms\";\r\nimport {InputTextComponent} from \"./input-text.component\";\r\nimport {IconModule} from \"../icon/icon.module\";\r\nimport {BaseModule} from \"../base/base.module\";\r\nimport {AppendPipeModule} from \"../../pipes/append.pipe.module\";\r\nimport {ValidationErrorModule} from \"../validation-error/validation-error.module\";\r\nimport {CommitButtonsModule} from \"../base/commit-buttons/commit-buttons.module\";\r\nimport {OverlayModule} from '../../directives/overlay/overlay.module';\r\n\r\n@NgModule({\r\n imports: [\r\n BaseModule,\r\n CommonModule,\r\n FormsModule,\r\n IconModule,\r\n AppendPipeModule,\r\n ValidationErrorModule,\r\n CommitButtonsModule,\r\n OverlayModule\r\n ],\r\n declarations: [\r\n InputTextComponent\r\n ],\r\n exports: [\r\n InputTextComponent\r\n ]\r\n})\r\nexport class InputTextModule {\r\n}\r\n","// Human-readable JS keyboard codes, as in KeyboardEvent.key string values.\r\nexport enum KeyboardKey {\r\n Down = \"ArrowDown\",\r\n Up = \"ArrowUp\",\r\n Left = \"ArrowLeft\",\r\n Right = \"ArrowRight\",\r\n Tab = \"Tab\",\r\n Escape = \"Escape\",\r\n Enter = \"Enter\",\r\n Home = \"Home\",\r\n End = \"End\",\r\n Delete = \"Delete\",\r\n Insert = \"Insert\",\r\n ShiftLeft = \"ShiftLeft\",\r\n ShiftRight = \"ShiftRight\",\r\n Backspace = \"Backspace\",\r\n SpaceBar = \"Space\",\r\n Period = \"Period\",\r\n DecimalPoint = \"NumpadDecimal\",\r\n\r\n SemiColon = \"Semicolon\",\r\n ControlRight = \"ControlRight\",\r\n ControlLeft = \"ControlLeft\",\r\n Comma = \"Comma\",\r\n\r\n ////Minus,\r\n ////MinusFireFox,\r\n ////Substract,\r\n\r\n Zero = \"Digit0\",\r\n One = \"Digit1\",\r\n Two = \"Digit2\",\r\n Three = \"Digit3\",\r\n Four = \"Digit4\",\r\n Five = \"Digit5\",\r\n Six = \"Digit6\",\r\n Seven = \"Digit7\",\r\n Eight = \"Digit8\",\r\n Nine = \"Digit9\",\r\n NumpadZero = \"Numpad0\",\r\n NumpadOne = \"Numpad1\",\r\n NumpadTwo = \"Numpad2\",\r\n NumpadThree = \"Numpad3\",\r\n NumpadFour = \"Numpad4\",\r\n NumpadFive = \"Numpad5\",\r\n NumpadSix = \"Numpad6\",\r\n NumpadSeven = \"Numpad7\",\r\n NumpadEight = \"Numpad8\",\r\n NumpadNine = \"Numpad9\",\r\n NumpadEnter = \"NumpadEnter\",\r\n\r\n A = \"KeyA\",\r\n B = \"KeyB\",\r\n C = \"KeyC\",\r\n D = \"KeyD\",\r\n E = \"KeyE\",\r\n F = \"KeyF\",\r\n G = \"KeyG\",\r\n H = \"KeyH\",\r\n I = \"KeyI\",\r\n J = \"KeyJ\",\r\n K = \"KeyK\",\r\n L = \"KeyL\",\r\n M = \"KeyM\",\r\n N = \"KeyN\",\r\n O = \"KeyO\",\r\n P = \"KeyP\",\r\n Q = \"KeyQ\",\r\n R = \"KeyR\",\r\n S = \"KeyS\",\r\n T = \"KeyT\",\r\n U = \"KeyU\",\r\n V = \"KeyV\",\r\n W = \"KeyW\",\r\n X = \"KeyX\",\r\n Y = \"KeyY\",\r\n Z = \"KeyZ\",\r\n}\r\n","import {Injectable, NgZone, OnDestroy} from \"@angular/core\";\r\nimport {ClickOutsideDirective} from \"./click-outside.directive\";\r\nimport {EventUtils} from \"../../core/utils/event-utils\";\r\nimport {KeyboardKey} from \"../../core/enum/keyboard-key.enum\";\r\nimport {ArrayUtils} from \"../../core/utils/array-utils\";\r\n\r\n\r\n@Injectable()\r\nexport class ClickOutsideMasterService implements OnDestroy {\r\n\r\n public get currentClick(): MouseEvent {\r\n return this._currentClick;\r\n }\r\n\r\n private _clickOutsideRefs: ClickOutsideDirective[] = [];\r\n\r\n private _currentClick: MouseEvent;\r\n\r\n constructor(private readonly _ngZone: NgZone) {\r\n document.addEventListener('click', this.onClick, true);\r\n window.addEventListener('keydown', this.onKeyDown, EventUtils.passiveBubble);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n document.removeEventListener('click', this.onClick, true);\r\n window.removeEventListener('keydown', this.onKeyDown, EventUtils.passiveBubble);\r\n }\r\n\r\n public onClick = (event: MouseEvent): void => {\r\n this._currentClick = event;\r\n const first: ClickOutsideDirective = this._clickOutsideRefs[0];\r\n const targets: ClickOutsideDirective[] = this._clickOutsideRefs.filter(co => co.alwaysTrigger);\r\n if (first) {\r\n targets.push(first);\r\n }\r\n setTimeout(() => {\r\n targets.forEach(clickOutside => this.checkEmit(clickOutside, event));\r\n });\r\n }\r\n\r\n public checkEmit(clickOutside: ClickOutsideDirective, event: Event, force?: boolean): void {\r\n if (clickOutside && (clickOutside.currentClick !== this.currentClick || force) && this._clickOutsideRefs.indexOf(clickOutside) !== -1) {\r\n this._ngZone.run(() => clickOutside.clickOutside.emit(event));\r\n }\r\n }\r\n\r\n public onKeyDown = (event: KeyboardEvent): void => {\r\n if (event.key === KeyboardKey.Escape) {\r\n const first: ClickOutsideDirective = this._clickOutsideRefs[0];\r\n if (first) {\r\n this.checkEmit(first, event, true);\r\n }\r\n }\r\n }\r\n\r\n public addClickOutside(clickOutside: ClickOutsideDirective): void {\r\n this.removeClickOutside(clickOutside);\r\n this._clickOutsideRefs.unshift(clickOutside);\r\n }\r\n\r\n public removeClickOutside(clickOutside: ClickOutsideDirective): void {\r\n ArrayUtils.RemoveElement(clickOutside, this._clickOutsideRefs);\r\n }\r\n}\r\n","import {AfterViewInit, Directive, ElementRef, EventEmitter, Input, NgZone, OnDestroy, Output} from \"@angular/core\";\r\nimport {EventUtils} from \"../../core/utils/event-utils\";\r\nimport {ClickOutsideMasterService} from \"./click-outside-master.service\";\r\nimport {InputBoolean} from \"../../core/decorator/input-boolean.decorator\";\r\n\r\n@Directive({\r\n selector: \"[clickOutside]\",\r\n exportAs: 'clickOutside'\r\n})\r\nexport class ClickOutsideDirective implements OnDestroy, AfterViewInit {\r\n\r\n public get currentClick(): MouseEvent {\r\n return this._currentClick;\r\n }\r\n\r\n @Input(\"clickOutside\")\r\n public set enabled(enabled: boolean) {\r\n enabled = enabled === undefined || enabled;\r\n // noinspection SuspiciousTypeOfGuard\r\n if (typeof enabled === 'boolean' && this._enabled !== enabled) {\r\n this._enabled = enabled;\r\n if (this._initialized) {\r\n this._enabled ? this._master.addClickOutside(this) : this._master.removeClickOutside(this);\r\n }\r\n }\r\n }\r\n\r\n @InputBoolean()\r\n @Input()\r\n public alwaysTrigger: boolean;\r\n\r\n @Output()\r\n public readonly clickOutside: EventEmitter<Event> = new EventEmitter<Event>();\r\n\r\n private _currentClick: MouseEvent;\r\n\r\n private _enabled: boolean = true;\r\n\r\n private _initialized: boolean = false;\r\n\r\n constructor(\r\n public elementRef: ElementRef,\r\n private _ngZone: NgZone,\r\n private _master: ClickOutsideMasterService\r\n ) {}\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this._ngZone.runOutsideAngular(() => {\r\n if (this.elementRef && this.elementRef.nativeElement) {\r\n this.elementRef.nativeElement.addEventListener('click', this.onClick, EventUtils.passiveCapture);\r\n if (this._enabled) {\r\n this._master.addClickOutside(this);\r\n }\r\n this._initialized = true;\r\n }\r\n });\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._master.removeClickOutside(this);\r\n this.elementRef.nativeElement.removeEventListener('click', this.onClick, EventUtils.passiveCapture);\r\n this.elementRef = undefined;\r\n }\r\n\r\n public onClick = (event: MouseEvent): void => {\r\n if (this._enabled) {\r\n this._currentClick = event;\r\n }\r\n };\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {ClickOutsideDirective} from \"./click-outside.directive\";\r\nimport {ClickOutsideMasterService} from \"./click-outside-master.service\";\r\n\r\n@NgModule({\r\n declarations: [\r\n ClickOutsideDirective\r\n ],\r\n providers: [\r\n ClickOutsideMasterService\r\n ],\r\n exports: [\r\n ClickOutsideDirective\r\n ]\r\n})\r\nexport class ClickoutsideModule {\r\n}","import {Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {CoreComponentsIcon} from \"../../core/enum/core-components-icon.enum\";\r\n\r\n@Component({\r\n selector: \"calendar-template\",\r\n template: `\r\n <div class=\"calendar\">\r\n <div class=\"calendar-header\" *ngIf=\"monthSelection || yearSelection\">\r\n <co-icon class=\"calendar-change-month-button\" [icon]=\"icons.ArrowPointLeft\" (click)=\"prevMonth()\"></co-icon>\r\n\r\n <div class=\"calendar-header-title-wrapper\">\r\n <span class=\"calendar-header-title\" [textContent]=\"monthSelection ? monthHeader : yearHeader\"\r\n (click)=\"monthSelection ? openMonthSelection() : openYearSelection()\"\r\n ></span>\r\n </div>\r\n\r\n <co-icon class=\"calendar-change-month-button\" [icon]=\"icons.ArrowPointRight\" (click)=\"nextMonth()\"></co-icon>\r\n </div>\r\n\r\n <div class=\"selection-grid month\" *ngIf=\"showMonthSelection\">\r\n <div *ngFor=\"let month of monthSelectionNames\"\r\n class=\"calendar-month-or-year\"\r\n (click)=\"selectMonth(month)\">\r\n <ng-container *ngIf=\"month\">\r\n <div class=\"month\" [textContent]=\"month\"></div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <div class=\"selection-grid year\" *ngIf=\"showYearSelection\">\r\n <div *ngFor=\"let year of yearSelectionYears\"\r\n class=\"calendar-month-or-year\"\r\n (click)=\"selectYear(year)\"\r\n [textContent]=\"year\">\r\n <ng-container *ngIf=\"year\">\r\n <div class=\"year\" [textContent]=\"year\"></div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"calendar-wrapper\">\r\n <div class=\"week-wrapper\" *ngIf=\"showWeekNumbers && showCalendarBody\">\r\n <div class=\"week-number\" [textContent]=\"'W'\"></div>\r\n <div class=\"week-number\" *ngFor=\"let weekNumber of weekNumbers\">\r\n {{ weekNumber }}\r\n </div>\r\n </div>\r\n <div class=\"calendar-body\" *ngIf=\"showCalendarBody\">\r\n <div class=\"day-names\">\r\n <div class=\"weekday\" *ngFor=\"let dayName of dayNames\" [textContent]=\"dayName\"></div>\r\n </div>\r\n <div *ngFor=\"let day of daysInMonth\" class=\"calendar-day\"\r\n [class.highlighted-day]=\"daysToHighlight.includes(day)\"\r\n [class.selected-day]=\"selectedDate && (day && day.getTime() === selectedDate.getTime()) ||\r\n secondSelectedDate && (day && day.getTime() === secondSelectedDate.getTime()) ||\r\n temporarySelectedSecondaryDate && (day && day.getTime() === temporarySelectedSecondaryDate.getTime())\"\r\n (click)=\"selectDate(day)\"\r\n (mouseover)=\"handleMouseOverDay(day)\">\r\n <!-- Day number -->\r\n <ng-container *ngIf=\"day\">\r\n <div class=\"day-number\" [textContent]=\"day.getDate()\"></div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CalendarTemplateComponent {\r\n public readonly icons: typeof CoreComponentsIcon = CoreComponentsIcon;\r\n\r\n @Input()\r\n public showWeekNumbers: boolean = true;\r\n\r\n public weekNumbers: number[] = [];\r\n @Input()\r\n public locale: string = \"nl-NL\";\r\n\r\n @Input()\r\n public highlightDaysBetweenDates: boolean = false;\r\n\r\n @Input()\r\n public set selectedDate(date: Date) {\r\n this._selectedDate = !!date ? new Date(date.getFullYear(), date.getMonth(), date.getDate()) : date;\r\n if (this.secondSelectedDate && date && this.secondSelectedDate.getTime() < this.selectedDate.getTime() && this.temporarySelectedSecondaryDate) {\r\n this.daysToHighlight = [];\r\n }\r\n }\r\n\r\n public get selectedDate(): Date {\r\n return this._selectedDate;\r\n }\r\n\r\n @Input()\r\n public set secondSelectedDate(date: Date) {\r\n this._secondSelectedDate = !!date ? new Date(date.getFullYear(), date.getMonth(), date.getDate()) : date;\r\n if (!this.selectedDate) {\r\n this.daysToHighlight = [];\r\n } else {\r\n this._fillDatesBetweenSelected();\r\n }\r\n }\r\n\r\n public get secondSelectedDate(): Date {\r\n return this._secondSelectedDate;\r\n }\r\n\r\n @Input()\r\n public set secondHoveringDate(date : Date) {\r\n this._secondHoveringDate = date;\r\n if (!!date) {\r\n this.temporarySelectedSecondaryDate = null;\r\n }\r\n if (this.selectedDate && !this.secondSelectedDate) {\r\n this.temporarySelectedSecondaryDate = new Date(date);\r\n }\r\n this.handleMouseOverDay(date);\r\n }\r\n\r\n public get secondHoveringDate(): Date {\r\n return this._secondHoveringDate;\r\n }\r\n\r\n @Output()\r\n public dateSelected: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n @Output()\r\n public hoveringDate: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n public showCalendarBody: boolean = true;\r\n public showMonthSelection: boolean = false;\r\n public showYearSelection: boolean = false;\r\n public showSelectedMonth: string;\r\n\r\n public workingDay: Date;\r\n public workingYear: number;\r\n public workingMonth: number;\r\n\r\n public monthHeader: string = '';\r\n public yearHeader: string = '';\r\n\r\n public monthSelection: boolean = true;\r\n public yearSelection: boolean = false;\r\n\r\n public dayNames = [];\r\n public monthNames = [];\r\n public monthSelectionNames: string[] = [];\r\n public yearSelectionYears: number[] = [];\r\n public daysInMonth: Date[] = [];\r\n\r\n public daysUnixTimestamps: number[] = [];\r\n public daysToHighlight: Date[] = [];\r\n public temporarySelectedSecondaryDate: Date;\r\n\r\n private _secondHoveringDate: Date;\r\n private _secondSelectedDate: Date;\r\n private _selectedDate: Date;\r\n\r\n @HostBinding(\"class.calendar-template\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public ngOnInit(): void {\r\n this._setInitialValues();\r\n this.generateMonthNames();\r\n this.generateCalendar();\r\n this._fillDatesBetweenSelected();\r\n }\r\n\r\n public prevMonth(): void {\r\n if (this.workingMonth === 0) {\r\n this.workingMonth = 11;\r\n this.workingYear--;\r\n } else {\r\n this.workingMonth--;\r\n }\r\n this.generateCalendar();\r\n this._fillDatesBetweenSelected();\r\n this.calculateWeekNumbers();\r\n }\r\n\r\n public nextMonth(): void {\r\n if (this.workingMonth === 11) {\r\n this.workingMonth = 0;\r\n this.workingYear++;\r\n } else {\r\n this.workingMonth++;\r\n }\r\n this.generateCalendar();\r\n this._fillDatesBetweenSelected();\r\n this.calculateWeekNumbers();\r\n }\r\n\r\n public prevYear(): void {\r\n this.workingYear--;\r\n this.generateCalendar();\r\n }\r\n\r\n public nextYear(): void {\r\n this.workingYear++;\r\n this.generateCalendar();\r\n }\r\n\r\n public generateCalendar(): void {\r\n this._setMonthDaysForDate(this.workingMonth);\r\n\r\n // Update the displayed month\r\n const month = this.monthNames[this.workingMonth];\r\n const year = this.workingYear;\r\n\r\n // Update headerText\r\n this.monthHeader = `${month} ${year}`;\r\n this.yearHeader = `${year}`;\r\n\r\n this.generateYearSelectionYears();\r\n this.calculateWeekNumbers();\r\n }\r\n\r\n private _setInitialValues(): void {\r\n this.workingDay = this.selectedDate ? this.selectedDate : new Date();\r\n this.workingYear = this.workingDay.getFullYear();\r\n this.workingMonth = this.workingDay.getMonth();\r\n }\r\n\r\n private _setMonthDaysForDate(monthNumber: number): void {\r\n this.daysInMonth = [];\r\n\r\n const firstDayOfMonth = new Date(this.workingYear, monthNumber, 0).getDay();\r\n const lastDayOfMonth = new Date(this.workingYear, monthNumber + 1, 0).getDate();\r\n\r\n // Add null values to the beginning of the array to align the first day with the correct day of the week\r\n for (let i = 0; i < firstDayOfMonth; i++) {\r\n this.daysInMonth.push(null);\r\n }\r\n\r\n // Add the days of the current month to the array\r\n for (let i = 1; i <= lastDayOfMonth; i++) {\r\n const date = new Date(this.workingYear, this.workingMonth, i);\r\n this.daysInMonth.push(date);\r\n }\r\n\r\n // Add null values to the end of the array to fill out the grid\r\n // const remainingCells = 42 - this.daysInMonth.length;\r\n // for (let i = 0; i < remainingCells; i++) {\r\n // this.daysInMonth.push(null);\r\n // }\r\n\r\n this.daysUnixTimestamps = this.daysInMonth.map(day => { return day ? day.getTime() : undefined });\r\n }\r\n\r\n public generateYearSelectionYears(): void {\r\n const pastYears = 5;\r\n const futureYears = 3;\r\n const years = [];\r\n\r\n for (let i = pastYears; i >= 1; i--) {\r\n\r\n years.push(this.workingYear - i);\r\n }\r\n\r\n years.push(this.workingYear);\r\n\r\n for (let i = 1; i <= futureYears; i++) {\r\n years.push(this.workingYear + i);\r\n }\r\n\r\n this.yearSelectionYears = years.reverse();\r\n }\r\n\r\n public openMonthSelection(): void {\r\n this.showCalendarBody = false;\r\n this.monthSelection = false;\r\n this.yearSelection = true;\r\n this.showMonthSelection = true;\r\n }\r\n\r\n public openYearSelection(): void {\r\n this.showMonthSelection = false;\r\n this.showYearSelection = true;\r\n }\r\n\r\n public selectDate(day: Date): void {\r\n this.selectedDate = day;\r\n this._fillDatesBetweenSelected();\r\n this.dateSelected.emit(new Date(this.selectedDate));\r\n }\r\n\r\n public selectMonth(month: string): void {\r\n this.showSelectedMonth = month;\r\n this.workingMonth = this.monthSelectionNames.indexOf(month);\r\n this.showMonthSelection = false;\r\n this.yearSelection = false;\r\n this.monthSelection = true;\r\n this.showCalendarBody = true;\r\n this.generateCalendar();\r\n }\r\n\r\n public selectYear(year: number): void {\r\n this.workingYear = year;\r\n this.showYearSelection = false;\r\n this.showMonthSelection = true;\r\n this.generateCalendar();\r\n }\r\n\r\n public generateMonthNames(): void {\r\n for (let i = 0; i < 12; i++) {\r\n const date = new Date(2000, i, 1);\r\n const monthNameShort = date.toLocaleString(this.locale, {month: 'short'});\r\n const monthNameFull = date.toLocaleString(this.locale, {month: 'long'});\r\n this.monthSelectionNames.push(this._capitalizeFirstLetter(monthNameShort));\r\n this.monthNames.push(this._capitalizeFirstLetter(monthNameFull));\r\n }\r\n\r\n for (let i = 1; i <= 7; i++) {\r\n const date = new Date(2018, 0, i);\r\n const weekdayName = date.toLocaleString(this.locale, { weekday: 'short' });\r\n this.dayNames.push(this._capitalizeFirstLetter(weekdayName));\r\n }\r\n }\r\n\r\n public handleMouseOverDay(day: Date): void {\r\n if (this.highlightDaysBetweenDates && day && (this.selectedDate || this.secondSelectedDate) && !(this.selectedDate && this.secondSelectedDate) && !(this.selectedDate && !this.temporarySelectedSecondaryDate && !this.secondSelectedDate)) {\r\n this.daysToHighlight = [];\r\n if (this.daysUnixTimestamps.includes(day.getTime())) {\r\n this.daysToHighlight.push(...this.daysInMonth.map((dayInMonth: Date) => {\r\n if (this.selectedDate) {\r\n if (dayInMonth &&\r\n // day in the month is after selected date and day in the month is before the hovering day\r\n (dayInMonth.getTime() > this.selectedDate.getTime() && dayInMonth.getTime() < day.getTime()) ||\r\n // second date is after selected date and day in the month is before hovering day and day in month is after selected date\r\n (this._secondHoveringDate && this._secondHoveringDate.getTime() > this.selectedDate.getTime() && day && dayInMonth && dayInMonth.getTime() < day.getTime() && dayInMonth.getTime() > this.selectedDate.getTime())) {\r\n return dayInMonth;\r\n }\r\n } else {\r\n if (dayInMonth &&\r\n // day in the month is after second date and day in the month is before the hovering day\r\n (dayInMonth.getTime() > this.secondSelectedDate.getTime() && dayInMonth.getTime() < day.getTime())) {\r\n return dayInMonth;\r\n }\r\n }\r\n }));\r\n } else {\r\n this.daysToHighlight.push(...this.daysInMonth.map((day) => {\r\n if (day > this.selectedDate) {\r\n return day;\r\n }\r\n }));\r\n }\r\n }\r\n this.hoveringDate.next(day);\r\n }\r\n\r\n private _fillDatesBetweenSelected(): void {\r\n if (this.selectedDate && this.secondSelectedDate) {\r\n this.daysToHighlight = [];\r\n this.daysToHighlight.push(...this.daysInMonth.map((dayInMonth: Date) => {\r\n if (dayInMonth && (dayInMonth > this.selectedDate && dayInMonth < this.secondSelectedDate) || (dayInMonth > this.secondSelectedDate && dayInMonth < this.selectedDate)) {\r\n return dayInMonth;\r\n }\r\n }));\r\n }\r\n }\r\n\r\n private _capitalizeFirstLetter(value: string): string {\r\n return value.charAt(0).toUpperCase() + value.slice(1);\r\n }\r\n private calculateWeekNumbers(): void {\r\n this.weekNumbers = [];\r\n let weekNumber: number | null = null;\r\n for (let i = 0; i < this.daysInMonth.length; i++) {\r\n const day = this.daysInMonth[i];\r\n if (day) {\r\n // Start of a new week or first day of the month, calculate and set weekNumber\r\n weekNumber = this.getISOWeek(day);\r\n // Check if the weekNumber is not already in the array\r\n if (!this.weekNumbers.includes(weekNumber)) {\r\n this.weekNumbers.push(weekNumber);\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n public getISOWeek(date: Date): number {\r\n const d = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()));\r\n d.setUTCDate(d.getUTCDate() + 4 - (d.getUTCDay() || 7));\r\n const yearStart = new Date(Date.UTC(d.getUTCFullYear(), 0, 1));\r\n const weekNumber = Math.ceil(((d.valueOf() - yearStart.valueOf()) / 86400000 + 1) / 7);\r\n return weekNumber;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CalendarComponent} from \"./calendar.component\";\r\nimport {IconModule} from \"../icon/icon.module\";\r\nimport {OverlayModule} from \"../../directives/overlay/overlay.module\";\r\nimport {ClickoutsideModule} from \"../../directives/clickoutside/clickoutside.module\";\r\nimport {CalendarTemplateComponent} from \"./calendar-template.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule,\r\n OverlayModule,\r\n ClickoutsideModule\r\n ],\r\n declarations: [\r\n CalendarComponent,\r\n CalendarTemplateComponent\r\n ],\r\n exports: [\r\n CalendarComponent,\r\n CalendarTemplateComponent\r\n ]\r\n})\r\nexport class CalendarModule {\r\n}\r\n","import {NgModule, NO_ERRORS_SCHEMA} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InputDatePickerComponent } from './input-date-picker.component';\r\nimport {OverlayModule} from '../../directives/overlay/overlay.module';\r\nimport {InputTextModule} from \"../input-text/input-text.module\";\r\nimport {CalendarModule} from \"../calendar/calendar.module\";\r\nimport {ClickoutsideModule} from \"../../directives/clickoutside/clickoutside.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputTextModule,\r\n CalendarModule,\r\n ClickoutsideModule,\r\n OverlayModule\r\n ],\r\n schemas: [\r\n NO_ERRORS_SCHEMA\r\n ],\r\n declarations: [InputDatePickerComponent],\r\n exports: [InputDatePickerComponent]\r\n})\r\nexport class InputDatePickerModule {\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n OnInit,\r\n Output,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {BaseInputDatePickerDirective} from \"../base-input-date-picker/base-input-date-picker.directive\";\r\n\r\n@Component({\r\n selector: \"co-double-calendar\",\r\n template: `\r\n <div class=\"dual-calendar-wrapper\" [overlay]=\"parentForOverlay\" (clickOutside)=\"clickedOutside.next()\">\r\n <calendar-template\r\n [selectedDate]=\"selectedFirstDate\"\r\n [secondSelectedDate]=\"selectedSecondDate\"\r\n [secondHoveringDate]=\"secondHoveringDate\"\r\n [highlightDaysBetweenDates]=\"true\"\r\n (dateSelected)=\"handleFirstDateSelected($event)\"\r\n ></calendar-template>\r\n <calendar-template\r\n [selectedDate]=\"selectedSecondDate\"\r\n [secondSelectedDate]=\"selectedFirstDate\"\r\n [highlightDaysBetweenDates]=\"true\"\r\n (hoveringDate)=\"handleSecondHoveringDate($event)\"\r\n (dateSelected)=\"handleSecondDateSelected($event)\"\r\n ></calendar-template>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DoubleCalendarComponent extends BaseInputDatePickerDirective implements OnInit {\r\n\r\n @Input()\r\n public selectedDates: Date[] = [undefined, undefined];\r\n\r\n @Input()\r\n public parentForOverlay: ElementRef;\r\n\r\n @Output()\r\n public datesSelected: EventEmitter<Date[]> = new EventEmitter<Date[]>();\r\n\r\n @Output()\r\n public secondDateSelected: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output()\r\n public clickedOutside: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n public selectedFirstDate: Date;\r\n public selectedSecondDate: Date;\r\n public secondHoveringDate: Date;\r\n\r\n @HostBinding(\"class.co-double-calendar\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.selectedFirstDate = this.selectedDates[0];\r\n this.selectedSecondDate = this.selectedDates[1];\r\n }\r\n\r\n public handleFirstDateSelected(date: Date): void {\r\n this.selectedFirstDate = date;\r\n this.selectedDates[0] = date;\r\n\r\n if (this.selectedSecondDate && this.selectedFirstDate.getTime() > this.selectedSecondDate.getTime()) {\r\n this.selectedSecondDate = null;\r\n }\r\n\r\n this.outputRangeIfValid();\r\n }\r\n\r\n public handleSecondDateSelected(date: Date): void {\r\n this.selectedSecondDate = date;\r\n this.selectedDates[1] = date;\r\n\r\n if (this.selectedFirstDate && this.selectedSecondDate.getTime() < this.selectedFirstDate.getTime()) {\r\n this.selectedFirstDate = null;\r\n this.selectedSecondDate = null;\r\n this.secondHoveringDate = null;\r\n }\r\n\r\n if (this.selectedSecondDate && this.selectedDates[0] instanceof Date) {\r\n this.outputRangeIfValid();\r\n this.secondDateSelected.next();\r\n }\r\n }\r\n\r\n public outputRangeIfValid(): void {\r\n if (this.selectedDates[0] instanceof Date && this.selectedDates[1] instanceof Date) {\r\n this.datesSelected.next(this.selectedDates);\r\n }\r\n }\r\n\r\n public handleSecondHoveringDate(day: Date): void {\r\n this.secondHoveringDate = day;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {DoubleCalendarComponent} from \"./double-calendar.component\";\r\nimport {CalendarModule} from \"../calendar/calendar.module\";\r\nimport {OverlayModule} from \"../../directives/overlay/overlay.module\";\r\nimport {ClickoutsideModule} from \"../../directives/clickoutside/clickoutside.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CalendarModule,\r\n OverlayModule,\r\n ClickoutsideModule\r\n ],\r\n declarations: [\r\n DoubleCalendarComponent\r\n ],\r\n exports: [\r\n DoubleCalendarComponent\r\n ]\r\n})\r\nexport class DoubleCalendarModule {\r\n}\r\n","import {\r\n Component,\r\n ComponentRef, ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n HostBinding,\r\n Input,\r\n Output,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {BaseInputComponent} from '../base/base-input.component';\r\nimport {\r\n SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME\r\n} from '../../interfaces/screen-config-adapter-component-interface-name';\r\nimport {OverlayService} from '../../service/overlay.service';\r\nimport {BaseInputDatePickerDirective} from \"../base-input-date-picker/base-input-date-picker.directive\";\r\nimport {DoubleCalendarComponent} from \"../double-calendar/double-calendar.component\";\r\n\r\n@Component({\r\n selector: 'co-input-date-range',\r\n template: `\r\n <div class=\"inputs-wrapper\" overlayParent #parentForOverlay=\"overlayParent\">\r\n <co-input-text #firstInput class=\"no-focus-line custom-height\"\r\n [(model)]=\"firstDateAsString\"\r\n [noClickFocus]=\"true\"\r\n [pattern]=\"'yyyy-MM-dd'\"\r\n [type]=\"'date'\"\r\n [leftIcon]=\"leftIcon\"\r\n [leftIconData]=\"leftIconData\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"handleFirstDateChanged(firstDateAsString)\"\r\n (clearIconClick)=\"clearDate(0)\"\r\n (click)=\"handleFirstInputClick($event)\"\r\n ></co-input-text>\r\n <co-input-text #secondInput class=\"no-focus-line custom-height\"\r\n [(model)]= \"secondDateAsString\"\r\n [noClickFocus]=\"true\"\r\n [pattern]=\"'yyyy-MM-dd'\"\r\n [type]=\"'date'\"\r\n [rightIcon]=\"rightIcon\"\r\n (rightIconClick)=\"toggleCalendar()\"\r\n (blur)=\"handleSecondDateChanged(secondDateAsString)\"\r\n (clearIconClick)=\"clearDate(1)\"\r\n (click)=\"handleSecondInputClick($event)\"\r\n ></co-input-text>\r\n </div>\r\n `,\r\n providers: [\r\n OverlayService,\r\n {\r\n provide: SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME,\r\n useExisting: forwardRef(() => InputDateRangePickerComponent)\r\n }, {\r\n provide: BaseInputDatePickerDirective,\r\n useExisting: InputDateRangePickerComponent\r\n }],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class InputDateRangePickerComponent extends BaseInputDatePickerDirective {\r\n\r\n public firstDateAsString;\r\n public secondDateAsString;\r\n\r\n private _doubleCalendarComponentRef: ComponentRef<DoubleCalendarComponent>;\r\n\r\n @ViewChild('firstInput') firstInput: ElementRef;\r\n @ViewChild('secondInput') secondInput: ElementRef;\r\n @HostBinding('class.co-input-date-range')\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n handleFirstInputClick(event: Event): void {\r\n event.stopPropagation();\r\n }\r\n\r\n handleSecondInputClick(event: Event): void {\r\n event.stopPropagation();\r\n }\r\n public handleDatesSelected(dates: Date[]): void {\r\n this.setModel(dates);\r\n }\r\n\r\n public handleSecondDateSelected(): void {\r\n if (this.closeAfterDateSelection) {\r\n this.toggleCalendar();\r\n }\r\n }\r\n\r\n public clearDate(index: number): void {\r\n this.model[index] = undefined;\r\n }\r\n\r\n public toggleCalendar(): void {\r\n if (this.readonly) {\r\n return;\r\n }\r\n\r\n this.showCalendar = !this.showCalendar;\r\n\r\n if (this.showCalendar) {\r\n this._doubleCalendarComponentRef = this.overlayService.createComponent(DoubleCalendarComponent, {\r\n parentForOverlay: this.parentForOverlay,\r\n selectedDates: this.model\r\n }, {\r\n datesSelected: (event) => this.handleDatesSelected(event),\r\n secondDateSelected: () => this.handleSecondDateSelected(),\r\n clickedOutside: () => this.toggleCalendar()\r\n });\r\n } else {\r\n this.overlayService.removeComponent(this._doubleCalendarComponentRef);\r\n }\r\n }\r\n\r\n public handleFirstDateChanged(value: string): void {\r\n if (value) {\r\n if (!this.model) {\r\n this.setModel([]);\r\n }\r\n this.setModel([new Date(value), this.model[1] ? this.model[1] : null]);\r\n }\r\n }\r\n\r\n public handleSecondDateChanged(value: string): void {\r\n if (value) {\r\n if (!this.model) {\r\n this.setModel([]);\r\n }\r\n this.setModel([this.model[0] ? this.model[0] : null, new Date(value)]);\r\n }\r\n }\r\n\r\n protected modelSet(): void {\r\n this.setModelAsString();\r\n }\r\n\r\n private setModelAsString(): void {\r\n if (this.model[0]) {\r\n const year = this.model[0].toLocaleString(\"default\", { year: \"numeric\" });\r\n const month = this.model[0].toLocaleString(\"default\", { month: \"2-digit\" });\r\n const day = this.model[0].toLocaleString(\"default\", { day: \"2-digit\" });\r\n this.firstDateAsString = `${year}-${month}-${day}`;\r\n } else {\r\n this.firstDateAsString = ``;\r\n }\r\n if (this.model[1]) {\r\n const year = this.model[1].toLocaleString(\"default\", { year: \"numeric\" });\r\n const month = this.model[1].toLocaleString(\"default\", { month: \"2-digit\" });\r\n const day = this.model[1].toLocaleString(\"default\", { day: \"2-digit\" });\r\n this.secondDateAsString = `${year}-${month}-${day}`;\r\n } else {\r\n this.secondDateAsString = ``;\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {InputDateRangePickerComponent} from \"./input-date-range-picker.component\";\r\nimport {OverlayModule} from '../../directives/overlay/overlay.module';\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {InputTextModule} from \"../input-text/input-text.module\";\r\nimport {ClickoutsideModule} from \"../../directives/clickoutside/clickoutside.module\";\r\nimport {DoubleCalendarModule} from \"../double-calendar/double-calendar.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputTextModule,\r\n ClickoutsideModule,\r\n OverlayModule,\r\n DoubleCalendarModule\r\n ],\r\n declarations: [\r\n InputDateRangePickerComponent\r\n ],\r\n exports: [\r\n InputDateRangePickerComponent\r\n ]\r\n})\r\nexport class InputDateRangePickerModule {\r\n}\r\n","export const JAVA_MAX_INT: number = 2147483647;","import {JAVA_MAX_INT} from \"./java-max-int\";\r\n\r\nexport const DEFAULT_LOWER_BOUND_FOR_RANGE_COMPONENTS: number = -JAVA_MAX_INT;\r\nexport const DEFAULT_UPPER_BOUND_FOR_RANGE_COMPONENTS: number = JAVA_MAX_INT;\r\n","import {Subject} from \"rxjs\";\r\n\r\nimport {isNill} from \"../function/is-nill.function\";\r\nimport {\r\n DEFAULT_LOWER_BOUND_FOR_RANGE_COMPONENTS,\r\n DEFAULT_UPPER_BOUND_FOR_RANGE_COMPONENTS\r\n} from '../constant/default-upper-bound-for-range-components';\r\nimport {NumberUtils} from \"../utils/number-utils\";\r\n\r\n\r\n// A data type class that represents a stepped-bounds numerical value, with min max and step size. Value is always within these bounds and is auto corrected for incoming manipulation requests.\r\nexport class BoundsConstrainedNumberValue {\r\n public set value(value: number) {\r\n this.setValue(value, true);\r\n }\r\n\r\n public get value(): number {\r\n return this._value;\r\n }\r\n\r\n // Returns a display string of our .value number (NaN and undefined become the empty string).\r\n public get valueAsSting(): string {\r\n return this._valueAsString;\r\n }\r\n\r\n public set min(min: number) {\r\n if (isNill(min)) {\r\n return;\r\n }\r\n\r\n let shouldUpdateTrueMax: boolean = (this._min !== min);\r\n\r\n this._min = min;\r\n\r\n if (shouldUpdateTrueMax) {\r\n this._updateTrueMax();\r\n }\r\n }\r\n\r\n public get min(): number {\r\n return this._min;\r\n }\r\n\r\n public set max(max: number) {\r\n if (isNill(max)) {\r\n return;\r\n }\r\n\r\n let shouldUpdateTrueMax: boolean = (this._max !== max);\r\n\r\n this._max = max;\r\n\r\n if (shouldUpdateTrueMax) {\r\n this._updateTrueMax();\r\n }\r\n }\r\n\r\n public get max(): number {\r\n return this._max;\r\n }\r\n\r\n public get trueMax(): number {\r\n return this._trueMax;\r\n }\r\n\r\n // The step interval size for allowed numbers Y = min + N * step, where N is integer or 0.\r\n public set step(step: number) {\r\n if (isNill(step)) {\r\n return;\r\n }\r\n\r\n let shouldUpdateTrueMaxAndStepDecimals: boolean = (this._step !== step);\r\n\r\n this._step = step;\r\n\r\n if (shouldUpdateTrueMaxAndStepDecimals) {\r\n this._updateTrueMax();\r\n this._updateStepDecimals();\r\n }\r\n }\r\n\r\n public set decimals(decimals: number) {\r\n if (decimals > 0) {\r\n this._decimals = decimals;\r\n }\r\n }\r\n public get step(): number {\r\n return this._step;\r\n }\r\n\r\n public get stepDecimals(): number {\r\n return this._stepDecimals;\r\n }\r\n\r\n public get constraintsEnabled(): boolean {\r\n return this._constraintsEnabled;\r\n }\r\n\r\n // emits when the value changed (e.g. after it was corrected for bounds)\r\n public valueChange: Subject<number> = new Subject<number>();\r\n\r\n // the actual numeric current value, which we ensure always complies to our current min, max and step\r\n protected _value: number = 0;\r\n protected _decimals: number; // number of decimals of the value.\r\n protected _valueAsString: string = \"0\";\r\n protected _min: number = DEFAULT_LOWER_BOUND_FOR_RANGE_COMPONENTS;\r\n protected _max: number = DEFAULT_UPPER_BOUND_FOR_RANGE_COMPONENTS;\r\n protected _step: number = 1; // stepsize before the decimal.\r\n protected _stepDecimals: number = 0; // derived from step\r\n protected _trueMax: number = DEFAULT_UPPER_BOUND_FOR_RANGE_COMPONENTS; // derived from min, max and step\r\n\r\n private _constraintsEnabled: boolean = true;\r\n\r\n private _precision?: number;\r\n private _scale?: number;\r\n\r\n constructor() {\r\n }\r\n\r\n public roundedDecimals(value: number): number {\r\n if (value >= 0) {\r\n return 1 / Math.pow(10, value);\r\n }\r\n return 0;\r\n }\r\n\r\n public putPrecision(precision: number): void {\r\n this._precision = precision;\r\n this.max = NumberUtils.PrecisionScaleToMaxValue(this._precision, this._scale);\r\n }\r\n\r\n public putScale(scale: number): void {\r\n this._scale = scale;\r\n this.step = NumberUtils.DecimalsToStepIncrement(this._scale);\r\n this.max = NumberUtils.PrecisionScaleToMaxValue(this._precision, this._scale);\r\n }\r\n\r\n // possibly corrects value for bounds\r\n public init(silent: boolean = false): void {\r\n this.setValue(this._value, silent);\r\n }\r\n\r\n // returns whether value really changed\r\n public setValueByUserInputText(text: string, silent: boolean = false): boolean {\r\n const prevVal: any = this.value;\r\n\r\n if (NumberUtils.IsParsableNumberInput(text)) {\r\n this.setValue(NumberUtils.ParseNumberInputOrDefault(text), silent);\r\n } else {\r\n this.setValue(undefined);\r\n }\r\n\r\n return prevVal !== this.value;\r\n }\r\n\r\n /**\r\n * Makes sure current value adheres to our stepped bounds. Returns true if inner value really changed (after sanitizing), false if not.\r\n * Returns whether value really changed.\r\n */\r\n public setValue(newValue: number, silent: boolean = false): boolean {\r\n const oldValue: number = this._value;\r\n\r\n if (!this._constraintsEnabled) {\r\n this._setValue(newValue);\r\n } else {\r\n // cut off given newValue float excesses for cases such as \"13.1000000000000000000001\"\r\n //newValue = NumberUtils.ParseFloat(newValue, NumberUtils.GetDecimalPlaces(this._step));\r\n\r\n if (this._decimals === undefined) {\r\n this._decimals = NumberUtils.GetDecimalPlaces(newValue);\r\n }\r\n\r\n newValue = NumberUtils.ParseFloat(newValue, this._decimals);\r\n // dont perform bounds check if no min or max set.\r\n if (isNaN(this._min) || isNaN(this._max)) {\r\n this._setValue(newValue);\r\n } else if (newValue >= this._min && newValue <= this._max) {\r\n this._setValue(NumberUtils.GetNearestNumberWithinSteppedBounds(newValue, this._min, this._max, this.roundedDecimals(this._decimals)));\r\n }\r\n }\r\n\r\n if (isNaN(this._value)) {\r\n this._setValue(undefined);\r\n }\r\n\r\n if (!silent) {\r\n this.valueChange.next(this._value);\r\n }\r\n\r\n return oldValue !== this._value;\r\n }\r\n\r\n public increment(steps: number = 1): void {\r\n this.setValue(this._value + this._step * steps);\r\n }\r\n\r\n public decrement(steps: number = 1): void {\r\n this.setValue(this._value - this._step * steps);\r\n }\r\n\r\n // afterwards, you may set any value, it won't be checked against our bounds anymore\r\n public disableConstraints(): void {\r\n this._constraintsEnabled = false;\r\n }\r\n\r\n public enableConstraints(): void {\r\n this._constraintsEnabled = true;\r\n }\r\n\r\n private _updateTrueMax(): void {\r\n this._trueMax = NumberUtils.GetTrueSteppedBoundsMax(this._min, this._max, this._step);\r\n }\r\n\r\n private _updateStepDecimals(): void {\r\n this._stepDecimals = NumberUtils.GetDecimalPlaces(this._step);\r\n }\r\n\r\n private _setValue(value: number): void {\r\n this._value = value;\r\n this._valueAsString = NumberUtils.ToString(this._value);\r\n }\r\n}\r\n","// human-readable JS keyboard codes, as found in KeyboardEvent.which numeric values\r\nexport enum KeyboardCode {\r\n Backspace = 8,\r\n Tab = 9,\r\n Enter = 13,\r\n Shift = 16,\r\n Escape = 27,\r\n SpaceBar = 32,\r\n End = 35,\r\n Home = 36,\r\n Left = 37,\r\n Up = 38,\r\n Right = 39,\r\n Down = 40,\r\n Insert = 45,\r\n Delete = 46,\r\n Zero = 48,\r\n One = 49,\r\n Two = 50,\r\n Three = 51,\r\n Four = 52,\r\n Five = 53,\r\n Six = 54,\r\n Seven = 55,\r\n Eight = 56,\r\n Nine = 57,\r\n A = 65,\r\n B = 66,\r\n C = 67,\r\n D = 68,\r\n e =\t69,\r\n F =\t70,\r\n G =\t71,\r\n H =\t72,\r\n I =\t73,\r\n J =\t74,\r\n K =\t75,\r\n L =\t76,\r\n M =\t77,\r\n N =\t78,\r\n O =\t79,\r\n P =\t80,\r\n Q =\t81,\r\n R =\t82,\r\n S =\t83,\r\n T =\t84,\r\n U =\t85,\r\n V =\t86,\r\n W =\t87,\r\n X =\t88,\r\n Y =\t89,\r\n Z =\t90,\r\n NumpadZero = 96,\r\n NumpadOne = 97,\r\n NumpadTwo = 98,\r\n NumpadThree = 99,\r\n NumpadFour = 100,\r\n NumpadFive = 101,\r\n NumpadSix = 102,\r\n NumpadSeven = 103,\r\n NumpadEight = 104,\r\n NumpadNine = 105,\r\n Substract = 109,\r\n DecimalPoint = 110,\r\n Add = 107,\r\n MinusFireFox = 173,\r\n Equal = 187,\r\n Comma = 188,\r\n Minus = 189,\r\n Period = 190,\r\n Tilde = 192\r\n}\r\n","import {KeyboardCode} from \"../enum/keyboard-code.enum\";\r\n\r\nexport const NUMBER_INPUTS_KEY_DOWN_WHITE_LIST: KeyboardCode[] = [\r\n /* navigation and functional utility buttons */\r\n KeyboardCode.Left,\r\n KeyboardCode.Up,\r\n KeyboardCode.Right,\r\n KeyboardCode.Down,\r\n KeyboardCode.Up,\r\n KeyboardCode.Tab,\r\n KeyboardCode.Enter,\r\n KeyboardCode.Home,\r\n KeyboardCode.End,\r\n KeyboardCode.Delete,\r\n KeyboardCode.Insert,\r\n KeyboardCode.Shift,\r\n KeyboardCode.Backspace,\r\n\r\n /* actual number input part */\r\n KeyboardCode.Comma,\r\n KeyboardCode.Period,\r\n KeyboardCode.DecimalPoint,\r\n KeyboardCode.Zero,\r\n KeyboardCode.One,\r\n KeyboardCode.Two,\r\n KeyboardCode.Three,\r\n KeyboardCode.Four,\r\n KeyboardCode.Five,\r\n KeyboardCode.Six,\r\n KeyboardCode.Seven,\r\n KeyboardCode.Eight,\r\n KeyboardCode.Nine,\r\n KeyboardCode.Minus,\r\n KeyboardCode.MinusFireFox,\r\n KeyboardCode.Substract,\r\n KeyboardCode.NumpadZero,\r\n KeyboardCode.NumpadOne,\r\n KeyboardCode.NumpadTwo,\r\n KeyboardCode.NumpadThree,\r\n KeyboardCode.NumpadFour,\r\n KeyboardCode.NumpadFive,\r\n KeyboardCode.NumpadSix,\r\n KeyboardCode.NumpadSeven,\r\n KeyboardCode.NumpadEight,\r\n KeyboardCode.NumpadNine\r\n];\r\n","// Input values for 'buttonShowMode' of NumberPickerComponent.\r\nexport enum InputNumberPickerButtonShowMode {\r\n Always = \"always\",\r\n OnFocusOnly = \"onFocusOnly\",\r\n Never = \"never\"\r\n}\r\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver, ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {BaseInputComponent} from '../base/base-input.component';\nimport {InputBoolean} from '../../core/decorator/input-boolean.decorator';\nimport {Subscription} from 'rxjs';\nimport {BoundsConstrainedNumberValue} from '../../core/model/bounds-constrained-number-value';\nimport {NUMBER_INPUTS_KEY_DOWN_WHITE_LIST} from '../../core/constant/number-inputs-key-down-white-list';\nimport {KeyboardCode} from '../../core/enum/keyboard-code.enum';\nimport {InputTextComponent} from '../input-text/input-text.component';\nimport {FormInputUserModelChangeListenerService} from '../../core/service/form-input-user-change-listener.service';\nimport {InputNumberPickerButtonShowMode} from '../../core/enum/input-number-picker-show-mode.enum';\nimport {IconCacheService} from '../icon/icon-cache.service';\nimport {CoreComponentsIcon} from '../../core/enum/core-components-icon.enum';\nimport {SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME} from '../../interfaces/screen-config-adapter-component-interface-name';\nimport {FormComponent} from '../form/form.component';\nimport {OverlayService} from '../../service/overlay.service';\nimport {SafeHtml} from '@angular/platform-browser';\nimport {NgZoneWrapperService} from '../../core/service/ng-zone-wrapper.service';\n\n@Component({\n selector: 'co-input-number-picker',\n template: `\n <div class=\"icon-wrapper\" *ngIf=\"leftIconData\">\n <co-icon class=\"input-number-picker-icon\" [iconData]=\"leftIconData\" (click)=\"iconClick.emit($event)\"></co-icon>\n <div class=\"spacer\"></div>\n </div>\n <div class=\"button-wrapper\">\n <co-button *ngIf=\"showButtons\" class=\"minus-operator\" [class.select]=\"minSelected\" tabindex=\"-1\"\n [disabled]=\"readonly\"\n [iconData]=\"iconCacheService.getIcon(minusIcon)\"\n (mousedown)=\"onMinusMouseDown($event)\"\n (mouseup)=\"stopAutoCounting()\" (mouseleave)=\"stopAutoCounting()\"></co-button>\n </div>\n <input type=\"text\"\n [tabIndex]=\"readonly ? -1 : 0\"\n [ngModel]=\"model\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n (ngModelChange)=\"handleChangeModel($event)\"\n (keydown)=\"handleInputKeyDown($event)\"\n (blur)=\"handleBlur()\"/>\n <div class=\"button-wrapper\">\n <co-button *ngIf=\"showButtons\" class=\"plus-operator\" [class.select]=\"plusSelected\" tabindex=\"-1\"\n [disabled]=\"readonly\"\n [iconData]=\"iconCacheService.getIcon(plusIcon)\"\n (mousedown)=\"onPlusMouseDown($event)\"\n (mouseup)=\"stopAutoCounting()\" (mouseleave)=\"stopAutoCounting()\"></co-button>\n </div>\n `,\n providers: [\n OverlayService, {\n provide: SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME, useExisting: forwardRef(() => InputNumberPickerComponent)\n }, {\n provide: BaseInputComponent,\n useExisting: InputNumberPickerComponent\n }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\n// A component that lets users pick a number by increasing and decreasing it with buttons, or by typing.\nexport class InputNumberPickerComponent extends BaseInputComponent<number> implements OnInit, OnDestroy {\n\n // @override\n @Input()\n public set model(model: number) {\n this.setValue(model, true);\n super.model = model;\n }\n\n public get model(): number {\n return super.model;\n }\n\n @Input()\n public modelChangeOnEnter: boolean = true;\n\n @HostBinding('class.has-icon')\n @Input()\n public leftIconData: SafeHtml | undefined;\n\n @Input()\n public set min(min: number) {\n this.numberLogic.min = min;\n }\n\n @Input()\n public set step(step: number) {\n this.numberLogic.step = step;\n }\n\n @Input()\n public set max(max: number) {\n this.numberLogic.max = max;\n }\n\n @Input()\n public ngModelOptions: any;\n\n @Input()\n public minusIcon: CoreComponentsIcon = CoreComponentsIcon.MinusSimple;\n\n @Input()\n public plusIcon: CoreComponentsIcon = CoreComponentsIcon.PlusSimple;\n\n // Whether to show buttons 'always', 'onFocusOnly', or 'never'\n @Input()\n public buttonShowMode: InputNumberPickerButtonShowMode = InputNumberPickerButtonShowMode.Always;\n\n // @override Default true for us.\n @Input() @InputBoolean()\n public noValidation: boolean = true;\n\n @Input()\n public set decimals(decimals: number) {\n this.numberLogic.decimals = decimals;\n }\n\n // @override\n @Output()\n public readonly modelChange: EventEmitter<number> = new EventEmitter<number>();\n\n @Output()\n public readonly iconClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n @HostBinding('class.show-buttons-on-focus-only')\n public get showButtonsOnFocusOnly(): boolean {\n return this.buttonShowMode === InputNumberPickerButtonShowMode.OnFocusOnly;\n }\n\n @HostBinding('class.has-label')\n public get hasLabel(): boolean {\n return !!this.label;\n }\n\n @HostBinding('class.co-input-number-picker')\n public showClass(): boolean {\n return true;\n }\n\n public showButtons: boolean;\n\n public readonly myKeyDownWhiteList: KeyboardCode[] = NUMBER_INPUTS_KEY_DOWN_WHITE_LIST;\n\n public readonly numberLogic: BoundsConstrainedNumberValue = new BoundsConstrainedNumberValue();\n\n public minSelected: boolean = false;\n public plusSelected: boolean = false;\n\n private _numberInputHasFocus: boolean = false;\n private _changeFromButton: boolean = false;\n\n private _numberLogicValueChangeSub: Subscription;\n private readonly _delayBeforeStartAutoCountMs: number = 666;\n // the 'speed gears' for auto counting\n private readonly _stepFactors: number[] = [1, 10, 20];\n // increase step size timing\n private readonly _msChangeStepFactor: number = 1000;\n // step speed\n private readonly _msDoStep: number = 5;\n // hold the mouse down and this increases for a faster auto increment\n private _stepFactor: number = this._stepFactors[0];\n private _mayAutoCount: boolean = false;\n\n private _autoCountTimeout: number;\n private _stepIncrementTimeout: number;\n private _startAutocountTimeout: number;\n\n constructor(\n @Optional() public formComponent: FormComponent,\n @Inject(IconCacheService) public iconCacheService: IconCacheService,\n protected overlayService: OverlayService,\n private _ngZone: NgZone,\n protected componentFactoryResolver: ComponentFactoryResolver,\n changeDetector: ChangeDetectorRef,\n formUserChangeListener: FormInputUserModelChangeListenerService,\n protected ngZoneWrapper?: NgZoneWrapperService,\n public elementRef?: ElementRef,\n ) {\n super(changeDetector, componentFactoryResolver, overlayService, formUserChangeListener, ngZoneWrapper, elementRef);\n\n this._numberLogicValueChangeSub = this.numberLogic.valueChange.subscribe((value: number) => {\n if (!this._mayAutoCount) {\n this.model = value;\n if (!this.modelChangeOnEnter || this._changeFromButton) {\n this.modelChange.emit(value);\n }\n // custom form user chagne listener .next because we don't user super.updateModel() which normally does that for us\n if (this._markedAsUserTouched) {\n this.formUserChangeListener.userModelChange.next(value);\n this.userModelChange.next(value);\n }\n }\n });\n }\n\n ngOnInit(): void {\n // this.numberLogic.setValue(this.model, true);\n // this.numberLogic.init(true);\n this._updateButtonsShowState();\n }\n\n ngOnDestroy(): void {\n this._numberLogicValueChangeSub.unsubscribe();\n clearTimeout(this._autoCountTimeout);\n clearTimeout(this._stepIncrementTimeout);\n clearTimeout(this._startAutocountTimeout);\n }\n\n // Note: recursive through setTimeout().\n public doIncrementAuto(): void {\n this._mayAutoCount = true;\n\n this.increment(this._stepFactor);\n\n this._ngZone.runOutsideAngular(() => {\n this._autoCountTimeout = window.setTimeout(() => {\n if (this._mayAutoCount) {\n this.doIncrementAuto();\n this.changeDetector.detectChanges();\n }\n }, this._msDoStep);\n });\n }\n\n public handleInputKeyDown(event: KeyboardEvent): boolean {\n // event.preventDefault();\n if (event.code === 'Enter' || event.code === 'NumpadEnter') {\n this.modelChange.next(this.model);\n return false;\n }\n if (this.myKeyDownWhiteList.find((k) => k === event.keyCode) === undefined) {\n return false;\n }\n }\n\n public handleBlur(): void {\n this.modelChange.next(this.model);\n }\n\n public handleChangeModel(value: number): void {\n this._changeFromButton = false;\n this.numberLogic.setValue(value);\n }\n\n // Note: recursive through setTimeout().\n public doDecrementAuto(): void {\n this._mayAutoCount = true;\n\n this.decrement(this._stepFactor);\n\n this._ngZone.runOutsideAngular(() => {\n this._autoCountTimeout = window.setTimeout(() => {\n if (this._mayAutoCount) {\n this.doDecrementAuto();\n this.changeDetector.detectChanges();\n }\n }, this._msDoStep);\n });\n }\n\n public stopAutoCounting(): void {\n this.minSelected = false;\n this.plusSelected = false;\n this._mayAutoCount = false;\n this._stepFactor = this._stepFactors[0];\n }\n\n // Sets the current number value with given newValue, optionally silent (no valueChange event fired).\n public setValue(newValue: number, silent: boolean = false): void {\n this.numberLogic.setValue(newValue, silent);\n }\n\n public increment(steps: number = 1): void {\n this._changeFromButton = true;\n this.numberLogic.increment(steps);\n }\n\n public decrement(steps: number = 1): void {\n this._changeFromButton = true;\n this.numberLogic.decrement(steps);\n }\n\n public onPlusMouseDown(event: Event): void {\n if (this.readonly) {\n event.preventDefault();\n return;\n }\n this.plusSelected = true;\n this._markedAsUserTouched = true;\n\n // keeps focus on input text instead of button\n event.preventDefault();\n\n this.increment();\n this._mayAutoCount = true;\n\n clearTimeout(this._startAutocountTimeout);\n this._startAutocountTimeout = window.setTimeout(() => {\n if (this._mayAutoCount) {\n this.doIncrementAuto();\n this._doIncreaseStepFactor();\n }\n }, this._delayBeforeStartAutoCountMs);\n }\n\n public onMinusMouseDown(event: Event): void {\n if (this.readonly) {\n event.preventDefault();\n return;\n }\n this.minSelected = true;\n this._markedAsUserTouched = true;\n // keeps focus on input text instead of button\n event.preventDefault();\n\n this.decrement();\n this._mayAutoCount = true;\n\n clearTimeout(this._startAutocountTimeout);\n this._startAutocountTimeout = window.setTimeout(() => {\n if (this._mayAutoCount) {\n this.doDecrementAuto();\n this._doIncreaseStepFactor();\n }\n }, this._delayBeforeStartAutoCountMs);\n }\n\n // Note: recursive.\n private _doIncreaseStepFactor(): void {\n this._stepIncrementTimeout = window.setTimeout(() => {\n if (this._mayAutoCount) {\n this._stepFactor = this._getNextStepFactorMouseDown();\n this._doIncreaseStepFactor();\n }\n }, this._msChangeStepFactor);\n }\n\n private _getNextStepFactorMouseDown(): number {\n const curIdx: number = this._stepFactors.indexOf(this._stepFactor);\n if (curIdx < this._stepFactors.length - 1) {\n return this._stepFactors[curIdx + 1];\n }\n return this._stepFactor;\n }\n\n // Show or hide + and - buttons. Might hide buttons if number input lost focus and button show mode is on focus only.\n private _updateButtonsShowState(): void {\n switch (this.buttonShowMode) {\n case InputNumberPickerButtonShowMode.Always:\n default:\n this.showButtons = true;\n break;\n case InputNumberPickerButtonShowMode.OnFocusOnly:\n this.showButtons = this._numberInputHasFocus;\n break;\n case InputNumberPickerButtonShowMode.Never:\n this.showButtons = false;\n break;\n }\n }\n}\n","import {NgModule} from \"@angular/core\";\nimport {CommonModule} from \"@angular/common\";\nimport {InputNumberPickerComponent} from \"./input-number-picker.component\";\nimport {ButtonModule} from \"../button/button.module\";\nimport {InputTextModule} from \"../input-text/input-text.module\";\nimport {FormsModule} from \"@angular/forms\";\nimport {IconModule} from '../icon/icon.module';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ButtonModule,\n InputTextModule,\n IconModule\n ],\n declarations: [InputNumberPickerComponent],\n exports: [InputNumberPickerComponent]\n})\nexport class InputNumberPickerModule { }\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ComponentFactoryResolver,\r\n ElementRef,\r\n forwardRef,\r\n HostBinding, HostListener,\r\n Input,\r\n Optional,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {BaseInputComponent} from '../base/base-input.component';\r\nimport {FormComponent} from '../form/form.component';\r\nimport {FormInputUserModelChangeListenerService} from '../../core/service/form-input-user-change-listener.service';\r\nimport {NgZoneWrapperService} from '../../core/service/ng-zone-wrapper.service';\r\nimport {SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME} from '../../interfaces/screen-config-adapter-component-interface-name';\r\nimport {animate, state, style, transition, trigger} from '@angular/animations';\r\nimport {OverlayService} from '../../service/overlay.service';\r\n\r\n@Component({\r\n selector: 'co-input-radio-button',\r\n template: `\r\n <div class=\"outer-circle\" [class.selected]=\"model\">\r\n <div class=\"inner-circle\" *ngIf=\"model\" @showSelected></div>\r\n </div>\r\n <div class=\"label\" *ngIf=\"label\" [textContent]=\"label\"></div>\r\n <input #input [ngModel]=\"model\" type=\"hidden\">\r\n `,\r\n providers: [\r\n OverlayService, {\r\n provide: SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME, useExisting: forwardRef(() => InputRadioButtonComponent)\r\n }, {\r\n provide: BaseInputComponent,\r\n useExisting: InputRadioButtonComponent\r\n }],\r\n animations: [\r\n trigger('showSelected', [\r\n state('void', style({transform: 'scale(0)'})),\r\n state('*', style({transform: 'scale(1)'})),\r\n transition('void <=> *', animate('200ms ease-in-out')),\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class InputRadioButtonComponent extends BaseInputComponent<any> {\r\n\r\n @HostBinding('class.selected')\r\n public get isModelSelected(): boolean {\r\n return this.model;\r\n }\r\n\r\n @HostBinding('class.co-radio-button')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n public handleClick(event: MouseEvent): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (!this.readonly) {\r\n this.model = true;\r\n this.modelChange.next(this.model);\r\n if (this.control) {\r\n this.control.markAsDirty({onlySelf: true});\r\n }\r\n if (this.formComponent) {\r\n this.formComponent.formGroup.markAsDirty({onlySelf: true});\r\n }\r\n }\r\n }\r\n\r\n constructor(\r\n @Optional() public formComponent: FormComponent,\r\n protected changeDetector: ChangeDetectorRef,\r\n protected overlayService: OverlayService,\r\n protected componentFactoryResolver: ComponentFactoryResolver,\r\n protected formUserChangeListener?: FormInputUserModelChangeListenerService,\r\n protected ngZoneWrapper?: NgZoneWrapperService,\r\n public elementRef?: ElementRef,\r\n ) {\r\n super(changeDetector, componentFactoryResolver, overlayService, formUserChangeListener, ngZoneWrapper, elementRef);\r\n super._markAsOnPush();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { BaseModule } from '../base/base.module';\r\nimport { InputRadioButtonComponent } from './input-radio-button.component';\r\n\r\n@NgModule({\r\n imports: [\r\n BaseModule,\r\n CommonModule,\r\n FormsModule\r\n ],\r\n declarations: [InputRadioButtonComponent],\r\n exports: [InputRadioButtonComponent]\r\n})\r\nexport class InputRadioButtonModule {\r\n}\r\n","import {ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, OnDestroy, Output, ViewEncapsulation} from '@angular/core';\r\nimport {CoreComponentsIcon} from '../../core/enum/core-components-icon.enum';\r\nimport {BaseInputComponent} from '../base/base-input.component';\r\nimport {InputBoolean} from '../../core/decorator/input-boolean.decorator';\r\nimport {SafeHtml} from '@angular/platform-browser';\r\nimport {OverlayService} from '../../service/overlay.service';\r\n\r\n@Component({\r\n selector: 'co-input-search',\r\n template: `\r\n <co-input-text\r\n [ngClass]=\"customCssClass\"\r\n [model]=\"model\"\r\n [leftIcon]=\"useLeftIcon ? searchIcon : null\"\r\n [rightIcon]=\"useRightIcon ? searchIcon : null\"\r\n [leftIconData]=\"useLeftIcon && leftIconData ? leftIconData : undefined\"\r\n [rightIconData]=\"useRightIcon && rightIconData ? rightIconData : undefined\"\r\n [placeholder]=\"placeholder\"\r\n [customHeight]=\"true\"\r\n [showPlaceholderOnFocus]=\"false\"\r\n (modelChange)=\"modelChange.emit($event)\"\r\n (leftIconClick)=\"leftIconClick.emit($event)\"\r\n (rightIconClick)=\"rightIconClick.emit($event)\"\r\n (keyup)=\"keyUp.emit($event)\"\r\n ></co-input-text>\r\n `,\r\n providers: [\r\n OverlayService\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class InputSearchComponent extends BaseInputComponent<string> implements OnDestroy {\r\n\r\n public readonly searchIcon: CoreComponentsIcon = CoreComponentsIcon.Magnifier;\r\n\r\n @Input()\r\n public placeholder: string;\r\n\r\n @Output()\r\n public search: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @Output()\r\n public leftIconClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public rightIconClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Input()\r\n @InputBoolean()\r\n public useLeftIcon: boolean = false;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public useRightIcon: boolean = false;\r\n\r\n @Input()\r\n public leftIconData: SafeHtml | undefined;\r\n\r\n @Input()\r\n public rightIconData: SafeHtml | undefined;\r\n\r\n @HostBinding('class.center-label')\r\n @Input()\r\n public centerLabel: boolean = false;\r\n\r\n @HostBinding('class.co-input-search')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public handleKeyDown(event: KeyboardEvent): void {\r\n switch (event.code) {\r\n case 'Enter':\r\n case 'NumpadEnter':\r\n event.preventDefault();\r\n this.search.next(this.model);\r\n return;\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\nimport {IconModule} from \"../icon/icon.module\";\r\nimport {InputSearchComponent} from \"./input-search.component\";\r\nimport {FormsModule} from '@angular/forms';\r\nimport {InputTextModule} from '../input-text/input-text.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule,\r\n FormsModule,\r\n InputTextModule\r\n ],\r\n declarations: [InputSearchComponent],\r\n exports: [InputSearchComponent]\r\n})\r\nexport class InputSearchModule {\r\n}\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Component,\r\n ComponentFactoryResolver,\r\n ElementRef,\r\n forwardRef,\r\n HostBinding,\r\n Input,\r\n Optional,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {BaseInputComponent} from '../base/base-input.component';\r\nimport {SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME} from '../../interfaces/screen-config-adapter-component-interface-name';\r\nimport {FormInputUserModelChangeListenerService} from '../../core/service/form-input-user-change-listener.service';\r\nimport {NgZoneWrapperService} from '../../core/service/ng-zone-wrapper.service';\r\nimport {FormComponent} from '../form/form.component';\r\nimport {OverlayService} from '../../service/overlay.service';\r\n\r\n@Component({\r\n selector: 'co-input-textarea',\r\n template: `\r\n <div class=\"input-textarea-wrapper\" overlayParent #parentForOverlay=\"overlayParent\">\r\n <label [textContent]=\"placeholder\"></label>\r\n <textarea\r\n #input\r\n type=\"textarea\"\r\n [ngModel]=\"model\"\r\n [readonly]=\"readonly\"\r\n [required]=\"required\"\r\n (ngModelChange)=\"modelChange.emit($event)\"\r\n ></textarea>\r\n </div>\r\n<!--\r\n <co-commit-buttons *ngIf=\"showSaveCancel && focused && canSaveOrCancel\"\r\n [committing]=\"committing\"\r\n [commitFinished]=\"commitFinished\"\r\n (commitClick)=\"commitClick($event)\"\r\n (cancelClick)=\"cancelClick($event)\"\r\n >\r\n </co-commit-buttons>\r\n-->\r\n <div class=\"required-indicator\"></div>\r\n `,\r\n providers: [\r\n OverlayService, {\r\n provide: SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME,\r\n useExisting: forwardRef(() => InputTextareaComponent)\r\n }, {\r\n provide: BaseInputComponent,\r\n useExisting: InputTextareaComponent\r\n }],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class InputTextareaComponent extends BaseInputComponent<any> implements AfterViewInit {\r\n @Input()\r\n public placeholder: string = '';\r\n\r\n @HostBinding('class.co-input-textarea')\r\n @HostBinding('class.custom-height')\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n @HostBinding('class.has-own-label')\r\n public hasOwnLabel: boolean = true;\r\n\r\n\r\n constructor(\r\n @Optional() public formComponent: FormComponent,\r\n protected changeDetector: ChangeDetectorRef,\r\n protected overlayService: OverlayService,\r\n protected componentFactoryResolver: ComponentFactoryResolver,\r\n protected formUserChangeListener?: FormInputUserModelChangeListenerService,\r\n protected ngZoneWrapper?: NgZoneWrapperService,\r\n public elementRef?: ElementRef,\r\n ) {\r\n super(changeDetector, componentFactoryResolver, overlayService, formUserChangeListener, ngZoneWrapper, elementRef);\r\n super._markAsOnPush();\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {FormsModule} from \"@angular/forms\";\r\nimport {ValidationErrorModule} from \"../validation-error/validation-error.module\";\r\nimport {InputTextareaComponent} from \"./input-textarea.component\";\r\nimport {CommitButtonsModule} from '../base/commit-buttons/commit-buttons.module';\r\nimport {OverlayModule} from '../../directives/overlay/overlay.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ValidationErrorModule,\r\n CommitButtonsModule,\r\n OverlayModule\r\n ],\r\n declarations: [\r\n InputTextareaComponent\r\n ],\r\n exports: [\r\n InputTextareaComponent\r\n ]\r\n})\r\nexport class InputTextareaModule {\r\n}\r\n","import {AfterViewInit, ChangeDetectorRef, Component, Input, OnDestroy} from '@angular/core';\r\nimport { PopupButtonType } from '../../core/enum/popup-button-type.enum';\r\nimport { Popup } from './interface/popup';\r\n\r\n@Component({\r\n selector: \"co-text-input-popup\",\r\n template: `\r\n <co-input-text [(model)]=\"text\" [label]=\"label\" [noValidation]=\"true\" [initFocus]=\"true\"></co-input-text>\r\n `\r\n})\r\n// A popup component that lets the user type and submit a text string.\r\nexport class TextInputPopupComponent implements Popup<string>, AfterViewInit, OnDestroy {\r\n // The user-changeable text content of the input text.\r\n @Input()\r\n public text: string;\r\n\r\n // The label text for the input text. Localized.\r\n @Input()\r\n public label: string;\r\n\r\n constructor(private _changeDetector: ChangeDetectorRef) {\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._changeDetector = undefined;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._changeDetector.detectChanges(); // fixes some changed-after-checked bug (popup service could have manipulated our text and label @Input's ..)\r\n }\r\n\r\n // @implements AppPopup\r\n async onClose(eventType: PopupButtonType): Promise<string> {\r\n return this.text;\r\n }\r\n}\r\n","/**\r\n * Represents the enumeration of file types of files that the application can recognize. Used, for instance, in\r\n * document view components to show an Excel, Pdf or Word icon for the documents file type.\r\n */\r\nexport enum FileTypeInternal {\r\n Test,\r\n Image,\r\n Swf,\r\n ExcelSheet,\r\n WordDocument,\r\n Pdf,\r\n TextFile,\r\n Executable,\r\n Undefined\r\n}\r\n","// DOM_BESTANDSSOORT\r\nexport enum FileType {\r\n // DOC: Document\r\n Document = \"DOC\",\r\n // IMG: Afbeelding\r\n Image = \"IMG\",\r\n // SDWEB: Digitale handtekening\r\n DigitalSignature = \"SDWEB\",\r\n}\r\n","export enum CoDocumentImageDisplayKind {\r\n NormalImage = \"N\",\r\n LayeredImage = \"L\",\r\n Avatar = \"A\"\r\n}\r\n","export enum ObjectRightType {\r\n NoAccess = 0,\r\n ReadOnly = 1,\r\n ReadWrite = 2\r\n}\r\n","import { TableName } from '../enum/table-name.enum';\r\nimport { CoDocumentType } from '../enum/co-document-type.enum';\r\nimport { FileType } from '../enum/file-type.enum';\r\nimport { FileTypeInternal } from '../enum/file-type-internal.enum';\r\nimport { FileUtils } from '../utils/file-utils';\r\nimport { CoDocumentImageDisplayKind } from '../enum/co-document-image-display-kind.enum';\r\nimport { ObjectRightType } from '../enum/object-right-type.enum';\r\nimport { Subject } from 'rxjs';\r\nimport { CoDocumentRight } from './co-document-right.bo';\r\n// See DocumentDTO.\r\nexport class CoDocument {\r\n public set documentId(value: number) {\r\n this._documentId = value;\r\n // this._idObject.docId = value;\r\n }\r\n\r\n public get documentId(): number {\r\n return this._documentId;\r\n }\r\n\r\n // @DateField()\r\n public creationDate: Date;\r\n // @DateField()\r\n public modifiedDate: Date;\r\n // public creationUser: string;\r\n // public modifiedUser: string;\r\n public description: string;\r\n public thumbnailBody: string;\r\n public table: TableName;\r\n public key: string;\r\n public filePath: string;\r\n public documentType: CoDocumentType;\r\n /**\r\n * The database-fetched mimetype of this document. Note: is barely set to a value, and when it's set, it's usually garbage data.\r\n * Use .mimeTypeInternal if you want the best educated guess of the true mime type of this document.\r\n */\r\n public mimeType: string;\r\n public publication: number;\r\n public fileSize: string;\r\n public fileType: FileType;\r\n public isLoaded: boolean;\r\n public index: number;\r\n public imageDimensions: string;\r\n public title: string;\r\n // @BooleanText(\"T\")\r\n // public downloadable: boolean;\r\n // @BooleanText(\"T\")\r\n // public attachToNotification: boolean;\r\n // @BooleanText(\"T\")\r\n // @DefaultSendValue(\"F\")\r\n // public pathIsUrl: boolean = false;\r\n // public imageType: string;\r\n public imageDisplayKind: CoDocumentImageDisplayKind;\r\n // @ComplexArray(Tag)\r\n // public tags: Tag[] = [];\r\n public rightLevel: ObjectRightType;\r\n // @ComplexArray(CoDocumentRight)\r\n public rights: CoDocumentRight[] = [];\r\n\r\n public set documentBody(documentBody: string) {\r\n const prev: string = this._documentBody;\r\n\r\n this._documentBody = documentBody;\r\n\r\n if (prev !== this._documentBody) {\r\n this.documentBodyChange.next(this._documentBody);\r\n }\r\n }\r\n\r\n public get documentBody(): string {\r\n return this._documentBody;\r\n }\r\n\r\n // @DefaultSendValue([])\r\n // @ComplexArray(ArticleSeoValue)\r\n // public seoTitles: ArticleSeoValue[] = [];\r\n public fileName: string;\r\n public retailFormulas: string[] = [];\r\n\r\n // @NoDbField()\r\n // public idForLink: number;\r\n\r\n // The internal file type of this document (the MimeType iOneJS uses internally)\r\n public get fileTypeInternal(): FileTypeInternal {\r\n if (!this._fileTypeInternal) {\r\n const fileType: FileTypeInternal = FileUtils.FileNameToFileTypeInternal(this.fileName);\r\n if (fileType) {\r\n this._fileTypeInternal = fileType;\r\n }\r\n }\r\n return this._fileTypeInternal;\r\n }\r\n\r\n /**\r\n * The mimetype of this document: uses database-fetched this.mimeType, or calculates / guesses the mime type of the document\r\n * if that was not set.\r\n */\r\n public get mimeTypeInternal(): string {\r\n if (this._mimeTypeInternal) {\r\n return this._mimeTypeInternal;\r\n } else {\r\n this._initMimetypeInternal();\r\n return this._mimeTypeInternal;\r\n }\r\n }\r\n\r\n public set mimeTypeInternal(value: string) {\r\n this._mimeTypeInternal = value;\r\n }\r\n\r\n // Gives either the document-(prio) or the thumbnail body. Or undefined if not exist.\r\n public get bodyAsDataUri(): string {\r\n if (this._documentBody) {\r\n return this.documentBodyAsDataUri;\r\n } else if (this.thumbnailBody) {\r\n return this.thumbnailBodyAsDataUri;\r\n }\r\n }\r\n\r\n // The body of this document as a data uri. The data uri also contains the mimetype in its string, and the fact that it's base64.\r\n public get documentBodyAsDataUri(): string {\r\n try {\r\n return FileUtils.DocumentBodyToDataUri(this.documentBody, this.mimeTypeInternal);\r\n } catch (error) {\r\n return \"\";\r\n }\r\n }\r\n\r\n // The Thumbnailbody of this document as a data uri. The data uri also contains the mimetype in its string, and the fact that it's base64.\r\n public get thumbnailBodyAsDataUri(): string {\r\n try {\r\n return FileUtils.DocumentBodyToDataUri(this.thumbnailBody, this.mimeTypeInternal);\r\n } catch (error) {\r\n return \"\";\r\n }\r\n }\r\n\r\n public get isAvatar(): boolean {\r\n return this.imageDisplayKind === CoDocumentImageDisplayKind.Avatar;\r\n }\r\n\r\n // @DbFieldAlias(\"documentBody\")\r\n private _documentBody: string;\r\n //\r\n // @DbFieldAlias(\"documentId\")\r\n private _documentId: number;\r\n //\r\n // @NoDbField()\r\n // @ComplexField(Subject)\r\n public readonly documentBodyChange: Subject<string> = new Subject<string>();\r\n\r\n // The internal representation of the MimeType, see enum MimeType (actual mimeType field is not filled in db often)\r\n // @NoDbField()\r\n private _fileTypeInternal: FileTypeInternal;\r\n // eg \"image/jpeg\"\r\n // @NoDbField()\r\n private _mimeTypeInternal: string;\r\n //\r\n // @NoDbField()\r\n // private _idObject: any = {};\r\n\r\n public get readonly(): boolean {\r\n return this.rightLevel === ObjectRightType.ReadOnly;\r\n }\r\n\r\n constructor() {\r\n }\r\n\r\n public getId(): any {\r\n return this.documentId;\r\n }\r\n\r\n // Returns whether this is an image document or not.\r\n public isImageDocument(): boolean {\r\n return (this.fileTypeInternal === FileTypeInternal.Image);\r\n }\r\n\r\n // @BoSerializerStep()\r\n public preventOverridingThumbnailToEmpty(): void {\r\n if (!this.thumbnailBody) {\r\n this.thumbnailBody = this._documentBody;\r\n }\r\n }\r\n\r\n // POSTCONDITION: this._mimeTypeInternal contains, to our best abilities, the true mimeType of this document, a-la \"image/jpg\"\r\n private _initMimetypeInternal(): void {\r\n // if no fileType, default to FileType.Image for internal mimetype initialization\r\n if ((this.fileType === FileType.Image || !this.fileType) && this.fileName) {\r\n const fileExtension: string = this.fileName.substr(this.fileName.lastIndexOf(\".\") + 1);\r\n this._mimeTypeInternal = \"image/\" + fileExtension;\r\n }\r\n }\r\n}\r\n","// for refcode CV_DOCUMENTATIE.DOC_TYPE\r\nexport enum CoDocumentType {\r\n // BN: Document opslaan als bestand, locatie niet van toepassing\r\n SaveAsDocument = \"BN\",\r\n // LS: Document opslaan als link op willekeurige locatie\r\n SaveAsLinkOnRandomLocation = \"LS\",\r\n // LW: Document opslaan als link op standaardloactie\r\n SaveAsLinkOnDefaultLocation = \"LW\",\r\n}\r\n","import { FileTypeInternal } from '../enum/file-type-internal.enum';\r\nimport { CoDocument } from '../model/co-document.bo';\r\nimport { CoDocumentType } from '../enum/co-document-type.enum';\r\nimport { FileType } from '../enum/file-type.enum';\r\nimport { StringUtils } from './string-utils';\r\nimport { NumberUtils } from './number-utils';\r\n\r\nconst MaxUploadSize: number = 3145728; // 3Mb\r\n\r\n// @dynamic\r\nexport class FileUtils {\r\n\r\n // Returns MaxUploadSize in Megabytes.\r\n public static get MaxUploadSizeInMb(): number {\r\n return MaxUploadSize / 1024 / 1024;\r\n }\r\n\r\n public static DocumentBodyToDataUri(documentBody: string, mimeType: string): string {\r\n return StringUtils.IsStringWithLength(documentBody) ? \"data:\" + mimeType + \";base64,\" + documentBody : \"\";\r\n }\r\n\r\n // Returns the file type of the given file, by looking at its extension. Returns FileType.Undefined if not recognised.\r\n public static FileNameToFileTypeInternal(fileName: string): FileTypeInternal {\r\n if (!fileName) {\r\n return FileTypeInternal.Undefined;\r\n }\r\n const stringParts: string[] = fileName.split(\".\");\r\n const extension: string = stringParts[stringParts.length - 1];\r\n switch (extension.toLowerCase()) {\r\n case \"pdn\":\r\n case \"bmp\":\r\n case \"gif\":\r\n case \"jpg\":\r\n case \"jpeg\":\r\n case \"jpe\":\r\n case \"jfif\":\r\n case \"png\":\r\n case \"tif\":\r\n case \"tiff\":\r\n case \"tga\":\r\n case \"dds\":\r\n return FileTypeInternal.Image;\r\n case \"swf\":\r\n return FileTypeInternal.Swf;\r\n case \"xls\":\r\n case \"xlsx\":\r\n return FileTypeInternal.ExcelSheet;\r\n case \"doc\":\r\n case \"docx\":\r\n return FileTypeInternal.WordDocument;\r\n case \"pdf\":\r\n return FileTypeInternal.Pdf;\r\n case \"txt\":\r\n return FileTypeInternal.TextFile;\r\n case \"exe\":\r\n return FileTypeInternal.Executable;\r\n default:\r\n return FileTypeInternal.Undefined;\r\n }\r\n }\r\n\r\n // Checks if filetype of given file is of type image. Possible filetypes: image/png, image/bmp, image/jpeg, etc.\r\n public static IsImageFile(file: File | CoDocument): boolean {\r\n if (!file) {\r\n return false;\r\n }\r\n let fileName: string;\r\n let mimeType: string;\r\n if (file instanceof CoDocument) {\r\n fileName = file.fileName;\r\n mimeType = file.mimeTypeInternal;\r\n } else {\r\n fileName = file.name;\r\n mimeType = file.type;\r\n }\r\n if (mimeType !== \"\") {\r\n return mimeType.startsWith('image/');\r\n } else {\r\n return (FileUtils.FileNameToFileTypeInternal(fileName) === FileTypeInternal.Image);\r\n }\r\n }\r\n\r\n // Try to determine the file type of given document. First attempt is by filetype, second by file name.\r\n public static GetGlobalFileType(document: CoDocument): FileTypeInternal {\r\n if (!document) {\r\n return FileTypeInternal.Undefined;\r\n }\r\n if (document.mimeType !== \"\") {\r\n switch (document.mimeType) {\r\n case \"application/pdf\":\r\n return FileTypeInternal.Pdf;\r\n case \"application/msword\":\r\n return FileTypeInternal.WordDocument;\r\n case \"application/excel\":\r\n case \"application/vnd.ms-excel\":\r\n case \"application/x-excel\":\r\n case \"application/x-msexcel\":\r\n return FileTypeInternal.ExcelSheet;\r\n case \"text/plain\":\r\n case \"application/plain\":\r\n return FileTypeInternal.TextFile;\r\n default:\r\n return FileTypeInternal.Undefined;\r\n }\r\n } else {\r\n return FileUtils.FileNameToFileTypeInternal(document.fileName);\r\n }\r\n }\r\n\r\n // Checks filesize of given file and returns false if size exceeds maximum upload size.\r\n public static CheckMaxUploadSize(file: CoDocument | File): boolean {\r\n let fileSize: number = 0;\r\n if (file instanceof CoDocument) {\r\n fileSize = NumberUtils.ParseInt(file.fileSize);\r\n } else {\r\n fileSize = file.size;\r\n }\r\n return (fileSize <= MaxUploadSize);\r\n }\r\n\r\n public static async ConvertFileToDataUri(file: File): Promise<string> {\r\n if (file) {\r\n return new Promise<string>((resolve) => {\r\n const fileReader: FileReader = new FileReader();\r\n fileReader.onload = () => {\r\n resolve(<string> fileReader.result);\r\n };\r\n fileReader.readAsDataURL(file);\r\n });\r\n }\r\n }\r\n\r\n // Returns the given dataUri string stripped of the mimetype part.\r\n public static StripMimeStringFromDataUri(dataUri: string): string {\r\n if (!dataUri) {\r\n return \"\";\r\n }\r\n\r\n const mimeString: string = this.GetMimeStringFromDataUri(dataUri);\r\n return dataUri.substr(mimeString.length + 1);\r\n }\r\n\r\n public static GetMimeStringFromDataUri(dataUri: string): string {\r\n if (!dataUri) {\r\n return \"\";\r\n }\r\n\r\n return dataUri.split(',')[0];\r\n }\r\n\r\n // Converts given string data to an ArrayBuffer.\r\n public static ConvertStringToArrayBuffer(stringData: string): Uint8Array {\r\n if (!stringData) {\r\n return undefined;\r\n }\r\n const arrayBuffer: ArrayBuffer = new ArrayBuffer(stringData.length);\r\n const bufView: Uint8Array = new Uint8Array(arrayBuffer);\r\n for (let i: number = 0, len: number = stringData.length; i < len; i++) {\r\n bufView[i] = stringData.charCodeAt(i);\r\n }\r\n return bufView;\r\n }\r\n\r\n public static ConvertByteArrayToString(byteArray: number[]): string {\r\n let str: string = \"\";\r\n if (byteArray) {\r\n for (let i: number = 0, len: number = byteArray.length; i < len; i++) {\r\n str += String.fromCharCode(byteArray[i]);\r\n }\r\n }\r\n return str;\r\n }\r\n\r\n // Returns true if given string contains a data-uri/base64.\r\n public static StringContainsDataUri(str: string): boolean {\r\n if (!str) {\r\n return false;\r\n }\r\n const mimeString: string = str.split(',')[0];\r\n return mimeString.indexOf('base64') > -1;\r\n }\r\n\r\n /**\r\n * There is some discrepancy regarding locations of h3d objects\r\n * Therefor we need to (temporarily?!) fix the content url\r\n * Also we need to change some additionals\r\n */\r\n public static FixAssetUrl(assetUrl: string): string {\r\n if (!assetUrl) {\r\n return \"\";\r\n }\r\n let fixedUrl: string;\r\n if (assetUrl.indexOf('_webplayer') === -1) {\r\n fixedUrl = assetUrl.replace('.unity3d', '_webplayer.ione3d');\r\n } else {\r\n fixedUrl = assetUrl.replace('_webplayer.unity3d', '_webplayer.ione3d');\r\n }\r\n fixedUrl = fixedUrl.replace('content/', 'content43/');\r\n if (!fixedUrl.endsWith('.gz')) {\r\n fixedUrl = fixedUrl.concat('.gz');\r\n }\r\n return fixedUrl;\r\n }\r\n\r\n // Return the mimetype of the given filename.\r\n public static MimeTypeFromFilename(fileName: string): string {\r\n const regEx: RegExp = /(?:\\.([^.]+))?$/; // regex to find extension\r\n const extension: any = regEx.exec(fileName)[1];\r\n switch (extension) {\r\n case \"jpg\":\r\n case \"jpeg\":\r\n return \"image/jpeg\";\r\n case \"png\":\r\n return \"image/png\";\r\n case \"bmp\":\r\n return \"image/bmp\";\r\n }\r\n }\r\n\r\n public static DownloadFile(\r\n fileName: string,\r\n content: string,\r\n mimeType: string = \"text/plain\"\r\n ): void {\r\n const element: HTMLAnchorElement = document.createElement('a');\r\n element.setAttribute(\"href\", \"data:\" + mimeType + \";charset=utf-8,\" + encodeURIComponent(content));\r\n element.setAttribute(\"download\", fileName);\r\n\r\n element.style.display = \"none\";\r\n document.body.appendChild(element);\r\n\r\n element.click();\r\n\r\n document.body.removeChild(element);\r\n }\r\n\r\n // Returns the contents of given file as a text string.\r\n public static ReadAsText(file: File): Promise<string> {\r\n return new Promise<string>((resolve: Function) => {\r\n const reader: FileReader = new FileReader();\r\n reader.readAsText(file);\r\n reader.onloadend = (event: any) => {\r\n if (event.target.readyState === 2) {\r\n resolve(event.target.result);\r\n }\r\n };\r\n });\r\n }\r\n\r\n public static ReadFileAsNewCoDocument(file: File): Promise<CoDocument> {\r\n return new Promise<CoDocument>((resolve: Function) => {\r\n const reader: FileReader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onloadend = (event: any) => {\r\n if (event.target.readyState === 2) {\r\n const coDocument: CoDocument = new CoDocument();\r\n\r\n coDocument.fileSize = file.size.toString();\r\n coDocument.mimeTypeInternal = file.type;\r\n coDocument.mimeType = file.type;\r\n coDocument.fileName = file.name;\r\n coDocument.documentType = CoDocumentType.SaveAsDocument;\r\n coDocument.fileType = FileUtils.IsImageFile(file) ? FileType.Image : FileType.Document;\r\n coDocument.description = file.name;\r\n coDocument.documentBody = FileUtils.StripMimeStringFromDataUri(event.target.result);\r\n\r\n resolve(coDocument);\r\n }\r\n };\r\n });\r\n }\r\n\r\n public static GetExtensionFromDataUri(dataUri: string): string {\r\n const data: string = dataUri;\r\n return data.replace(/(data:image\\/)(.*?)(;base64.*)/gi, '$2');\r\n }\r\n\r\n public static CreateDownloadFileNameFromBase64(dataUri: string): string {\r\n const ext: string = this.GetExtensionFromDataUri(dataUri);\r\n return 'preview.' + ext;\r\n }\r\n\r\n public static DownloadFromDataUri(dataUri: string, fileName: string): void {\r\n const link: any = document.createElement(\"a\");\r\n link.download = fileName;\r\n link.href = dataUri;\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n}\r\n","import { ElementRef } from '@angular/core';\r\nimport { ElementPosition } from '../model/element-position';\r\n\r\nexport class BrowserUtils {\r\n public static ScrollToTop(nativeElement: any, milliSeconds: number = 200): void {\r\n return BrowserUtils._ScrollTo(\"scrollTop\", nativeElement, milliSeconds, 0);\r\n }\r\n\r\n public static DownloadFile(encodedUri: string, fileType: string): void {\r\n const link: HTMLAnchorElement = document.createElement(\"a\");\r\n const date: string = new Date().toDateString();\r\n\r\n link.href = encodedUri;\r\n link.target = '_blank';\r\n link.download = \"export_\" + date + fileType;\r\n\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n\r\n public static CopyToClipboard(data: string): void {\r\n\r\n const textArea: any = document.createElement(\"TEXTAREA\");\r\n const textNode: any = document.createTextNode(data);\r\n\r\n textArea.appendChild(textNode);\r\n document.body.appendChild(textArea); // Required for FF\r\n textArea.select();\r\n document.execCommand(\"copy\");\r\n document.body.removeChild(textArea);\r\n }\r\n\r\n public static TabFocusNextElement(): void {\r\n const nextTabStop: any = BrowserUtils._FindNextTabStop(document.activeElement);\r\n if (nextTabStop) {\r\n nextTabStop.focus();\r\n }\r\n }\r\n\r\n public static AreDimensionsInView(dimensions: ElementPosition, view?: ElementRef): boolean {\r\n const vp: ElementPosition = BrowserUtils.GetDimensions(view);\r\n\r\n return dimensions.top >= vp.top && dimensions.left >= vp.left && dimensions.bottom <= vp.bottom && dimensions.right <= vp.right;\r\n }\r\n\r\n public static HorizontalFitInView(dimensions: ElementPosition, view?: ElementRef): boolean {\r\n const vp: ElementPosition = BrowserUtils.GetDimensions(view);\r\n\r\n return dimensions.left >= vp.left && dimensions.right <= vp.right;\r\n }\r\n\r\n public static VerticalFitInView(dimensions: ElementPosition, view?: ElementRef): boolean {\r\n const vp: ElementPosition = BrowserUtils.GetDimensions(view);\r\n\r\n return dimensions.top >= vp.top && dimensions.bottom <= vp.bottom;\r\n }\r\n\r\n public static GetViewport(): ElementPosition {\r\n\r\n let viewPortWidth: number;\r\n let viewPortHeight: number;\r\n\r\n // the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight\r\n if (typeof window.innerWidth !== 'undefined') {\r\n viewPortWidth = window.innerWidth;\r\n viewPortHeight = window.innerHeight;\r\n } else if (typeof document.documentElement !== 'undefined' &&\r\n typeof document.documentElement.clientWidth !== 'undefined' &&\r\n document.documentElement.clientWidth !== 0) {\r\n viewPortWidth = document.documentElement.clientWidth;\r\n viewPortHeight = document.documentElement.clientHeight;\r\n } else {\r\n viewPortWidth = document.getElementsByTagName('body')[0].clientWidth;\r\n viewPortHeight = document.getElementsByTagName('body')[0].clientHeight;\r\n }\r\n\r\n return {left: 0, top: 0, right: viewPortWidth, bottom: viewPortHeight};\r\n }\r\n\r\n public static GetDimensions(view?: ElementRef): ElementPosition {\r\n if (!view) {\r\n return this.GetViewport();\r\n } else {\r\n const elem: HTMLElement = view instanceof HTMLElement ? view : view.nativeElement;\r\n const cr: ClientRect = elem.getBoundingClientRect();\r\n return {left: cr.left, top: cr.top, right: cr.right, bottom: cr.bottom};\r\n }\r\n }\r\n\r\n // Recursive.\r\n private static _ScrollTo(elementScrollProp: string, element: any, milliSeconds: number, toScrollEnd: number): void {\r\n if (!element || milliSeconds <= 0) {\r\n return;\r\n }\r\n\r\n const difference: number = toScrollEnd - element[elementScrollProp];\r\n const scrollPerTick: number = difference / milliSeconds * 10;\r\n\r\n setTimeout(() => {\r\n element[elementScrollProp] = element[elementScrollProp] + scrollPerTick;\r\n if (element[elementScrollProp] === toScrollEnd) {\r\n return;\r\n }\r\n BrowserUtils._ScrollTo(elementScrollProp, element, milliSeconds - 10, toScrollEnd);\r\n }, 10);\r\n }\r\n\r\n private static _FindNextTabStop(element: Element): Element {\r\n const tabStopElements: NodeListOf<Element> = document.querySelectorAll(\r\n 'a[href], area[href], input:not(.hidden):not(.disabled):not(.readonly):not(.read-only), select:not(.hidden):not(.disabled):not(.readonly):not(.read-only), textarea:not(.hidden):not(.disabled):not(.readonly):not(.read-only), button:not(.hidden):not(.disabled):not(.readonly):not(.read-only), iframe, object, embed, *[tabindex]:not(.hidden):not(.disabled):not(.readonly):not(.read-only), *[contenteditable]:not(.hidden):not(.disabled):not(.readonly):not(.read-only)'\r\n );\r\n const actualStopEls: Element[] = [];\r\n for (let i: number = 0, len: number = tabStopElements.length; i < len; i++) {\r\n const tabEl: any = tabStopElements[i];\r\n if (tabEl.tabIndex >= 0) {\r\n actualStopEls.push(tabEl);\r\n }\r\n }\r\n const elIdx: number = actualStopEls.indexOf(element);\r\n return actualStopEls[elIdx + 1] || undefined;\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { PopupButtonType } from '../../core/enum/popup-button-type.enum';\r\nimport { FileUtils } from '../../core/utils/file-utils';\r\nimport { BrowserUtils } from '../../core/utils/browser-utils';\r\nimport { Popup } from './interface/popup';\r\n\r\n@Component({\r\n selector: \"co-popup-message-display\",\r\n template: `\r\n <span *ngIf=\"!image\" class=\"message\" [textContent]=\"message\"></span>\r\n <img *ngIf=\"image\" [src]=\"message\"/>\r\n <ng-container *ngIf=\"details\" label=\"DETAILS\">\r\n <div class=\"overflow-y-auto overflow-x-hidden details\">\r\n <span class=\"message wrap\" [textContent]=\"details\" style=\"overflow-wrap: break-word;\"></span>\r\n </div>\r\n <span class=\"details-link\" [textContent]=\"'COPY_MESSAGE_TO_CLIPBOARD'\" (click)=\"handleCopyClick()\"></span>\r\n </ng-container>\r\n `\r\n})\r\nexport class PopupMessageDisplayComponent implements Popup<PopupButtonType> {\r\n @Input()\r\n public set message(value: string) {\r\n this._message = value;\r\n this.image = FileUtils.StringContainsDataUri(value);\r\n }\r\n\r\n public get message(): string {\r\n return this._message;\r\n }\r\n\r\n @Input()\r\n public details: string;\r\n\r\n public image: boolean = false;\r\n\r\n private _message: string = \"\";\r\n\r\n constructor() {\r\n }\r\n\r\n // @implements AppPopup\r\n async onClose(eventType: PopupButtonType): Promise<PopupButtonType> {\r\n return eventType;\r\n }\r\n\r\n public handleCopyClick(): void {\r\n BrowserUtils.CopyToClipboard(this.details);\r\n }\r\n}\r\n","// the different types of buttons for the app window component\r\nexport enum PopupButtonType {\r\n Ok,\r\n Open,\r\n Save,\r\n Cancel,\r\n Yes,\r\n No,\r\n NoButton\r\n}\r\n","import { PopupButtonType } from '../../../core/enum/popup-button-type.enum';\r\n\r\nexport class PopupButton {\r\n public label: string;\r\n public cssClass: string;\r\n public closeType: PopupButtonType;\r\n public disabled: boolean;\r\n\r\n constructor(label: string, cssClass: string, closeType: PopupButtonType) {\r\n this.label = label;\r\n this.cssClass = cssClass;\r\n this.closeType = closeType;\r\n }\r\n}\r\n","import { PopupButtonType } from '../../../core/enum/popup-button-type.enum';\r\nimport { PopupButton } from '../interface/popup-button';\r\n\r\nexport class PopupButtonGlobals {\r\n public static readonly Ok: PopupButton = new PopupButton('OK', 'ok-button', PopupButtonType.Ok);\r\n public static readonly Open: PopupButton = new PopupButton('OPEN', 'open-button', PopupButtonType.Open);\r\n public static readonly Save: PopupButton = new PopupButton('SAVE', 'save-button', PopupButtonType.Save);\r\n public static readonly Cancel: PopupButton = new PopupButton('CANCEL', 'cancel-button', PopupButtonType.Cancel);\r\n public static readonly Yes: PopupButton = new PopupButton('JA', 'ok-button', PopupButtonType.Yes);\r\n public static readonly No: PopupButton = new PopupButton('NEE', 'cancel-button', PopupButtonType.No);\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, ViewChild} from \"@angular/core\";\r\nimport {ButtonComponent} from \"../button/button.component\";\r\nimport {PopupButtonGlobals} from \"./model/popup-button-globals\";\r\nimport {PopupButton} from \"./interface/popup-button\";\r\n\r\n@Component({\r\n selector: 'co-popup-buttons',\r\n template: `\r\n <div class=\"popup-buttons\">\r\n <co-button\r\n *ngFor=\"let button of buttons\"\r\n [label]=\"button.label\"\r\n [class]=\"button.cssClass\"\r\n [disabled]=\"button.disabled\"\r\n (click)=\"handleClick($event, button)\"\r\n ></co-button>\r\n </div>\r\n `,\r\n styleUrls: [\r\n './popup-buttons.component.scss'\r\n ]\r\n})\r\n// Component that is part of the WindowComponent, and represents the panel with buttons on the bottom of app popups.\r\nexport class PopupButtonsComponent implements OnInit {\r\n\r\n @Input()\r\n public popupWindow: any;\r\n\r\n @Output()\r\n public readonly buttonClick: EventEmitter<PopupButton> = new EventEmitter<PopupButton>();\r\n\r\n @ViewChild(ButtonComponent)\r\n public firstButton: ButtonComponent;\r\n\r\n public buttons: PopupButton[] = [PopupButtonGlobals.Ok, PopupButtonGlobals.Cancel];\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.popupWindow || !this.popupWindow.settings) {\r\n return;\r\n }\r\n if (this.popupWindow.settings.buttons) {\r\n this.buttons = this.popupWindow.settings.buttons;\r\n }\r\n }\r\n\r\n public handleClick(event: MouseEvent, button: PopupButton): void {\r\n event.preventDefault();\r\n event.stopImmediatePropagation();\r\n event.stopPropagation();\r\n this.buttonClick.emit(button);\r\n }\r\n\r\n public focusFirstButton(): void {\r\n if (this.firstButton) {\r\n this.firstButton.focus();\r\n }\r\n }\r\n}\r\n","export enum PopupType {\r\n Notification,\r\n Warning,\r\n Error,\r\n Question,\r\n Blank,\r\n FullScreen,\r\n Confirmation\r\n}\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ComponentRef,\r\n HostBinding,\r\n Inject,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n ViewChild,\r\n ViewContainerRef\r\n} from \"@angular/core\";\r\nimport {PopupButtonsComponent} from \"./popup-buttons.component\";\r\nimport {Subscription} from \"rxjs\";\r\nimport {PopupButtonType} from \"../../core/enum/popup-button-type.enum\";\r\nimport {FileUtils} from \"../../core/utils/file-utils\";\r\nimport {ObjectUtils} from \"../../core/utils/object-utils\";\r\nimport {PopupType} from \"../../core/enum/popup-type.enum\";\r\nimport {PopupMessageDisplayComponent} from \"./popup-message-display.component\";\r\nimport {PopupWindowModel} from \"./model/popup-window\";\r\nimport {Popup} from \"./interface/popup\";\r\nimport {PopupButton} from \"./interface/popup-button\";\r\nimport {POPUP_WINDOW_DATA} from \"./const/popup-window-token\";\r\nimport {CoreComponentsIcon} from \"../../core/enum/core-components-icon.enum\";\r\nimport {IconCacheService} from \"../icon/icon-cache.service\";\r\nimport {SafeHtml} from \"@angular/platform-browser\";\r\n\r\n@Component({\r\n selector: \"co-popup-window-shell\",\r\n template: `\r\n <ng-container *ngIf=\"!isBlank\">\r\n <co-button *ngIf=\"popupWindow?.settings.downloadable\" class=\"circle shadowed popup-downloadable\" [iconData]=\"downloadIcon\"\r\n iconClass=\"light\"\r\n (click)=\"onDownloadClick()\"></co-button>\r\n <co-button *ngIf=\"!popupWindow?.settings.hideCloseIcon\" class=\"circle shadowed popup-close\" [iconData]=\"closeIcon\"\r\n iconClass=\"light\"\r\n (click)=\"onCloseClick()\"></co-button>\r\n <div class=\"popup-wrapper\" *ngIf=\"!isBlank\">\r\n <div class=\"popup-title\"><h2 [textContent]=\"popupWindow?.settings.title\"></h2></div>\r\n <div class=\"popup-content\" (mousedown)=\"$event.stopImmediatePropagation()\">\r\n <ng-template #popupContent></ng-template>\r\n </div>\r\n <co-popup-buttons [popupWindow]=\"popupWindow\" (buttonClick)=\"onButtonClick($event)\"></co-popup-buttons>\r\n </div>\r\n </ng-container>\r\n <ng-template #popupContent *ngIf=\"isBlank\"></ng-template>\r\n `,\r\n styleUrls: [\r\n \"popup-window-shell.component.scss\"\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\n// The main component for app popups. Visually represents the outer edges of the components.\r\nexport class PopupWindowShellComponent implements AfterViewInit, OnDestroy, OnInit {\r\n\r\n public readonly icons: typeof CoreComponentsIcon = CoreComponentsIcon;\r\n\r\n @Input()\r\n public popupWindow: PopupWindowModel;\r\n\r\n @Input()\r\n @HostBinding(\"class.mobile-sizings\")\r\n public hasMobileSizings: boolean;\r\n\r\n @ViewChild(\"popupContent\", {read: ViewContainerRef})\r\n protected _viewContainer: ViewContainerRef;\r\n\r\n @ViewChild(PopupButtonsComponent)\r\n protected _appPopupButtons: PopupButtonsComponent;\r\n\r\n @HostBinding(\"class.popup-error\")\r\n public isError: boolean;\r\n\r\n @HostBinding(\"class.popup-warning\")\r\n public isWarning: boolean;\r\n\r\n @HostBinding(\"class.popup-notification\")\r\n public isNotification: boolean;\r\n\r\n @HostBinding(\"class.popup-question\")\r\n public isQuestion: boolean;\r\n\r\n @HostBinding(\"class.movable\")\r\n public isMovable: boolean;\r\n\r\n public isBlank: boolean;\r\n\r\n public closeIcon: SafeHtml;\r\n public downloadIcon: SafeHtml;\r\n\r\n // @HostBinding('style.top.px')\r\n // public top: number = -1000; //start off-screen\r\n //\r\n // @HostBinding('style.left.px')\r\n // public left: number = -1000; //start off-screen\r\n\r\n private _popupCompRef: ComponentRef<Popup>;\r\n\r\n private _filterClickSub: Subscription;\r\n\r\n private _popupCloseRequestSub: Subscription;\r\n\r\n constructor(\r\n private _iconCache: IconCacheService,\r\n private _changeDetector: ChangeDetectorRef,\r\n public viewContainerRef: ViewContainerRef\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.closeIcon = this._iconCache.getIcon(this.icons.CrossSkinny);\r\n this.downloadIcon = this._iconCache.getIcon(this.icons.Download);\r\n this._setHostBindings();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.popupWindow.popupWindowComponent = this;\r\n this._createPopupComponent();\r\n this._initOnClickAutoClose();\r\n this._initAppPopupCloseRequestHandler();\r\n\r\n if (!this.popupWindow.settings.noButtonFocus && this._appPopupButtons) {\r\n setTimeout(() => {\r\n this._appPopupButtons.focusFirstButton();\r\n });\r\n }\r\n\r\n this._changeDetector.detectChanges();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._close();\r\n this._viewContainer.clear();\r\n this._popupCompRef = undefined;\r\n this._viewContainer = undefined;\r\n this._changeDetector = undefined;\r\n }\r\n\r\n public async close(eventType: PopupButtonType): Promise<void> {\r\n if (this._popupCompRef && this._popupCompRef.instance && this._popupCompRef.instance.onClose) {\r\n const onCloseOutput: any = await this._popupCompRef.instance.onClose(eventType);\r\n this.popupWindow.onClose(eventType, onCloseOutput);\r\n } else {\r\n this.popupWindow.onClose(eventType);\r\n }\r\n }\r\n\r\n public onButtonClick(button: PopupButton): void {\r\n if (!button.disabled) {\r\n this.close(button.closeType);\r\n }\r\n }\r\n\r\n public onDownloadClick(): void {\r\n try {\r\n const dataUri: string = (this._popupCompRef.instance as PopupMessageDisplayComponent).message;\r\n FileUtils.DownloadFromDataUri(dataUri, FileUtils.CreateDownloadFileNameFromBase64(dataUri));\r\n } catch (e) {\r\n\r\n }\r\n }\r\n\r\n public onCloseClick(): void {\r\n this.close(PopupButtonType.Cancel);\r\n }\r\n\r\n private _close = (): void => {\r\n this.onCloseClick();\r\n };\r\n\r\n private _createPopupComponent(): void {\r\n this._popupCompRef = this._viewContainer.createComponent(this.popupWindow.factory);\r\n ObjectUtils.ForOwnProperty(this.popupWindow.inputs, (value: any, key: string) => {\r\n this._popupCompRef.instance[key] = value;\r\n });\r\n // give the concrete popup component access to its underlying model (with settings etc, e.g. for dynamic disabling/enabling of popup buttons on bottom)\r\n this._popupCompRef.instance.popupModel = this.popupWindow;\r\n if (this._popupCompRef.instance.onOpen) {\r\n this._popupCompRef.instance.onOpen();\r\n }\r\n }\r\n\r\n private _initOnClickAutoClose(): void {\r\n if (this.popupWindow && this.popupWindow.settings && this.popupWindow.settings.autoClose) {\r\n if (this._filterClickSub) {\r\n this._filterClickSub.unsubscribe();\r\n }\r\n // this._filterClickSub = this._filterService.onClick.subscribe(() => {\r\n // this.onCloseClick();\r\n // });\r\n }\r\n }\r\n\r\n private _initAppPopupCloseRequestHandler(): void {\r\n if (!this._popupCompRef || !this._popupCompRef.instance || !this._popupCompRef.instance.closeRequest) {\r\n return;\r\n }\r\n\r\n if (this._popupCloseRequestSub) {\r\n this._popupCloseRequestSub.unsubscribe();\r\n }\r\n this._popupCloseRequestSub = this._popupCompRef.instance.closeRequest.subscribe((closeButton: PopupButtonType) => {\r\n if (!closeButton) {\r\n closeButton = PopupButtonType.NoButton;\r\n }\r\n this.close(closeButton);\r\n });\r\n }\r\n\r\n private _setHostBindings(): void {\r\n if (this.popupWindow) {\r\n this.isError = this.popupWindow.type === PopupType.Error;\r\n this.isWarning = this.popupWindow.type === PopupType.Warning;\r\n this.isNotification = this.popupWindow.type === PopupType.Notification;\r\n this.isQuestion = this.popupWindow.type === PopupType.Question;\r\n this.isBlank = this.popupWindow.type === PopupType.Blank;\r\n this.isMovable = !this.popupWindow.settings.fixed;\r\n }\r\n }\r\n}\r\n","import {ComponentFactory} from \"@angular/core\";\r\nimport { PopupType } from '../../../core/enum/popup-type.enum';\r\nimport { StringUtils } from '../../../core/utils/string-utils';\r\nimport { PopupWindowShellComponent } from '../popup-window-shell.component';\r\nimport { PopupButtonType } from '../../../core/enum/popup-button-type.enum';\r\nimport { Popup } from '../interface/popup';\r\nimport { PopupSettings } from '../interface/popup-settings';\r\n\r\n// Represent the base for app popup windows, with common fields and methods that each popup window has.\r\nexport class PopupWindowModel {\r\n public static readonly closeDefaultOutputStr: string = \"PopupWindowModel.closeDefault()\";\r\n\r\n public get type(): PopupType {\r\n return this.settings ? this.settings.type : undefined;\r\n }\r\n\r\n public uuid: string = StringUtils.CreateGuid();\r\n\r\n // Reference to the actual popup window component.\r\n public popupWindowComponent?: PopupWindowShellComponent;\r\n\r\n constructor(public factory: ComponentFactory<Popup>, public settings: PopupSettings, public inputs: any) {\r\n }\r\n\r\n public closeDefault(): void {\r\n this.onClose(PopupButtonType.NoButton, PopupWindowModel.closeDefaultOutputStr);\r\n }\r\n\r\n public enableOpenButton(): void {\r\n if (this.settings) {\r\n this.settings.enableOpenButton();\r\n }\r\n }\r\n\r\n public disableOpenButton(): void {\r\n if (this.settings) {\r\n this.settings.disableOpenButton();\r\n }\r\n }\r\n\r\n public getTitle(): string {\r\n if (this.settings) {\r\n return this.settings.title;\r\n }\r\n }\r\n\r\n //noinspection JSUnusedLocalSymbols\r\n onClose(eventType: PopupButtonType, output?: any): void {\r\n return;\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { PopupWindowModel } from '../model/popup-window';\r\n\r\nexport const POPUP_WINDOW_DATA: InjectionToken<PopupWindowModel> = new InjectionToken<PopupWindowModel>('POPUP_WINDOW_DATA');\r\n","import {\r\n ApplicationRef,\r\n ComponentFactory,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n EmbeddedViewRef,\r\n Injectable,\r\n Injector\r\n} from \"@angular/core\";\r\nimport { PopupSettings } from '../interface/popup-settings';\r\nimport { PopupCloseEvent } from '../interface/popup-close-event';\r\nimport { Popup } from '../interface/popup';\r\nimport { PopupWindowModel } from '../model/popup-window';\r\nimport { PopupWindowShellComponent } from '../popup-window-shell.component';\r\nimport { GlobalPositionStrategy, Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport { POPUP_WINDOW_DATA } from '../const/popup-window-token';\r\nimport { PopupButtonType } from '../../../core/enum/popup-button-type.enum';\r\n\r\n// Class responsible for showing popups throughout the application and returning results from user interaction with those popups.\r\n@Injectable({providedIn: \"root\"})\r\nexport class PopupShowerService {\r\n\r\n constructor(\r\n private _compFactoryResolver: ComponentFactoryResolver,\r\n private _appRef: ApplicationRef,\r\n private _overlay: Overlay,\r\n private _injector: Injector) {\r\n }\r\n\r\n public async showPopup<T = any>(popupCompClazz: any, popupSettings: PopupSettings, inputs: any = {}): Promise<PopupCloseEvent<T>> {\r\n const popupShellRef: ComponentRef<PopupWindowShellComponent> = this._createWindowShell();\r\n const popupShell: PopupWindowShellComponent = popupShellRef.instance;\r\n const config: OverlayConfig = this._getConfig();\r\n const popupCompFactory: ComponentFactory<Popup<T>> = this._compFactoryResolver.resolveComponentFactory(popupCompClazz);\r\n\r\n return new Promise<PopupCloseEvent>((resolve: Function) => {\r\n\r\n const popupWindow: PopupWindowModel = new PopupWindowModel(popupCompFactory, popupSettings, inputs);\r\n // the generic onClose handler: remove the closed popup and resolve our original createPopup call with its output data\r\n popupWindow.onClose = (eventType: PopupButtonType, output: any) => {\r\n this._appRef.detachView(popupShellRef.hostView);\r\n popupShellRef.destroy();\r\n resolve({\r\n eventType: eventType,\r\n output: output\r\n });\r\n };\r\n popupShell.popupWindow = popupWindow;\r\n });\r\n }\r\n\r\n private _createWindowShell(): ComponentRef<PopupWindowShellComponent> {\r\n const componentRef = this._compFactoryResolver\r\n .resolveComponentFactory(PopupWindowShellComponent)\r\n .create(this._injector);\r\n this._appRef.attachView(componentRef.hostView);\r\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\r\n document.body.appendChild(domElem);\r\n return componentRef;\r\n }\r\n\r\n private _createOverlay(config: OverlayConfig): OverlayRef {\r\n return this._overlay.create(config);\r\n }\r\n\r\n private _getConfig(): OverlayConfig {\r\n const positionStrategy: GlobalPositionStrategy = this._overlay.position()\r\n .global()\r\n .centerHorizontally()\r\n .centerVertically();\r\n\r\n return new OverlayConfig({\r\n hasBackdrop: true,\r\n backdropClass: 'message-overlay-backdrop',\r\n panelClass: 'message-overlay',\r\n scrollStrategy: this._overlay.scrollStrategies.block(),\r\n positionStrategy\r\n });\r\n }\r\n\r\n private _attachDialogContainer(overlayRef: OverlayRef, popupWindow: PopupWindowModel /*, dialogRef: FilePreviewOverlayRef*/): PopupWindowShellComponent {\r\n const injector: Injector = this._createInjector(popupWindow);\r\n const containerPortal: ComponentPortal<PopupWindowShellComponent> = new ComponentPortal(PopupWindowShellComponent, null, injector);\r\n const containerRef: ComponentRef<PopupWindowShellComponent> = overlayRef.attach(containerPortal);\r\n return containerRef.instance;\r\n }\r\n\r\n private _createInjector(popupWindow: PopupWindowModel): Injector {\r\n const injectionTokens: any = new WeakMap();\r\n injectionTokens.set(POPUP_WINDOW_DATA, popupWindow);\r\n const options = {\r\n parent: this._injector,\r\n providers: injectionTokens\r\n };\r\n return Injector.create(options);\r\n }\r\n}\r\n","import { PopupButtonType } from '../../enum/popup-button-type.enum';\r\n\r\n// for PromptService.promptString\r\nexport class StringPromptResultEvent {\r\n constructor(\r\n public eventType: PopupButtonType,\r\n public output: string\r\n ) {\r\n }\r\n}\r\n","import { PopupButton } from './popup-button';\r\nimport { PopupType } from '../../../core/enum/popup-type.enum';\r\nimport { PopupButtonType } from '../../../core/enum/popup-button-type.enum';\r\n\r\nexport class PopupSettings {\r\n // Title text for the header of a popup window. Will be localized.\r\n public title: string;\r\n // Whether to close the popup automatically when the user clicks outside of it.\r\n public autoClose: boolean;\r\n // Kind of popup to adjust styling.\r\n public type: PopupType;\r\n // Defines which buttons are shown.\r\n public buttons?: PopupButton[];\r\n // Set to true to hide the 'X' close icon in the top-right corner of the popup.\r\n public hideCloseIcon?: boolean;\r\n // Do not focus on first button when popping up (default behavior is to focus on the first button)\r\n public noButtonFocus?: boolean;\r\n // Whether the popup can be moved around\r\n public fixed?: boolean;\r\n // Whether content of the popup can be downloaded\r\n public downloadable?: boolean;\r\n\r\n constructor() {\r\n }\r\n\r\n public enableButtonByType(buttonType: PopupButtonType): void {\r\n const button: PopupButton = this._getButtonByType(buttonType);\r\n if (button) {\r\n button.disabled = false;\r\n }\r\n }\r\n\r\n public disableButtonByType(buttonType: PopupButtonType): void {\r\n const button: PopupButton = this._getButtonByType(buttonType);\r\n if (button) {\r\n button.disabled = true;\r\n }\r\n }\r\n\r\n public enableSaveButton(): void {\r\n this.enableButtonByType(PopupButtonType.Save);\r\n }\r\n\r\n public disableSaveButton(): void {\r\n this.disableButtonByType(PopupButtonType.Save);\r\n }\r\n\r\n public enableOpenButton(): void {\r\n this.enableButtonByType(PopupButtonType.Open);\r\n }\r\n\r\n public disableOpenButton(): void {\r\n this.disableButtonByType(PopupButtonType.Open);\r\n }\r\n\r\n private _getButtonByType(buttonType: PopupButtonType): PopupButton {\r\n let button: PopupButton = undefined;\r\n\r\n if (this.buttons) {\r\n for (let i: number = 0, len: number = this.buttons.length; i < len; i++) {\r\n if (this.buttons[i].closeType === buttonType) {\r\n button = this.buttons[i];\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return button;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { PopupShowerService } from './popup-shower.service';\r\nimport { PopupType } from '../../../core/enum/popup-type.enum';\r\nimport { StringUtils } from '../../../core/utils/string-utils';\r\nimport { PopupMessageDisplayComponent } from '../popup-message-display.component';\r\nimport { PopupButtonType } from '../../../core/enum/popup-button-type.enum';\r\nimport { StringPromptResultEvent } from '../../../core/model/event/string-prompt-result-event';\r\nimport { TextInputPopupComponent } from '../text-input-popup.component';\r\nimport { PopupButtonGlobals } from '../model/popup-button-globals';\r\nimport { PopupSettings } from '../interface/popup-settings';\r\nimport { PopupCloseEvent } from '../interface/popup-close-event';\r\n\r\n// Service responsible for delivering small popup windows (string input promps, alerts, etc.) to the user.\r\n@Injectable({providedIn: \"root\"})\r\nexport class PromptService {\r\n\r\n constructor(private _popupShower: PopupShowerService) {\r\n }\r\n\r\n // Spawns a text input popup with given title and initial text, and resolves the returned promise with the user-entered text as output.\r\n public async promptString(title: string, label?: string, initialText?: string): Promise<StringPromptResultEvent> {\r\n const popupSettings: PopupSettings = new PopupSettings();\r\n popupSettings.title = title;\r\n const popupResult: PopupCloseEvent<string> = await this._popupShower.showPopup(TextInputPopupComponent, popupSettings, {\r\n text: initialText,\r\n label: label\r\n });\r\n return new StringPromptResultEvent(popupResult.eventType, popupResult.output);\r\n }\r\n\r\n // Shows given error text in an error popup to the user. Can also show an image instead of a text by supplying a data uri string.\r\n public showError(textOrImageDataUri: string, title?: string, details?: string): Promise<PopupCloseEvent<void>> {\r\n const popupSettings: PopupSettings = new PopupSettings();\r\n popupSettings.title = title || \"ERROR\";\r\n popupSettings.type = PopupType.Error;\r\n popupSettings.buttons = [PopupButtonGlobals.Ok];\r\n return this._popupShower.showPopup(PopupMessageDisplayComponent, popupSettings, {\r\n message: StringUtils.ToStringOrDefault(textOrImageDataUri),\r\n details: details\r\n });\r\n }\r\n\r\n // Shows given warning text in a warning popup to the user. Can also show an image instead of a text by supplying a data uri string.\r\n public showWarning(textOrImageDataUri: string, title?: string): Promise<PopupCloseEvent<void>> {\r\n const popupSettings: PopupSettings = new PopupSettings();\r\n popupSettings.title = title || \"WARNING\";\r\n popupSettings.type = PopupType.Warning;\r\n popupSettings.buttons = [PopupButtonGlobals.Ok];\r\n return this._popupShower.showPopup(PopupMessageDisplayComponent, popupSettings, {\r\n message: StringUtils.ToStringOrDefault(textOrImageDataUri)\r\n });\r\n }\r\n\r\n public async showNotification(\r\n textOrImageDataUri: string,\r\n title?: string,\r\n showOk: boolean = true,\r\n autoClose: boolean = false,\r\n hideCloseIcon: boolean = false,\r\n downloadable: boolean = false\r\n ): Promise<boolean> {\r\n const popupSettings: PopupSettings = new PopupSettings();\r\n popupSettings.title = title || \"NOTIFICATION\";\r\n popupSettings.type = PopupType.Notification;\r\n popupSettings.buttons = (showOk ? [PopupButtonGlobals.Ok] : []);\r\n popupSettings.downloadable = downloadable;\r\n if (autoClose) {\r\n popupSettings.autoClose = true;\r\n }\r\n if (hideCloseIcon) {\r\n popupSettings.hideCloseIcon = true;\r\n }\r\n const popupResult: PopupCloseEvent<void> = await this._popupShower.showPopup(PopupMessageDisplayComponent, popupSettings,\r\n {message: StringUtils.ToStringOrDefault(textOrImageDataUri)});\r\n return popupResult.eventType === PopupButtonType.Ok;\r\n }\r\n\r\n public showImage(imageDataUri: string, title?: string): Promise<any> {\r\n return this.showNotification(imageDataUri, title, false, true, false, true);\r\n }\r\n\r\n public async showYesNo(textOrImageDataUri: string, title?: string): Promise<boolean> {\r\n const popupSettings: PopupSettings = new PopupSettings();\r\n popupSettings.title = title || \"QUESTION\";\r\n popupSettings.type = PopupType.Question;\r\n popupSettings.buttons = [PopupButtonGlobals.Yes, PopupButtonGlobals.No];\r\n const popupResult: any = await this._popupShower.showPopup(PopupMessageDisplayComponent, popupSettings, {\r\n message: StringUtils.ToStringOrDefault(textOrImageDataUri)\r\n });\r\n return popupResult.eventType === PopupButtonType.Yes;\r\n }\r\n\r\n // Spawns a modal 'yes, no or cancel' question prompt. Returns the chosen exit button through AppPopupCloseEvent.eventType.\r\n public async showModalYesNoCancel(textOrImageDataUri: string, title?: string): Promise<PopupCloseEvent<void>> {\r\n const popupSettings: PopupSettings = new PopupSettings();\r\n popupSettings.title = title || \"QUESTION\";\r\n popupSettings.type = PopupType.Question;\r\n popupSettings.buttons = [PopupButtonGlobals.Yes, PopupButtonGlobals.No, PopupButtonGlobals.Cancel];\r\n popupSettings.autoClose = false;\r\n popupSettings.hideCloseIcon = true;\r\n return this._popupShower.showPopup(PopupMessageDisplayComponent, popupSettings, {\r\n message: StringUtils.ToStringOrDefault(textOrImageDataUri)\r\n });\r\n }\r\n\r\n // Used by AS-copied code. We call it showNotification.\r\n public showOk(text: string, title?: string): Promise<boolean> {\r\n return this.showNotification(text, title);\r\n }\r\n\r\n public async showOkCancel(text: string, title?: string): Promise<boolean> {\r\n const popupSettings: PopupSettings = new PopupSettings();\r\n popupSettings.title = title || \"QUESTION\";\r\n popupSettings.type = PopupType.Question;\r\n popupSettings.buttons = [PopupButtonGlobals.Ok, PopupButtonGlobals.Cancel];\r\n popupSettings.autoClose = false;\r\n popupSettings.hideCloseIcon = true;\r\n const closeEvent: PopupCloseEvent = await this._popupShower.showPopup(PopupMessageDisplayComponent, popupSettings, {\r\n message: StringUtils.ToStringOrDefault(text)\r\n });\r\n return (closeEvent.eventType === PopupButtonType.Ok);\r\n }\r\n\r\n public showOkModal(text: string, title?: string): Promise<boolean> {\r\n return this.showNotification(text, title, true, false, true);\r\n }\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { InputTextModule } from '../input-text/input-text.module';\r\nimport { TextInputPopupComponent } from './text-input-popup.component';\r\nimport { PopupMessageDisplayComponent } from './popup-message-display.component';\r\nimport { PopupWindowShellComponent } from './popup-window-shell.component';\r\nimport { PopupButtonsComponent } from './popup-buttons.component';\r\nimport { ButtonModule } from '../button/button.module';\r\nimport { PromptService } from './service/prompt.service';\r\nimport { PopupShowerService } from './service/popup-shower.service';\r\nimport { Overlay } from '@angular/cdk/overlay';\r\nimport { IconCacheService } from '../icon/icon-cache.service';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputTextModule,\r\n ButtonModule\r\n ],\r\n declarations: [\r\n TextInputPopupComponent,\r\n PopupMessageDisplayComponent,\r\n PopupWindowShellComponent,\r\n PopupButtonsComponent\r\n ],\r\n entryComponents: [\r\n PopupMessageDisplayComponent,\r\n PopupWindowShellComponent\r\n ],\r\n exports: [\r\n TextInputPopupComponent,\r\n PopupWindowShellComponent\r\n ]\r\n})\r\nexport class PopupModule {\r\n static forRoot(): ModuleWithProviders<PopupModule> {\r\n return {\r\n ngModule: PopupModule,\r\n providers: [\r\n PromptService,\r\n PopupShowerService,\r\n Overlay,\r\n IconCacheService\r\n ]\r\n };\r\n }\r\n}\r\n","import {ContentChild, Directive, ElementRef, Input, OnDestroy, OnInit, TemplateRef} from '@angular/core';\r\n\r\nexport enum ColumnAlign {\r\n Left = \"left-align\",\r\n Center = \"center-align\",\r\n Right = \"right-align\"\r\n}\r\n\r\n@Directive({\r\n selector: \"co-simple-grid-column\"\r\n})\r\nexport class SimpleGridColumnDirective implements OnInit, OnDestroy {\r\n private static _MinManualResizeWidthPx: number = 50;\r\n\r\n @ContentChild('headerTemplate')\r\n public set headerTemplate(template: TemplateRef<any>) {\r\n if (template) {\r\n this._headerTemplate = template;\r\n }\r\n }\r\n\r\n public get headerTemplate(): TemplateRef<any> {\r\n return this._headerTemplate;\r\n }\r\n\r\n @ContentChild('template')\r\n public set template(template: TemplateRef<any>) {\r\n if (template) {\r\n this._template = template;\r\n }\r\n }\r\n\r\n public get template(): TemplateRef<any> {\r\n return this._template;\r\n }\r\n\r\n @ContentChild('editTemplate')\r\n public set editTemplate(template: TemplateRef<any>) {\r\n if (template) {\r\n this._editTemplate = template;\r\n }\r\n }\r\n\r\n public get editTemplate(): TemplateRef<any> {\r\n return this._editTemplate;\r\n }\r\n\r\n @Input()\r\n public headerText: string;\r\n\r\n @Input()\r\n public field: string;\r\n\r\n @Input()\r\n public codeField: string;\r\n\r\n @Input()\r\n public displayField: string;\r\n\r\n @Input()\r\n public textAlign: ColumnAlign;\r\n\r\n @Input()\r\n public format: string;\r\n\r\n @Input()\r\n public resizable: boolean = true;\r\n\r\n @Input()\r\n public required: boolean = false;\r\n\r\n @Input()\r\n public autoFit: boolean = false;\r\n\r\n @Input()\r\n public set width(value: number | string) {\r\n if (typeof value === 'string') {\r\n if (value.indexOf('%')) {\r\n this.widthPercentage = value;\r\n } else {\r\n this._width = value;\r\n }\r\n } else {\r\n this._width = value;\r\n }\r\n }\r\n\r\n public get width(): number | string {\r\n return this._width;\r\n }\r\n\r\n @Input()\r\n public readonly: boolean = false;\r\n\r\n @Input()\r\n public collection: {}[];\r\n\r\n @Input()\r\n public order: number = 0;\r\n\r\n @Input()\r\n public singleColumn: boolean = false;\r\n\r\n public originalWidth: number | string;\r\n public widthPercentage: string;\r\n\r\n private _width: number | string;\r\n\r\n constructor(public elementRef: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this._setSingleColumnProps()\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._headerTemplate = undefined;\r\n this._template = undefined;\r\n this._editTemplate = undefined;\r\n }\r\n\r\n public getFieldValue(value: any): string {\r\n if (this.collection && this.displayField) {\r\n const result = this.collection.find(c => c[this.codeField] === value);\r\n if (result) {\r\n return result[this.displayField];\r\n }\r\n }\r\n return value;\r\n }\r\n\r\n private _headerTemplate: TemplateRef<any>;\r\n private _template: TemplateRef<any>;\r\n private _editTemplate: TemplateRef<any>;\r\n\r\n private _setSingleColumnProps(){\r\n if (this.singleColumn){\r\n this.resizable = false;\r\n this.readonly = true;\r\n this.width = 0;\r\n }\r\n }\r\n}\r\n","import {ContentChildren, Directive, EventEmitter, HostListener, Input, Output, QueryList, ViewChildren} from \"@angular/core\";\r\nimport {SimpleGridColumnDirective} from \"./simple-grid-column.directive\";\r\nimport {CdkDrag, CdkDragDrop, CdkDropList, moveItemInArray} from \"@angular/cdk/drag-drop\";\r\nimport {Subject} from \"rxjs\";\r\n\r\n@Directive()\r\nexport abstract class BaseSimpleGridComponent {\r\n public readonly MIN_COLUMN_WIDTH: number = 50;\r\n public readonly dataChanged: Subject<void> = new Subject<void>();\r\n\r\n @ContentChildren(SimpleGridColumnDirective) set content(columnComponents: QueryList<SimpleGridColumnDirective>) {\r\n this._setColumns(columnComponents.toArray());\r\n this._prepareData();\r\n }\r\n\r\n @Input()\r\n public set data(value: Object[]) {\r\n this._data = value;\r\n this._prepareData();\r\n this.dataChanged.next();\r\n }\r\n\r\n public get data(): Object[] {\r\n return this._data;\r\n }\r\n\r\n @Input()\r\n public dragDropEnabled: boolean = false;\r\n\r\n @Input()\r\n public resizable: boolean = false;\r\n\r\n @Input()\r\n public inlineEdit: boolean = false;\r\n\r\n @Input()\r\n public showEdit: boolean = false;\r\n\r\n @Input()\r\n public showToolbar: boolean = false;\r\n\r\n @Input()\r\n public autoAddRow: boolean = false;\r\n\r\n /**\r\n * Should component emit drag and drop actions instead of handle\r\n * (update collection) by itself\r\n */\r\n @Input()\r\n public emitDragDrop: boolean = false;\r\n\r\n @Input()\r\n public set extraColumns(value: SimpleGridColumnDirective[]) {\r\n this._setColumns(value);\r\n }\r\n\r\n @Output()\r\n public onDrop: EventEmitter<{from: number, to: number}> = new EventEmitter<{from: number; to: number}>();\r\n\r\n @Output()\r\n public selectRow: EventEmitter<{}> = new EventEmitter<{}>();\r\n\r\n @Output()\r\n public dblClickRow: EventEmitter<{}> = new EventEmitter<{}>();\r\n\r\n @Output()\r\n public saveRow: EventEmitter<{}> = new EventEmitter<{}>();\r\n\r\n @Output()\r\n public deleteRow: EventEmitter<{}> = new EventEmitter<{}>();\r\n\r\n @Output()\r\n public addRow: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output()\r\n public rowVisible: EventEmitter<{}> = new EventEmitter<{}>();\r\n\r\n @HostListener('document:mousemove', ['$event'])\r\n public handleMouseMove(event: MouseEvent): void {\r\n if (this.resizable && event.buttons === 1 && this._columnForResize) {\r\n // this._columnForResize.width = this._columnForResize.originalWidth - (this._startMousePositionX - event.clientX);\r\n }\r\n }\r\n\r\n @HostListener('document:mouseup', ['$event'])\r\n public handleMouseUp(event: MouseEvent): void {\r\n this._startMousePositionX = undefined;\r\n this._columnForResize = undefined;\r\n }\r\n\r\n public columns: SimpleGridColumnDirective[] = [];\r\n public headerColumns: SimpleGridColumnDirective[] = [];\r\n\r\n protected _data: Object[] = [];\r\n protected disabledRows: number[] = [];\r\n\r\n private _columnForResize: SimpleGridColumnDirective;\r\n private _prepared: boolean = false;\r\n private _startMousePositionX: number;\r\n\r\n public handleSizerMouseDown(event: MouseEvent, column: SimpleGridColumnDirective): void {\r\n this._setWidthOfAllColumns();\r\n this._startMousePositionX = event.clientX;\r\n this._columnForResize = column;\r\n this._columnForResize.originalWidth = this._columnForResize.width;\r\n }\r\n\r\n public handleCanDragDrop(drag: CdkDrag, drop: CdkDropList): boolean {\r\n return true;\r\n }\r\n\r\n public handleDrop(event: CdkDragDrop<Object[]>): void {\r\n try {\r\n const from: number = event.previousIndex;\r\n const to: number = event.currentIndex;\r\n if (from === to) {\r\n return;\r\n }\r\n if (this.emitDragDrop) {\r\n this.onDrop.next({from: from, to: to});\r\n } else {\r\n moveItemInArray(this.data, from, to);\r\n }\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }\r\n\r\n public isSingleColumnRow(row: Object): boolean {\r\n return row.hasOwnProperty('singleColumnIndex');\r\n }\r\n\r\n public singleColumnIndex(row: Object): number {\r\n return (row as any).singleColumnIndex;\r\n }\r\n\r\n protected prepareDataRow(row: any, index: number): void {\r\n\r\n }\r\n\r\n private _setColumns(columns: SimpleGridColumnDirective[]): void {\r\n this.columns.push(...columns);\r\n this.columns.sort((a, b) => a.order < b.order ? -1 : 1);\r\n }\r\n\r\n private _prepareData(): void {\r\n if (this._prepared) {\r\n return;\r\n }\r\n this.disabledRows.length = 0;\r\n\r\n if (this.columns && this.columns.length > 0) {\r\n this.headerColumns = this.columns.filter(c => !c.singleColumn);\r\n let singleColumnIndex: number = -1;\r\n for (let i = 0; i < this.columns.length; i++) {\r\n if (this.columns[i].singleColumn) {\r\n singleColumnIndex = i;\r\n break;\r\n }\r\n }\r\n // first check if there's single column data\r\n if (singleColumnIndex > -1 && this.data && this.data.length > 0) {\r\n const field: string = this.columns[singleColumnIndex].field;\r\n for (let i = 0; i < this.data.length; i++) { // then mark row as single column row\r\n if (this.data[i][field] !== undefined && this.data[i][field] !== null && this.data[i][field] !== \"\") {\r\n // bit nasty to add prop, but cool for now\r\n (this.data[i] as any).singleColumnIndex = singleColumnIndex;\r\n }\r\n this.prepareDataRow(this.data[i], i);\r\n }\r\n }\r\n\r\n this._prepared = true;\r\n }\r\n this._resizeColumnsToFit();\r\n }\r\n\r\n private _resizeColumnsToFit(): void {\r\n const calculateColumns: SimpleGridColumnDirective[] = this.columns.filter(c => !c.autoFit && !c.width);\r\n for (let i = 0; i < calculateColumns.length; i++) {\r\n calculateColumns[i].width = `${100 / calculateColumns.length}%`;\r\n }\r\n }\r\n\r\n private _setWidthOfAllColumns(): void {\r\n this.columns.forEach((column: SimpleGridColumnDirective) => {\r\n if ((column.width === undefined || column.width === null) && column.elementRef && column.elementRef.nativeElement) {\r\n const rect: ClientRect = column.elementRef.nativeElement.getBoundingClientRect();\r\n column.width = rect.width;\r\n }\r\n });\r\n }\r\n\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n ViewChildren,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { FormMasterService } from '../../core/service/form-master.service';\r\nimport { BaseSimpleGridComponent } from './base-simple-grid.component';\r\nimport { ColumnAlign } from './simple-grid-column.directive';\r\n\r\n@Component({\r\n selector: 'co-simple-grid',\r\n template: `\r\n <co-grid-toolbar *ngIf=\"showToolbar\" [class.right]=\"rightToolbar\"\r\n [showEdit]=\"showEdit\"\r\n [showAdd]=\"showAdd\"\r\n [showDelete]=\"showDelete\"\r\n [deleteEnabled]=\"selectedRowIndex > -1\"\r\n (addClick)=\"addNewRow()\"\r\n (editClick)=\"editRow($event)\"\r\n (saveClick)=\"validateAndSave()\"\r\n (cancelClick)=\"cancelEditRow()\"\r\n (deleteClick)=\"removeRow()\"\r\n ></co-grid-toolbar>\r\n <table class=\"simple-grid-table\" [clickOutside]=\"editing\" (clickOutside)=\"handleClickOutsideRow()\">\r\n <colgroup>\r\n <col *ngFor=\"let column of headerColumns; let index = index\"\r\n [class.simple-grid-column-auto-fit]=\"column.autoFit\"\r\n [style.width.px]=\"column.width\"\r\n [style.min-width.px]=\"MIN_COLUMN_WIDTH\">\r\n </colgroup>\r\n <thead>\r\n <tr>\r\n <th scope=\"col\" #headerCell class=\"simple-grid-column-header\" *ngFor=\"let column of headerColumns; let index = index\">\r\n <div class=\"simple-grid-column-header-wrapper\" [class.resizable]=\"resizable\"\r\n [ngClass]=\"column.textAlign ? column.textAlign : defaultTextAlign\">\r\n <ng-container *ngIf=\"column.headerTemplate; else noHeaderTemplate\">\r\n <ng-container [ngTemplateOutlet]=\"column.headerTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-template #noHeaderTemplate>\r\n <div class=\"simple-grid-column-header-label\" [ngClass]=\"column.textAlign ? column.textAlign : defaultTextAlign\"\r\n [textContent]=\"column.headerText || ' '\"\r\n ></div>\r\n </ng-template>\r\n <div *ngIf=\"resizable && column.resizable\" class=\"simple-grid-column-sizer\"\r\n (mousedown)=\"handleSizerMouseDown($event, column)\"\r\n ></div>\r\n </div>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody #dropList cdkDropList cdkDropListOrientation=\"vertical\"\r\n class=\"simple-grid-drag-drop-list\"\r\n [cdkDropListDisabled]=\"!dragDropEnabled || editing\"\r\n [cdkDropListData]=\"data\"\r\n [cdkDropListEnterPredicate]=\"handleCanDragDrop\"\r\n (cdkDropListDropped)=\"handleDrop($event)\">\r\n <tr class=\"simple-grid-row\" [class.selected]=\"rowIndex === selectedRowIndex && !editing\" observeVisibility\r\n [class.disabled]=\"getIsRowDisabled(rowIndex)\"\r\n [class.editing]=\"rowIndex === editRowIndex\" *ngFor=\"let row of (!!rowsPerPage ? (data | paginate: {itemsPerPage: rowsPerPage, currentPage: currentPage}) : data); last as last; let rowIndex = index\" cdkDrag\r\n (click)=\"handleClickRow($event, rowIndex, row)\" (dblclick)=\"handleDblClickRow($event, rowIndex, row)\" (visibilityChange)=\"rowVisible.next(row)\">\r\n <co-form class=\"simple-grid-row-form\">\r\n <ng-container *ngIf=\"isSingleColumnRow(row)\">\r\n <td class=\"simple-grid-single-column-cell\" [attr.colspan]=\"headerColumns.length\">\r\n <co-simple-grid-cell\r\n [column]=\"columns[singleColumnIndex(row)]\"\r\n [row]=\"row\"\r\n [editMode]=\"false\"\r\n ></co-simple-grid-cell>\r\n </td>\r\n </ng-container>\r\n <ng-container *ngIf=\"!isSingleColumnRow(row)\">\r\n <ng-container *ngFor=\"let column of headerColumns; let columnIndex = index\">\r\n <td class=\"simple-grid-column-cell\" *ngIf=\"columnIndex !== singleColumnIndex(row)\">\r\n <co-simple-grid-cell\r\n [column]=\"column\"\r\n [row]=\"row\"\r\n [editMode]=\"inlineEdit && editing && rowIndex === editRowIndex\"\r\n [fieldEditMode]=\"editCellIndex === columnIndex && rowIndex === editRowIndex\"\r\n (cellClick)=\"handleCellClick($event, row, rowIndex, columnIndex)\"\r\n ></co-simple-grid-cell>\r\n <div *ngIf=\"column.resizable\" class=\"simple-grid-column-sizer-placeholder\"></div>\r\n </td>\r\n </ng-container>\r\n </ng-container>\r\n </co-form>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <co-pagination-bar *ngIf=\"data?.length > rowsPerPage\" class=\"pagination-bar\"\r\n [itemsPerPage]=\"rowsPerPage\"\r\n [currentPage]=\"currentPage\"\r\n [totalItems]=\"data.length\"\r\n [autoHide]=\"true\"\r\n (previousClick)=\"goToPreviousPage()\"\r\n (nextClick)=\"goToNextPage()\"\r\n (pageClick)=\"setCurrentPage($event)\"\r\n ></co-pagination-bar>\r\n `,\r\n providers: [\r\n FormMasterService\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class SimpleGridComponent extends BaseSimpleGridComponent {\r\n public readonly defaultTextAlign: ColumnAlign = ColumnAlign.Left;\r\n\r\n @ViewChildren('headerCell') set headerCells(cells) {\r\n const headerElements = cells.toArray();\r\n for (let i = 0; i < headerElements.length; i++) {\r\n this.columns[i].elementRef = headerElements[i];\r\n }\r\n }\r\n\r\n @Input()\r\n public showAdd: boolean = false;\r\n\r\n @Input()\r\n public showDelete: boolean = false;\r\n\r\n @Input()\r\n public editOnCellClick: boolean = true;\r\n\r\n @Input()\r\n public rightToolbar: boolean = false;\r\n\r\n @Input()\r\n public rowsPerPage: number = 1000;\r\n\r\n @Input()\r\n public rowDisabledFn: Function;\r\n\r\n /**\r\n * Promise function, if provided should return boolean\r\n */\r\n @Input()\r\n public canRowBeEdittedFn: Function;\r\n\r\n @HostBinding('class.co-simple-grid')\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n public handleKeyDown(event: KeyboardEvent): void {\r\n if (!this.inlineEdit) {\r\n return;\r\n }\r\n if (event.code === 'Tab') {\r\n event.preventDefault();\r\n this._nextAvailableCellToEdit(!event.shiftKey, this.editCellIndex)\r\n .then((index: number) => {\r\n this.editCellIndex = index;\r\n this._changeDetection.markForCheck();\r\n })\r\n this._detectChanges();\r\n }\r\n if (event.code === 'Escape') {\r\n this.cancelEditRow();\r\n }\r\n if (event.code === 'Enter') {\r\n this.validateAndSave();\r\n }\r\n }\r\n\r\n public editing: boolean = false;\r\n public editRowIndex: number = -1;\r\n public editCellIndex: number = -1;\r\n public selectedRowIndex: number = -1;\r\n public rowToEdit: any;\r\n public currentPage: number = 1;\r\n\r\n private _doubleClicked: boolean = false;\r\n private _newRow: boolean = false;\r\n\r\n constructor(\r\n private _changeDetection: ChangeDetectorRef,\r\n private _formMaster: FormMasterService\r\n ) {\r\n super();\r\n this.dataChanged.subscribe(() => {\r\n this.currentPage = 1;\r\n })\r\n }\r\n\r\n public handleClickOutsideRow(): void {\r\n this.validateAndSave();\r\n }\r\n\r\n public getIsRowDisabled(idx: number): boolean {\r\n return this.disabledRows.indexOf(idx) > -1;\r\n }\r\n\r\n public async isRowDisabled(row: any, index: number): Promise<boolean> {\r\n if (this.rowDisabledFn && (typeof this.rowDisabledFn === 'function')) {\r\n const disabled = await this.rowDisabledFn.call(this, row);\r\n const idxRow: number = this.disabledRows.indexOf(index);\r\n if (disabled) {\r\n if (idxRow < 0) {\r\n this.disabledRows.push(index);\r\n }\r\n } else {\r\n if (idxRow > -1) {\r\n this.disabledRows.splice(idxRow, 1);\r\n }\r\n }\r\n return disabled;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n public isSingleColumn(column): boolean {\r\n return column.singleColumn;\r\n }\r\n\r\n public rowContainsSingleColumn(row, columns): boolean {\r\n const singleColumn = columns.find(column => this.isSingleColumn(column) && !!row[column.field]);\r\n return !!singleColumn;\r\n }\r\n\r\n public async addNewRow(): Promise<void> {\r\n if (this.inlineEdit) {\r\n const valid: boolean = this.validateAndSave();\r\n // this._detectChanges();\r\n if (valid) {\r\n this.data.push({});\r\n this._detectChanges();\r\n this._newRow = true;\r\n this.editing = true;\r\n this.editRowIndex = this.data.length - 1;\r\n this.rowToEdit = this.data[this.editRowIndex];\r\n this.editCellIndex = await this._nextAvailableCellToEdit(true);\r\n this._detectChanges();\r\n }\r\n } else {\r\n this.addRow.next();\r\n }\r\n }\r\n\r\n public validateAndSave(stopediting: boolean = true): boolean {\r\n if (!this.editing) {\r\n return true;\r\n }\r\n const valid: boolean = this._formMaster.submitSlaves();\r\n this._detectChanges();\r\n if (valid) {\r\n this._saveRow(stopediting);\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public cancelEditRow(): void {\r\n if (!this.editing) {\r\n return;\r\n }\r\n if (this._newRow) {\r\n this.data.splice(this.data.length - 1, 1);\r\n } else {\r\n this.data[this.editRowIndex] = this.rowToEdit;\r\n }\r\n this._resetEdit();\r\n this._detectChanges();\r\n }\r\n\r\n public removeRow(): void {\r\n this.deleteRow.next(this.data[this.selectedRowIndex]);\r\n }\r\n\r\n public handleClickRow(event: MouseEvent, index: number, row: any): void {\r\n setTimeout(() => {\r\n if (this._doubleClicked) {\r\n return;\r\n }\r\n this.selectTheRow(index);\r\n }, 200);\r\n }\r\n\r\n public selectTheRow(index: number, emit: boolean = true): void {\r\n if (this.selectedRowIndex === -1 || (this.selectedRowIndex !== index && ((this.editing && this.validateAndSave()) || !this.editing))) {\r\n this.selectedRowIndex = index;\r\n }\r\n if (emit) {\r\n this.selectRow.next(this.data[this.selectedRowIndex]);\r\n }\r\n this._detectChanges();\r\n }\r\n\r\n public async handleDblClickRow(event: MouseEvent, index: number, row: any): Promise<void> {\r\n if (await this.isRowDisabled(row, index)) {\r\n this.selectedRowIndex = -1;\r\n return;\r\n }\r\n let canEdit: boolean = true;\r\n if (this.canRowBeEdittedFn && typeof this.canRowBeEdittedFn === 'function') {\r\n canEdit = await this.canRowBeEdittedFn.call(this, row);\r\n }\r\n if (canEdit) {\r\n this._doubleClicked = true;\r\n this.dblClickRow.next(this.data[index]);\r\n this.selectTheRow(index, false);\r\n if (this.inlineEdit) {\r\n this.editRow(event);\r\n }\r\n }\r\n this._resetDblClick();\r\n }\r\n\r\n public editRow(event: MouseEvent, selectCell: boolean = true): void {\r\n this.editRowIndex = this.selectedRowIndex;\r\n this.rowToEdit = this.data[this.editRowIndex];\r\n this.editing = true;\r\n if (selectCell) {\r\n this._nextAvailableCellToEdit(true).then((index: number) => {\r\n this.editCellIndex = index;\r\n });\r\n }\r\n this._detectChanges();\r\n }\r\n\r\n public async handleCellClick(event: MouseEvent, row: any, rowIndex: number, cellIndex: number): Promise<void> {\r\n if (this.editOnCellClick) {\r\n if (await this.isRowDisabled(row, rowIndex)) {\r\n this.selectedRowIndex = -1;\r\n return;\r\n }\r\n this.selectTheRow(rowIndex, false);\r\n if (this.inlineEdit) {\r\n this.editRowIndex = rowIndex;\r\n this.editCellIndex = cellIndex;\r\n this.editing = true;\r\n this.editRow(event, false);\r\n }\r\n } else {\r\n this.editCellIndex = cellIndex;\r\n }\r\n this._detectChanges();\r\n }\r\n\r\n protected prepareDataRow(row: any, index: number): void {\r\n this.isRowDisabled(row, index);\r\n }\r\n\r\n private _resetDblClick(): void {\r\n setTimeout(() => {\r\n this._doubleClicked = false;\r\n }, 500);\r\n }\r\n\r\n /**\r\n *\r\n * @param next; Move to next or previous cell\r\n * @param start; Start from cellindex\r\n * @private\r\n */\r\n private _nextAvailableCellToEdit(next: boolean, start: number = -1): Promise<number> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n const numEditableColumns: number = this.columns.filter(c => !c.readonly).length;\r\n const wantedIndex = start + (next ? 1 : -1);\r\n if (wantedIndex >= numEditableColumns) {\r\n this._getNextEditRowIndex()\r\n .then((index: number) => {\r\n this.editRowIndex = index;\r\n resolve(this._getNextEditCellIndex(0));\r\n })\r\n .catch((e) => {\r\n reject();\r\n });\r\n } else if (wantedIndex < 0) {\r\n this._getPreviousEditRowIndex()\r\n .then((index: number) => {\r\n this.editRowIndex = index;\r\n resolve(this._getPreviousEditCellIndex(this.columns.length - 1));\r\n })\r\n .catch((e) => {\r\n reject();\r\n });\r\n } else {\r\n resolve(next ? this._getNextEditCellIndex(start + 1) : this._getPreviousEditCellIndex(start - 1));\r\n }\r\n });\r\n }\r\n\r\n private _getNextEditCellIndex(start: number): number {\r\n for (let i: number = start; i < this.columns.length; i++) {\r\n if (!this.columns[i].readonly) {\r\n return i;\r\n }\r\n }\r\n }\r\n\r\n private _getPreviousEditCellIndex(start: number): number {\r\n for (let i: number = start; i >= 0; i--) {\r\n if (!this.columns[i].readonly) {\r\n return i;\r\n }\r\n }\r\n }\r\n\r\n private _getNextEditRowIndex(): Promise<number> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n let newRowIndex: number = 0;\r\n if (this.editRowIndex + 1 >= this.data.length) {\r\n if (this.autoAddRow) {\r\n this.addNewRow();\r\n newRowIndex = this.editRowIndex;\r\n } else {\r\n newRowIndex = 0;\r\n }\r\n } else {\r\n newRowIndex = this.editRowIndex + 1;\r\n }\r\n if (newRowIndex !== this.editRowIndex) { // go to different row validate current one first\r\n if (this.validateAndSave(false)) {\r\n this.rowToEdit = this.data[newRowIndex];\r\n resolve(newRowIndex);\r\n } else {\r\n reject();\r\n }\r\n } else {\r\n resolve(newRowIndex);\r\n }\r\n });\r\n }\r\n\r\n private _getPreviousEditRowIndex(): Promise<number> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n let newRowIndex: number = 0;\r\n if (this.editRowIndex - 1 < 0) {\r\n newRowIndex = this.data.length - 1;\r\n } else {\r\n newRowIndex = this.editRowIndex - 1;\r\n }\r\n if (newRowIndex !== this.editRowIndex) { // go to different row validate current one first\r\n if (this.validateAndSave(false)) {\r\n this.rowToEdit = this.data[newRowIndex];\r\n resolve(newRowIndex);\r\n } else {\r\n reject();\r\n }\r\n } else {\r\n resolve(newRowIndex);\r\n }\r\n });\r\n }\r\n\r\n private _saveRow(stopediting: boolean = true): void {\r\n // emit saveEvent\r\n if (this.rowToEdit) {\r\n this.saveRow.next(this.rowToEdit);\r\n }\r\n this._newRow = false;\r\n if (stopediting) {\r\n this._resetEdit();\r\n }\r\n this._detectChanges();\r\n }\r\n\r\n public goToPreviousPage(): void {\r\n this.currentPage -= 1;\r\n }\r\n\r\n public goToNextPage(): void {\r\n this.currentPage += 1;\r\n }\r\n\r\n public setCurrentPage(page: number): void {\r\n this.currentPage = page;\r\n }\r\n\r\n private _detectChanges(): void {\r\n this._changeDetection.detectChanges();\r\n }\r\n\r\n private _resetEdit(): void {\r\n this._newRow = false;\r\n this.selectedRowIndex = -1;\r\n this.editRowIndex = -1;\r\n this.editCellIndex = -1;\r\n this.editing = false;\r\n this.rowToEdit = undefined;\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\n\r\nexport interface IPage {\r\n label: string;\r\n value: any;\r\n}\r\n\r\n@Component({\r\n selector: \"co-pagination-bar\",\r\n template: `\r\n <ul class=\"pagination\" *ngIf=\"!shouldBeHidden()\">\r\n <li class=\"pagination-previous\" [class.disabled]=\"isOnFirstPage()\" (click)=\"onPreviousClick()\">\r\n <div class=\"pagination-previous-arrow\"></div>\r\n <a *ngIf=\"directionLinks\" [class.disabled]=\"isOnFirstPage()\">{{ previousLabel }}</a>\r\n </li>\r\n <li *ngFor=\"let page of pages\" [class.current]=\"currentPage === page.value\" (click)=\"onPageClick(page.value)\">\r\n <span>{{page.label}}</span>\r\n </li>\r\n <li class=\"pagination-next\" [class.disabled]=\"isOnLastPage()\" (click)=\"onNextClick()\" >\r\n <a *ngIf=\"directionLinks\" [class.disabled]=\"isOnLastPage()\">{{ nextLabel }}</a>\r\n <div class=\"pagination-next-arrow\"></div>\r\n </li>\r\n </ul>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class PaginationBarComponent implements OnInit, OnChanges {\r\n\r\n @Input()\r\n public directionLinks: boolean = true;\r\n\r\n @Input()\r\n public previousLabel: string = 'Vorige pagina';\r\n\r\n @Input()\r\n public nextLabel: string = 'Volgende pagina';\r\n\r\n @Input()\r\n public currentPage: number = 1;\r\n\r\n @Input()\r\n public itemsPerPage: number = 20;\r\n\r\n @Input()\r\n public set totalItems(value: number){\r\n this._totalItems = value;\r\n this.totalPages = Math.ceil(this.totalItems / this.itemsPerPage);\r\n }\r\n\r\n public get totalItems(): number {\r\n return this._totalItems;\r\n }\r\n\r\n @Input()\r\n public paginationRange: number = 8;\r\n\r\n @Input()\r\n public autoHide: boolean = false;\r\n\r\n @Output()\r\n public previousClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output()\r\n public nextClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output()\r\n public pageClick: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @HostBinding(\"class.co-pagination-bar\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n private _totalItems: number = 20;\r\n public pages: IPage[] = [];\r\n public totalPages: number;\r\n\r\n public ngOnInit(): void {\r\n this.pages = this._createPageArray();\r\n }\r\n\r\n public ngOnChanges(changes: SimpleChanges): void {\r\n this.pages = this._createPageArray();\r\n }\r\n\r\n public isOnFirstPage(): boolean {\r\n return this.currentPage === 1;\r\n }\r\n\r\n public isOnLastPage(): boolean {\r\n return this.totalPages === this.currentPage;\r\n }\r\n\r\n public onPreviousClick(): void {\r\n if (!this.isOnFirstPage()) {\r\n this.previousClick.emit();\r\n }\r\n }\r\n\r\n public onNextClick(): void {\r\n if (!this.isOnLastPage()) {\r\n this.nextClick.emit();\r\n }\r\n }\r\n\r\n public onPageClick(value: any): void {\r\n this.currentPage = value;\r\n this.pageClick.emit(value);\r\n }\r\n\r\n public shouldBeHidden(): boolean {\r\n if (!this.autoHide) {\r\n return false;\r\n } else {\r\n return (this.totalItems <= this.itemsPerPage);\r\n }\r\n }\r\n\r\n // Returns an array of IPage objects to use in the pagination controls.\r\n private _createPageArray(): IPage[] {\r\n // paginationRange could be a string if passed from attribute, so cast to number.\r\n this.paginationRange = +this.paginationRange;\r\n let pages: IPage[] = [];\r\n const halfWay: number = Math.ceil(this.paginationRange / 2);\r\n const isStart: boolean = this.currentPage <= halfWay;\r\n const isEnd: boolean = this.totalPages - halfWay < this.currentPage;\r\n const isMiddle: boolean = !isStart && !isEnd;\r\n let ellipsesNeeded: boolean = this.paginationRange < this.totalPages;\r\n let i: number = 1;\r\n while (i <= this.totalPages && i <= this.paginationRange) {\r\n let label: string;\r\n let pageNumber: number = this._calculatePageNumber(i);\r\n let openingEllipsesNeeded: boolean = (i === 2 && (isMiddle || isEnd));\r\n let closingEllipsesNeeded: boolean = (i === this.paginationRange - 1 && (isMiddle || isStart));\r\n if (ellipsesNeeded && (openingEllipsesNeeded || closingEllipsesNeeded)) {\r\n label = '...';\r\n } else {\r\n label = '' + pageNumber;\r\n }\r\n pages.push({\r\n label: label,\r\n value: pageNumber\r\n });\r\n i++;\r\n }\r\n return pages;\r\n }\r\n\r\n // Given the position in the sequence of pagination links [i], figure out what page number corresponds to that position.\r\n private _calculatePageNumber(i: number): number {\r\n let halfWay: number = Math.ceil(this.paginationRange / 2);\r\n if (i === this.paginationRange) {\r\n return this.totalPages;\r\n } else if (i === 1) {\r\n return i;\r\n } else if (this.paginationRange < this.totalPages) {\r\n if (this.totalPages - halfWay < this.currentPage) {\r\n return this.totalPages - this.paginationRange + i;\r\n } else if (halfWay < this.currentPage) {\r\n return this.currentPage - halfWay + i;\r\n } else {\r\n return i;\r\n }\r\n } else {\r\n return i;\r\n }\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { PaginationBarComponent } from \"./pagination-bar.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n PaginationBarComponent\r\n ],\r\n exports: [\r\n PaginationBarComponent\r\n ]\r\n})\r\nexport class PaginationBarModule {\r\n}\r\n","import {Pipe, PipeTransform} from \"@angular/core\";\r\n\r\nimport {PaginationService} from \"./pagination.service\";\r\nimport {IPaginationInstance} from \"./pagination-instance\";\r\n\r\nconst LARGE_NUMBER: number = 999999999;\r\n\r\ninterface IPipeState {\r\n collection: any[];\r\n size: number;\r\n start: number;\r\n end: number;\r\n slice: any[];\r\n}\r\n\r\n@Pipe({\r\n name: 'paginate',\r\n pure: false\r\n})\r\nexport class PaginatePipe implements PipeTransform {\r\n\r\n // store the values from the last time the pipe\r\n private state: { [id: string]: IPipeState } = {};\r\n\r\n public transform(collection: any[], args: any): any {\r\n // When an observable is passed through the AsyncPipe, it will output\r\n // `null` until the subscription resolves. In this case, we want to\r\n // use the cached data from the `state` object to prevent the NgFor\r\n // from flashing empty until the real values arrive.\r\n if (!(collection instanceof Array)) {\r\n let _id: any = args.id;\r\n if (this.state[_id]) {\r\n return this.state[_id].slice;\r\n } else {\r\n return collection;\r\n }\r\n }\r\n\r\n let serverSideMode: boolean = args.totalItems !== undefined;\r\n let instance: IPaginationInstance = this._createInstance(collection, args);\r\n let id: string = instance.id;\r\n let start: number;\r\n let end: number;\r\n let perPage: number = instance.itemsPerPage;\r\n\r\n if (!serverSideMode && collection instanceof Array) {\r\n perPage = perPage || LARGE_NUMBER;\r\n start = (instance.currentPage - 1) * perPage;\r\n end = start + perPage;\r\n\r\n let isIdentical: boolean = this._stateIsIdentical(id, collection, start, end);\r\n if (isIdentical) {\r\n return this.state[id].slice;\r\n } else {\r\n let slice: any[] = collection.slice(start, end);\r\n this._saveState(id, collection, slice, start, end);\r\n return slice;\r\n }\r\n }\r\n\r\n // save the state for server-side collection to avoid null\r\n // flash as new data loads.\r\n this._saveState(id, collection, collection, start, end);\r\n return collection;\r\n }\r\n\r\n // Create an IPaginationInstance object, using defaults for any optional properties not supplied.\r\n private _createInstance(collection: any[], args: any): IPaginationInstance {\r\n let config: any = args;\r\n this._checkConfig(config);\r\n\r\n return {\r\n id: config.id,\r\n itemsPerPage: config.itemsPerPage || 0,\r\n currentPage: config.currentPage || 1,\r\n totalItems: config.totalItems || collection.length\r\n };\r\n }\r\n\r\n // Ensure the argument passed to the filter contains the required properties.\r\n private _checkConfig(config: any): void {\r\n const required: String[] = [\"itemsPerPage\", \"currentPage\"];\r\n const missing: String[] = required.filter((prop: any) => !config.hasOwnProperty(prop));\r\n if (0 < missing.length) {\r\n throw new Error(`PaginatePipe: Argument is missing the following required properties: ${missing.join(\", \")}`);\r\n }\r\n }\r\n\r\n /**\r\n * To avoid returning a brand new array each time the pipe is run, we store the state of the sliced\r\n * array for a given id. This means that the next time the pipe is run on this collection & id, we just\r\n * need to check that the collection, start and end points are all identical, and if so, return the\r\n * last sliced array.\r\n */\r\n private _saveState(id: string, collection: any[], slice: any[], start: number, end: number): void {\r\n this.state[id] = {\r\n collection,\r\n size: collection.length,\r\n slice,\r\n start,\r\n end\r\n };\r\n }\r\n\r\n // For a given id, returns true if the collection, size, start and end values are identical.\r\n private _stateIsIdentical(id: string, collection: any[], start: number, end: number): boolean {\r\n let state: any = this.state[id];\r\n if (!state) {\r\n return false;\r\n }\r\n return state.collection === collection &&\r\n state.size === collection.length &&\r\n state.start === start &&\r\n state.end === end;\r\n }\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {Subject} from \"rxjs\";\r\n\r\nimport {IPaginationInstance} from \"./pagination-instance\";\r\nimport {ObjectUtils} from \"../../core/utils/object-utils\";\r\n\r\n@Injectable()\r\nexport class PaginationService {\r\n private static readonly DEFAULT_ID: string = \"DEFAULT_PAGINATION_ID\";\r\n\r\n public change: Subject<string> = new Subject<string>();\r\n\r\n public get DEFAULT_ID(): string {\r\n return PaginationService.DEFAULT_ID;\r\n }\r\n\r\n private readonly instances: { [id: string]: IPaginationInstance } = {};\r\n\r\n constructor() {\r\n }\r\n\r\n public register(instance: IPaginationInstance): void {\r\n if (!instance.id) {\r\n instance.id = PaginationService.DEFAULT_ID;\r\n }\r\n\r\n if (!this.instances[instance.id]) {\r\n this.instances[instance.id] = instance;\r\n this.change.next(instance.id);\r\n } else {\r\n let changed: boolean = this.updateInstance(instance);\r\n if (changed) {\r\n this.change.next(instance.id);\r\n }\r\n }\r\n }\r\n\r\n // Returns the current page number.\r\n public getCurrentPage(id: string): number {\r\n if (this.instances[id]) {\r\n return this.instances[id].currentPage;\r\n }\r\n }\r\n\r\n // Sets the current page number.\r\n public setCurrentPage(id: string, page: number): void {\r\n if (this.instances[id]) {\r\n let instance: IPaginationInstance = this.instances[id];\r\n let maxPage: number = Math.ceil(instance.totalItems / instance.itemsPerPage);\r\n if (page <= maxPage && 1 <= page) {\r\n this.instances[id].currentPage = page;\r\n this.change.next(id);\r\n }\r\n }\r\n }\r\n\r\n // Sets the value of instance.totalItems\r\n public setTotalItems(id: string, totalItems: number): void {\r\n if (this.instances[id] && 0 <= totalItems) {\r\n this.instances[id].totalItems = totalItems;\r\n this.change.next(id);\r\n }\r\n }\r\n\r\n // Sets the value of instance.itemsPerPage.\r\n public setItemsPerPage(id: string, itemsPerPage: number): void {\r\n if (this.instances[id]) {\r\n this.instances[id].itemsPerPage = itemsPerPage;\r\n this.change.next(id);\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Returns a clone of the pagination instance object matching the id. If no\r\n * id specified, returns the instance corresponding to the default id.\r\n */\r\n public getInstance(id: string = PaginationService.DEFAULT_ID): IPaginationInstance {\r\n if (this.instances[id]) {\r\n return ObjectUtils.GetShallowClone(this.instances[id]);\r\n }\r\n return <IPaginationInstance>{};\r\n }\r\n\r\n /**\r\n * Check each property of the instance and update any that have changed. Return\r\n * true if any changes were made, else return false.\r\n */\r\n private updateInstance(instance: IPaginationInstance): boolean {\r\n let changed: boolean = false;\r\n for (let prop in this.instances[instance.id]) {\r\n if (instance[prop] !== this.instances[instance.id][prop]) {\r\n this.instances[instance.id][prop] = instance[prop];\r\n changed = true;\r\n }\r\n }\r\n return changed;\r\n }\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { IPaginationInstance } from './pagination-instance';\r\nimport { PaginationService } from './pagination.service';\r\n\r\n@Component({\r\n selector: 'co-pagination',\r\n template: `\r\n <div class=\"pagination-component-main-wrapper\" *ngIf=\"!shouldBeHidden()\">\r\n <div>\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <co-pagination-bar\r\n [currentPage]=\"getCurrentPage()\"\r\n [totalItems]=\"totalItems\"\r\n [itemsPerPage]=\"itemsPerPage\"\r\n [directionLinks]=\"directionLinks\"\r\n [previousLabel]=\"previousLabel\"\r\n [nextLabel]=\"nextLabel\"\r\n (previousClick)=\"goToPreviousPage()\"\r\n (nextClick)=\"goToNextPage()\"\r\n (pageClick)=\"setCurrentPage($event)\"\r\n ></co-pagination-bar>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class PaginationComponent implements OnInit, OnChanges, OnDestroy {\r\n @ViewChild('template')\r\n public readonly template: ElementRef;\r\n\r\n @Input()\r\n public id: string;\r\n\r\n @Input()\r\n public maxSize: number = 7;\r\n\r\n @Input()\r\n public directionLinks: boolean = true;\r\n\r\n @Input()\r\n public previousLabel: string = 'Vorige pagina';\r\n\r\n @Input()\r\n public nextLabel: string = 'Volgende pagina';\r\n\r\n @Input()\r\n public autoHide: boolean = false;\r\n\r\n // Emits the new page number.\r\n @Output()\r\n public readonly pageChange: EventEmitter<number> = new EventEmitter<number>();\r\n\r\n @HostBinding('class.co-pagination')\r\n public showClass: boolean = true;\r\n\r\n public totalItems: number = 1;\r\n public itemsPerPage: number = 20;\r\n\r\n private changeSub: Subscription;\r\n\r\n\r\n constructor(private _paginationService: PaginationService) {\r\n this.changeSub = this._paginationService.change.subscribe((id: string) => {\r\n if (this.id === id) {\r\n this._updatePageLinks();\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.id) {\r\n this.id = this._paginationService.DEFAULT_ID;\r\n }\r\n this._updatePageLinks();\r\n }\r\n\r\n ngOnChanges(): void {\r\n this._updatePageLinks();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.changeSub.unsubscribe();\r\n }\r\n\r\n public goToFirstPage(): void {\r\n this.setCurrentPage(1);\r\n }\r\n\r\n public goToPreviousPage(): void {\r\n this.setCurrentPage(this.getCurrentPage() - 1);\r\n }\r\n\r\n public goToNextPage(): void {\r\n this.setCurrentPage(this.getCurrentPage() + 1);\r\n }\r\n\r\n public setCurrentPage(page: number): void {\r\n this.pageChange.emit(page);\r\n }\r\n\r\n public shouldBeHidden(): boolean {\r\n if (!this.autoHide) {\r\n return false;\r\n } else {\r\n let instance: IPaginationInstance = this._paginationService.getInstance();\r\n return (instance.totalItems <= instance.itemsPerPage);\r\n }\r\n }\r\n\r\n /**\r\n * Updates the page links and checks that the current page is valid. Should run whenever the\r\n * PaginationService.change stream emits a value matching the current ID, or when any of the\r\n * input values changes.\r\n */\r\n private _updatePageLinks(): void {\r\n let paginationInstance: IPaginationInstance = this._paginationService.getInstance(this.id);\r\n\r\n const correctedCurrentPage: number = this.outOfBoundCorrection(paginationInstance);\r\n if (correctedCurrentPage !== paginationInstance.currentPage) {\r\n this.setCurrentPage(correctedCurrentPage);\r\n }\r\n\r\n this.totalItems = paginationInstance.totalItems;\r\n this.itemsPerPage = paginationInstance.itemsPerPage;\r\n }\r\n\r\n public getCurrentPage(): number {\r\n return this._paginationService.getCurrentPage(this.id);\r\n }\r\n\r\n\r\n /**\r\n * Checks that the instance.currentPage property is within bounds for the current page range.\r\n * If not, return a correct value for currentPage, or the current value if OK.\r\n */\r\n private outOfBoundCorrection(instance: IPaginationInstance): number {\r\n const totalPages: number = Math.ceil(instance.totalItems / instance.itemsPerPage);\r\n if (totalPages < instance.currentPage && 0 < totalPages) {\r\n return totalPages;\r\n } else if (instance.currentPage < 1) {\r\n return 1;\r\n }\r\n\r\n return instance.currentPage;\r\n }\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { PaginationBarModule } from \"../pagination-bar/pagination-bar.module\";\r\nimport { PaginatePipe } from \"./paginate.pipe\";\r\nimport { PaginationComponent } from \"./pagination.component\";\r\nimport { PaginationService } from \"./pagination.service\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PaginationBarModule\r\n ],\r\n providers: [\r\n PaginationService\r\n ],\r\n declarations: [\r\n PaginationComponent,\r\n PaginatePipe\r\n ],\r\n exports: [\r\n PaginationComponent,\r\n PaginatePipe\r\n ]\r\n})\r\nexport class PaginationModule {\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n Input, OnChanges,\r\n Output, SimpleChanges,\r\n TemplateRef,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { ColumnAlign, SimpleGridColumnDirective } from \"./simple-grid-column.directive\";\r\nimport { BaseInputComponent } from \"../base/base-input.component\";\r\n\r\n@Component({\r\n selector: \"co-simple-grid-cell\",\r\n template: `\r\n <div class=\"simple-grid-column-cell-value\" [ngClass]=\"column.textAlign ? column.textAlign : defaultTextAlign\">\r\n <ng-container *ngIf=\"editMode; else noInlineEdit\">\r\n <div class=\"simple-grid-column-cell-field\">\r\n <ng-container #editTemplate *ngIf=\"column.editTemplate; else noEditTemplate\"\r\n [ngTemplateOutlet]=\"column.editTemplate\"\r\n [ngTemplateOutletContext]=\"{value: row[column.field], row: row}\"></ng-container>\r\n <ng-template #noEditTemplate>\r\n <ng-container *ngIf=\"column.template; else noTemplate\">\r\n <ng-container [ngTemplateOutlet]=\"column.template\"\r\n [ngTemplateOutletContext]=\"{value: row[column.field], row: row}\"></ng-container>\r\n </ng-container>\r\n <ng-template #noTemplate>\r\n <co-input-text [(model)]=\"row[column.field]\" [required]=\"column.required\"></co-input-text>\r\n </ng-template>\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n <ng-template #noInlineEdit>\r\n <div class=\"simple-grid-column-cell-field\">\r\n <ng-container *ngIf=\"column.template; else noTemplate\">\r\n <ng-container [ngTemplateOutlet]=\"column.template\"\r\n [ngTemplateOutletContext]=\"{value: row[column.field], row: row}\"></ng-container>\r\n </ng-container>\r\n <ng-template #noTemplate>\r\n <span [textContent]=\"column.getFieldValue(row[column.field])\"></span>\r\n </ng-template>\r\n </div>\r\n </ng-template>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SimpleGridCellComponent {\r\n get editMode(): boolean {\r\n return this._editMode;\r\n }\r\n @Input()\r\n set editMode(value: boolean) {\r\n this._editMode = value;\r\n }\r\n public readonly defaultTextAlign: ColumnAlign = ColumnAlign.Left;\r\n\r\n @ViewChild(\"editTemplate\", {read: BaseInputComponent}) set editTemplateContent(template) {\r\n if (template) {\r\n this._editTemplate = template;\r\n this._setFocusComponent();\r\n }\r\n }\r\n\r\n @ViewChild(\"noEditTemplate\") set noEditTemplateContent(template) {\r\n if (template) {\r\n this._template = template;\r\n this._setFocusComponent();\r\n }\r\n }\r\n\r\n @ViewChild(\"noTemplate\") set noTemplateContent(template) {\r\n if (template) {\r\n this._inputTemplate = template;\r\n this._setFocusComponent();\r\n }\r\n }\r\n\r\n @Input()\r\n public column: SimpleGridColumnDirective;\r\n\r\n @Input()\r\n public row: {};\r\n\r\n private _editMode: boolean = false;\r\n\r\n @Input()\r\n public set fieldEditMode(value: boolean) {\r\n this._fieldEditMode = value;\r\n this._setFocusComponent();\r\n }\r\n\r\n public get fieldEditMode(): boolean {\r\n return this._fieldEditMode;\r\n }\r\n\r\n @Output()\r\n public cellClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @HostBinding(\"class.co-simple-grid-cell\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n public handleClick(event: MouseEvent): void {\r\n if (this.column && !this.column.readonly) {\r\n this.cellClick.next();\r\n }\r\n }\r\n\r\n private _fieldEditMode: boolean = false;\r\n private _focused: boolean = false;\r\n private _editTemplate: TemplateRef<any>;\r\n private _template: TemplateRef<any>;\r\n private _inputTemplate: TemplateRef<any>;\r\n\r\n constructor(private _changeDetector: ChangeDetectorRef) {\r\n }\r\n\r\n private _setFocusComponent(): void {\r\n if (this._editMode && this.fieldEditMode) {\r\n const element = this._getElement();\r\n if (element) {\r\n const focusEvent = this._createNewEvent(element, 'focus');\r\n element.focus();\r\n element.dispatchEvent(focusEvent);\r\n this._focused = true;\r\n }\r\n } else {\r\n if (this._focused) {\r\n const element = this._getElement();\r\n if (element) {\r\n const blurEvent = this._createNewEvent(element, 'blur');\r\n element.blur();\r\n element.dispatchEvent(blurEvent);\r\n }\r\n this._focused = false;\r\n }\r\n }\r\n this._detectChanges();\r\n }\r\n\r\n private _getFirstFormInput(parent: any): any {\r\n if (parent) {\r\n const collection = Array.from(parent.getElementsByTagName('input'));\r\n const otherCollection = Array.from(parent.getElementsByTagName('textarea'));\r\n otherCollection.map(o => collection.push(o));\r\n if (collection.length > 0) {\r\n return collection[0];\r\n }\r\n }\r\n }\r\n\r\n private _createNewEvent(element: any, eventType: string): Event {\r\n let event;\r\n if (\"createEvent\" in document) {\r\n event = document.createEvent(\"Event\");\r\n event.initEvent(eventType, true, true);\r\n } else if (\"Event\" in window) {\r\n event = new Event(eventType, { bubbles: true, cancelable: true });\r\n }\r\n return event;\r\n }\r\n\r\n private _getElement(): HTMLElement {\r\n let templ: TemplateRef<any>;\r\n if (this._editTemplate) {\r\n templ = this._editTemplate;\r\n } else if (this._template) {\r\n templ = this._template;\r\n } else {\r\n templ = this._inputTemplate;\r\n }\r\n if (templ) {\r\n if (templ && templ.elementRef) {\r\n const inputElement = this._getFirstFormInput(templ.elementRef.nativeElement.parentElement);\r\n if (inputElement) {\r\n return inputElement;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private _detectChanges(): void {\r\n this._changeDetector.detectChanges();\r\n }\r\n}\r\n","import {AfterViewInit, Directive, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[observeVisibility]',\r\n exportAs: 'visibilityObserve'\r\n})\r\nexport class ObserveVisibilityDirective implements OnDestroy, OnInit, AfterViewInit {\r\n\r\n @Input()\r\n public threshold: number = 0;\r\n\r\n @Output()\r\n public visibilityChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n public visible: boolean = false;\r\n\r\n private _observer: IntersectionObserver | undefined;\r\n\r\n constructor(private _element: ElementRef) {}\r\n\r\n public ngOnInit(): void {\r\n this._createObserver();\r\n }\r\n\r\n public ngAfterViewInit(): void {\r\n this._startObservingElements();\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n if (this._observer) {\r\n this._observer.disconnect();\r\n this._observer = undefined;\r\n }\r\n }\r\n\r\n private _createObserver(): void {\r\n const options = {\r\n rootMargin: '0px',\r\n threshold: this.threshold,\r\n };\r\n this._observer = new IntersectionObserver((entries, observer) => {\r\n entries.forEach(entry => {\r\n this.visible = entry.isIntersecting || entry.intersectionRatio > 0;\r\n this.visibilityChange.emit(this.visible);\r\n });\r\n }, options);\r\n }\r\n\r\n private _startObservingElements(): void {\r\n if (!this._observer) {\r\n return;\r\n }\r\n this._observer.observe(this._element.nativeElement);\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {ObserveVisibilityDirective} from \"./observe-visibility.directive\";\r\n\r\n@NgModule({\r\n declarations: [\r\n ObserveVisibilityDirective\r\n ],\r\n exports: [\r\n ObserveVisibilityDirective\r\n ]\r\n})\r\nexport class ObserveVisibilityModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport { PaginationBarModule } from \"../pagination-bar/pagination-bar.module\";\r\nimport { PaginationModule } from \"../pagination/pagination.module\";\r\nimport {SimpleGridComponent} from \"./simple-grid.component\";\r\nimport {DragDropModule} from \"@angular/cdk/drag-drop\";\r\nimport {SimpleGridColumnDirective} from \"./simple-grid-column.directive\";\r\nimport {GridToolbarModule} from \"../grid-toolbar/grid-toolbar.module\";\r\nimport {InputTextModule} from \"../input-text/input-text.module\";\r\nimport {SimpleGridCellComponent} from \"./simple-grid-cell.component\";\r\nimport {FormModule} from \"../form/form.module\";\r\nimport {ObserveVisibilityModule} from \"../../directives/observe-visibility/observe-visibility.module\";\r\nimport {ClickoutsideModule} from '../../directives/clickoutside/clickoutside.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n DragDropModule,\r\n GridToolbarModule,\r\n InputTextModule,\r\n FormModule,\r\n ObserveVisibilityModule,\r\n PaginationModule,\r\n PaginationBarModule,\r\n ClickoutsideModule\r\n ],\r\n declarations: [\r\n SimpleGridComponent,\r\n SimpleGridCellComponent,\r\n SimpleGridColumnDirective\r\n ],\r\n exports: [\r\n SimpleGridComponent,\r\n SimpleGridCellComponent,\r\n SimpleGridColumnDirective\r\n ]\r\n})\r\nexport class SimpleGridModule { }\r\n","// The different view modes for content, e.g. list, grid, ..\r\nexport enum ContentViewMode {\r\n List,\r\n Grid,\r\n GridExpanded,\r\n MasterDetail,\r\n Timeline,\r\n Tiles,\r\n}\r\n","import { Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewEncapsulation } from \"@angular/core\";\r\nimport { ContentViewMode} from \"./content-view-mode.enum\";\r\nimport { CoreComponentsIcon} from \"../../core/enum/core-components-icon.enum\";\r\nimport { IconCacheService} from \"../icon/icon-cache.service\";\r\n\r\n@Component({\r\n selector: 'co-view-mode-buttons',\r\n template: `\r\n <co-button class=\"view-button\"\r\n *ngIf=\"showViewModes.includes(viewModes.Tiles)\"\r\n [class.selected]=\"this.activeViewMode === viewModes.Tiles\"\r\n [iconData]=\"iconCacheService.getIcon(icons.ListView)\"\r\n [title]=\"'TILE_VIEW'\"\r\n (click)=\"this.activeViewMode = viewModes.Tiles\"></co-button>\r\n <co-button class=\"view-button\"\r\n *ngIf=\"showViewModes.includes(viewModes.List)\"\r\n [class.selected]=\"this.activeViewMode === viewModes.List\"\r\n [iconData]=\"iconCacheService.getIcon(icons.ThickLines)\"\r\n [title]=\"'LIST_VIEW'\"\r\n (click)=\"this.activeViewMode = viewModes.List\"></co-button>\r\n <co-button class=\"view-button\"\r\n *ngIf=\"showViewModes.includes(viewModes.Grid)\"\r\n [class.selected]=\"this.activeViewMode === viewModes.Grid\"\r\n [iconData]=\"iconCacheService.getIcon(icons.ThinLines)\"\r\n [title]=\"'GRID_VIEW'\"\r\n (click)=\"this.activeViewMode = viewModes.Grid\"></co-button>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ViewModeButtonsComponent implements OnInit {\r\n public readonly icons: typeof CoreComponentsIcon = CoreComponentsIcon;\r\n public readonly viewModes: typeof ContentViewMode = ContentViewMode;\r\n\r\n @Input()\r\n public showViewModes: ContentViewMode[] = [this.viewModes.List, this.viewModes.Grid, this.viewModes.Tiles];\r\n\r\n @Output()\r\n public viewModeChange: EventEmitter<ContentViewMode> = new EventEmitter<ContentViewMode>();\r\n\r\n @HostBinding(\"class.co-view-mode-buttons\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public set activeViewMode(value: ContentViewMode) {\r\n this._activeViewMode = value;\r\n this.viewModeChange.emit(this._activeViewMode);\r\n }\r\n\r\n public get activeViewMode(): ContentViewMode {\r\n return this._activeViewMode;\r\n }\r\n\r\n private _activeViewMode: ContentViewMode;\r\n\r\n public ngOnInit(): void {\r\n this.activeViewMode = this.showViewModes.includes(ContentViewMode.List) ? ContentViewMode.List : this.showViewModes[0];\r\n }\r\n\r\n constructor(public iconCacheService: IconCacheService) {\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {ViewModeButtonsComponent} from \"./view-mode-buttons.component\";\r\nimport {ButtonModule} from \"../button/button.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ButtonModule,\r\n ],\r\n declarations: [\r\n ViewModeButtonsComponent\r\n ],\r\n exports: [\r\n ViewModeButtonsComponent\r\n ]\r\n})\r\nexport class ViewModeButtonsModule {\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n ViewChildren,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {InputSearchComponent} from '../input-search/input-search.component';\r\nimport {KeyboardKey} from '../../core/enum/keyboard-key.enum';\r\n\r\nexport interface lovViewModel {\r\n checked: boolean\r\n model: any\r\n}\r\n\r\n@Component({\r\n selector: 'co-list-of-values-popup',\r\n template: `\r\n <div class=\"lov-options\" [overlay]=\"parentForOverlay\" [inheritWidth]=\"true\" [ngClass]=\"customCssClass\" id=\"lov-popup\"\r\n role=\"listbox\" [tabindex]=\"-1\"\r\n (clickOutside)=\"closePopup.emit($event)\">\r\n <co-input-search *ngIf=\"multiselect\"\r\n tabindex=\"-1\"\r\n [(model)]=\"searchTerm\"\r\n [placeholder]=\"searchPlaceholder\"\r\n (keydown)=\"handleInputKeyDown($event)\"\r\n (modelChange)=\"filterViewModels()\"></co-input-search>\r\n <ul class=\"dropdown-list\" #dropDownList>\r\n <li #lovItem *ngFor=\"let viewModel of viewModels; let index = index\" [class.selected]=\"viewModel === highLightModel\"\r\n (click)=\"selectViewModel(viewModel, !multiselect)\" role=\"option\">\r\n <ng-container *ngIf=\"!multiselect\">\r\n <span class=\"lov-options-text\" [textContent]=\"viewModel.model[displayField]\"></span>\r\n </ng-container>\r\n <ng-container *ngIf=\"multiselect\">\r\n <co-input-checkbox [model]=\"viewModel.checked\" (modelChange)=\"selectViewModel(viewModel, false)\"></co-input-checkbox>\r\n <span class=\"lov-options-text\" [textContent]=\"viewModel.model[displayField]\"></span>\r\n </ng-container>\r\n </li>\r\n </ul>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class ListOfValuesPopupComponent implements OnInit {\r\n @ViewChildren('lovItem', { read: ElementRef }) set lovItems(children) {\r\n this._lovItems = children.toArray();\r\n this._scrollIntoView();\r\n }\r\n\r\n @ViewChild('dropDownList', { read: ElementRef })\r\n public dropDownList: ElementRef;\r\n\r\n @ViewChild(InputSearchComponent) set inputSearch(component: InputSearchComponent) {\r\n this._searchInput = component;\r\n if (this._searchInput) {\r\n this._searchInput.requestFocus();\r\n }\r\n }\r\n\r\n @Input()\r\n public model: any;\r\n\r\n @Input()\r\n public multiselect: boolean = false;\r\n\r\n @Input()\r\n public displayField: string = 'description';\r\n\r\n @Input()\r\n public searchPlaceholder: string;\r\n\r\n @Input()\r\n public customCssClass: string;\r\n\r\n @Input()\r\n public searchDisabled: boolean = false;\r\n\r\n @Input()\r\n public parentForOverlay: ElementRef;\r\n\r\n @Input()\r\n public set collection(value: any[]) {\r\n this._collection = value || [];\r\n this._prepareViewModelsMain();\r\n this._prepareViewModels();\r\n this.filterViewModels();\r\n }\r\n\r\n public get collection(): any[] {\r\n return this._collection;\r\n }\r\n\r\n @Output()\r\n public modelChange: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @Output()\r\n public closePopup: EventEmitter<Event> = new EventEmitter<Event>();\r\n\r\n @Output()\r\n public keyDown: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\r\n\r\n @HostBinding('class.co-list-of-values-popup')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public set searchTerm(value: string) {\r\n this._searchTerm = value;\r\n this.model = undefined;\r\n this.highLightModel = undefined;\r\n this.filterViewModels();\r\n }\r\n\r\n public get searchTerm(): string {\r\n return this._searchTerm;\r\n }\r\n\r\n public viewModels: lovViewModel[] = [];\r\n public viewModelsMain: lovViewModel[] = [];\r\n public highLightModel: lovViewModel;\r\n\r\n private _collection: any[] = [];\r\n private _searchTerm: string = '';\r\n private _lovItems: ElementRef[] = [];\r\n private _searchInput: InputSearchComponent;\r\n\r\n constructor(private _elementRef: ElementRef) {\r\n }\r\n\r\n ngOnInit() {\r\n if (this.model) {\r\n if (!this.multiselect) {\r\n this._scrollIntoView();\r\n } else {\r\n for (let i = 0; i < this.model.length; i++) {\r\n const viewModel: lovViewModel = this.viewModelsMain.find(v => JSON.stringify(v.model) === JSON.stringify(this.model[i]));\r\n if (viewModel) {\r\n viewModel.checked = true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n public handleInputKeyDown(event: KeyboardEvent): boolean {\r\n if (event) {\r\n switch (event.code) {\r\n case KeyboardKey.Down:\r\n this.selectNextOption();\r\n return false;\r\n case KeyboardKey.Up:\r\n this.selectNextOption(true);\r\n return false;\r\n case KeyboardKey.SpaceBar:\r\n if (this.highLightModel) {\r\n this.selectViewModel(this.highLightModel, false);\r\n } else {\r\n this.keyDown.next(event);\r\n }\r\n return false;\r\n default:\r\n this.keyDown.next(event);\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n public filterViewModels(): void {\r\n if (!this.collection) {\r\n return;\r\n }\r\n this._prepareViewModels();\r\n }\r\n\r\n public selectViewModel(viewModel: lovViewModel, closePopup: boolean = true): void {\r\n if (!this.multiselect) {\r\n this.selectModelByViewModel(viewModel, closePopup);\r\n } else {\r\n const idx: number = this.viewModels.findIndex(vm => vm === viewModel);\r\n this.viewModels[idx].checked = !this.viewModels[idx].checked;\r\n this.selectOptions();\r\n }\r\n }\r\n\r\n public selectModelByViewModel(viewModel: lovViewModel, closePopup: boolean = true): void {\r\n this.model = this.viewModelsMain.find(vm => vm === viewModel).model;\r\n this.modelChange.emit(this.model);\r\n this._scrollIntoView();\r\n if (closePopup) {\r\n this.closePopup.emit();\r\n }\r\n }\r\n\r\n // for single select\r\n public selectOptionAndClosePopup(): void {\r\n if (!this.model && this.searchTerm) {\r\n const wishModel: lovViewModel = this.viewModelsMain.find(vmm => vmm.model[this.displayField] === this.searchTerm);\r\n if (wishModel) {\r\n this.selectViewModel(wishModel);\r\n } else {\r\n this.model = undefined;\r\n this.modelChange.emit(this.model);\r\n this.searchTerm = '';\r\n }\r\n } else {\r\n this.closePopup.emit();\r\n }\r\n }\r\n\r\n // for multi select\r\n public selectOptions(): void {\r\n this.model = this.viewModelsMain.filter(v => v.checked).map(m => m.model);\r\n this.modelChange.emit(this.model);\r\n }\r\n\r\n public selectNextOption(back: boolean = false): void {\r\n let nextModel: any;\r\n if (!this.highLightModel) {\r\n nextModel = this.viewModels[back ? this.viewModels.length - 1 : 0];\r\n } else {\r\n const currentViewModelIdx: number = this.viewModels.findIndex(vm => vm === this.highLightModel);\r\n if (back) {\r\n nextModel = this.viewModels[currentViewModelIdx <= 0 ? this.viewModels.length - 1 : currentViewModelIdx - 1];\r\n } else {\r\n nextModel = this.viewModels[currentViewModelIdx >= this.viewModels.length - 1 ? 0 : currentViewModelIdx + 1];\r\n }\r\n }\r\n this.highLightModel = nextModel;\r\n if (!this.multiselect) {\r\n this.selectViewModel(nextModel, false);\r\n } else {\r\n this._scrollIntoView();\r\n }\r\n }\r\n\r\n private _prepareViewModelsMain(): void {\r\n this.viewModelsMain.length = 0;\r\n this.collection.forEach(m => {\r\n this.viewModelsMain.push({checked: false, model: m});\r\n })\r\n }\r\n\r\n private _prepareViewModels(): void {\r\n this.viewModels.length = 0;\r\n this.viewModels = this.viewModelsMain.filter(\r\n vm => vm.model[this.displayField] && vm.model[this.displayField].toLowerCase().includes(this.searchTerm ? this.searchTerm.toLowerCase() : \"\"))\r\n }\r\n\r\n private _scrollIntoView(): void {\r\n const activeIndex: number = this.viewModels.findIndex(vmm => vmm === this.highLightModel);\r\n if (!this._lovItems || this._lovItems.length <= 0 || activeIndex < 0 || !this.dropDownList) {\r\n return;\r\n }\r\n const activeItem = this._lovItems[activeIndex].nativeElement ? this._lovItems[activeIndex].nativeElement : undefined;\r\n const scrollParent = this.dropDownList.nativeElement ? this.dropDownList.nativeElement : undefined;\r\n this._scrollActiveItemIntoView(activeItem, scrollParent);\r\n }\r\n\r\n private _scrollActiveItemIntoView(activeItem: any, scrollParent: any): void {\r\n if (!activeItem || !scrollParent) {\r\n return;\r\n }\r\n let { offsetHeight, offsetTop } = activeItem;\r\n let { offsetHeight: parentOffsetHeight, scrollTop, offsetTop: parentOffsetTop } = scrollParent;\r\n offsetTop = offsetTop - parentOffsetTop;\r\n\r\n const isAbove = offsetTop < scrollTop;\r\n const isBelow = offsetTop + offsetHeight > scrollTop + parentOffsetHeight;\r\n\r\n if (isAbove) {\r\n scrollParent.scrollTo(0, offsetTop);\r\n } else if (isBelow) {\r\n scrollParent.scrollTo(0, offsetTop - parentOffsetHeight + offsetHeight);\r\n }\r\n }\r\n}\r\n","import {Component, ComponentRef, ElementRef, forwardRef, HostBinding, Input, OnInit, ViewChild, ViewEncapsulation} from '@angular/core';\r\nimport {BaseInputComponent} from '../base/base-input.component';\r\nimport {CoreComponentsIcon} from '../../core/enum/core-components-icon.enum';\r\nimport {OverlayService} from '../../service/overlay.service';\r\nimport {ListOfValuesPopupComponent} from './list-of-values-popup.component';\r\nimport {KeyboardKey} from '../../core/enum/keyboard-key.enum';\r\nimport {SafeHtml} from '@angular/platform-browser';\r\nimport {SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME} from '../../interfaces/screen-config-adapter-component-interface-name';\r\n\r\n@Component({\r\n selector: 'co-list-of-values',\r\n template: `\r\n <co-input-text aria-haspopup=\"listbox\" [attr.aria-expanded]=\"isSelectOpen\" aria-controls=\"lov-popup\" role=\"combobox\"\r\n class=\"no-focus-line\"\r\n overlayParent\r\n #parentForOverlay=\"overlayParent\" type=\"text\" [id]=\"label\"\r\n [model]=\"multiselect ? selectedModels : selectedModel\"\r\n [placeholder]=\"label\"\r\n [readonly]=\"readonly\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [noClickFocus]=\"false\"\r\n [leftIconData]=\"leftIconData\"\r\n [rightIcon]=\"isSelectOpen ? icons.ChevronUpRegular : icons.ChevronDownRegular\"\r\n [showClearButton]=\"true\"\r\n [useContent]=\"multiselect\"\r\n [customHeight]=\"multiselect\"\r\n [keepFocussed]=\"keepFocussed\"\r\n (modelChange)=\"handleInputModelChange($event)\"\r\n (click)=\"openPopup()\"\r\n (rightIconClick)=\"toggleSelect()\"\r\n (keydown)=\"handleInputKeyDown($event)\"\r\n (clearIconClick)=\"clearModel($event)\"\r\n (blur)=\"checkModel()\"\r\n >\r\n <ng-container *ngIf=\"multiselect\">\r\n <div class=\"multiselect-chips-wrapper\">\r\n <div class=\"chips\" *ngFor=\"let chip of model\">\r\n <span class=\"chips-description\" [textContent]=\"chip[displayField]\"></span>\r\n <co-icon class=\"remove-chip-icon\" [icon]=\"icons.CrossSkinny\" (click)=\"removeOptionFromModel(chip)\"></co-icon>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </co-input-text>\r\n `,\r\n providers: [\r\n OverlayService,\r\n {\r\n provide: SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME,\r\n useExisting: forwardRef(() => ListOfValuesComponent)\r\n }\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class ListOfValuesComponent extends BaseInputComponent<any> implements OnInit {\r\n public readonly icons: typeof CoreComponentsIcon = CoreComponentsIcon;\r\n\r\n @Input()\r\n public set model(value: any) {\r\n super.model = value;\r\n this._setSelectedModel();\r\n }\r\n\r\n public get model(): any {\r\n return super.model;\r\n }\r\n\r\n @ViewChild('parentForOverlay', {read: ElementRef})\r\n public parentForOverlay: ElementRef;\r\n\r\n @HostBinding('class.custom-height')\r\n @HostBinding('class.multi-select')\r\n @Input()\r\n public multiselect: boolean = false;\r\n\r\n @Input()\r\n public displayField: string = 'description';\r\n\r\n @Input()\r\n public set collection(value: any[]) {\r\n this._collection = value || [];\r\n }\r\n\r\n public get collection(): any[] {\r\n return this._collection;\r\n }\r\n\r\n @Input()\r\n public leftIconData: SafeHtml | undefined;\r\n\r\n @Input()\r\n public searchPlaceholder: string;\r\n\r\n @Input()\r\n public label: string;\r\n\r\n @Input()\r\n public customCssClass: string;\r\n\r\n @Input()\r\n public searchDisabled: boolean = false;\r\n\r\n @HostBinding('class.co-list-of-values')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public isSelectOpen: boolean = false;\r\n public state: string = 'default';\r\n public selectedModel: string;\r\n public selectedModels: string[] = [];\r\n\r\n private _collection: any[] = [];\r\n\r\n private _lovPopupComponentRef: ComponentRef<any>;\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n this._setSelectedModel();\r\n }\r\n\r\n public handleInputModelChange(model: string): void {\r\n if (this._lovPopupComponentRef) {\r\n this._lovPopupComponentRef.instance.searchTerm = model;\r\n } else {\r\n if (!this.selectedModel && model) {\r\n this.openPopup();\r\n this._lovPopupComponentRef.instance.searchTerm = model;\r\n }\r\n }\r\n this.selectedModel = model;\r\n }\r\n\r\n public handleInputKeyDown(event: KeyboardEvent): boolean {\r\n if (event) {\r\n if (event.altKey && event.code === KeyboardKey.Down && !this._lovPopupComponentRef) {\r\n this.openPopup();\r\n return false;\r\n }\r\n if (this._lovPopupComponentRef) {\r\n switch (event.code) {\r\n case KeyboardKey.Down:\r\n this._lovPopupComponentRef.instance.selectNextOption();\r\n return false;\r\n case KeyboardKey.Up:\r\n this._lovPopupComponentRef.instance.selectNextOption(true);\r\n return false;\r\n case KeyboardKey.Enter:\r\n this._lovPopupComponentRef.instance.selectOptionAndClosePopup();\r\n return false;\r\n case KeyboardKey.Tab:\r\n this._lovPopupComponentRef.instance.selectOptionAndClosePopup();\r\n }\r\n }\r\n }\r\n }\r\n\r\n public clearModel(event: MouseEvent): void {\r\n this.setModel(undefined);\r\n }\r\n\r\n public toggleSelect(): void {\r\n if (this.readonly) {\r\n return;\r\n }\r\n this.isSelectOpen = !this.isSelectOpen;\r\n if (this.isSelectOpen) {\r\n this.openPopup();\r\n } else {\r\n this.closePopup();\r\n }\r\n this.state = (this.state === 'default' ? 'rotated' : 'default');\r\n }\r\n\r\n public openPopup(): void {\r\n if (this.readonly) {\r\n return;\r\n }\r\n this.isSelectOpen = true;\r\n this._lovPopupComponentRef = this.overlayService.createComponent(ListOfValuesPopupComponent, {\r\n parentForOverlay: this.elementRef,\r\n customCssClass: this.customCssClass,\r\n searchDisabled: this.searchDisabled,\r\n searchPlaceholder: this.searchPlaceholder,\r\n displayField: this.displayField,\r\n multiselect: this.multiselect,\r\n model: this.model,\r\n collection: this.collection\r\n }, {\r\n modelChange: (value) => this.optionChosen(value),\r\n closePopup: () => this.closePopup(),\r\n keyDown: (event: KeyboardEvent) => this.handleInputKeyDown(event)\r\n });\r\n this.keepFocussed = true;\r\n }\r\n\r\n public removeOptionFromModel(chip: any): void {\r\n if (this.multiselect) {\r\n const idx: number = this.model.findIndex(m => m === chip);\r\n this.model.splice(idx, 1);\r\n this.modelChange.emit(this.model);\r\n }\r\n }\r\n\r\n public optionChosen(option: any): void {\r\n if (option) {\r\n if (this.multiselect) {\r\n this.selectedModels = option.map(o => o[this.displayField]);\r\n } else {\r\n this.selectedModel = option[this.displayField];\r\n }\r\n }\r\n this.model = option;\r\n this.modelChange.emit(this.model);\r\n this.detectChanges();\r\n }\r\n\r\n public closePopup(): void {\r\n this.keepFocussed = false;\r\n this.isSelectOpen = false;\r\n this.overlayService.removeComponent(this._lovPopupComponentRef);\r\n this._lovPopupComponentRef = undefined;\r\n this.focused = false;\r\n }\r\n\r\n public checkModel(): void {\r\n if (!this.multiselect && this.selectedModel && this.collection) {\r\n const model: any = this.collection.find(c => c[this.displayField] === this.selectedModel);\r\n if (model) {\r\n this.model = model;\r\n } else {\r\n this.model = undefined;\r\n }\r\n this.modelChange.emit(this.model);\r\n }\r\n }\r\n\r\n private _setSelectedModel(): void {\r\n if (this.multiselect) {\r\n if (this.model) {\r\n this.selectedModels.length = 0;\r\n this.model.forEach(m => {\r\n this.selectedModels.push(m[this.displayField]);\r\n });\r\n } else {\r\n this.selectedModels.length = 0;\r\n }\r\n } else {\r\n if (this.model) {\r\n this.selectedModel = this.model[this.displayField];\r\n } else {\r\n this.selectedModel = '';\r\n }\r\n }\r\n }\r\n\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n OnInit,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {BaseInputComponent} from \"../base/base-input.component\";\r\nimport {CoreComponentsIcon} from \"../../core/enum/core-components-icon.enum\";\r\n\r\n@Component({\r\n selector: \"co-list-of-values-multiselect-popup\",\r\n template: `\r\n <div class=\"co-list-of-values-multiselect-popup\" [overlay]=\"parentForOverlay\" [inheritWidth]=\"true\">\r\n <div class=\"list-of-values-multiselect-search-input-text\">\r\n <co-input-text [placeholder]=\"'Zoeken...'\" [(model)]=\"searchTerm\" (input)=\"searchCollection()\"></co-input-text>\r\n </div>\r\n <div class=\"list-of-values-multiselect-options\">\r\n <div class=\"list-of-values-multiselect-search-deselect\" (click)=\"onToggleSelectAll()\">\r\n <span [textContent]=\"'(De)selecteer alles'\"></span>\r\n <co-icon [icon]=\"icons.CheckRound\"></co-icon>\r\n </div>\r\n <div class=\"list-of-values-multiselect-list\">\r\n <ul>\r\n <li *ngFor=\"let option of filteredCollection\" (click)=\"onOptionClick(option)\">\r\n <co-input-checkbox class=\"lov-options-checkbox\" (modelChange)=\"onOptionClick(option)\" [model]=\"selectedCollection.includes(option)\"></co-input-checkbox>\r\n <span>{{ option[displayField] }}</span>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"list-of-values-multiselect-ok-button\" (click)=\"okClicked()\">\r\n <span [textContent]=\"'Ok'\"></span>\r\n <co-icon [icon]=\"icons.Check\"></co-icon>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class ListOfValuesMultiselectPopupComponent extends BaseInputComponent<any> implements OnInit {\r\n public readonly icons: typeof CoreComponentsIcon = CoreComponentsIcon;\r\n\r\n @HostBinding(\"class.co-list-of-values-multiselect-popup\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n @Output()\r\n public chosenCollection: EventEmitter<any[]> = new EventEmitter<any[]>();\r\n\r\n @Output()\r\n public closePopup: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @Input()\r\n public returnChosenCollection: any[];\r\n\r\n @Input()\r\n public parentForOverlay: ElementRef;\r\n\r\n\r\n @Input()\r\n public displayField: string = 'description';\r\n\r\n @Input()\r\n public set collection(value: any[]) {\r\n this._collection = value || [];\r\n this.searchCollection();\r\n }\r\n\r\n public get collection(): any[] {\r\n return this._collection;\r\n }\r\n\r\n public selectedCollection: any[] = [];\r\n public selectedOptions: any[] = [];\r\n public allOptionsSelected: boolean = false;\r\n public searchTerm = '';\r\n\r\n private _collection: any[] = [];\r\n\r\n public get filteredCollection(): any {\r\n if (this.searchTerm.trim() === '') {\r\n return this.collection;\r\n }\r\n return this.collection.filter((option: any) =>\r\n option.label.toLowerCase().includes(this.searchTerm.toLowerCase())\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n if(this.returnChosenCollection) {\r\n this.selectedCollection = this.returnChosenCollection;\r\n }\r\n }\r\n\r\n public onOptionClick(option: any): void {\r\n const index = this.selectedCollection.findIndex((selectedOption) => selectedOption.value === option.value);\r\n if (index !== -1) {\r\n this.selectedCollection.splice(index, 1);\r\n } else {\r\n this.selectedCollection.push(option);\r\n }\r\n }\r\n\r\n public okClicked(): void {\r\n this.chosenCollection.emit(this.selectedCollection);\r\n this.closePopup.emit();\r\n }\r\n\r\n public onToggleSelectAll(): void {\r\n if (this.allOptionsSelected) {\r\n this.selectedCollection = [];\r\n this.allOptionsSelected = false;\r\n } else {\r\n this.selectedCollection = [...this.collection];\r\n this.allOptionsSelected = true;\r\n }\r\n }\r\n\r\n public searchCollection(): void {\r\n this.selectedOptions = this.selectedOptions.filter((option) => {\r\n if (this.collection) {\r\n return this.searchTerm.includes(option.label);\r\n } else {\r\n return this.searchTerm.includes(option.value);\r\n }\r\n });\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {ListOfValuesComponent} from \"./list-of-values.component\";\r\nimport {FormsModule} from \"@angular/forms\";\r\nimport {InputTextModule} from \"../input-text/input-text.module\";\r\nimport {InputCheckboxModule} from \"../input-checkbox/input-checkbox.module\";\r\nimport {OverlayModule} from \"../../directives/overlay/overlay.module\";\r\nimport {ClickoutsideModule} from \"../../directives/clickoutside/clickoutside.module\";\r\nimport {ListOfValuesPopupComponent} from \"./list-of-values-popup.component\";\r\nimport {ListOfValuesMultiselectPopupComponent} from \"./list-of-values-multiselect-popup.component\";\r\nimport {IconModule} from \"../icon/icon.module\";\r\nimport {InputSearchModule} from '../input-search/input-search.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n InputTextModule,\r\n InputCheckboxModule,\r\n OverlayModule,\r\n ClickoutsideModule,\r\n IconModule,\r\n InputTextModule,\r\n InputSearchModule\r\n ],\r\n declarations: [\r\n ListOfValuesComponent,\r\n ListOfValuesPopupComponent,\r\n ListOfValuesMultiselectPopupComponent\r\n ],\r\n exports: [\r\n ListOfValuesComponent\r\n ]\r\n})\r\nexport class ListOfValuesModule {}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'co-responsive-text',\r\n template: `\r\n <svg viewBox=\"0 0 100 100\">\r\n <foreignObject height=\"100%\" width=\"100%\">\r\n <div class=\"text\" [textContent]=\"text\"></div>\r\n </foreignObject> \r\n </svg>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ResponsiveTextComponent {\r\n\r\n @Input()\r\n public text: string;\r\n\r\n @HostBinding('class.co-responsive-text')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n} \r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {ResponsiveTextComponent} from './responsive-text.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n ResponsiveTextComponent\r\n ],\r\n exports: [\r\n ResponsiveTextComponent\r\n ]\r\n})\r\nexport class ResponsiveTextModule {\r\n}\r\n","import {\r\n Component, forwardRef, HostBinding, Input,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {OverlayService} from \"../../service/overlay.service\";\r\nimport {\r\n SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME\r\n} from \"../../interfaces/screen-config-adapter-component-interface-name\";\r\nimport {BaseInputComponent} from \"../base/base-input.component\";\r\n\r\n@Component({\r\n selector: \"co-color-picker\",\r\n template: `\r\n <div class=\"dual-calendar-wrapper\">\r\n <label *ngIf=\"label.length > 0\" for=\"head\" [textContent]=\"label\"></label>\r\n <input type=\"color\" id=\"head\" name=\"head\"\r\n [ngModel]=\"model\"\r\n (ngModelChange)=\"handleModelChange($event)\"/>\r\n </div>\r\n `,\r\n providers: [\r\n OverlayService, {\r\n provide: SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME, useExisting: forwardRef(() => ColorPickerComponent)\r\n }, {\r\n provide: BaseInputComponent,\r\n useExisting: ColorPickerComponent\r\n }],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ColorPickerComponent extends BaseInputComponent<any> {\r\n @HostBinding('class.co-color-picker')\r\n public showClass:boolean = true;\r\n\r\n @Input()\r\n public label: string = \"\";\r\n\r\n public handleModelChange(value: string): void {\r\n this.setModel(value);\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport {ColorPickerComponent} from \"./color-picker.component\";\r\nimport {FormsModule} from \"@angular/forms\";\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\n@NgModule({\r\n imports: [\r\n FormsModule,\r\n CommonModule\r\n ],\r\n declarations: [\r\n ColorPickerComponent,\r\n ],\r\n exports: [\r\n ColorPickerComponent\r\n ]\r\n})\r\nexport class ColorPickerModule {\r\n}\r\n","import {ApplicationRef, ComponentFactoryResolver, ComponentRef, EmbeddedViewRef, Injectable, Injector, StaticProvider} from \"@angular/core\";\r\nimport {DialogResponseInterface} from '../../interfaces/dialog-response.interface';\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class CoreDynamicComponentService {\r\n\r\n private _componentRefs: any[] = [];\r\n\r\n constructor(\r\n private _compFactoryResolver: ComponentFactoryResolver,\r\n private appRef: ApplicationRef,\r\n private injector: Injector\r\n ) { }\r\n\r\n public getComponentRefs(): ComponentRef<any>[] {\r\n return this._componentRefs;\r\n }\r\n\r\n public createAndReturnComponentRef(componentClass: any, inputs?: any): Promise<any> {\r\n return new Promise((resolve: Function) => {\r\n const componentRef: any = this._compFactoryResolver\r\n .resolveComponentFactory(componentClass)\r\n .create(this.injector);\r\n\r\n if (inputs) {\r\n for (let property in inputs) {\r\n if (inputs.hasOwnProperty(property)) {\r\n componentRef.instance[property] = inputs[property];\r\n }\r\n }\r\n }\r\n\r\n this.appRef.attachView(componentRef.hostView);\r\n\r\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>)\r\n .rootNodes[0] as HTMLElement;\r\n\r\n document.body.appendChild(domElem);\r\n componentRef.onDestroy(() => {\r\n this.appRef.detachView(componentRef.hostView);\r\n });\r\n resolve(componentRef);\r\n })\r\n }\r\n\r\n public createComponent(componentClass: any, inputs?: any, outputs?: any, providers?: StaticProvider[]): Promise<DialogResponseInterface> {\r\n return new Promise((resolve: Function) => {\r\n if (providers) {\r\n Injector.create(providers, this.injector);\r\n }\r\n const componentRef: any = this._compFactoryResolver\r\n .resolveComponentFactory(componentClass)\r\n .create(this.injector);\r\n this._componentRefs.push(componentRef);\r\n\r\n if (inputs) {\r\n for (let property in inputs) {\r\n if (inputs.hasOwnProperty(property)) {\r\n componentRef.instance[property] = inputs[property];\r\n }\r\n }\r\n }\r\n\r\n if (outputs) {\r\n for (let event in outputs) {\r\n if (outputs.hasOwnProperty(event)) {\r\n componentRef.instance[event].subscribe(() => outputs[event]());\r\n }\r\n }\r\n }\r\n\r\n this.appRef.attachView(componentRef.hostView);\r\n\r\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>)\r\n .rootNodes[0] as HTMLElement;\r\n\r\n document.body.appendChild(domElem);\r\n componentRef.onDestroy(() => {\r\n this.appRef.detachView(componentRef.hostView);\r\n });\r\n\r\n componentRef.instance.onClose = (button: any, output?: any, rememberChoice?: boolean) => {\r\n const idx: number = this._componentRefs.indexOf(componentRef);\r\n this.appRef.detachView(componentRef.hostView);\r\n this._componentRefs[idx] = undefined;\r\n this._componentRefs.splice(idx, 1);\r\n\r\n if (outputs) {\r\n for (let event in outputs) {\r\n if (outputs.hasOwnProperty(event)) {\r\n componentRef.instance[event].unsubscribe();\r\n }\r\n }\r\n }\r\n resolve({button: button, output: output ? output : undefined, rememberChoice: rememberChoice});\r\n }\r\n })\r\n }\r\n}\r\n","export enum AppPopupType {\r\n Error,\r\n Warning,\r\n Information,\r\n Confirmation\r\n}\r\n","export enum AppPopupButtonType {\r\n Ok,\r\n Open,\r\n Save,\r\n Cancel,\r\n Yes,\r\n No,\r\n NoButton\r\n}\r\n","import {AppPopupButtonType} from '../../model/enum/app-button-type.enum';\r\n\r\nexport abstract class DialogBaseComponent {\r\n\r\n onClose(eventType: AppPopupButtonType, output?: any, rememberChoice?: boolean): void {\r\n return;\r\n }\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from '@angular/core';\r\nimport {IconCacheService} from '../../icon/icon-cache.service';\r\nimport {CoreComponentsIcon} from '../../../core/enum/core-components-icon.enum';\r\nimport {AppPopupType} from '../../../model/enum/app-popup-type.enum';\r\nimport {AppPopupButtonType} from '../../../model/enum/app-button-type.enum';\r\nimport {DialogBaseComponent} from '../../base/dialog-base.component';\r\n\r\n@Component({\r\n selector: \"co-confirmation-dialog\",\r\n template: `\r\n <co-dialog [showCloseIcon]=\"false\" [headerTemplate]=\"headerTemplate\" [footerTemplate]=\"footerTemplate\">\r\n <div class=\"confirmation-dialog-wrapper\">\r\n <div class=\"text\" [innerHTML]=\"text\"></div>\r\n <co-collapsible [headerTitle]=\"'DETAILS' | coreLocalize\" [iconData]=\"iconCacheService.getIcon(icons.TriangleDown)\" *ngIf=\"details\">\r\n <div class=\"dialog-details\" [innerHTML]=\"details\"></div>\r\n </co-collapsible>\r\n </div>\r\n </co-dialog>\r\n <ng-template #headerTemplate>\r\n <div class=\"co-dialog-header-title\" [textContent]=\"title\"></div>\r\n </ng-template>\r\n <ng-template #footerTemplate>\r\n <div class=\"co-dialog-footer-button-wrapper\">\r\n <ng-container *ngIf=\"type === ptype.Confirmation\">\r\n <co-button class=\"save-button\"\r\n [label]=\"'YES' | coreLocalize\"\r\n (click)=\"handleYesClick($event)\"></co-button>\r\n <co-button class=\"close-button\"\r\n [label]=\"'NO' | coreLocalize\"\r\n (click)=\"handleNoClick($event)\"></co-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"type === ptype.Information || type === ptype.Error || type === ptype.Warning\">\r\n <co-button class=\"save-button\"\r\n [iconData]=\"iconCacheService.getIcon(icons.CheckDuotone)\"\r\n (click)=\"handleYesClick($event)\"></co-button>\r\n </ng-container>\r\n </div>\r\n <ng-container *ngIf=\"showRememberCheckbox\">\r\n <co-input-checkbox [label]=\"'REMEMBER_CHOICE' | coreLocalize\" [(model)]=\"rememberChoice\"></co-input-checkbox>\r\n </ng-container>\r\n </ng-template>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ConfirmationDialogComponent extends DialogBaseComponent {\r\n public readonly icons: typeof CoreComponentsIcon = CoreComponentsIcon;\r\n public readonly ptype: typeof AppPopupType = AppPopupType;\r\n\r\n @Input()\r\n public title: string;\r\n\r\n @Input()\r\n public text: string;\r\n\r\n @Input()\r\n public details: string;\r\n\r\n @Input()\r\n public type: AppPopupType\r\n\r\n @Input()\r\n public showRememberCheckbox: boolean = false;\r\n\r\n @HostBinding(\"class.co-confirmation-dialog\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public rememberChoice: boolean = false;\r\n\r\n constructor(public iconCacheService: IconCacheService) {\r\n super();\r\n }\r\n\r\n public handleYesClick(event: MouseEvent): void {\r\n this.onClose(AppPopupButtonType.Yes, undefined, this.rememberChoice);\r\n }\r\n\r\n public handleNoClick(event: MouseEvent): void {\r\n this.onClose(AppPopupButtonType.No, undefined, this.rememberChoice);\r\n }\r\n\r\n public handleOkClick(event: MouseEvent): void {\r\n this.onClose(AppPopupButtonType.Ok, undefined, this.rememberChoice);\r\n }\r\n}\r\n","import {ApplicationRef, ComponentFactoryResolver, Injectable, Injector} from '@angular/core';\r\nimport {CoreDynamicComponentService} from './core-dynamic-component.service';\r\nimport {DialogResponseInterface} from '../../interfaces/dialog-response.interface';\r\nimport {AppPopupType} from '../../model/enum/app-popup-type.enum';\r\nimport {ConfirmationDialogComponent} from './confirmation-dialog/confirmation-dialog.component';\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class CoreDialogService {\r\n\r\n private _componentRefs: any[] = [];\r\n\r\n constructor(\r\n private _compFactoryResolver: ComponentFactoryResolver,\r\n private appRef: ApplicationRef,\r\n private injector: Injector,\r\n private dynamicComponentService: CoreDynamicComponentService\r\n ) {\r\n }\r\n\r\n public async showYesNo(title: string, text: string, showRememberChoice: boolean = false): Promise<DialogResponseInterface> {\r\n const data: {} = {\r\n title: title,\r\n text: text,\r\n type: AppPopupType.Confirmation,\r\n showRememberCheckbox: showRememberChoice\r\n };\r\n return this.dynamicComponentService.createComponent(ConfirmationDialogComponent, data);\r\n }\r\n\r\n public showError(message: string, details?: string): Promise<any> {\r\n const data: any = {\r\n title: 'ERROR',\r\n text: message,\r\n type: AppPopupType.Error\r\n };\r\n if (details) {\r\n data.details = details;\r\n }\r\n return this.dynamicComponentService.createComponent(ConfirmationDialogComponent, data);\r\n }\r\n\r\n public showInformation(message: string): Promise<any> {\r\n const data: {} = {\r\n title: 'INFORMATION',\r\n text: message,\r\n type: AppPopupType.Information\r\n };\r\n return this.dynamicComponentService.createComponent(ConfirmationDialogComponent, data);\r\n }\r\n\r\n public showWarning(message: string): Promise<any> {\r\n const data: {} = {\r\n title: 'WARNING',\r\n text: message,\r\n type: AppPopupType.Warning\r\n };\r\n return this.dynamicComponentService.createComponent(ConfirmationDialogComponent, data);\r\n }\r\n}\r\n","import {ModuleWithProviders, NgModule} from '@angular/core';\r\nimport {CoreDialogService} from './core-dialog.service';\r\nimport {ConfirmationDialogComponent} from './confirmation-dialog/confirmation-dialog.component';\r\nimport {CoDialogModule} from '../co-dialog/co-dialog.module';\r\nimport {CollapsibleModule} from '../collapsible/collapsible.module';\r\nimport {CoreComponentsTranslationModule} from '../../translation/core-components-translation.module';\r\nimport {ButtonModule} from '../button/button.module';\r\nimport {InputCheckboxModule} from '../input-checkbox/input-checkbox.module';\r\nimport {CommonModule} from '@angular/common';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoDialogModule,\r\n CollapsibleModule,\r\n CoreComponentsTranslationModule,\r\n ButtonModule,\r\n InputCheckboxModule\r\n ],\r\n declarations: [\r\n ConfirmationDialogComponent\r\n ],\r\n providers: [\r\n CoreDialogService\r\n ],\r\n exports: []\r\n})\r\nexport class CoreDialogModule {\r\n static forRoot(): ModuleWithProviders<CoreDialogModule> {\r\n return {\r\n ngModule: CoreDialogModule,\r\n providers: [\r\n CoreDialogService\r\n ]\r\n };\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy, ChangeDetectorRef,\r\n Component,\r\n EventEmitter, HostBinding,\r\n Input,\r\n OnInit,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {CoreComponentsIcon} from '../../core/enum/core-components-icon.enum';\r\nimport {FilterItemViewmodel} from './filter-item-viewmodel';\r\nimport {IconCacheService} from '../icon/icon-cache.service';\r\nimport {FilterItemMode} from '../../core/enum/filterItem-mode.enum';\r\n\r\n@Component({\r\n selector: \"co-filter-item\",\r\n template: `\r\n <div class=\"co-filter-item-header\">\r\n <co-collapsible\r\n [headerTitle]=\"placeholder\"\r\n [expandButtonLast]=\"true\"\r\n [iconData]=\"iconService.getIcon(icons.ArrowPointDown)\"\r\n [expanded]=\"expanded\"\r\n [showButton]=\"showButton\"\r\n [buttonText]=\"filterButtonLabel\"\r\n (buttonClicked)=\"onButtonClicked()\"\r\n >\r\n <div class=\"co-filter-item-collapsable-content\">\r\n <div class=\"co-filter-item-custom-content\" *ngIf=\"customContent; else collectionContent\"\r\n (keydown)=\"showButton=true\" (mousedown)=\"showButton=true\">\r\n <ng-content></ng-content>\r\n </div>\r\n <ng-template #collectionContent>\r\n <div class=\"co-filter-item-collection-content\" *ngIf=\"mode === modes.Filterlist || mode === modes.SingleSelectList\r\n || mode === modes.SelectListWithNumberOutput || mode === modes.SelectListWithStringCollectionOutput\">\r\n <co-input-text\r\n *ngIf=\"collection?.length > 10 || minSearchCharsToLoadCollection\"\r\n [placeholder]=\"searchPlaceholder\"\r\n [model]=\"filterText\"\r\n (modelChange)=\"applyFilter($event)\"\r\n >\r\n </co-input-text>\r\n <div class=\"no-results\" *ngIf=\"filteredCollection?.length === 0\">\r\n <span [textContent]=\"noResultsLabel\"></span>\r\n </div>\r\n <div class=\"co-filter-item-collection-results\">\r\n <ng-container\r\n *ngFor=\"let option of filteredCollection; let index = index\">\r\n <div class=\"co-filter-item-collection-result-item\" *ngIf=\"index < limitTo || showAllResults\">\r\n <co-input-checkbox *ngIf=\"mode !== modes.SingleSelectList\"\r\n [label]=\"option.description\"\r\n [model]=\"option.checked\"\r\n [clickableLabel]=\"false\"\r\n (modelChange)=\"handleModelChange(option)\"\r\n ></co-input-checkbox>\r\n <co-input-radio-button *ngIf=\"mode === modes.SingleSelectList\"\r\n [label]=\"option.description\"\r\n [model]=\"option.checked\"\r\n (modelChange)=\"handleModelChange(option)\"\r\n ></co-input-radio-button>\r\n <div class=\"co-filter-item-amount\" *ngIf=\"option.count\"\r\n [textContent]=\"option.count.toString() | append: ')' | prepend: ' ('\"\r\n ></div>\r\n </div>\r\n\r\n </ng-container>\r\n </div>\r\n <div class=\"co-filter-show-more-or-less\" *ngIf=\"!showAllResults\">\r\n <div class=\"co-filter-show-more clickable\"\r\n *ngIf=\"moreToShow()\">\r\n <a (click)=\"increaseLimit()\">\r\n <co-icon [iconData]=\"iconService.getIcon(icons.ArrowPointDown)\"></co-icon>\r\n <span [textContent]=\"showMoreLabel\"></span>\r\n </a>\r\n </div>\r\n <div class=\"co-filter-show-less clickable\"\r\n *ngIf=\"lessToShow()\">\r\n <a (click)=\"setToInitialLimit()\">\r\n <co-icon [iconData]=\"iconService.getIcon(icons.ArrowPointUp)\"></co-icon>\r\n <span [textContent]=\"showLessLabel\"></span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"co-filter-item-slider-content\" *ngIf=\"mode === modes.Slider\">\r\n <co-input-text\r\n class=\"slider-from\"\r\n [type]=\"'number'\"\r\n [digitsOnly]=\"true\"\r\n [hideArrowButtons]=\"true\"\r\n [excludePlusMinus]=\"true\"\r\n [label]=\"'FROM' | coreLocalize\"\r\n [(model)]=\"sliderMin\"\r\n (focusout)=\"handleModelChange(sliderMin)\"\r\n ></co-input-text>\r\n <co-input-text\r\n class=\"slider-to\"\r\n [type]=\"'number'\"\r\n [digitsOnly]=\"true\"\r\n [hideArrowButtons]=\"true\"\r\n [excludePlusMinus]=\"true\"\r\n [label]=\"'TO' | coreLocalize\"\r\n [(model)]=\"sliderMax\"\r\n (focusout)=\"handleModelChange(sliderMax)\"\r\n ></co-input-text>\r\n </div>\r\n <div class=\"co-filter-item-slider-content\" *ngIf=\"mode === modes.NullableSlider\">\r\n <co-input-text\r\n class=\"slider-from\"\r\n [type]=\"'number'\"\r\n [digitsOnly]=\"true\"\r\n [hideArrowButtons]=\"true\"\r\n [excludePlusMinus]=\"true\"\r\n [label]=\"'FROM' | coreLocalize\"\r\n [(model)]=\"sliderMin\"\r\n (focusout)=\"handleModelChange(sliderMin)\"\r\n ></co-input-text>\r\n <co-input-text\r\n class=\"slider-to\"\r\n [type]=\"'number'\"\r\n [digitsOnly]=\"true\"\r\n [hideArrowButtons]=\"true\"\r\n [excludePlusMinus]=\"true\"\r\n [label]=\"'TO' | coreLocalize\"\r\n [(model)]=\"sliderMax\"\r\n (focusout)=\"handleModelChange(sliderMax)\"\r\n ></co-input-text>\r\n </div>\r\n <div class=\"co-filter-item-checkbox-content\" *ngIf=\"mode === modes.Checkbox \">\r\n <co-input-checkbox\r\n [(model)]=\"model\"\r\n (modelChange)=\"handleModelChange($event)\"\r\n [label]=\"placeholder\">\r\n </co-input-checkbox>\r\n </div>\r\n <div class=\"co-filter-item-checkbox-content\"\r\n *ngIf=\"mode === modes.CheckboxToText || mode === modes.CheckboxToSimpleText || mode === modes.CheckboxToBinary\">\r\n <co-input-checkbox\r\n [(model)]=\"checkBoxToTextModel\"\r\n (modelChange)=\"handleModelChange($event)\"\r\n [label]=\"placeholder\"></co-input-checkbox>\r\n </div>\r\n <div class=\"co-filter-item-textfield-content\" *ngIf=\"mode === modes.TextField\">\r\n <co-input-text\r\n [(model)]=\"model\"\r\n (modelChange)=\"handleModelChange($event)\"></co-input-text>\r\n </div>\r\n <div class=\"co-filter-item-dateField-content\" *ngIf=\"mode === modes.DateField\">\r\n <co-input-date\r\n [(model)]=\"model\"\r\n (modelChange)=\"handleModelChange($event)\"\r\n ></co-input-date>\r\n </div>\r\n <div class=\"co-filter-item-dateField-content\" *ngIf=\"mode === modes.DateRangeField\">\r\n <co-input-date-range\r\n [model]=\"[dateRangeStart, dateRangeEnd]\"\r\n (modelChange)=\"handleModelChange($event)\"\r\n [placeholder]=\"'SELECT_DATE' | coreLocalize\">\r\n </co-input-date-range>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </co-collapsible>\r\n </div>\r\n\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class FilterItemComponent implements OnInit {\r\n public icons: typeof CoreComponentsIcon = CoreComponentsIcon;\r\n public modes: typeof FilterItemMode = FilterItemMode;\r\n\r\n @Input()\r\n public set mode(value: FilterItemMode) {\r\n this._mode = value;\r\n this.readModelForMode(this._model);\r\n }\r\n\r\n public get mode(): FilterItemMode {\r\n return this._mode;\r\n }\r\n\r\n @Input()\r\n public set collection(value: FilterItemViewmodel[]) {\r\n this._collection = value;\r\n this.filteredCollection = this._collection?.slice();\r\n //reset the model in case there was no collection to set its values on when it was set.\r\n this.model = this._model;\r\n }\r\n\r\n public get collection(): FilterItemViewmodel[] {\r\n return this._collection;\r\n }\r\n\r\n @Input()\r\n public placeholder: string;\r\n\r\n @Input()\r\n public initialLimit: number = 10;\r\n\r\n @Input()\r\n public expanded: boolean = false;\r\n\r\n @Input()\r\n public minSearchCharsToLoadCollection: number;\r\n\r\n @Input()\r\n public collectionLoadFn: Function;\r\n\r\n // Set to false to use filter item with a multi selectable collection. Set to true to specify custom content\r\n @Input()\r\n public customContent: boolean = false;\r\n\r\n // Set to true to show all results. Set to false to get 'show more' and 'show less' buttons to expand and contract.\r\n @Input()\r\n public showAllResults: boolean = false;\r\n\r\n @Input()\r\n public filterButtonLabel: string = \"Search\";\r\n\r\n @Input()\r\n public searchPlaceholder: string = 'Search...';\r\n\r\n @Input()\r\n public showMoreLabel: string = 'Show more';\r\n\r\n @Input()\r\n public showLessLabel: string = 'Show less';\r\n\r\n @Input()\r\n public noResultsLabel: string = \"No results\";\r\n\r\n @Input()\r\n public sliderDefaultMin: number = 0;\r\n\r\n @Input()\r\n public sliderDefaultMax: number = 100000;\r\n\r\n @Input()\r\n public fullRangeIsNull: boolean = false;\r\n\r\n @Input()\r\n public set model(newModel: any) {\r\n this.readModelForMode(newModel);\r\n }\r\n\r\n public get model(): any {\r\n return this._model;\r\n }\r\n\r\n @Output()\r\n public modelChange: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @Output()\r\n public collectionChange: EventEmitter<FilterItemViewmodel[]> = new EventEmitter<FilterItemViewmodel[]>();\r\n\r\n @Output()\r\n public filterButtonClicked: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @HostBinding(\"class.co-filter-item\")\r\n\r\n public filteredCollection: FilterItemViewmodel[] = [];\r\n public limitTo: number = 10;\r\n public filterText: string = \"\";\r\n public showButton: boolean = false;\r\n\r\n //models for the slider field inputs\r\n public sliderMin: number;\r\n public sliderMax: number;\r\n\r\n //models for th daterange input\r\n public dateRangeStart: Date;\r\n public dateRangeEnd: Date;\r\n\r\n //model for the textbox options that need a converted output\r\n public checkBoxToTextModel: boolean;\r\n\r\n private _collection: FilterItemViewmodel[] = [];\r\n private _mode: FilterItemMode = this.modes.Filterlist;\r\n private _model: any;\r\n\r\n constructor(public iconService: IconCacheService,\r\n private _changeDetector: ChangeDetectorRef) {\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.setToInitialLimit();\r\n this.showButton = this.valueSelected();\r\n if(this.checkBoxToTextModel === undefined || this.checkBoxToTextModel === null) {\r\n this.checkBoxToTextModel = false;\r\n }\r\n }\r\n\r\n public setToInitialLimit(): void {\r\n this.limitTo = this.initialLimit;\r\n }\r\n\r\n public increaseLimit(): void {\r\n this.limitTo += 10;\r\n }\r\n\r\n public moreToShow(): boolean {\r\n if (this.showAllResults) {\r\n return false;\r\n }\r\n return this.filteredCollection?.length > this.limitTo;\r\n }\r\n\r\n public lessToShow() {\r\n if (this.showAllResults) {\r\n return false;\r\n }\r\n return this.filteredCollection?.length <= this.limitTo && this.filteredCollection?.length > this.initialLimit;\r\n }\r\n\r\n public handleModelChange(model: any) {\r\n switch (this.mode) {\r\n case this.modes.Filterlist:\r\n this.showButton = true;\r\n model.checked = !model.checked;\r\n this._createModelForFilterList();\r\n break;\r\n case this.modes.SelectListWithStringCollectionOutput:\r\n this.showButton = true;\r\n model.checked = !model.checked;\r\n this._createModelForStringCollectionList();\r\n break;\r\n case this.modes.SingleSelectList:\r\n this.showButton = true;\r\n this.uncheckForSingleSelect(model);\r\n model.checked = !model.checked;\r\n this._createModelForSingleSelectList();\r\n break;\r\n case this.modes.SelectListWithNumberOutput:\r\n this.showButton = true;\r\n model.checked = !model.checked;\r\n this._createModelForSelectListWithNumberOutput();\r\n break;\r\n case this.modes.Slider:\r\n this.showButton = true;\r\n this._createModelForSliderMode();\r\n break;\r\n case this.modes.NullableSlider:\r\n this.showButton = true;\r\n this._createModelForNullableSliderMode();\r\n break;\r\n case this.modes.CheckboxToText:\r\n this.showButton = true;\r\n this._createModelForCheckboxToText();\r\n break;\r\n case this.modes.CheckboxToSimpleText:\r\n this.showButton = true;\r\n this._createModelForCheckboxToSimpleText();\r\n break;\r\n case this.modes.CheckboxToBinary:\r\n this.showButton = true;\r\n this._createModelForCheckboxToBinary();\r\n break;\r\n case this.modes.DateRangeField:\r\n this.showButton = true;\r\n this._createModelForDateRange(model);\r\n break;\r\n case this.modes.TextField:\r\n this.showButton = true;\r\n this._model = (typeof this._model === 'string' && this._model.length === 0) ? undefined : this._model;\r\n break;\r\n }\r\n this.modelChange.emit(this._model);\r\n this.collectionChange.emit(this.collection);\r\n }\r\n\r\n public valueSelected() {\r\n if (this.collection) {\r\n return !!this.collection.find(c => c.checked);\r\n }\r\n return false;\r\n }\r\n\r\n // Applies filter to the collection.\r\n public async applyFilter(text: string): Promise<[]> {\r\n if (!isNaN(this.minSearchCharsToLoadCollection) && this.collectionLoadFn) {\r\n if (text.length === this.minSearchCharsToLoadCollection && text.length > this.filterText.length) {\r\n this.collection = await this.collectionLoadFn(text);\r\n } else if (text.length < this.minSearchCharsToLoadCollection) {\r\n this.collection = undefined;\r\n }\r\n }\r\n this.filterText = text;\r\n if (!this.collection) {\r\n return [];\r\n }\r\n\r\n const filterText: string = this.filterText?.toString().toLowerCase();\r\n let filteredItemCount: number = 0;\r\n this.filteredCollection = this.collection?.filter((item) => {\r\n const labelText: string = item.description?.toString().toLowerCase();\r\n const isHiddenByFilter: boolean = (labelText?.indexOf(filterText) === -1);\r\n if (isHiddenByFilter) {\r\n return false;\r\n } else {\r\n filteredItemCount++;\r\n return true;\r\n }\r\n });\r\n }\r\n\r\n public onButtonClicked(): void {\r\n this.filterButtonClicked.emit();\r\n }\r\n\r\n private uncheckForSingleSelect(model: FilterItemViewmodel): void {\r\n this.collection.forEach(m => {\r\n if (m.code !== model.code && m.description !== model.description) {\r\n m.checked = false;\r\n }\r\n });\r\n }\r\n\r\n private readModelForMode(newModel: any): void {\r\n switch (this.mode) {\r\n case this.modes.Filterlist:\r\n this._readModelForFilterList(newModel);\r\n break;\r\n case this.modes.SingleSelectList:\r\n this._readModelForSingleSelectList(newModel);\r\n break;\r\n case this.modes.SelectListWithStringCollectionOutput:\r\n this._readModelForStringCollectionList(newModel);\r\n break;\r\n case this.modes.SelectListWithNumberOutput:\r\n this._readModelForSelectListWithNumberOutput(newModel);\r\n break;\r\n case this.modes.Slider:\r\n case this.modes.NullableSlider:\r\n this._readModelForSliderMode(newModel);\r\n break;\r\n case this.modes.CheckboxToText:\r\n case this.modes.CheckboxToSimpleText:\r\n this._readModelForCheckboxToText(newModel);\r\n break;\r\n case this.modes.CheckboxToBinary:\r\n this._readModelForCheckboxToBinary(newModel);\r\n break;\r\n case this.modes.DateField:\r\n this._readModelForDateField(newModel);\r\n break;\r\n case this.modes.DateRangeField:\r\n this._readModelForDateRangeField(newModel);\r\n break;\r\n default:\r\n this._model = newModel;\r\n }\r\n }\r\n /////////////////////////////////////////////////////////////\r\n //Model creation for all of the different options available//\r\n /////////////////////////////////////////////////////////////\r\n private _createModelForFilterList(): void {\r\n let filterRange: string[] = [];\r\n if (this.collection !== null && this.collection !== undefined) {\r\n this.collection.forEach((viewModel: FilterItemViewmodel) => {\r\n if (viewModel.checked) {\r\n filterRange.push(`?='${viewModel.code}'`);\r\n }\r\n });\r\n if (filterRange.length > 0) {\r\n this._model = filterRange.join(',');\r\n } else {\r\n this._model = undefined;\r\n }\r\n }\r\n }\r\n\r\n private _createModelForStringCollectionList(): void {\r\n let filterRange: string[] = [];\r\n this.collection.forEach((viewModel: FilterItemViewmodel) => {\r\n if (viewModel.checked) {\r\n filterRange.push(viewModel.code.toString());\r\n }\r\n });\r\n if (filterRange.length > 0) {\r\n this._model = filterRange;\r\n } else {\r\n this._model = undefined;\r\n }\r\n }\r\n\r\n private _createModelForSingleSelectList(): void {\r\n let filterString: string = \"\";\r\n this.collection.forEach((viewModel: FilterItemViewmodel) => {\r\n if (viewModel.checked) {\r\n filterString = viewModel.code.toString();\r\n }\r\n });\r\n if (filterString.length > 0) {\r\n this._model = filterString;\r\n } else {\r\n this._model = undefined;\r\n }\r\n }\r\n\r\n private _createModelForSelectListWithNumberOutput(): void {\r\n let filterNumber: number = null;\r\n this.collection.forEach((viewModel: FilterItemViewmodel) => {\r\n if (viewModel.checked) {\r\n if (filterNumber == null) {\r\n filterNumber = 0;\r\n }\r\n filterNumber += Number(viewModel.code);\r\n }\r\n });\r\n this._model = filterNumber;\r\n }\r\n\r\n private _createModelForSliderMode(): void {\r\n this.sliderMin = !!this.sliderMin ? this.sliderMin : this.sliderDefaultMin;\r\n this.sliderMax = !!this.sliderMax ? this.sliderMax : this.sliderDefaultMax;\r\n\r\n let trueLowerBound = Math.min(this.sliderMin, this.sliderMax);\r\n let trueUpperBound = Math.max(this.sliderMin, this.sliderMax);\r\n\r\n this.sliderMin = trueLowerBound;\r\n this.sliderMax = trueUpperBound;\r\n this._model = `${trueLowerBound} - ${trueUpperBound}`;\r\n\r\n }\r\n\r\n private _createModelForNullableSliderMode(): void {\r\n\r\n if (this.sliderMin && this.sliderMax) {\r\n let trueLowerBound = Math.min(this.sliderMin, this.sliderMax);\r\n let trueUpperBound = Math.max(this.sliderMin, this.sliderMax);\r\n\r\n this._model = `${trueLowerBound} - ${trueUpperBound}`;\r\n } else {\r\n this._model = null;\r\n }\r\n }\r\n\r\n private _createModelForCheckboxToText(): void {\r\n if (this.checkBoxToTextModel) {\r\n this._model = \"?='J'\";\r\n } else {\r\n this._model = \"?='N'\";\r\n }\r\n }\r\n\r\n private _createModelForCheckboxToSimpleText(): void {\r\n if (this.checkBoxToTextModel) {\r\n this._model = \"J\";\r\n } else {\r\n this._model = \"N\";\r\n }\r\n }\r\n\r\n private _createModelForCheckboxToBinary(): void {\r\n if (this.checkBoxToTextModel) {\r\n this._model = 1;\r\n } else {\r\n this._model = 0;\r\n }\r\n }\r\n\r\n private _createModelForDateRange(dates: Date[]): void {\r\n if (dates) {\r\n let startDate = dates[0];\r\n let endDate = dates[1];\r\n\r\n const startDateRequest = startDate ? this._formatDateToString(startDate) : '';\r\n const endDateRequest = endDate ? this._formatDateToString(endDate) : '';\r\n\r\n this._model = `?>=\\'${startDateRequest}\\'& ?<=\\'${endDateRequest}\\'`;\r\n }\r\n }\r\n\r\n private _formatDateToString(date: Date): string {\r\n let day = date.getDate().toString().padStart(2, '0');\r\n let month = (date.getMonth() + 1).toString().padStart(2, '0');\r\n let year = date.getFullYear();\r\n\r\n return `${day}-${month}-${year}`;\r\n }\r\n\r\n ////////////////////////////////////////////////////////////\r\n //Model reading for all of the different options available//\r\n ////////////////////////////////////////////////////////////\r\n private _readModelForFilterList(filterModel: string): void {\r\n let filterList: string[] = [];\r\n let itemsToCheck: string[] = [];\r\n this._uncheckAll();\r\n this._model = filterModel;\r\n\r\n if (filterModel !== null && filterModel !== undefined && typeof filterModel === 'string' && filterModel.length != 0 && this.collection !== null && this.collection !== undefined) {\r\n filterList = filterModel.split(\",\")\r\n filterList.forEach((filter: string) => {\r\n itemsToCheck.push(filter.substr(3, filter.length - 4));\r\n });\r\n\r\n for (const item of itemsToCheck) {\r\n let filter = this.collection.find(element => element.code.toString() === item);\r\n if (filter !== null && filter !== undefined) {\r\n filter.checked = true;\r\n }\r\n }\r\n this._model = filterModel;\r\n }\r\n\r\n }\r\n\r\n private _readModelForSingleSelectList(singleSelectModel: string) {\r\n this._uncheckAll();\r\n this._model = singleSelectModel;\r\n\r\n if (singleSelectModel !== null && singleSelectModel !== undefined && this.collection !== null && this.collection !== undefined) {\r\n let filter = this.collection.find(element => element.code.toString() === singleSelectModel);\r\n if (filter !== null && filter !== undefined) {\r\n filter.checked = true;\r\n }\r\n }\r\n }\r\n\r\n private _readModelForStringCollectionList(collectionModel: string[]): void {\r\n this._uncheckAll();\r\n this._model = collectionModel;\r\n\r\n if (collectionModel !== null && collectionModel !== undefined && this.collection !== null && this.collection !== undefined) {\r\n this.collection.forEach((viewModel: FilterItemViewmodel) => {\r\n if (collectionModel.indexOf(viewModel.code.toString()) > -1) {\r\n viewModel.checked = true;\r\n } else {\r\n viewModel.checked = false;\r\n }\r\n });\r\n }\r\n }\r\n\r\n private _readModelForSelectListWithNumberOutput(numberModel: number) {\r\n this._uncheckAll();\r\n this._model = numberModel;\r\n\r\n if (numberModel !== null && numberModel !== undefined && this.collection !== null && this.collection !== undefined) {\r\n for (const item of this.collection) {\r\n const itemCode: number = item.code as number;\r\n const modValue = (numberModel % (2 * itemCode));\r\n item.checked = (modValue >= itemCode);\r\n }\r\n }\r\n }\r\n\r\n private _uncheckAll() {\r\n if (this.collection !== null && this.collection !== undefined) {\r\n this.collection.forEach(m => {\r\n m.checked = false;\r\n });\r\n }\r\n }\r\n\r\n private _readModelForSliderMode(sliderModel: string): void {\r\n this._model = sliderModel;\r\n if (sliderModel !== undefined && sliderModel !== null) {\r\n let sliderInputCollection = sliderModel.split(' - ');\r\n this.sliderMin = parseInt(sliderInputCollection[0]);\r\n this.sliderMax = parseInt(sliderInputCollection[1]);\r\n } else {\r\n this.sliderMin = this.sliderDefaultMin;\r\n this.sliderMax = this.sliderDefaultMax;\r\n }\r\n }\r\n\r\n private _readModelForCheckboxToText(checkboxToTextModel: string): void {\r\n this._model = checkboxToTextModel;\r\n if (checkboxToTextModel !== undefined && checkboxToTextModel !== null) {\r\n this.checkBoxToTextModel = (checkboxToTextModel.indexOf('J') > -1);\r\n } else {\r\n this.checkBoxToTextModel = false;\r\n }\r\n }\r\n\r\n private _readModelForCheckboxToBinary(checkboxToBinary: number): void {\r\n this._model = checkboxToBinary;\r\n if (checkboxToBinary !== undefined && checkboxToBinary !== null) {\r\n this.checkBoxToTextModel = (checkboxToBinary >= 1);\r\n } else {\r\n this.checkBoxToTextModel = false;\r\n }\r\n }\r\n\r\n private _readModelForDateField(dateFieldModel: string): void {\r\n this._model = dateFieldModel;\r\n if (dateFieldModel !== undefined && dateFieldModel !== null) {\r\n this._model = new Date(dateFieldModel);\r\n } else {\r\n this._model = undefined;\r\n }\r\n }\r\n\r\n private _readModelForDateRangeField(dateRangeFieldModel: string): void {\r\n this._model = dateRangeFieldModel;\r\n if (dateRangeFieldModel !== undefined && dateRangeFieldModel !== null) {\r\n let dateCollection = dateRangeFieldModel.split('&');\r\n\r\n let startString = dateCollection[0].trim().substr(4, dateCollection[0].length - 5);\r\n let endString = dateCollection[1].trim().substr(4, dateCollection[1].length - 5);\r\n\r\n let startDateComponents = startString.split('-');\r\n let endDateComponents = endString.split('-');\r\n\r\n this.dateRangeStart = new Date(parseInt(startDateComponents[2]), parseInt(startDateComponents[1]) - 1, parseInt(startDateComponents[0]));\r\n this.dateRangeEnd = new Date(parseInt(endDateComponents[2]), parseInt(endDateComponents[1]) - 1, parseInt(endDateComponents[0]));\r\n } else {\r\n this.dateRangeStart = undefined;\r\n this.dateRangeEnd = undefined;\r\n }\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from \"@angular/core\";\r\n\r\n// A pipe for prepending strings to other strings in view templates.\r\n@Pipe({name: \"prepend\"})\r\nexport class PrependPipe implements PipeTransform {\r\n transform(value: string, prepend?: string): string {\r\n if (!value) {\r\n return \"\";\r\n }\r\n\r\n if (!prepend) {\r\n return value;\r\n }\r\n\r\n return prepend + value;\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {PrependPipe} from './prepend.pipe';\r\n\r\n@NgModule({\r\n declarations: [\r\n PrependPipe\r\n ],\r\n exports: [\r\n PrependPipe\r\n ]\r\n})\r\nexport class PrependPipeModule {\r\n}\r\n","import { ScrollingModule } from '@angular/cdk/scrolling';\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { AppendPipeModule } from '../../pipes/append.pipe.module';\r\nimport { PrependPipeModule } from '../../pipes/prepend.pipe.module';\r\nimport { CollapsibleModule } from \"../collapsible/collapsible.module\";\r\nimport { IconModule } from \"../icon/icon.module\";\r\nimport { InputCheckboxModule } from \"../input-checkbox/input-checkbox.module\";\r\nimport { InputTextModule } from \"../input-text/input-text.module\";\r\nimport { FilterItemComponent } from \"./filter-item.component\";\r\nimport {InputRadioButtonModule} from '../input-radio-button/input-radio-button.module';\r\nimport {CoreComponentsTranslationModule} from \"../../translation/core-components-translation.module\";\r\nimport {InputDatePickerModule} from \"../input-date-picker/input-date-picker.module\";\r\nimport {InputDateRangePickerModule} from \"../input-date-range-picker/input-date-range-picker.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CollapsibleModule,\r\n InputTextModule,\r\n InputCheckboxModule,\r\n IconModule,\r\n ScrollingModule,\r\n AppendPipeModule,\r\n PrependPipeModule,\r\n InputTextModule,\r\n InputRadioButtonModule,\r\n InputTextModule,\r\n CoreComponentsTranslationModule,\r\n InputDatePickerModule,\r\n InputDateRangePickerModule\r\n ],\r\n declarations: [\r\n FilterItemComponent\r\n ],\r\n exports: [\r\n FilterItemComponent\r\n ]\r\n})\r\nexport class FilterItemModule {\r\n\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n HostBinding,\r\n Input,\r\n QueryList, Renderer2,\r\n ViewChildren,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\n\r\n\r\n@Component({\r\n selector: \"co-checkmark-overlay\",\r\n template: `\r\n <div *ngIf=\"showOverlay\">\r\n <div class=\"checkmark-overlay-wrapper\" *ngIf=\"showWrapper\" @showHideSaveCancel>\r\n <div class=\"checkmark-buttons-button save\" [class.finished]=\"!visible\">\r\n <div class=\"save-button-spinner\">\r\n <div #animatediv></div>\r\n <div #animatediv></div>\r\n <div #animatediv></div>\r\n <div #animatediv></div>\r\n </div>\r\n <div class=\"spinner-checkmark\" *ngIf=\"!visible && successful\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n animations: [\r\n trigger('showHideSaveCancel', [\r\n state('*', style({transform: 'scaleY(1)', opacity: 1})),\r\n state('void', style({transform: 'scaleY(0)', opacity: 0})),\r\n transition('void <=> *', animate(200))\r\n ]),\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CheckmarkOverlayComponent {\r\n @ViewChildren('animatediv', { read: ElementRef }) set content(children) {\r\n this.animateDivs = children.toArray();\r\n this._checkAnimation();\r\n }\r\n public animateDivs: QueryList<ElementRef>;\r\n\r\n @Input()\r\n public set visible(value: boolean) {\r\n if (value) {\r\n this.showOverlay = true;\r\n this.showWrapper = true;\r\n } else {\r\n setTimeout(() => this.showOverlay = false, 800);\r\n setTimeout(() => this.showWrapper = false, 600);\r\n }\r\n this._visible = value;\r\n this._checkAnimation();\r\n this._checkAnimationFinished();\r\n }\r\n\r\n public get visible(): boolean {\r\n return this._visible;\r\n }\r\n\r\n @Input()\r\n public successful: boolean;\r\n\r\n @HostBinding(\"class.co-checkmark-overlay\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public showOverlay: boolean = false;\r\n public showWrapper: boolean = false;\r\n\r\n private _visible: boolean = false;\r\n\r\n constructor(\r\n private _renderer: Renderer2\r\n ) { }\r\n\r\n private _checkAnimation(): void {\r\n if (this.visible && this.animateDivs) {\r\n this.animateDivs.forEach(a => this._renderer.addClass(a.nativeElement, 'animate'));\r\n }\r\n }\r\n\r\n private _checkAnimationFinished(): void {\r\n if (!this.visible && this.animateDivs) {\r\n this.animateDivs.forEach(a => {\r\n a.nativeElement.addEventListener('animationiteration', this._handleAnimationIteration);\r\n });\r\n }\r\n }\r\n\r\n private _handleAnimationIteration = (event: AnimationEvent) => {\r\n this.animateDivs.forEach(a => this._renderer.removeClass(a.nativeElement, 'animate'));\r\n event.currentTarget.removeEventListener('animationiteration', this._handleAnimationIteration);\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CheckmarkOverlayComponent} from \"./checkmark-overlay.component\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n CheckmarkOverlayComponent\r\n ],\r\n exports: [\r\n CheckmarkOverlayComponent\r\n ]\r\n})\r\nexport class CheckmarkOverlayModule {\r\n}\r\n","import {NumberUtils} from \"../../core/utils/number-utils\";\r\n\r\nexport class FilterItemViewmodel {\r\n\r\n public checked: boolean = false;\r\n public code: string | number;\r\n public description: string;\r\n public count?: number;\r\n public valueName?: string;\r\n\r\n codeAsNumber?(): number { return NumberUtils.ParseInt(this.code);}\r\n\r\n constructor(code: string | number, description: string | number, checked: boolean, count?: number, valueName?: string) {\r\n this.code = code;\r\n this.description = description?.toString();\r\n this.checked = checked;\r\n this.count = count;\r\n this.valueName = valueName;\r\n }\r\n}\r\n","import {FilterItemViewmodel} from \"./filter-item-viewmodel\";\r\n\r\nexport class FilterViewmodel {\r\n public filterItems: FilterItemViewmodel[] = [];\r\n\r\n constructor(collection: any[], fields: {text, value} ) {\r\n collection.forEach((item: any) => {\r\n this.filterItems.push(new FilterItemViewmodel(item[fields.value], item[fields.text], item.checked ?? false, item.count ?? null, item.valueName ?? null ));\r\n });\r\n }\r\n}\r\n","export class BarCodeScanner {\r\n private _buffer: string[] = [];\r\n\r\n constructor() {\r\n document.addEventListener('keypress', this._keyPress)\r\n }\r\n\r\n public close(): void {\r\n document.removeEventListener('keypress', this._keyPress);\r\n }\r\n\r\n private _keyPress = (event: KeyboardEvent) => {\r\n if (event.key === \"Enter\") {\r\n document.dispatchEvent(this._createScanEvent());\r\n this._buffer.length = 0;\r\n } else {\r\n const str: string = event.key;\r\n this._buffer.push(str);\r\n }\r\n }\r\n\r\n private _createScanEvent(): Event {\r\n return new CustomEvent(\"barcodescanned\", {detail: this._buffer.join(\"\")});\r\n }\r\n}\r\n","import {Injectable, NgZone, OnDestroy} from '@angular/core';\r\nimport {BarCodeScanner} from './bar-code-scanner';\r\nimport {ScannerInput} from '../../interfaces/scanner-input.interface';\r\n\r\n@Injectable()\r\nexport class ScannerService implements OnDestroy {\r\n private _activeInput: ScannerInput;\r\n private barCodeScanner: BarCodeScanner = new BarCodeScanner();\r\n\r\n constructor(private _ngZone: NgZone) {\r\n document.addEventListener(\"barcodescanned\", this._barCodeScanned);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n document.removeEventListener(\"barcodescanned\", this._barCodeScanned);\r\n this.barCodeScanner.close();\r\n }\r\n\r\n public registerInput(input: ScannerInput): void {\r\n this._activeInput = input;\r\n }\r\n\r\n private _barCodeScanned = (event: any) => {\r\n if (this._activeInput) {\r\n this._activeInput.triggerCodeScanned(event.detail);\r\n }\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from '@angular/core';\r\nimport {ScannerService} from './scanner.service';\r\nimport {OverlayService} from '../../service/overlay.service';\r\nimport {ScannerInput} from '../../interfaces/scanner-input.interface';\r\nimport {SafeHtml} from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'co-input-scanner',\r\n template: `\r\n <co-input-search\r\n [(model)]=\"model\"\r\n [customCssClass]=\"customCssClass\"\r\n [placeholder]=\"placeholder\"\r\n [centerLabel]=\"centerLabel\"\r\n [useLeftIcon]=\"useLeftIcon\"\r\n [leftIconData]=\"leftIconData\"\r\n [useRightIcon]=\"useRightIcon\"\r\n [rightIconData]=\"rightIconData\"\r\n (leftIconClick)=\"leftIconClick.emit($event)\"\r\n (rightIconClick)=\"rightIconClick.emit($event)\"\r\n (search)=\"search.emit($event)\"\r\n ></co-input-search>\r\n `,\r\n providers: [\r\n ScannerService,\r\n OverlayService\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class InputScannerComponent implements ScannerInput {\r\n @Input()\r\n public model: string;\r\n\r\n @Input()\r\n public placeholder: string;\r\n\r\n @Input()\r\n public centerLabel: boolean = false;\r\n\r\n @Input()\r\n public useLeftIcon: boolean = false;\r\n\r\n @Input()\r\n public useRightIcon: boolean = false;\r\n\r\n @Input()\r\n public leftIconData: SafeHtml | undefined;\r\n\r\n @Input()\r\n public rightIconData: SafeHtml | undefined;\r\n\r\n @Input()\r\n public customCssClass: string;\r\n\r\n @Output()\r\n public modelChange: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @Output()\r\n public leftIconClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public rightIconClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public search: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @Output()\r\n public barCodeScanned: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @HostBinding('class.co-input-scanner')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n constructor(\r\n private _scannerService: ScannerService,\r\n ) {\r\n this._scannerService.registerInput(this);\r\n }\r\n\r\n public triggerCodeScanned(code?: string): void {\r\n this.model = code;\r\n this.barCodeScanned.next(this.model);\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {InputScannerComponent} from './input-scanner.component';\r\nimport {InputSearchModule} from '../input-search/input-search.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputSearchModule\r\n ],\r\n declarations: [\r\n InputScannerComponent\r\n ],\r\n exports: [\r\n InputScannerComponent\r\n ]\r\n})\r\nexport class InputScannerModule {\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'co-loader',\r\n template: `\r\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\r\n viewBox=\"0 0 200 200\" xml:space=\"preserve\">\r\n <defs>\r\n <linearGradient id=\"gradientFade\" x1=\"20%\" x2=\"50%\" y1=\"60%\" y2=\"100%\">\r\n <stop offset=\"0%\" class=\"spinner-gradient-stop\" />\r\n <stop offset=\"25%\" stop-opacity=\"75%\" class=\"spinner-gradient-stop\" />\r\n <stop offset=\"50%\" stop-opacity=\"50%\" class=\"spinner-gradient-stop\" />\r\n <stop offset=\"75%\" stop-opacity=\"25%\" class=\"spinner-gradient-stop\" />\r\n <stop offset=\"100%\" stop-opacity=\"5%\" class=\"spinner-gradient-stop\" />\r\n </linearGradient>\r\n </defs> \r\n <g id=\"mask\">\r\n <ellipse transform=\"matrix(0.7071 -0.7071 0.7071 0.7071 -41.0887 100.8995)\" class=\"circle\" cx=\"101.25\" cy=\"101.25\" rx=\"77.58\"\r\n ry=\"77.58\"/>\r\n </g>\r\n <g id=\"ring\" fill=\"none\">\r\n <circle id=\"ring-loader\" class=\"ring-color\" cx=\"100\" cy=\"100\" r=\"90\" fill=\"none\" />\r\n </g>\r\n <g id=\"js\">\r\n <path class=\"main-color\" d=\"M87.93,149.17c-0.12-0.17-0.08-0.4,0.09-0.52l0.61-0.45c2.92-2.14,4.34-4.61,4.34-7.56l0-20.64h2.47\r\n c0.74,0,1.34,0.6,1.34,1.34v18.32c0,2.97-0.65,5.4-1.93,7.23c-0.61,0.89-1.25,1.66-1.9,2.28c-0.63,0.6-1.41,1.23-2.3,1.87\r\n l-0.65,0.47c-0.18,0.12-0.42,0.08-0.54-0.1L87.93,149.17z\"/>\r\n <path class=\"main-color\" d=\"M107.12,142.92c-2.24,0-4.18-0.59-5.79-1.75l0,0c-0.47-0.34-0.59-1-0.27-1.48l1.06-1.59\r\n c0.12-0.17,0.35-0.22,0.53-0.11l0.58,0.38c1.18,0.77,2.43,1.14,3.84,1.14c1.36,0,2.39-0.25,3.05-0.75\r\n c0.59-0.44,0.86-1.04,0.86-1.92c0-0.59-0.22-1.15-0.68-1.71c-0.55-0.67-1.23-1.29-2.02-1.84c-0.85-0.58-1.74-1.22-2.66-1.88\r\n c-0.97-0.7-1.81-1.55-2.5-2.53c-0.75-1.06-1.12-2.23-1.12-3.46c0-1.67,0.63-3.02,1.89-4.01c1.17-0.93,2.74-1.4,4.66-1.4\r\n c1.83,0,3.55,0.37,5.13,1.11l0.62,0.29c0.19,0.09,0.27,0.31,0.19,0.5l-1.03,2.37c-0.08,0.19-0.31,0.28-0.5,0.2l-0.64-0.27\r\n c-1.22-0.52-2.45-0.78-3.64-0.78c-3.01,0-3.01,1.31-3.01,1.94c0,0.63,0.22,1.21,0.68,1.77c0.55,0.67,1.22,1.28,2.01,1.8\r\n c0.91,0.61,1.8,1.22,2.66,1.82c0.97,0.68,1.82,1.52,2.5,2.47c0.75,1.04,1.13,2.2,1.13,3.44c0,2.05-0.72,3.64-2.14,4.72\r\n C111.17,142.4,109.36,142.92,107.12,142.92z\"/>\r\n </g>\r\n <g id=\"i\">\r\n <path class=\"second-color\" d=\"M38.1,100.24V80.62c0-0.18,0.14-0.32,0.32-0.32h2.53c0.88,0,1.6,0.72,1.6,1.6v18.34\r\n c0,0.18-0.14,0.32-0.32,0.32h-3.8C38.25,100.56,38.1,100.42,38.1,100.24z\"/>\r\n </g>\r\n <g id=\"n\">\r\n <path class=\"second-color\" d=\"M126.95,107l-14.97-17.18c-0.19-0.22-0.56-0.09-0.56,0.21v16.62c0,0.18-0.14,0.32-0.32,0.32h-3.8\r\n c-0.18,0-0.32-0.14-0.32-0.32V82.12c0-0.88,0.72-1.6,1.6-1.6h1.07c0.09,0,0.18,0.04,0.24,0.11l14.97,17.22\r\n c0.19,0.22,0.56,0.09,0.56-0.21V80.99c0-0.18,0.14-0.32,0.32-0.32h3.8c0.18,0,0.32,0.14,0.32,0.32v25.81\r\n c0,0.18-0.14,0.32-0.32,0.32h-2.35C127.1,107.11,127.01,107.07,126.95,107z\"/>\r\n </g>\r\n <g id=\"e\">\r\n <path class=\"second-color\" d=\"M150.28,105.37V80.99c0-0.18,0.14-0.32,0.32-0.32h13.12c0.18,0,0.32,0.14,0.32,0.32v3.59\r\n c0,0.18-0.14,0.32-0.32,0.32h-8.68c-0.18,0-0.32,0.14-0.32,0.32v5.14c0,0.18,0.14,0.32,0.32,0.32h7.77c0.18,0,0.32,0.14,0.32,0.32\r\n v3.55c0,0.18-0.14,0.32-0.32,0.32h-7.77c-0.18,0-0.32,0.14-0.32,0.32v7.17c0,0.18,0.14,0.32,0.32,0.32h9.04\r\n c0.18,0,0.32,0.14,0.32,0.32v3.66c0,0.18-0.14,0.32-0.32,0.32h-12.2C151,106.97,150.28,106.25,150.28,105.37z\"/>\r\n </g>\r\n <g id=\"o\">\r\n <path class=\"second-color\" d=\"M67.44,86.2c0.59,0.54,0.68,1.43,0.23,2.09c-0.41,0.6-0.75,1.24-1.01,1.92c-0.42,1.1-0.63,2.31-0.63,3.61\r\n c0,1.3,0.21,2.51,0.63,3.61c0.42,1.1,1.04,2.1,1.88,2.98c0.82,0.87,1.75,1.53,2.8,1.97c1.04,0.44,2.19,0.66,3.44,0.66\r\n c1.25,0,2.4-0.22,3.43-0.66c1.04-0.44,1.97-1.09,2.78-1.97c0.83-0.88,1.45-1.88,1.86-2.98c0.42-1.1,0.63-2.31,0.63-3.61\r\n c0-1.3-0.21-2.51-0.63-3.62c-0.42-1.1-1.04-2.11-1.87-3c-0.81-0.87-1.74-1.53-2.78-1.97c-1.04-0.44-2.18-0.66-3.43-0.66\r\n c-0.77,0-1.49,0.08-2.18,0.25c-0.75,0.18-1.53-0.19-1.84-0.9l-1.03-2.32c-0.07-0.17,0-0.36,0.17-0.43\r\n c1.49-0.58,3.12-0.87,4.86-0.87c1.87,0,3.59,0.33,5.17,0.99c1.58,0.66,3,1.64,4.27,2.95c1.26,1.3,2.21,2.76,2.84,4.36\r\n c0.63,1.6,0.95,3.34,0.95,5.22c0,1.88-0.32,3.62-0.95,5.22c-0.63,1.6-1.58,3.06-2.84,4.36c-1.27,1.31-2.69,2.29-4.27,2.95\r\n c-1.58,0.66-3.31,0.99-5.17,0.99c-1.87,0-3.6-0.33-5.17-0.99c-1.58-0.66-3-1.64-4.27-2.95c-1.26-1.3-2.21-2.76-2.84-4.36\r\n c-0.63-1.6-0.95-3.34-0.95-5.22c0-1.88,0.32-3.62,0.95-5.22c0.6-1.51,1.47-2.88,2.63-4.13c0.12-0.13,0.32-0.13,0.45-0.02\r\n L67.44,86.2z\"/>\r\n </g>\r\n <g id=\"smile\">\r\n <path class=\"main-color\" d=\"M101.26,178.35c-3.73-0.01-7.38-0.28-10.86-0.82c-3.62-0.57-6.94-1.38-9.85-2.4c-3.01-1.05-5.69-2.3-7.94-3.73\r\n c-1.09-0.71-2.1-1.76-2.99-2.84c0.98,0.74,2.03,1.44,3.16,2.07c2.38,1.38,5.13,2.58,8.16,3.55c5.99,1.93,13.15,2.99,20.17,2.99\r\n h0.31c7.01,0,14.17-1.06,20.16-2.99c3.03-0.97,5.78-2.16,8.17-3.55c1.12-0.64,2.17-1.32,3.15-2.06c-0.89,1.08-1.89,2.13-2.99,2.83\r\n c-2.25,1.42-4.92,2.67-7.94,3.72c-2.91,1.02-6.23,1.83-9.85,2.4C108.65,178.07,105,178.35,101.26,178.35z\"/>\r\n </g>\r\n </svg>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class LoaderComponent {\r\n\r\n @HostBinding('class.co-loader')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n} \r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {LoaderComponent} from './loader.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n LoaderComponent\r\n ],\r\n exports: [\r\n LoaderComponent\r\n ]\r\n})\r\nexport class LoaderModule {\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'co-tile-select',\r\n template: `\r\n <div class=\"co-tile-wrapper\" (click)=\"selectedChange.emit(selected)\">\r\n <div class=\"co-tile-select-wrapper\" *ngIf=\"showRadioButton\">\r\n <co-input-radio-button [model]=\"selected\" [readonly]=\"selected || readonly\" (modelChange)=\"selectedChange.emit($event)\"></co-input-radio-button>\r\n </div>\r\n <div class=\"co-tile-content-wrapper\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TileSelectComponent {\r\n @HostBinding('class.selected')\r\n @Input()\r\n public selected: boolean = false;\r\n\r\n @Input()\r\n public readonly: boolean = false;\r\n\r\n @Input()\r\n public showRadioButton: boolean = true;\r\n\r\n @Output()\r\n public selectedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @HostBinding('class.co-tile-select')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n} \r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {TileSelectComponent} from './tile-select.component';\r\nimport {InputRadioButtonModule} from '../input-radio-button/input-radio-button.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputRadioButtonModule\r\n ],\r\n declarations: [\r\n TileSelectComponent\r\n ],\r\n exports: [\r\n TileSelectComponent\r\n ]\r\n})\r\nexport class TileSelectModule {\r\n}\r\n","import {Pipe, PipeTransform} from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: \"filter\",\r\n pure: false\r\n})\r\nexport class FilterPipe implements PipeTransform {\r\n transform(items: any[], field: string, value: any): any {\r\n if (!items || !field) {\r\n return items;\r\n }\r\n return items.filter(item => item[field] === value);\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {FilterPipe} from './filter.pipe';\r\n\r\n@NgModule({\r\n declarations: [\r\n FilterPipe\r\n ],\r\n exports: [\r\n FilterPipe\r\n ]\r\n})\r\nexport class FilterPipeModule {\r\n}\r\n","import {FormControl, ValidationErrors, ValidatorFn} from \"@angular/forms\";\r\n\r\nexport function equalValidator(valueGetterFn: () => any): ValidatorFn {\r\n return function (control: FormControl): ValidationErrors | null {\r\n let isValid: boolean = true;\r\n\r\n if (valueGetterFn) {\r\n const mustBeEqualTo: any = valueGetterFn.call(this);\r\n isValid = control.value === mustBeEqualTo;\r\n }\r\n\r\n return isValid ? null : {\"equality\": \"MESSAGE_FIELD_WRONG_VALUE\"};\r\n };\r\n}\r\n","import {FormControl, ValidationErrors, ValidatorFn} from \"@angular/forms\";\r\nimport {StringUtils} from '../utils/string-utils';\r\n\r\nexport function passwordValidator(userNameGetterFn: () => string): ValidatorFn {\r\n return function (control: FormControl): ValidationErrors | null {\r\n if (control && control.value) {\r\n const username: string = userNameGetterFn.call(this);\r\n const errorString: string = getValidatePasswordErrorString(StringUtils.ToStringOrDefault(control.value), username);\r\n if (errorString) {\r\n return {\"password\": errorString};\r\n }\r\n }\r\n };\r\n}\r\n\r\n// @returns undefined if valid, or an error string if there's an error\r\nexport function getValidatePasswordErrorString(password: string, username: string): string {\r\n const minimumPasswordLength: number = 10;\r\n const lengthOk: boolean = password && minimumPasswordLength <= password.length;\r\n if (!lengthOk) {\r\n return \"PASSWORD_MUST_BE_10_CHARACTERS\";\r\n }\r\n\r\n const atLeastOneNumber: boolean = RegExp(\".*[0-9].*\").test(password);\r\n const atLeastOneLetter: boolean = RegExp(\".*[a-zA-Z].*\").test(password);\r\n const atLeastOneSpecial: boolean = RegExp(\".*[!@#$%&*()'+,\\\\-./:;<=>?\\\\[\\\\]^_`{|}\\\\\\\\].*\").test(password);\r\n if (!atLeastOneNumber || !atLeastOneLetter || !atLeastOneSpecial) {\r\n return \"PASSWORD_MUST_CONTAIN_LETTER_NUMBER_SPECIAL\";\r\n }\r\n\r\n const hasUsernameInPassword: boolean = username && RegExp(\".*\" + username.trim() + \".*\", \"i\").test(password);\r\n if (hasUsernameInPassword) {\r\n return \"PASSWORD_CONTAINS_USERNAME\";\r\n }\r\n}\r\n","import {AbstractControl, ValidationErrors} from '@angular/forms';\r\n\r\nexport function emailValidator(control: AbstractControl): ValidationErrors | null {\r\n\r\n const emailRegex: any = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n const isValid: boolean = !!emailRegex.test(control.value);\r\n\r\n return isValid ? null : {'email': 'MESSAGE_EMAIL_NOT_CORRECT'};\r\n\r\n}","import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n HostBinding,\r\n Input,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {SafeHtml} from '@angular/platform-browser';\r\nimport {animate, state, style, transition, trigger} from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'co-tooltip',\r\n template: `\r\n <div class=\"tooltip\" [innerHTML]=\"toolTip\"></div>\r\n `,\r\n animations: [\r\n trigger(\"showHide\", [\r\n state(\"void\", style({opacity: 0})),\r\n state(\"*\", style({opacity: 1})),\r\n transition(\"void <=> *\", animate(\"200ms ease-in-out\")),\r\n ])\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TooltipComponent implements AfterViewInit {\r\n\r\n @Input()\r\n public set hostElement(value: HTMLElement) {\r\n this._hostElement = value;\r\n // this._positionTooltip();\r\n }\r\n\r\n public get hostElement(): HTMLElement {\r\n return this._hostElement;\r\n }\r\n\r\n @Input()\r\n public toolTip: SafeHtml | string;\r\n\r\n @HostBinding('class.co-tooltip')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n @HostBinding(\"style.top.px\")\r\n public top: number = -100;\r\n\r\n @HostBinding(\"style.left.px\")\r\n public left: number = -100;\r\n\r\n @HostBinding(\"class.bottom\")\r\n public bottom: boolean = false;\r\n\r\n @HostBinding('@showHide')\r\n public animate: boolean = true;\r\n\r\n private _hostElement: HTMLElement;\r\n\r\n constructor(\r\n private _elementRef: ElementRef,\r\n private _changeDetector: ChangeDetectorRef\r\n ) {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this._positionTooltip();\r\n });\r\n }\r\n\r\n private _positionTooltip(): void {\r\n if (this.hostElement && this._elementRef && this._elementRef.nativeElement) {\r\n const rect: ClientRect = this.hostElement.getBoundingClientRect();\r\n const ownRect: ClientRect = this._elementRef.nativeElement.getBoundingClientRect();\r\n let wantedLeft: number = rect.left;\r\n let wantedTop: number = rect.top - ownRect.height;\r\n\r\n if (wantedTop < 0) { // out of view, move to bottom\r\n this.bottom = true;\r\n wantedTop = rect.bottom;\r\n } else {\r\n this.bottom = false;\r\n }\r\n\r\n this.left = wantedLeft;\r\n this.top = wantedTop;\r\n\r\n this._changeDetector.markForCheck();\r\n this._changeDetector.detectChanges();\r\n }\r\n }\r\n}\r\n","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n Directive,\r\n ElementRef,\r\n EmbeddedViewRef,\r\n Injector,\r\n Input,\r\n OnDestroy,\r\n OnInit\r\n} from '@angular/core';\r\nimport {TooltipComponent} from '../../components/tooltip/tooltip.component';\r\nimport {DomSanitizer} from '@angular/platform-browser';\r\n\r\n@Directive({\r\n selector: \"[tooltip]\"\r\n})\r\nexport class TooltipDirective implements OnDestroy, OnInit {\r\n\r\n @Input(\"tooltip\")\r\n public set tooltip(str: string) {\r\n this._tooltipMessage = str;\r\n }\r\n\r\n private _elementRef: ElementRef;\r\n private _tooltipMessage: string;\r\n private _componentRef;\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n private _compFactoryResolver: ComponentFactoryResolver,\r\n private _appRef: ApplicationRef,\r\n private _injector: Injector,\r\n private _sanitizer: DomSanitizer\r\n ) {\r\n this._elementRef = elementRef;\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n if (this._elementRef && this._elementRef.nativeElement) {\r\n this._elementRef.nativeElement.removeEventListener('mouseenter', (event: MouseEvent) => this._handleMouseMove(event))\r\n this._elementRef.nativeElement.removeEventListener('mouseleave', () => this._removeTooltip())\r\n }\r\n window.removeEventListener(\"scroll\", (event) => this._handleScroll);\r\n this._elementRef = undefined;\r\n }\r\n\r\n ngOnInit(): void {\r\n window.addEventListener(\"scroll\", (event) => this._handleScroll);\r\n if (this._elementRef && this._elementRef.nativeElement) {\r\n this._elementRef.nativeElement.addEventListener('mouseenter', (event: MouseEvent) => this._handleMouseMove(event))\r\n this._elementRef.nativeElement.addEventListener('mouseleave', () => this._removeTooltip())\r\n }\r\n }\r\n\r\n private _handleScroll(): void {\r\n this._removeTooltip();\r\n }\r\n\r\n private _handleMouseMove(event: MouseEvent): void {\r\n this._showTooltip(event.clientY, event.clientX);\r\n }\r\n\r\n private _showTooltip(top: number, left: number): void {\r\n this._createTooltipComponent(top, left);\r\n }\r\n\r\n private _removeTooltip(): void {\r\n if (this._componentRef) {\r\n this._appRef.detachView(this._componentRef.hostView);\r\n this._componentRef.destroy();\r\n this._componentRef = undefined;\r\n }\r\n }\r\n\r\n private _createTooltipComponent(top: number, left: number): void {\r\n if (!this._tooltipMessage) {\r\n return;\r\n }\r\n if (this._componentRef) {\r\n return;\r\n }\r\n this._componentRef = this._compFactoryResolver\r\n .resolveComponentFactory(TooltipComponent)\r\n .create(this._injector);\r\n\r\n this._componentRef.instance.hostElement = this._elementRef.nativeElement;\r\n this._componentRef.instance.toolTip = this._sanitizer.bypassSecurityTrustHtml(this._tooltipMessage);\r\n\r\n this._appRef.attachView(this._componentRef.hostView);\r\n const domElem = (this._componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\r\n document.body.appendChild(domElem);\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TooltipComponent} from \"./tooltip.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n TooltipComponent\r\n ],\r\n exports: [\r\n TooltipComponent\r\n ]\r\n})\r\nexport class TooltipModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {TooltipDirective} from './tooltip.directive';\r\nimport {TooltipModule} from '../../components/tooltip/tooltip.module';\r\n\r\n@NgModule({\r\n imports: [\r\n TooltipModule\r\n ],\r\n declarations: [\r\n TooltipDirective\r\n ],\r\n exports: [\r\n TooltipDirective\r\n ]\r\n})\r\nexport class TooltipDirectiveModule {\r\n}\r\n","// Base screen configuration service for one \"screen module\", e.g. 'Crm'. Db-loads, stores and and interprets ObjectConfiguration config objects.\r\nimport {Injectable} from '@angular/core';\r\nimport {BehaviorSubject, Subject} from 'rxjs';\r\nimport {ArrayUtils} from '@colijnit/ioneconnector/build/utils/array-utils';\r\nimport {BusinessObject} from '@colijnit/ioneconnector/build/model/business-object';\r\nimport {ValidationResult} from '@colijnit/ioneconnector/build/model/validation-result';\r\nimport {ObjectConfigurationDefaultValueType} from '@colijnit/ioneconnector/build/type/object-configuration-default-value-type';\r\nimport {ObjectConfigKind} from '@colijnit/ioneconnector/build/enum/object-config-kind';\r\nimport {ValidationMessage} from '@colijnit/ioneconnector/build/model/validation-message';\r\nimport {DEFAULT_GET_OBJECT_CONFIGURATION_PARAMS} from '@colijnit/ioneconnector/build/model/default-get-object-configurations-params';\r\nimport {ObjectConfiguration} from '@colijnit/ioneconnector/build/model/object-configuration';\r\n\r\n@Injectable()\r\nexport abstract class BaseModuleScreenConfigService {\r\n // manually given module name\r\n public abstract screenModuleName: string;\r\n\r\n // emits the params of the loaded config, each time when a new config was loaded\r\n public readonly configSet: BehaviorSubject<string[]> = new BehaviorSubject<string[]>([]);\r\n\r\n public get configObjects(): ObjectConfiguration[] {\r\n return this._configObjects;\r\n }\r\n\r\n public controlValidityByBoMap: {bo: BusinessObject, controlKey: string, valid: boolean}[];\r\n\r\n private _configObjects: ObjectConfiguration[] = [];\r\n\r\n // key: configName, value: the ObjectConfiguration with that configName. For faster ObjectConfiguration lookups, given a configName string (vs. array).\r\n private _objectConfigsMap: Map<string, ObjectConfiguration> = new Map<string, ObjectConfiguration>();\r\n\r\n // POST: this.configObjects are loaded. Returns the loaded config objects.\r\n public async loadConfig(params: string[] = DEFAULT_GET_OBJECT_CONFIGURATION_PARAMS, insertRights?: boolean): Promise<ObjectConfiguration[]> {\r\n const configObjects: ObjectConfiguration[] = await this.loadConfigForModule(params, insertRights);\r\n this._configObjects = configObjects;\r\n if (configObjects && Array.isArray(configObjects)) {\r\n this._buildScreenConfigMap();\r\n this.configSet.next(params);\r\n }\r\n return this._configObjects;\r\n }\r\n\r\n public async lazyLoadConfig(): Promise<void> {\r\n if (!this.configObjects.length) {\r\n await this.loadConfig();\r\n }\r\n }\r\n\r\n public isActiveFieldValidationObject(configObject: ObjectConfiguration): boolean {\r\n if (configObject) {\r\n return configObject.isActiveFieldValidationObject() && !this.isDataNameHiddenByAnyOfItsParentRubrics(configObject.dataName);\r\n }\r\n }\r\n\r\n public isBoValid(bo: BusinessObject): boolean {\r\n if (this.controlValidityByBoMap && !ArrayUtils.IsEmptyArray(this.controlValidityByBoMap)) {\r\n const mapEntry: {bo: BusinessObject, controlKey: string, valid: boolean} = this.controlValidityByBoMap.find(value => value.bo === bo && value.valid === false);\r\n if (mapEntry) {\r\n return mapEntry.valid;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n public getObjectConfigurationFor(configName: string): ObjectConfiguration {\r\n const configuration: ObjectConfiguration = this._objectConfigsMap.get(configName);\r\n\r\n // If configuration not found by configname, try by data name\r\n if (!!this._objectConfigsMap.size && !configuration && configName) {\r\n const configNameByDataName: string = this._getConfigNameByDataName(configName);\r\n\r\n if (this._objectConfigsMap.get(configNameByDataName)) {\r\n return this._objectConfigsMap.get(configNameByDataName);\r\n } /*else if (!environment.production) {\r\n console.warn(\"No configuration object was found by the name of: \", configName, \" or dataname \", configNameByDataName);\r\n }*/\r\n }\r\n\r\n return configuration;\r\n }\r\n\r\n public setObjectConfigurationFor(configName: string, configObject: ObjectConfiguration): void {\r\n this._objectConfigsMap.set(configName, configObject);\r\n }\r\n\r\n // Whether the user may read the component that's associated with given config object (visibility).\r\n public mayRead(configName: string): boolean {\r\n const objectConfig: ObjectConfiguration = this._objectConfigsMap.get(configName);\r\n return objectConfig ? objectConfig.mayRead() : false;\r\n }\r\n\r\n public isReadonly(configName: string): boolean {\r\n return !this.mayWrite(configName);\r\n }\r\n\r\n // Whether the user may write onto the component that's associated with given config object.\r\n public mayWrite(configName: string): boolean {\r\n const objectConfig: ObjectConfiguration = this._objectConfigsMap.get(configName);\r\n return objectConfig ? objectConfig.mayWrite() : false;\r\n }\r\n\r\n // Whether the component associated with given config object should, from the start, be visible to the user.\r\n public immediatelyVisible(configName: string): boolean {\r\n const objectConfig: ObjectConfiguration = this._objectConfigsMap.get(configName);\r\n return objectConfig ? objectConfig.immediatelyVisible() : false;\r\n }\r\n\r\n // Whether the component associated with given config object should, from the start, be visible to the user.\r\n public immediatelyHidden(configName: string): boolean {\r\n const objectConfig: ObjectConfiguration = this._objectConfigsMap.get(configName);\r\n return objectConfig ? objectConfig.immediatelyHidden() : false;\r\n }\r\n\r\n public noRights(configName: string): boolean {\r\n const objectConfig: ObjectConfiguration = this._objectConfigsMap.get(configName);\r\n return objectConfig ? objectConfig.noRights() : false;\r\n }\r\n\r\n public isHidden(configName: string): boolean {\r\n return !this.immediatelyVisible(configName);\r\n }\r\n\r\n public isRequired(configName: string): boolean {\r\n const objectConfig: ObjectConfiguration = this._objectConfigsMap.get(configName);\r\n return objectConfig ? !objectConfig.nullable : false;\r\n }\r\n\r\n public getDefaultValue(configName: string): ObjectConfigurationDefaultValueType {\r\n const objectConfig: ObjectConfiguration = this._objectConfigsMap.get(configName);\r\n return objectConfig ? objectConfig.getDefaultValue() : undefined;\r\n }\r\n\r\n public getDefaultStringValue(configName: string): string {\r\n const objectConfig: ObjectConfiguration = this._objectConfigsMap.get(configName);\r\n return objectConfig ? objectConfig.getDefaultStringValue() : undefined;\r\n }\r\n\r\n public getDefaultNumberValue(configName: string): number {\r\n const objectConfig: ObjectConfiguration = this._objectConfigsMap.get(configName);\r\n return objectConfig ? objectConfig.getDefaultNumberValue() : undefined;\r\n }\r\n\r\n public getMaxLength(configName: string): number {\r\n const objectConfig: ObjectConfiguration = this._objectConfigsMap.get(configName);\r\n return objectConfig ? objectConfig.maxLength : undefined;\r\n }\r\n\r\n public getDecimals(configName: string): number {\r\n const objectConfig: ObjectConfiguration = this._objectConfigsMap.get(configName);\r\n return objectConfig ? objectConfig.scale : undefined;\r\n }\r\n\r\n public hasConfigObjects(): boolean {\r\n return this._configObjects && this._configObjects.length > 0 && this._objectConfigsMap.size > 0;\r\n }\r\n\r\n public isKind(configName: string, kind: ObjectConfigKind): boolean {\r\n const objectConfig: ObjectConfiguration = this._objectConfigsMap.get(configName);\r\n return objectConfig ? objectConfig.isKind(kind) : false;\r\n }\r\n\r\n public isDataNameHiddenByItselfOrAnyOfItsParentRubrics(dataName: string): boolean {\r\n const isHiddenItself: boolean = ArrayUtils.ContainsAnElementFoundBy(this._configObjects, ((item: ObjectConfiguration) => {\r\n return item.dataName === dataName && item.isHidden();\r\n }));\r\n if (isHiddenItself) {\r\n return true;\r\n } else {\r\n return this.isDataNameHiddenByAnyOfItsParentRubrics(dataName);\r\n }\r\n }\r\n\r\n // needs to be implemented by descendants\r\n protected abstract loadConfigForModule(params: string[], insertRights?: boolean): Promise<ObjectConfiguration[]>;\r\n\r\n private isDataNameHiddenByAnyOfItsParentRubrics(dataName: string): boolean {\r\n // if (this._hardCodedConfigStructure) {\r\n // const parentConfigNames: string[] = this._hardCodedConfigStructure.getParentConfigNamesOfFieldConfigName(this._getConfigNameByDataName(dataName));\r\n // if (parentConfigNames) {\r\n // for (let i: number = 0, len: number = parentConfigNames.length; i < len; i++) {\r\n // const parentConfigObj: ObjectConfiguration = this.getObjectConfigurationFor(parentConfigNames[i]);\r\n // if (parentConfigObj && parentConfigObj.isHidden()) {\r\n // return true;\r\n // }\r\n // }\r\n // }\r\n // return false;\r\n // }\r\n return false;\r\n }\r\n\r\n // return the first found config name for given data name\r\n private _getConfigNameByDataName(dataName: string): string {\r\n const itsConfigObject: ObjectConfiguration = this._getConfigObjectByDataName(dataName);\r\n if (itsConfigObject) {\r\n return itsConfigObject.configName;\r\n }\r\n }\r\n\r\n // return the first found config object with given data name\r\n private _getConfigObjectByDataName(dataName: string): ObjectConfiguration {\r\n return ArrayUtils.Find(this._configObjects, (cfgObj: ObjectConfiguration) => {\r\n return cfgObj.dataName === dataName;\r\n });\r\n }\r\n\r\n // PRE: this.configObjects is loaded. POST: this._objectConfigsMap contains the latest map of configName -> to -> ObjectConfiguration for a live screen module.\r\n private _buildScreenConfigMap(): void {\r\n this._objectConfigsMap.clear();\r\n this.configObjects.forEach(item => this._objectConfigsMap.set(item.configName, item));\r\n }\r\n\r\n public setScreenConfigurationObjectsReadOnly(value: boolean): void {\r\n this.configObjects.forEach((object: ObjectConfiguration) => {\r\n const copy: ObjectConfiguration = Object.assign(new ObjectConfiguration(), object);\r\n copy.variableReadOnly = value;\r\n this.setObjectConfigurationFor(object.configName, copy);\r\n });\r\n }\r\n\r\n public setScreenConfigurationObjectsRedErrorBackground(errorValidation: ValidationResult, setAllFalse: boolean = false): void {\r\n if (setAllFalse) {\r\n this.configObjects.forEach((object: ObjectConfiguration) => {\r\n const copy: ObjectConfiguration = Object.assign(new ObjectConfiguration(), object);\r\n copy.redErrorBackground = false;\r\n this.setObjectConfigurationFor(object.configName, copy);\r\n });\r\n } else if (errorValidation) {\r\n const errorMessages: ValidationMessage[] = errorValidation.getAllErrorMessagesOfMyValidationFields();\r\n for (let i: number = 0, len: number = errorMessages.length; i < len; i++) {\r\n const errorMsg: ValidationMessage = errorMessages[i];\r\n const configObject: ObjectConfiguration = this.configObjects.find(object => object.configName === errorMsg.fieldId);\r\n if (configObject) {\r\n const copy: ObjectConfiguration = Object.assign(new ObjectConfiguration(), configObject);\r\n copy.redErrorBackground = false;\r\n this.setObjectConfigurationFor(configObject.configName, copy);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","import {Injectable, OnDestroy} from '@angular/core';\r\nimport {Subject, Subscription} from 'rxjs';\r\nimport {ValidationResult} from '@colijnit/ioneconnector/build/model/validation-result';\r\nimport {BaseModuleScreenConfigService} from './base-module-screen-config.service';\r\n\r\n/**\r\n * Base class for top-level services of CRUD-style iOne modules (the Relation, Article and Transaction modules).\r\n * What sets these modules apart, is the concept of a relatively bulky, 'single businessobject' being manipulated throughout all the tabs.\r\n *\r\n * Many other (smaller?) iOne modules work with multiple LISTS of different business object types instead.\r\n */\r\n@Injectable()\r\nexport abstract class BaseModuleService implements OnDestroy {\r\n public readonly readonlyChange: Subject<boolean> = new Subject<boolean>();\r\n // Emits this each time a new error validation was received. (there will be zero error tooltips on the screen after this fires)\r\n public readonly errorValidationReceived: Subject<ValidationResult> = new Subject<ValidationResult>();\r\n // Emits once after succesful BO update (i.e. there were no errors)\r\n public readonly successfulUpdate: Subject<void> = new Subject<void>();\r\n\r\n // Whether the module is in readonly modus or not. Input fields etc. will be readonly throughout the module.\r\n public get readonly(): boolean {\r\n return this._readonly;\r\n }\r\n\r\n public set readonly(readonly: boolean) {\r\n if (this._readonly !== readonly) {\r\n this._readonly = readonly;\r\n this.readonlyChange.next(this._readonly);\r\n }\r\n }\r\n\r\n protected _readonly: boolean = true;\r\n\r\n private _subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n protected screenConfigService: BaseModuleScreenConfigService\r\n ) {\r\n this._subscriptions.push(\r\n this.errorValidationReceived.subscribe((errorValidation: ValidationResult) => this.screenConfigService.setScreenConfigurationObjectsRedErrorBackground(errorValidation)),\r\n this.successfulUpdate.subscribe(() => this.screenConfigService.setScreenConfigurationObjectsRedErrorBackground(null, true)),\r\n this.readonlyChange.subscribe((readOnly: boolean) => this.screenConfigService.setScreenConfigurationObjectsReadOnly(readOnly))\r\n )\r\n }\r\n\r\n ngOnDestroy() {\r\n this._subscriptions.forEach((subscription: Subscription) => subscription.unsubscribe());\r\n }\r\n\r\n}\r\n","import {Directive, ElementRef, Inject, Input, OnDestroy, Renderer2} from '@angular/core';\r\nimport {InputBoolean} from '../../core/decorator/input-boolean.decorator';\r\nimport {ScreenConfigAdapterComponent} from '../../interfaces/screen-config-adapter.component.interface';\r\nimport {SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME} from '../../interfaces/screen-config-adapter-component-interface-name';\r\nimport {Subscription} from 'rxjs';\r\nimport {BaseModuleScreenConfigService} from '../../service/base-module-screen-config.service';\r\nimport {BaseModuleService} from '../../service/base-module.service';\r\nimport {ValidationResult} from '@colijnit/ioneconnector/build/model/validation-result';\r\nimport {ValidationMessage} from '@colijnit/ioneconnector/build/model/validation-message';\r\nimport {ObjectConfiguration} from '@colijnit/ioneconnector/build/model/object-configuration';\r\n\r\n// Directive to represents the marker of \"screen config name ID's\" of components within a module.\r\n// Manipulates visibility, readonly and other dynamic states of an input element according to its db-fetched screen configuration object.\r\n@Directive({\r\n selector: '[screenConfigurationObject]'\r\n})\r\nexport class ScreenConfigurationDirective implements OnDestroy {\r\n @Input('screenConfigurationObject')\r\n public set screenConfigurationObject(value: string) {\r\n if (value) {\r\n this._screenConfigurationObject = value;\r\n this._updateHost();\r\n }\r\n }\r\n\r\n public get screenConfigurationObject(): string {\r\n return this._screenConfigurationObject;\r\n }\r\n\r\n @Input()\r\n public dataName: string;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public screenConfigNativeElement: boolean = false;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public noModuleService: boolean = false;\r\n\r\n private _isHeader: boolean;\r\n\r\n private _screenConfigurationObject: string;\r\n\r\n // feature toggle for devs so you can see the whole screen with all inputs etc by temporarily turning off the hiding effects of this directive on its host\r\n private _isTurnedOff: boolean = false;\r\n\r\n private _subs: Subscription[] = [];\r\n\r\n constructor(\r\n @Inject(SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME)\r\n public hostComponent: ScreenConfigAdapterComponent,\r\n private _element: ElementRef,\r\n // we must always have a config service to fetch config objects with\r\n private _configService: BaseModuleScreenConfigService,\r\n private _renderer: Renderer2,\r\n // to make host readonly when MODULE switches to readonly:\r\n private _moduleService?: BaseModuleService\r\n ) {\r\n this._subs.push(this._configService.configSet.subscribe((configObjects: string[]) => {\r\n if (configObjects && configObjects.length > 0) {\r\n this._updateHost();\r\n }\r\n }));\r\n\r\n if (this._moduleService && !this.noModuleService) {\r\n this._subs.push(\r\n this._moduleService.readonlyChange.subscribe((moduleInReadonlyState: boolean) => {\r\n if (this.hostComponent) {\r\n this.hostComponent.readonly = this.hostComponent.forceReadonly || moduleInReadonlyState;\r\n }\r\n }),\r\n this._moduleService.errorValidationReceived.subscribe((validationResult: any) => {\r\n this._setErrorRedBackgroundAfterScrCfgValidate(validationResult);\r\n }),\r\n this._moduleService.successfulUpdate.subscribe(() => {\r\n if (this.hostComponent) {\r\n this.hostComponent.redErrorBackground = false;\r\n }\r\n })\r\n );\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this._updateHost();\r\n\r\n // this._updateHeaderStateOnHostComponent(true);\r\n\r\n // show initial error message if any\r\n if (!this.noModuleService) {\r\n // this._setErrorRedBackgroundAfterScrCfgValidate(this._moduleService.lastError);\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._subs.forEach(sub => sub.unsubscribe());\r\n if (this._isHeader) {\r\n // this._doubleClickHeaders.handleCollapseableDestroy(this.screenConfigurationObject);\r\n }\r\n this._element = undefined;\r\n this.hostComponent = undefined;\r\n }\r\n\r\n // Sets host component visibility, required, readonly etc. if specified in backend screen config OR module readonly status.\r\n private _updateHost(): void {\r\n if (this._mayUpdateHost() || this.screenConfigNativeElement) {\r\n if (!this.screenConfigNativeElement) {\r\n this.hostComponent.objectConfigName = this.screenConfigurationObject;\r\n }\r\n const myCfgObj: ObjectConfiguration = this._configService.getObjectConfigurationFor(this.screenConfigurationObject);\r\n if (myCfgObj) {\r\n this._setHostVisible(myCfgObj.immediatelyVisible());\r\n // if (this.hostComponent instanceof GridColumnComponent) {\r\n // this.hostComponent.rights = myCfgObj.rights;\r\n // }\r\n if (!this.screenConfigNativeElement) {\r\n this.hostComponent.required = myCfgObj.isRequired();\r\n this.hostComponent.readonly = this.hostComponent.forceReadonly || this._moduleInReadonlyMode() || myCfgObj.isReadonly();\r\n this.hostComponent.decimals = myCfgObj.scale;\r\n this.hostComponent.maxLength = myCfgObj.maxLength;\r\n }\r\n } else {\r\n this._setHostVisible(false);\r\n if (!this.screenConfigNativeElement) {\r\n this.hostComponent.readonly = this._moduleInReadonlyMode();\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Spawn error message tooltip onto our host comp, if any error was meant for the host (found by screenConfigurationObject);\r\n * @param errorValidation A top-level full validation result, either from the backend or from some client-side validation error.\r\n */\r\n private _setErrorRedBackgroundAfterScrCfgValidate(errorValidation: ValidationResult): void {\r\n if (this.hostComponent && errorValidation) {\r\n const errorMessages: ValidationMessage[] = errorValidation.getAllErrorMessagesOfMyValidationFields();\r\n for (let i: number = 0, len: number = errorMessages.length; i < len; i++) {\r\n const errorMsg: ValidationMessage = errorMessages[i];\r\n const configName: string = this.dataName ? this.dataName : this.screenConfigurationObject;\r\n if (errorMsg.fieldId === configName && this._element /*&& this._properHost(errorMsg.boId)*/) {\r\n this.hostComponent.redErrorBackground = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private _moduleInReadonlyMode(): boolean {\r\n return !this.noModuleService ? (this._moduleService ? this._moduleService.readonly : false) : false;\r\n }\r\n\r\n private _mayUpdateHost(): boolean {\r\n return !!this.hostComponent && !this._isTurnedOff && !!this.screenConfigurationObject;\r\n }\r\n\r\n private _setHostVisible(visible: boolean): void {\r\n if (!this.screenConfigNativeElement) {\r\n this.hostComponent.hidden = !visible;\r\n } else {\r\n if (this._element && this._element.nativeElement) {\r\n if (!visible) {\r\n this._renderer.addClass(this._element.nativeElement, 'hidden');\r\n } else {\r\n this._renderer.removeClass(this._element.nativeElement, 'hidden');\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\nimport {ScreenConfigurationDirective} from './screen-configuration.directive';\nimport {CommonModule} from '@angular/common';\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [\n ScreenConfigurationDirective\n ],\n exports: [\n ScreenConfigurationDirective,\n ]\n})\nexport class ScreenConfigurationModule { }\n","import {Directive, Input, OnChanges, OnDestroy, SimpleChange, SimpleChanges, TemplateRef, ViewContainerRef, ViewRef} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[templateWrapper]'\r\n})\r\nexport class TemplateWrapperDirective implements OnDestroy, OnChanges {\r\n @Input()\r\n public templateWrapper: TemplateRef<any> | null = null;\r\n\r\n @Input()\r\n public templateWrapperContext: Object | null = null;\r\n\r\n private _viewRef: ViewRef;\r\n\r\n constructor(protected viewContainer: ViewContainerRef) {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const recreateView: boolean = this._shouldRecreateView(changes);\r\n\r\n if (recreateView) {\r\n if (this._viewRef) {\r\n this.viewContainer.remove(this.viewContainer.indexOf(this._viewRef));\r\n }\r\n\r\n if (this.templateWrapper) {\r\n this._viewRef = this.viewContainer.createEmbeddedView(\r\n this.templateWrapper, this.templateWrapperContext);\r\n }\r\n } else {\r\n if (this._viewRef && this.templateWrapperContext) {\r\n this._updateExistingContext(this.templateWrapperContext);\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this._viewRef) {\r\n this.viewContainer.remove(this.viewContainer.indexOf(this._viewRef));\r\n this._viewRef = undefined;\r\n }\r\n this.templateWrapper = undefined;\r\n }\r\n\r\n private _shouldRecreateView(changes: SimpleChanges): boolean {\r\n const ctxChange: any = changes['templateWrapperContext'];\r\n return !!changes['templateWrapper'] || (ctxChange && this._hasContextShapeChanged(ctxChange));\r\n }\r\n\r\n private _hasContextShapeChanged(ctxChange: SimpleChange): boolean {\r\n const prevCtxKeys: any = Object.keys(ctxChange.previousValue || {});\r\n const currCtxKeys: any = Object.keys(ctxChange.currentValue || {});\r\n\r\n if (prevCtxKeys.length === currCtxKeys.length) {\r\n for (const propName of currCtxKeys) {\r\n if (prevCtxKeys.indexOf(propName) === -1) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n private _updateExistingContext(ctx: Object): void {\r\n for (const propName of Object.keys(ctx)) {\r\n (<any>this._viewRef).context[propName] = (<any>this.templateWrapperContext)[propName];\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {TemplateWrapperDirective} from \"./template-wrapper.directive\";\r\n\r\n@NgModule({\r\n declarations: [\r\n TemplateWrapperDirective\r\n ],\r\n exports: [\r\n TemplateWrapperDirective\r\n ]\r\n})\r\nexport class TemplateWrapperModule {\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ColorSequenceService {\r\n\r\n public colors: Map<number, string> = new Map<number, string>();\r\n\r\n public getRandomColor(id: number): string {\r\n if (this.colors.has(id)) {\r\n return this.colors.get(id);\r\n }\r\n const randomColor = Math.floor(Math.random() * 16777215).toString(16);\r\n const result: string = '#' + randomColor;\r\n this.colors.set(id, result);\r\n return result;\r\n }\r\n\r\n}\r\n","/*\n * Public API Surface of corecomponents\n */\n\nexport * from './lib/components/base/base-input.component';\nexport * from './lib/components/article-tile/article-tile.module';\nexport * from './lib/components/article-tile/article-tile.component';\nexport * from './lib/components/button/button.module';\nexport * from './lib/components/button/button.component';\nexport * from './lib/components/card/card.component';\nexport * from './lib/components/card/card.module';\nexport * from './lib/components/carousel-3d/carousel-3d.component';\nexport * from './lib/components/carousel-3d/carousel-3d.module';\nexport * from './lib/components/carousel/carousel.component';\nexport * from './lib/components/carousel/carousel.module';\nexport * from './lib/components/co-dialog/co-dialog.module';\nexport * from './lib/components/co-dialog/co-dialog.component';\nexport * from './lib/components/co-dialog-wizard/co-dialog-wizard.module';\nexport * from './lib/components/co-dialog-wizard/co-dialog-wizard.component';\nexport * from './lib/components/collapsible/collapsible.module';\nexport * from './lib/components/collapsible/collapsible.component';\nexport * from './lib/components/form/form.module';\nexport * from './lib/components/form/form.component';\nexport * from './lib/core/service/form-master.service';\nexport * from './lib/components/grid-toolbar/grid-toolbar.component';\nexport * from './lib/components/grid-toolbar/grid-toolbar.module';\nexport * from './lib/components/grid-toolbar-button/grid-toolbar-button.component';\nexport * from './lib/components/grid-toolbar-button/grid-toolbar-button.module';\nexport * from './lib/components/icon/icon.module';\nexport * from './lib/components/icon/icon.component';\nexport * from './lib/components/icon-collapse-handle/icon-collapse-handle.module';\nexport * from './lib/components/icon-collapse-handle/icon-collapse-handle.component';\nexport * from './lib/core/enum/co-direction';\nexport * from './lib/core/enum/co-orientation';\nexport * from './lib/core/enum/filterItem-mode.enum';\nexport * from './lib/components/image/image.module';\nexport * from './lib/components/image/image.component';\nexport * from './lib/components/input-checkbox/input-checkbox.module';\nexport * from './lib/components/input-checkbox/input-checkbox.component';\nexport * from './lib/components/input-date-picker/input-date-picker.module';\nexport * from './lib/components/input-date-picker/input-date-picker.component';\nexport * from './lib/components/calendar/calendar.module';\nexport * from './lib/components/calendar/calendar.component';\nexport * from './lib/components/double-calendar/double-calendar.module';\nexport * from './lib/components/double-calendar/double-calendar.component';\nexport * from './lib/components/input-date-range-picker/input-date-range-picker.module';\nexport * from './lib/components/input-date-range-picker/input-date-range-picker.component';\nexport * from './lib/components/base-input-date-picker/base-input-date-picker.directive';\nexport * from './lib/components/input-number-picker/input-number-picker.module';\nexport * from './lib/components/input-number-picker/input-number-picker.component';\nexport * from './lib/components/input-radio-button/input-radio-button.module';\nexport * from './lib/components/input-radio-button/input-radio-button.component';\nexport * from './lib/components/input-search/input-search.component';\nexport * from './lib/components/input-search/input-search.module';\nexport * from './lib/components/input-text/input-text.module';\nexport * from './lib/components/input-text/input-text.component';\nexport * from './lib/components/input-textarea/input-textarea.module';\nexport * from './lib/components/input-textarea/input-textarea.component';\nexport * from './lib/components/level-indicator/level-indicator.module';\nexport * from './lib/components/level-indicator/level-indicator.component';\nexport * from './lib/components/popup/popup.module';\nexport * from './lib/components/popup/text-input-popup.component';\nexport * from './lib/components/popup/popup-window-shell.component';\nexport * from './lib/components/popup/popup-message-display.component';\nexport * from './lib/components/popup/popup-buttons.component';\nexport * from './lib/components/popup/service/prompt.service';\nexport * from './lib/components/popup/popup-buttons.component';\nexport * from './lib/components/simple-grid/simple-grid-column.directive';\nexport * from './lib/components/simple-grid/simple-grid.component';\nexport * from './lib/components/simple-grid/simple-grid.module';\nexport * from './lib/components/tile/tile.module';\nexport * from './lib/components/tile/tile.component';\nexport * from './lib/core/enum/core-components-icon.enum';\nexport * from './lib/components/icon/icon-cache.service';\nexport * from './lib/components/view-mode-buttons/view-mode-buttons.component';\nexport * from './lib/components/view-mode-buttons/view-mode-buttons.module';\nexport * from './lib/components/view-mode-buttons/content-view-mode.enum';\nexport * from './lib/components/list-of-values/list-of-values.component';\nexport * from './lib/components/list-of-values/list-of-values-popup.component';\nexport * from './lib/components/list-of-values/list-of-values.module';\nexport * from './lib/components/responsive-text/responsive-text.component';\nexport * from './lib/components/responsive-text/responsive-text.module';\nexport * from './lib/components/color-picker/color-picker.component';\nexport * from './lib/components/color-picker/color-picker.module';\nexport * from './lib/components/core-dialog/core-dialog.module';\nexport * from './lib/components/core-dialog/core-dialog.service';\nexport * from './lib/components/filter-item/filter-item.component';\nexport * from './lib/components/filter-item/filter-item.module';\nexport * from './lib/components/pagination/pagination.component';\nexport * from './lib/components/pagination/pagination.module';\nexport * from './lib/components/pagination-bar/pagination-bar.component';\nexport * from './lib/components/pagination-bar/pagination-bar.module';\nexport * from './lib/components/checkmark-overlay/checkmark-overlay.module';\nexport * from './lib/components/filter-item/filter-item-viewmodel';\nexport * from './lib/components/filter-item/filter-viewmodel';\nexport * from './lib/components/input-scanner/input-scanner.component';\nexport * from './lib/components/input-scanner/input-scanner.module';\nexport * from './lib/components/loader/loader.module';\nexport * from './lib/components/loader/loader.component';\nexport * from './lib/components/tile-select/tile-select.module';\nexport * from './lib/components/tile-select/tile-select.component';\n\nexport * from './lib/pipes/price-display.pipe';\nexport * from './lib/pipes/price-display-pipe.module';\nexport * from './lib/pipes/filter.pipe';\nexport * from './lib/pipes/filter.pipe.module';\n\nexport * from './lib/core/validator/equal.validator';\nexport * from './lib/core/validator/password.validator';\nexport * from './lib/core/validator/email.validator';\nexport * from './lib/core/validator/required.validator';\nexport * from './lib/core/validator/precision-scale.validator';\nexport * from './lib/core/validator/max-string-length.validator';\n\nexport * from \"./lib/core/service/form-input-user-change-listener.service\";\nexport * from \"./lib/core/service/ng-zone-wrapper.service\";\n\nexport * from './lib/directives/clickoutside/clickoutside.module';\nexport * from './lib/directives/observe-visibility/observe-visibility.module';\nexport * from './lib/directives/overlay/overlay.module';\nexport * from './lib/directives/tooltip/tooltip-directive.module';\nexport * from './lib/directives/screen-configuration/screen-configuration.module';\nexport * from './lib/directives/screen-configuration/screen-configuration.directive';\nexport * from './lib/directives/template-wrapper/template-wrapper.directive';\nexport * from './lib/directives/template-wrapper/template-wrapper.module';\n\nexport * from './lib/interfaces/screen-config-adapter-component-interface-name';\nexport * from './lib/interfaces/screen-config-adapter.component.interface';\nexport * from './lib/interfaces/dialog-response.interface';\n\nexport * from './lib/service/color-sequence.service';\nexport * from './lib/service/overlay.service';\nexport * from './lib/service/base-module-screen-config.service';\nexport * from './lib/service/base-module.service';\n\nexport * from './lib/translation/core-components-translation.module';\nexport * from './lib/translation/core-components-translation.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {BaseModule as ɵj} from './lib/components/base/base.module';\nexport {CommitButtonsComponent as ɵt} from './lib/components/base/commit-buttons/commit-buttons.component';\nexport {CommitButtonsModule as ɵs} from './lib/components/base/commit-buttons/commit-buttons.module';\nexport {DialogBaseComponent as ɵbf} from './lib/components/base/dialog-base.component';\nexport {CalendarTemplateComponent as ɵw} from './lib/components/calendar/calendar-template.component';\nexport {CheckmarkOverlayComponent as ɵbj} from './lib/components/checkmark-overlay/checkmark-overlay.component';\nexport {ConfirmationDialogComponent as ɵbe} from './lib/components/core-dialog/confirmation-dialog/confirmation-dialog.component';\nexport {CoreDynamicComponentService as ɵbg} from './lib/components/core-dialog/core-dynamic-component.service';\nexport {ScannerService as ɵbk} from './lib/components/input-scanner/scanner.service';\nexport {ListOfValuesMultiselectPopupComponent as ɵbd} from './lib/components/list-of-values/list-of-values-multiselect-popup.component';\nexport {PaginatePipe as ɵbb} from './lib/components/pagination/paginate.pipe';\nexport {PaginationService as ɵba} from './lib/components/pagination/pagination.service';\nexport {PopupShowerService as ɵx} from './lib/components/popup/service/popup-shower.service';\nexport {BaseSimpleGridComponent as ɵy} from './lib/components/simple-grid/base-simple-grid.component';\nexport {SimpleGridCellComponent as ɵbc} from './lib/components/simple-grid/simple-grid-cell.component';\nexport {TooltipComponent as ɵbm} from './lib/components/tooltip/tooltip.component';\nexport {TooltipModule as ɵbl} from './lib/components/tooltip/tooltip.module';\nexport {ValidationErrorComponent as ɵr} from './lib/components/validation-error/validation-error.component';\nexport {ValidationErrorModule as ɵm} from './lib/components/validation-error/validation-error.module';\nexport {InputBoolean as ɵa} from './lib/core/decorator/input-boolean.decorator';\nexport {ClickOutsideMasterService as ɵv} from './lib/directives/clickoutside/click-outside-master.service';\nexport {ClickOutsideDirective as ɵu} from './lib/directives/clickoutside/click-outside.directive';\nexport {ObserveVisibilityDirective as ɵz} from './lib/directives/observe-visibility/observe-visibility.directive';\nexport {OverlayParentDirective as ɵo} from './lib/directives/overlay/overlay-parent.directive';\nexport {OverlayDirective as ɵn} from './lib/directives/overlay/overlay.directive';\nexport {CoRippleDirective as ɵd,MD_RIPPLE_GLOBAL_OPTIONS as ɵc} from './lib/directives/ripple/ripple.directive';\nexport {RippleModule as ɵb} from './lib/directives/ripple/ripple.module';\nexport {CoScrollDispatcherService as ɵf} from './lib/directives/ripple/scroll-dispatcher.service';\nexport {CoScrollableDirective as ɵg} from './lib/directives/ripple/scrollable.directive';\nexport {CoViewportRulerService as ɵe} from './lib/directives/ripple/viewport-ruler.service';\nexport {StopClickDirective as ɵi} from './lib/directives/stopclick/stop-click.directive';\nexport {StopClickModule as ɵh} from './lib/directives/stopclick/stop-click.module';\nexport {TooltipDirective as ɵbn} from './lib/directives/tooltip/tooltip.directive';\nexport {AppendPipe as ɵl} from './lib/pipes/append.pipe';\nexport {AppendPipeModule as ɵk} from './lib/pipes/append.pipe.module';\nexport {PrependPipe as ɵbi} from './lib/pipes/prepend.pipe';\nexport {PrependPipeModule as ɵbh} from './lib/pipes/prepend.pipe.module';\nexport {CoreDictionaryService as ɵq} from './lib/translation/core-dictionary.service';\nexport {CoreLocalizePipe as ɵp} from './lib/translation/core-localize.pipe';"],"names":["Input","Subject","Injectable","NgZone","CoreComponentsIcon","DomSanitizer","Component","ViewEncapsulation","HostBinding","ComponentFactoryResolver","ApplicationRef","Injector","EventEmitter","trigger","state","style","transition","animate","Renderer2","ViewChildren","ElementRef","Output","Directive","ChangeDetectorRef","Optional","ViewChild","ViewContainerRef","NgModel","HostListener","NgModule","CommonModule","HttpClientModule","auditTime","merge","fromEvent","SkipSelf","InjectionToken","Inject","forwardRef","ChangeDetectionStrategy","Pipe","CSS3DObject","PlaneBufferGeometry","Mesh","Vector2","Vector3","PlaneGeometry","MeshPhongMaterial","SpotLight","PerspectiveCamera","Scene","Color","AmbientLight","Fog","CSS3DRenderer","WebGLRenderer","Box3","TWEEN","ContentChildren","HammerGestureConfig","HammerModule","HAMMER_GESTURE_CONFIG","query","animateChild","DragDropModule","FormGroup","CoDirection","CoOrientation","FilterItemMode","FormsModule","NO_ERRORS_SCHEMA","OverlayConfig","ComponentPortal","Overlay","ColumnAlign","ContentChild","moveItemInArray","ContentViewMode","ScrollingModule","BehaviorSubject","DEFAULT_GET_OBJECT_CONFIGURATION_PARAMS","ArrayUtils","ObjectConfiguration"],"mappings":"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AAA,GAAM,CAAA;QACN,YAAA,CAAA,YAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM,CAAA;QACN,YAAA,CAAA,YAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM,CAAA;QACN,YAAA,CAAA,YAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM,CAAA;QACN,YAAA,CAAA,YAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM,CAAA;QACN,YAAA,CAAA,YAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM,CAAA;QACN,YAAA,CAAA,YAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM,CAAA;QACN,YAAA,CAAA,YAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM,CAAA;QACN,YAAA,CAAA,YAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM,CAAA;QACN,YAAA,CAAA,YAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM,CAAA;QACN,YAAA,CAAA,YAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM,CAAA;QACN,YAAA,CAAA,YAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM,CAAA;QACN,YAAA,CAAA,YAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM,CAAA;QACN,YAAA,CAAA,YAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM,CAAA;QACN,YAAA,CAAA,YAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM,CAAA;QACN,YAAA,CAAA,YAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM,CAAA;QACN,YAAA,CAAA,YAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM,CAAA;QACN,YAAA,CAAA,YAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM,CAAA;QACN,YAAA,CAAA,YAAA,CAAA,YAAA,CAAA,GAAA,EAAA,CAAA,GAAA,YAAe,CAAA;QACf,YAAA,CAAA,Y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"}
|