@colijnit/corecomponents_v12 12.0.36 → 12.0.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/bundles/colijnit-corecomponents_v12.umd.js +194 -22
  2. package/bundles/colijnit-corecomponents_v12.umd.js.map +1 -1
  3. package/colijnit-corecomponents_v12.d.ts +5 -3
  4. package/colijnit-corecomponents_v12.metadata.json +1 -1
  5. package/esm2015/colijnit-corecomponents_v12.js +6 -4
  6. package/esm2015/lib/components/base/base-input.component.js +4 -3
  7. package/esm2015/lib/components/co-dialog/co-dialog.component.js +15 -8
  8. package/esm2015/lib/components/drop-down-list/drop-down-list.component.js +2 -1
  9. package/esm2015/lib/components/filter-item/filter-item.component.js +5 -2
  10. package/esm2015/lib/components/grid-toolbar-button/grid-toolbar-button.component.js +28 -0
  11. package/esm2015/lib/components/grid-toolbar-button/grid-toolbar-button.module.js +21 -0
  12. package/esm2015/lib/components/input-checkbox/input-checkbox.component.js +2 -1
  13. package/esm2015/lib/components/input-number-picker/input-number-picker.component.js +9 -10
  14. package/esm2015/lib/components/simple-grid/base-simple-grid.component.js +3 -1
  15. package/esm2015/lib/components/simple-grid/simple-grid.component.js +3 -3
  16. package/esm2015/lib/components/simple-grid/simple-grid.module.js +4 -2
  17. package/esm2015/lib/directives/observe-visibility/observe-visibility.directive.js +80 -0
  18. package/esm2015/lib/directives/observe-visibility/observe-visibility.module.js +15 -0
  19. package/esm2015/public-api.js +3 -1
  20. package/fesm2015/colijnit-corecomponents_v12.js +169 -21
  21. package/fesm2015/colijnit-corecomponents_v12.js.map +1 -1
  22. package/lib/components/co-dialog/co-dialog.component.d.ts +4 -2
  23. package/lib/components/co-dialog/style/_layout.scss +6 -0
  24. package/lib/components/co-dialog/style/_theme.scss +1 -1
  25. package/lib/components/filter-item/filter-item.component.d.ts +1 -0
  26. package/lib/components/grid-toolbar-button/grid-toolbar-button.component.d.ts +8 -0
  27. package/lib/components/grid-toolbar-button/grid-toolbar-button.module.d.ts +2 -0
  28. package/lib/components/grid-toolbar-button/style/_layout.scss +18 -0
  29. package/lib/components/grid-toolbar-button/style/_material-definition.scss +0 -0
  30. package/lib/components/grid-toolbar-button/style/_theme.scss +5 -0
  31. package/lib/components/grid-toolbar-button/style/material.scss +5 -0
  32. package/lib/components/input-number-picker/input-number-picker.component.d.ts +2 -0
  33. package/lib/components/simple-grid/base-simple-grid.component.d.ts +1 -0
  34. package/lib/directives/observe-visibility/observe-visibility.directive.d.ts +16 -0
  35. package/lib/directives/observe-visibility/observe-visibility.module.d.ts +2 -0
  36. package/package.json +1 -1
  37. package/public-api.d.ts +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"colijnit-corecomponents_v12.js","sources":["../../../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/utils/object-utils.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/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/model/core-components-icon-svg.ts","../../../projects/corecomponents/src/lib/components/icon/icon-cache.service.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/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/core/enum/core-components-icon.enum.ts","../../../projects/corecomponents/src/lib/core/decorator/input-boolean.decorator.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/button-drop-down/button-drop-down.component.ts","../../../projects/corecomponents/src/lib/components/button-drop-down/button-drop-down.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/co-dialog/co-dialog.component.ts","../../../projects/corecomponents/src/lib/components/co-dialog/co-dialog.module.ts","../../../projects/corecomponents/src/lib/components/co-dialog-prompt/co-dialog-prompt.component.ts","../../../projects/corecomponents/src/lib/components/co-dialog-prompt/co-dialog-prompt.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/co-kanban/co-kanban.component.ts","../../../projects/corecomponents/src/lib/components/co-kanban/co-kanban.module.ts","../../../projects/corecomponents/src/lib/components/co-rich-text-editor/co-rich-text-editor.component.ts","../../../projects/corecomponents/src/lib/components/co-rich-text-editor/co-rich-text-editor.module.ts","../../../projects/corecomponents/src/lib/components/co-schedule/co-schedule.component.ts","../../../projects/corecomponents/src/lib/components/co-schedule/co-schedule.module.ts","../../../projects/corecomponents/src/lib/components/co-sidebar/co-sidebar.component.ts","../../../projects/corecomponents/src/lib/components/co-sidebar/co-sidebar.module.ts","../../../projects/corecomponents/src/lib/components/co-toggle/co-toggle.component.ts","../../../projects/corecomponents/src/lib/components/co-toggle/co-toggle.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/service/form-input-user-change-listener.service.ts","../../../projects/corecomponents/src/lib/core/service/ng-zone-wrapper.service.ts","../../../projects/corecomponents/src/lib/components/base/base.module.ts","../../../projects/corecomponents/src/lib/components/base/component-interface-name.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/components/validation-error/validation-error.component.ts","../../../projects/corecomponents/src/lib/components/base/base-input.component.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/drop-down-list/drop-down-list.component.ts","../../../projects/corecomponents/src/lib/components/drop-down-list/drop-down.module.ts","../../../projects/corecomponents/src/lib/components/form/form.module.ts","../../../projects/corecomponents/src/lib/components/grid/enum/grid-lines.enum.ts","../../../projects/corecomponents/src/lib/components/grid/base/base-grid.component.ts","../../../projects/corecomponents/src/lib/components/grid/base/base-toolbar-grid.component.ts","../../../projects/corecomponents/src/lib/components/grid/base/base-inline-edit-grid.component.ts","../../../projects/corecomponents/src/lib/components/grid/base/base-selection-grid.component.ts","../../../projects/corecomponents/src/lib/components/grid/co-grid.component.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/co-grid.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/pipes/append.pipe.ts","../../../projects/corecomponents/src/lib/pipes/append.pipe.module.ts","../../../projects/corecomponents/src/lib/components/input-checkbox-multi-select/input-checkbox-multi-select.component.ts","../../../projects/corecomponents/src/lib/components/input-checkbox-multi-select/input-checkbox-multi-select.module.ts","../../../projects/corecomponents/src/lib/components/input-combo-box/input-combo-box.component.ts","../../../projects/corecomponents/src/lib/components/input-combo-box/input-combo-box.module.ts","../../../projects/corecomponents/src/lib/components/input-date-picker/input-date-picker.component.ts","../../../projects/corecomponents/src/lib/components/input-date-picker/input-date-picker.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/components/input-listbox/input-listbox.component.ts","../../../projects/corecomponents/src/lib/components/input-listbox/input-listbox.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-text/input-text.component.ts","../../../projects/corecomponents/src/lib/components/validation-error/validation-error.module.ts","../../../projects/corecomponents/src/lib/components/base/commit-buttons/commit-buttons.component.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/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/multi-select-list/multi-select-list.component.ts","../../../projects/corecomponents/src/lib/components/multi-select-list/multi-select-list.module.ts","../../../projects/corecomponents/src/lib/components/pivot/co-pivot.component.ts","../../../projects/corecomponents/src/lib/components/pivot/co-pivot.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/simple-grid/simple-grid-cell.component.ts","../../../projects/corecomponents/src/lib/components/simple-grid/simple-grid.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/public-api.ts","../../../projects/corecomponents/src/colijnit-corecomponents_v12.ts"],"sourcesContent":["// @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 \"../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 {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 {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","/** 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_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_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 \"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 \"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 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=\\\"M27.8,15.5c-3.4-3.4-8.9-3.4-12.3,0c-3.4,3.4-3.4,8.9,0,12.3c3.4,3.4,8.9,3.4,12.3,0C31.2,24.4,31.2,18.9,27.8,15.5z M26.4,26.4c-2.6,2.6-6.8,2.6-9.4,0c-2.6-2.6-2.6-6.8,0-9.4c2.6-2.6,6.8-2.6,9.4,0C29,19.6,29,23.8,26.4,26.4z\\\"/><path fill=\\\"#29363E\\\" d=\\\"M36.4,32.8l-4.3-4.3c-0.8-0.8-2.1-0.8-2.9,0l-0.7,0.7c-0.8,0.8-0.8,2.1,0,2.9l4.3,4.3c0.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 \"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 \"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_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 \"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 \"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, HostBinding, Input, 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 {\r\n\r\n @Input()\r\n public set icon(value: CoreComponentsIcon) {\r\n this._setIconFromEnum(value);\r\n }\r\n\r\n @Input()\r\n @HostBinding(\"innerHtml\")\r\n public iconData: SafeHtml | undefined;\r\n\r\n @HostBinding(\"class.co-icon\")\r\n public showClass: boolean = true;\r\n\r\n constructor(private _iconCache: IconCacheService) {\r\n }\r\n\r\n private _setIconFromEnum(icon: CoreComponentsIcon): void {\r\n this.iconData = 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 {\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,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {SafeHtml} from \"@angular/platform-browser\";\r\nimport {EventUtils} from \"../../core/utils/event-utils\";\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 <div class=\"rippler\" md-ripple [mdRippleDisabled]=\"disabled\"></div>\r\n `,\r\n host: {\r\n tabindex: \"0\"\r\n },\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ButtonComponent implements OnDestroy {\r\n @Input()\r\n public label: string;\r\n\r\n @Input()\r\n public iconData: 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.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 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 { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: \"co-image\",\r\n template: `\r\n <img *ngIf=\"!!source\" [src]=\"source\">\r\n `,\r\n styleUrls: [\r\n \"image.css\"\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ImageComponent {\r\n // Can be an URL or a base64 data string\r\n @Input()\r\n public source: 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 {ImageComponent} from \"./image.component\";\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n declarations: [ImageComponent],\r\n exports: [ImageComponent]\r\n})\r\nexport class ImageModule {\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}","/** 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 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 CheckRound = \"check_round\",\n CheckRoundOpen = \"check_round_open\",\n CheckSimple = \"check_simple\",\n CheckThin = \"check_thin\",\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 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 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 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 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 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}","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 {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 {Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\nimport {ItemModel} from \"@syncfusion/ej2-angular-splitbuttons\";\nimport {SplitButtonIconPosition} from \"@syncfusion/ej2-splitbuttons/src/common/common\";\n\n@Component({\n selector: \"co-button-drop-down\",\n template: `\n <button ejs-dropdownbutton\n [content]=\"content\"\n [items]=\"items\"\n [iconCss]=\"iconCss\"\n [iconPosition]=\"iconPosition\"\n [cssClass]=\"cssClass\"\n [ngClass]=\"{\n '.e-dropdown-popup': isTransparent,\n '.e-btn.e-active, .e-btn:hover': isTransparent\n }\"\n (select)=\"select.emit($event)\"></button>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class ButtonDropDownComponent implements OnInit {\n\n @Input()\n public content: string;\n\n @Input()\n public items: ItemModel[];\n\n @Input()\n public iconCss: string;\n\n @Input()\n public iconPosition: SplitButtonIconPosition = \"Left\";\n\n @Input()\n public cssClass: string;\n\n @Input()\n public transparent: boolean = false;\n\n @Output()\n public readonly select: EventEmitter<any> = new EventEmitter<any>();\n\n @HostBinding(\"class.co-button-drop-down\")\n public showClass() {\n return true;\n }\n\n public get isTransparent(): boolean {\n return this.transparent;\n }\n\n constructor() {\n }\n\n ngOnInit(): void {\n }\n}\n","import {NgModule} from \"@angular/core\";\nimport {CommonModule} from \"@angular/common\";\nimport {ButtonDropDownComponent} from \"./button-drop-down.component\";\nimport {DropDownButtonModule} from \"@syncfusion/ej2-angular-splitbuttons\";\n\n@NgModule({\n declarations: [\n ButtonDropDownComponent],\n imports: [\n CommonModule,\n DropDownButtonModule\n ],\n exports: [\n ButtonDropDownComponent\n ]\n})\nexport class ButtonDropDownModule { }\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, 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',\n template: `\n <div class=\"co-dialog-overlay\" (click)=\"handleOverlayClick($event)\" [@showHideOverlay]=\"animation\"></div>\n <div class=\"co-dialog-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 <div class=\"dialog-content\">\n <ng-content></ng-content>\n </div>\n <div class=\"dialog-footer\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n </div>\n `,\n animations: [\n trigger('showHideOverlay', [\n state('*', style({opacity: 1})),\n state('void', style({opacity: 0})),\n transition('void => *', animate(200)),\n transition('* => void', animate('200ms 200ms'))\n ]),\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 CoDialogComponent {\n public readonly icons: typeof CoreComponentsIcon = CoreComponentsIcon;\n\n @Input()\n public showCloseIcon: boolean = true;\n\n @Input()\n public modal: boolean = false;\n\n @Input()\n public animation: boolean = true;\n\n @Output()\n public readonly closeClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n @Output()\n public readonly overlayClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n @HostBinding(\"class.co-dialog\")\n public showClass(): boolean {\n return true;\n }\n\n public handleOverlayClick(event: MouseEvent): void {\n if (!this.modal) {\n this.overlayClick.next(event);\n }\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\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule\r\n ],\r\n declarations: [CoDialogComponent],\r\n exports: [CoDialogComponent]\r\n})\r\nexport class CoDialogModule {\r\n}\r\n","import {Component, EventEmitter, Input, Output, ViewChild} from \"@angular/core\";\nimport {DialogComponent} from \"@syncfusion/ej2-angular-popups\";\nimport {EmitType} from \"@syncfusion/ej2-base\";\n\n@Component({\n selector: 'co-dialog-prompt',\n template: `\n <div #coDialogPromptRootContainer class='co-dialog-prompt-root-container'></div>\n <ejs-dialog #coDialogPrompt\n [buttons]=\"buttons\"\n [header]=\"header\"\n [content]=\"content\"\n [showCloseIcon]=\"showCloseIcon\"\n [target]=\"target\"\n [visible]=\"visible\"\n [width]=\"width\"\n (close)=\"onCloseClick()\"\n >\n </ejs-dialog>\n `,\n styleUrls: ['./co-dialog-prompt.component.scss']\n})\nexport class CoDialogPromptComponent {\n @ViewChild('coDialogPrompt')\n public coDialogPrompt: DialogComponent;\n\n @Input()\n public header: string = \"header\";\n\n @Input()\n public content: string = \"content\";\n\n @Input()\n public visible: boolean = false;\n\n @Input()\n public width: string = \"50%\";\n\n @Input()\n public showCloseIcon: boolean = true;\n\n @Output()\n public readonly closeClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n public target: string = '.co-dialog-prompt-root-container';\n public buttons: Object[] = [\n { click: this.buttonClick.bind(this), buttonModel: { content: 'Ja', isPrimary: 'true' } },\n { click: this.buttonClick.bind(this), buttonModel: { content: 'Nee' } }\n ];\n\n constructor() {}\n\n public open(): void {\n this.coDialogPrompt.show();\n }\n\n public close(): void {\n this.coDialogPrompt.hide();\n }\n\n public buttonClick(): void {\n this.close();\n }\n\n public onCloseClick: EmitType<object> = () => {\n this.close();\n this.closeClick.emit();\n }\n\n}\n","import {NgModule} from \"@angular/core\";\r\nimport {CoDialogPromptComponent} from \"./co-dialog-prompt.component\";\r\nimport {DialogModule} from \"@syncfusion/ej2-angular-popups\";\r\n\r\n@NgModule({\r\n imports: [\r\n DialogModule\r\n ],\r\n declarations: [CoDialogPromptComponent],\r\n providers: [\r\n ],\r\n exports: [CoDialogPromptComponent]\r\n})\r\nexport class CoDialogPromptModule {\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 AfterViewInit,\r\n Component,\r\n EventEmitter, HostBinding,\r\n Input,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {\r\n CardClickEventArgs,\r\n CardSettingsModel, DialogEventArgs, DragEventArgs,\r\n KanbanComponent,\r\n SwimlaneSettingsModel\r\n} from \"@syncfusion/ej2-angular-kanban\";\r\nimport {InputBoolean} from \"../../core/decorator/input-boolean.decorator\";\r\n\r\n@Component({\r\n selector: 'co-kanban',\r\n template: `\r\n <ejs-kanban\r\n #kanban\r\n id=\"kanban\"\r\n [allowDragAndDrop]=\"allowDragAndDrop\"\r\n [allowKeyboard]=\"allowKeyboard\"\r\n [cardSettings]=\"cardSettings\"\r\n [enablePersistence]=\"enablePersistence\"\r\n [enableTooltip]=\"enableTooltip\"\r\n [keyField]=\"keyField\"\r\n [showEmptyColumn]=\"showEmptyColumn\"\r\n [swimlaneSettings]=\"swimlaneSettings\"\r\n [dataSource]=\"data\"\r\n (cardClick)=\"handleCardClick($event)\"\r\n (cardDoubleClick)=\"handleCardDoubleClick($event)\"\r\n (dialogOpen)=\"dialogOpen($event)\"\r\n (dragStart)=\"handleDragStart($event)\"\r\n (dragStop)=\"handleDragStop($event)\"\r\n >\r\n </ejs-kanban>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CoKanbanComponent implements OnInit, AfterViewInit {\r\n @ViewChild('kanban', {static: false})\r\n public kanban: KanbanComponent;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public allowDragAndDrop: boolean = true;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public allowKeyboard: boolean = true;\r\n\r\n @Input()\r\n public cardSettings: CardSettingsModel;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public enablePersistence: boolean = false;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public enableTooltip: boolean = false;\r\n\r\n @Input()\r\n public keyField: string = \"\";\r\n\r\n @Input()\r\n @InputBoolean()\r\n public showEmptyColumn: boolean = false;\r\n\r\n @Input()\r\n public swimlaneSettings: SwimlaneSettingsModel;\r\n\r\n @Input()\r\n public columns: {}[];\r\n\r\n @Input()\r\n public data: any[];\r\n\r\n @Output()\r\n public cardClickEvent: EventEmitter<CardClickEventArgs> = new EventEmitter<CardClickEventArgs>();\r\n\r\n @Output()\r\n public cardDoubleClickEvent: EventEmitter<CardClickEventArgs> = new EventEmitter<CardClickEventArgs>();\r\n\r\n @Output()\r\n public dragStartEvent: EventEmitter<DragEventArgs> = new EventEmitter<DragEventArgs>();\r\n\r\n @Output()\r\n public dragStopEvent: EventEmitter<DragEventArgs> = new EventEmitter<DragEventArgs>();\r\n\r\n @HostBinding(\"class.co-kanban\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.columns) {\r\n this.kanban.columns = this.columns;\r\n }\r\n }\r\n\r\n public dialogOpen(args: DialogEventArgs): void {\r\n args.cancel = true;\r\n }\r\n\r\n public handleCardClick(args: CardClickEventArgs): void {\r\n this.cardClickEvent.next(args);\r\n }\r\n\r\n public handleCardDoubleClick(args: CardClickEventArgs): void {\r\n this.cardDoubleClickEvent.next(args);\r\n }\r\n\r\n public handleDragStart(args: DragEventArgs): void {\r\n this.dragStartEvent.next(args);\r\n }\r\n\r\n public handleDragStop(args: DragEventArgs): void {\r\n this.dragStopEvent.next(args);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { KanbanModule } from '@syncfusion/ej2-angular-kanban';\r\nimport {CoKanbanComponent} from \"./co-kanban.component\";\r\n\r\n@NgModule({\r\n declarations: [\r\n CoKanbanComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n KanbanModule\r\n ],\r\n exports: [\r\n CoKanbanComponent\r\n ]\r\n})\r\nexport class CoKanbanModule { }\r\n","import {AfterViewInit, Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {\r\n ChangeEventArgs,\r\n HtmlEditorService,\r\n ImageService,\r\n LinkService,\r\n RichTextEditorComponent,\r\n ToolbarService\r\n} from \"@syncfusion/ej2-angular-richtexteditor\";\r\n\r\n@Component({\r\n selector: 'co-rich-text-editor',\r\n template: `\r\n <ejs-richtexteditor\r\n #rte\r\n id=\"Rte\"\r\n [ngModel]=\"model\"\r\n (change)=\"onChange($event)\"\r\n >\r\n <ng-template></ng-template>\r\n </ejs-richtexteditor>\r\n `,\r\n providers: [ToolbarService, LinkService, ImageService, HtmlEditorService],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CoRichTextEditorComponent implements OnInit, AfterViewInit {\r\n @ViewChild('rte', {static: false})\r\n public editor: RichTextEditorComponent;\r\n\r\n @Output()\r\n public onChangeEvent: EventEmitter<ChangeEventArgs> = new EventEmitter<ChangeEventArgs>();\r\n\r\n @Input()\r\n public model: any;\r\n\r\n @HostBinding(\"class.co-rich-text-editor\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public getContent(): Element {\r\n if (this.editor) {\r\n return this.editor.getContent();\r\n }\r\n }\r\n\r\n public getText(): string {\r\n if (this.editor) {\r\n return this.editor.getText();\r\n }\r\n }\r\n\r\n public onChange(args: ChangeEventArgs): void {\r\n if (args) {\r\n this.onChangeEvent.next(args);\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport {CoRichTextEditorComponent} from \"./co-rich-text-editor.component\";\r\nimport {RichTextEditorModule} from \"@syncfusion/ej2-angular-richtexteditor\";\r\nimport {FormsModule} from \"@angular/forms\";\r\n\r\n@NgModule({\r\n declarations: [CoRichTextEditorComponent],\r\n exports: [\r\n CoRichTextEditorComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n RichTextEditorModule,\r\n FormsModule\r\n ]\r\n})\r\nexport class CoRichTextEditorModule { }\r\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n forwardRef,\n Input,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n ActionEventArgs,\n AgendaService,\n DayService,\n EventSettingsModel, MonthAgendaService,\n MonthService, ScheduleComponent, TimelineMonthService, TimelineViewsService,\n WeekService,\n WorkWeekService\n} from \"@syncfusion/ej2-angular-schedule\";\nimport {ScheduleView} from \"../../core/enum/schedule-view.enum\";\nimport {COMPONENT_INTERFACE_NAME} from \"../base/component-interface-name\";\n\n@Component({\n selector: 'co-schedule',\n template: `\n <ejs-schedule\n #ejsSchedule\n [selectedDate]=\"selectedDate\"\n [currentView]=\"currentView\"\n [eventSettings]=\"eventSettings\"\n [enablePersistence]=\"enablePersistence\"\n (actionBegin)=\"onActionBegin($event)\"\n (actionComplete)=\"onActionComplete($event)\"\n (actionFailure)=\"onActionFailure($event)\"\n ><ng-content></ng-content>\n </ejs-schedule>\n `,\n styleUrls: [\n './co-schedule.component.scss'\n ],\n providers: [\n DayService,\n WeekService,\n WorkWeekService,\n MonthService,\n AgendaService,\n MonthAgendaService,\n TimelineViewsService,\n TimelineMonthService\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CoScheduleComponent implements OnInit {\n @ViewChild('ejsSchedule', { static: true })\n public scheduleObj: ScheduleComponent;\n\n @Input()\n public selectedDate: Date;\n\n @Input()\n public currentView: ScheduleView.Month;\n\n @Input()\n public eventSettings: EventSettingsModel;\n\n @Input()\n public enablePersistence: boolean = false;\n\n @Output()\n public readonly actionBegin: EventEmitter<ActionEventArgs> = new EventEmitter<ActionEventArgs>();\n\n @Output()\n public readonly actionComplete: EventEmitter<ActionEventArgs> = new EventEmitter<ActionEventArgs>();\n\n @Output()\n public readonly actionFailure: EventEmitter<ActionEventArgs> = new EventEmitter<ActionEventArgs>();\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n public onActionBegin(args: ActionEventArgs): void {\n this.actionBegin.emit(args);\n }\n\n public onActionComplete(args: ActionEventArgs): void {\n this.actionComplete.emit(args);\n }\n\n public onActionFailure(args: ActionEventArgs): void {\n this.actionFailure.emit(args);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {CoScheduleComponent} from \"./co-schedule.component\";\nimport {ScheduleModule} from \"@syncfusion/ej2-angular-schedule\";\n\n\n@NgModule({\n declarations: [\n CoScheduleComponent\n ],\n imports: [\n CommonModule,\n ScheduleModule\n ],\n exports: [\n CoScheduleComponent\n ]\n})\nexport class CoScheduleModule { }\n","import {Component, Input, ViewChild} from '@angular/core';\nimport {SidebarComponent} from \"@syncfusion/ej2-angular-navigations\";\n\n@Component({\n selector: 'co-sidebar',\n template: `\n <ejs-sidebar #sidebarInstance \n closeOnDocumentClick=\"true\"\n type=\"Over\"\n [position]=\"position\"\n [isOpen]=\"isOpen\"\n >\n <ng-content></ng-content>\n </ejs-sidebar>\n `,\n styleUrls: ['./co-sidebar.component.scss']\n})\nexport class CoSidebarComponent {\n @ViewChild('sidebarInstance')\n public sidebarInstance: SidebarComponent;\n\n @Input()\n public position: string = \"Right\";\n\n @Input()\n public isOpen: boolean = false;\n\n constructor() { }\n\n public toggle(): void {\n this.sidebarInstance.toggle();\n }\n\n public hide(): void {\n this.sidebarInstance.hide();\n }\n\n public show(): void {\n this.sidebarInstance.show();\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport {SidebarModule} from \"@syncfusion/ej2-angular-navigations\";\nimport {CoSidebarComponent} from \"./co-sidebar.component\";\n\n@NgModule({\n declarations: [CoSidebarComponent],\n imports: [\n SidebarModule\n ],\n exports: [CoSidebarComponent]\n\n})\nexport class CoSidebarModule { }\n","import {\n ChangeDetectionStrategy,\n Component, EventEmitter,\n forwardRef,\n HostBinding, HostListener,\n Input,\n OnInit, Output,\n ViewEncapsulation\n} from '@angular/core';\nimport {COMPONENT_INTERFACE_NAME} from \"../base/component-interface-name\";\n\n@Component({\n selector: 'co-toggle',\n template: `\n <ejs-switch \n [checked]=\"checked\"\n [disabled]=\"readonly\"\n ></ejs-switch>\n `,\n styleUrls: ['./co-toggle.component.scss']\n})\nexport class CoToggleComponent implements OnInit {\n @Input()\n public checked: boolean;\n\n @Input()\n public readonly: boolean = false;\n\n @Output()\n public readonly activeChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n constructor() {\n }\n\n ngOnInit(): void {\n }\n\n @HostListener(\"click\")\n public onHostClick(): void {\n if (!this.readonly) {\n this.checked = !this.checked;\n this.activeChange.emit(this.checked);\n }\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {CoToggleComponent} from \"./co-toggle.component\";\nimport {SwitchModule} from \"@syncfusion/ej2-angular-buttons\";\n\n@NgModule({\n declarations: [\n CoToggleComponent\n ],\n imports: [\n CommonModule,\n SwitchModule\n ],\n exports: [\n CoToggleComponent\n ]\n})\nexport class CoToggleModule { }\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,\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-collapsible\",\r\n template: `\r\n <div class=\"collapsible-header\" [class.end]=\"expandButtonLast\" (click)=\"changeExpanded()\">\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\" [textContent]=\"headerTitle\"></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 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\r\n @Input()\r\n public headerTitle: 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 expanded: boolean = false;\r\n\r\n @Output()\r\n public expandedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\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","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\n\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 ],\r\n declarations: [CollapsibleComponent],\r\n exports: [CollapsibleComponent]\r\n})\r\nexport class CollapsibleModule {\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}","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 { InjectionToken } from '@angular/core';\r\nimport { ConfigurationAdapterComponent } from './configuration-adapter-component.interface';\r\n\r\n// Enables \"DI for interfaces\" (see ConfigNameDirective injected .hostComponent).\r\nexport const COMPONENT_INTERFACE_NAME: InjectionToken<ConfigurationAdapterComponent> =\r\n new InjectionToken<ConfigurationAdapterComponent>(\"ConfigurationAdapterComponent\");\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 {Component, 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-content\">\r\n <co-icon [iconData]=\"icons.getIcon(Icons.InformationRoundOpen)\"></co-icon>\r\n <div class=\"validation-error-message\" [textContent]=\"error\"></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 @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 {\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 {ConfigurationAdapterComponent} from \"./configuration-adapter-component.interface\";\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\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, ConfigurationAdapterComponent {\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._clearErrorComponent();\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 // 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 private _myFormInputInstance: BaseInputComponent<T>;\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()\r\n public noTriangleGraphic: 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 !!this.model || StringUtils.IsStringWithLength(this.model) || NumberUtils.IsNumber(this.model);\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 if (this.showSaveCancel && this.canSaveOrCancel) {\r\n this._handleKeyDown(event);\r\n }\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 public canSaveOrCancel: boolean = false;\r\n\r\n // @implements ConfigurationAdapterComponent\r\n public objectConfigName: string;\r\n public committing: boolean = false;\r\n public commitFinished: boolean = true;\r\n\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 _initialModel: T;\r\n protected _initialModelSet: boolean = false;\r\n\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\r\n constructor(\r\n protected changeDetector: ChangeDetectorRef,\r\n protected componentFactoryResolver: ComponentFactoryResolver,\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 async commitClick(event?: MouseEvent): Promise<boolean> {\r\n this.keepFocus = true;\r\n this.commitFinished = false;\r\n this.committing = true;\r\n const success: boolean = await this.commit(this.model);\r\n this.keepFocus = false;\r\n await this._commitFinished();\r\n if (success) {\r\n this.doBlur(event);\r\n }\r\n return success;\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 if (this.validationErrorContainer) {\r\n if (this._errorValidationComponent) {\r\n this._clearErrorComponent();\r\n }\r\n const componentFactory: ComponentFactory<ValidationErrorComponent> = this.componentFactoryResolver.resolveComponentFactory(ValidationErrorComponent);\r\n this._errorValidationComponent = this.validationErrorContainer.createComponent(componentFactory);\r\n this._errorValidationComponent.instance.error = error;\r\n if (this._hasOnPushCdStrategy) {\r\n this.changeDetector.markForCheck();\r\n }\r\n this._positionValidationError();\r\n }\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._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 doBlur(event?: any): any {\r\n setTimeout(() => {\r\n if (this.keepFocus) {\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 //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 _commitFinished(): Promise<void> {\r\n return new Promise((resolve: Function) => {\r\n this.commitFinished = true;\r\n setTimeout(() => {\r\n this.committing = false;\r\n resolve();\r\n }, 800);\r\n });\r\n }\r\n\r\n private _clearErrorComponent(): void {\r\n if (this.validationErrorContainer) {\r\n this.validationErrorContainer.clear();\r\n if (this._errorValidationComponent) {\r\n this._errorValidationComponent.destroy();\r\n this._errorValidationComponent = undefined;\r\n }\r\n }\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.input = 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): any {\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 return node;\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 private async _handleKeyDown(event: KeyboardEvent): Promise<any> {\r\n switch (event.code) {\r\n case 'Enter':\r\n event.preventDefault();\r\n await this.commitClick();\r\n return false;\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.commitClick();\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 const elementColl = element.getElementsByTagName('input');\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","// 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 {\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 TemplateRef,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {COMPONENT_INTERFACE_NAME} from \"../base/component-interface-name\";\r\nimport {BaseInputComponent} from \"../base/base-input.component\";\r\nimport {CheckBoxSelectionService} from \"@syncfusion/ej2-angular-dropdowns\";\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\n\r\n@Component({\r\n selector: \"co-drop-down-list\",\r\n template: `\r\n <ejs-dropdownlist\r\n [dataSource]=\"collection\"\r\n [value]=\"model\"\r\n [fields]=\"fields\"\r\n [placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n [itemTemplate]=\"itemTemplate\"\r\n [headerTemplate]=\"headerTemplate\"\r\n [valueTemplate]=\"valueTemplate\"\r\n [ngModel]=\"model\"\r\n (ngModelChange)=\"modelChange.emit($event)\"\r\n (valueChange)=\"handleValueChanged($event)\"\r\n showClearButton=\"true\"\r\n floatLabelType=\"Auto\"\r\n >\r\n </ejs-dropdownlist>\r\n <div class=\"required-indicator\"></div>\r\n <ng-template #validationError></ng-template>\r\n `,\r\n providers: [\r\n CheckBoxSelectionService,\r\n {\r\n provide: COMPONENT_INTERFACE_NAME,\r\n useExisting: forwardRef(() => DropDownListComponent)\r\n }, {\r\n provide: BaseInputComponent,\r\n useExisting: DropDownListComponent\r\n }\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DropDownListComponent extends BaseInputComponent<any> {\r\n\r\n @Input()\r\n public collection: any[];\r\n\r\n /**\r\n * In the form { text: 'name', value: 'id' }\r\n * Where 'text' is showing in the dropdown and 'id' used for the model binding\r\n */\r\n @Input()\r\n public fields: Object = {};\r\n\r\n @Input()\r\n public placeholder: string;\r\n\r\n @Input()\r\n public itemTemplate: TemplateRef<any>;\r\n\r\n @Input()\r\n public headerTemplate: TemplateRef<any>;\r\n\r\n @Input()\r\n public valueTemplate: TemplateRef<any>;\r\n\r\n @HostBinding(\"class.co-drop-down-list\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n constructor(\r\n @Optional() public formComponent: FormComponent,\r\n protected changeDetector: ChangeDetectorRef,\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, formUserChangeListener, ngZoneWrapper, elementRef);\r\n super._markAsOnPush();\r\n }\r\n\r\n public handleValueChanged(value: any): void {\r\n if (value !== this.model) {\r\n this.modelChange.next(value);\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {BaseModule} from \"../base/base.module\";\r\nimport {DropDownListComponent} from \"./drop-down-list.component\";\r\nimport {DropDownListModule, MultiSelectModule} from \"@syncfusion/ej2-angular-dropdowns\";\r\nimport {FormsModule} from \"@angular/forms\";\r\n\r\n@NgModule({\r\n imports: [\r\n BaseModule,\r\n CommonModule,\r\n DropDownListModule,\r\n MultiSelectModule,\r\n FormsModule\r\n ],\r\n declarations: [DropDownListComponent],\r\n exports: [DropDownListComponent]\r\n})\r\nexport class DropDownModule {\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","export enum GridLines {\r\n None = \"None\",\r\n Horizontal = \"Horizontal\",\r\n Vertical = \"Vertical\",\r\n Both = \"Both\",\r\n Default = \"Default\",\r\n}\r\n","import {Directive, ElementRef, Input, ViewChild} from \"@angular/core\";\r\nimport {ContextMenuItemModel, GridComponent, PageSettingsModel, RowDropSettingsModel} from \"@syncfusion/ej2-angular-grids\";\r\nimport {InputBoolean} from \"../../../core/decorator/input-boolean.decorator\";\r\nimport {GridLines} from \"../enum/grid-lines.enum\";\r\n\r\n@Directive()\r\nexport class BaseGridComponent<T> {\r\n @ViewChild('grid', {static: false})\r\n public grid: GridComponent;\r\n\r\n @Input()\r\n public data: T[];\r\n\r\n @Input()\r\n public gridLines: GridLines = GridLines.None;\r\n\r\n @Input()\r\n public contextMenuItems: ContextMenuItemModel[] = [];\r\n\r\n @Input()\r\n public frozenColumns: number;\r\n\r\n @Input()\r\n public frozenRows: number;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public sortingEnabled: boolean = false;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public filteringEnabled: boolean = false;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public pagingEnabled: boolean = false;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public groupingEnabled: boolean = false;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public reorderingEnabled: boolean = false;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public rowDragAndDropEnabled: boolean = false;\r\n\r\n @Input()\r\n public rowDropSettings: RowDropSettingsModel;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public resizingEnabled: boolean = false;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public showColumnMenu: boolean = false;\r\n\r\n @Input()\r\n public set maxNumberOfRows(value: number) {\r\n if (value) {\r\n this.pageSettings.pageSize = value;\r\n }\r\n }\r\n\r\n @Input()\r\n public set columns(value: {}[]) {\r\n this._columns = value;\r\n }\r\n\r\n public get columns(): {}[] {\r\n return this._columns;\r\n }\r\n\r\n public pageSettings: PageSettingsModel = {};\r\n\r\n private _columns: {}[];\r\n\r\n constructor(public element: ElementRef) {\r\n }\r\n}\r\n","import {Directive, Input} from \"@angular/core\";\r\nimport {ToolbarItems} from \"@syncfusion/ej2-angular-grids\";\r\nimport {ClickEventArgs} from \"@syncfusion/ej2-angular-navigations\";\r\nimport {InputBoolean} from \"../../../core/decorator/input-boolean.decorator\";\r\nimport {BaseGridComponent} from \"./base-grid.component\";\r\nimport {ArrayUtils} from \"../../../core/utils/array-utils\";\r\n\r\n@Directive()\r\nexport class BaseToolbarGridComponent<T> extends BaseGridComponent<T> {\r\n\r\n @Input()\r\n @InputBoolean()\r\n public set showColumnChooser(value: boolean) {\r\n this._showColumnChooser = value;\r\n this.updateToolbar(\"ColumnChooser\", this._showColumnChooser);\r\n }\r\n\r\n public get showColumnChooser(): boolean {\r\n return this._showColumnChooser;\r\n }\r\n\r\n @Input()\r\n @InputBoolean()\r\n public set exportExcelEnabled(value: boolean) {\r\n this._exportExcelEnabled = value;\r\n this.updateToolbar(\"ExcelExport\", this._exportExcelEnabled);\r\n }\r\n\r\n public get exportExcelEnabled(): boolean {\r\n return this._exportExcelEnabled;\r\n }\r\n\r\n @Input()\r\n @InputBoolean()\r\n public set exportPdfEnabled(value: boolean) {\r\n this._exportPdfEnabled = value;\r\n this.updateToolbar(\"PdfExport\", this._exportPdfEnabled);\r\n }\r\n\r\n public get exportPdfEnabled(): boolean {\r\n return this._exportPdfEnabled;\r\n }\r\n\r\n public toolbarOptions: ToolbarItems[];\r\n\r\n private _exportExcelEnabled: boolean = false;\r\n private _exportPdfEnabled: boolean = false;\r\n private _showColumnChooser: boolean = false;\r\n\r\n public toolbarClick(args: ClickEventArgs): void {\r\n if (this.grid) {\r\n if (args.item.id === 'grid_excelexport') {\r\n this.grid.excelExport();\r\n } else if (args.item.id === 'grid_pdfexport') {\r\n this.grid.pdfExport();\r\n }\r\n }\r\n }\r\n\r\n protected updateToolbar(option: ToolbarItems, add: boolean): void {\r\n if (add) {\r\n if (!this.toolbarOptions) {\r\n this.toolbarOptions = [];\r\n }\r\n this.toolbarOptions.push(option);\r\n } else {\r\n ArrayUtils.RemoveElement(option, this.toolbarOptions);\r\n }\r\n if (this.toolbarOptions && this.toolbarOptions.length > 0) {\r\n this.toolbarOptions = this.toolbarOptions.slice();\r\n } else {\r\n this.toolbarOptions = undefined;\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Directive, EventEmitter, Input, OnDestroy, OnInit, Output} from \"@angular/core\";\r\nimport {EditSettingsModel} from \"@syncfusion/ej2-angular-grids\";\r\nimport {InputBoolean} from \"../../../core/decorator/input-boolean.decorator\";\r\nimport {BaseToolbarGridComponent} from \"./base-toolbar-grid.component\";\r\nimport {Observable, Subscription, fromEvent} from \"rxjs\";\r\n\r\n@Directive()\r\nexport class BaseInlineEditGridComponent<T> extends BaseToolbarGridComponent<T> implements AfterViewInit, OnDestroy {\r\n\r\n @Input()\r\n @InputBoolean()\r\n public set inlineEdit(value: boolean) {\r\n if (value) {\r\n this.editSettings = { allowEditing: true, allowAdding: true, allowDeleting: true };\r\n } else {\r\n this.editSettings = {};\r\n }\r\n this.updateToolbar(\"Add\", value);\r\n this.updateToolbar(\"Edit\", value);\r\n this.updateToolbar(\"Delete\", value);\r\n this.updateToolbar(\"Update\", value);\r\n this.updateToolbar(\"Cancel\", value);\r\n }\r\n\r\n @Output()\r\n public rowSaved: EventEmitter<T> = new EventEmitter<T>();\r\n\r\n @Output()\r\n public beforeRowDelete: EventEmitter<any> = new EventEmitter<any>(false);\r\n\r\n @Output()\r\n public rowDeleted: EventEmitter<T> = new EventEmitter<T>();\r\n\r\n public editSettings: EditSettingsModel;\r\n public actionBeginObservable$: Observable<any> = new Observable<any>();\r\n public actionBeginObservableSub: Subscription = new Subscription();\r\n\r\n ngAfterViewInit(): void {\r\n if (this.grid) {\r\n this.actionBeginObservable$ = fromEvent(this.grid, 'actionBegin');\r\n this.actionBeginObservableSub = this.actionBeginObservable$.subscribe((action) => {\r\n this.handleActionBegin(action);\r\n });\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.actionBeginObservableSub.unsubscribe();\r\n }\r\n\r\n public async handleActionBegin(action: any): Promise<void> {\r\n if (action) {\r\n if (action.requestType === \"delete\") {\r\n await this.waitForBeforeDelete(action);\r\n }\r\n if (action.requestType === \"save\") {\r\n this.rowSaved.next(action.data);\r\n }\r\n }\r\n }\r\n\r\n public handleActionComplete(action: any): void {\r\n if (action) {\r\n if (action.requestType === \"delete\") {\r\n this.rowDeleted.next(action.data);\r\n }\r\n if (action.requestType === \"save\") {\r\n this.rowSaved.next(action.data);\r\n }\r\n }\r\n }\r\n\r\n public waitForBeforeDelete(action: any): Promise<any> {\r\n // @ts-ignore\r\n const beforeRowDelete$ = fromEvent(this.element, 'beforeRowDelete');\r\n return new Promise((resolve: Function) => {\r\n beforeRowDelete$.subscribe((result) => {\r\n action = result;\r\n return resolve(action);\r\n }).unsubscribe();\r\n this.beforeRowDelete.next(action);\r\n });\r\n }\r\n}\r\n","import {Directive, EventEmitter, HostBinding, Input, OnInit, Output, TemplateRef} from \"@angular/core\";\r\nimport {RowDragEventArgs, RowDropEventArgs, SelectionSettingsModel} from \"@syncfusion/ej2-angular-grids\";\r\nimport {BaseInlineEditGridComponent} from \"./base-inline-edit-grid.component\";\r\nimport {InputBoolean} from \"../../../core/decorator/input-boolean.decorator\";\r\nimport {MenuEventArgs} from \"@syncfusion/ej2-navigations\";\r\nimport {GridRowDragEventArgs} from \"../interface/grid-row-drag-event-args\";\r\nimport {GridRowDropEventArgs} from \"../interface/grid-row-drop-event-args\";\r\nimport {GridMenuEventArgs} from \"../interface/grid-menu-event-args\";\r\n\r\nconst defaultColumn: string = `<div class=\"detail-wrapper\"><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></div>`;\r\n\r\n@Directive()\r\nexport class BaseSelectionGridComponent<T> extends BaseInlineEditGridComponent<T> implements OnInit {\r\n\r\n @Input()\r\n @InputBoolean()\r\n public set multipleSelect(value: boolean) {\r\n this.selectionOptions = { type: value ? \"Multiple\" : \"Single\" };\r\n }\r\n\r\n @HostBinding(\"class.detail-column\")\r\n @Input()\r\n @InputBoolean()\r\n public includeDetailColumn: boolean = false;\r\n\r\n @Input()\r\n public detailColumnTemplate: TemplateRef<any>;\r\n\r\n @Output()\r\n public rowsSelected: EventEmitter<T[]> = new EventEmitter<T[]>();\r\n\r\n @Output()\r\n public rowDoubleClick: EventEmitter<T> = new EventEmitter<T>();\r\n\r\n @Output()\r\n public detailColumnClick: EventEmitter<T> = new EventEmitter<T>();\r\n\r\n @Output()\r\n public contextMenuItemClick: EventEmitter<GridMenuEventArgs> = new EventEmitter<GridMenuEventArgs>();\r\n\r\n @Output()\r\n public rowDragStartEvent: EventEmitter<GridRowDragEventArgs> = new EventEmitter<GridRowDragEventArgs>();\r\n\r\n @Output()\r\n public rowDropEvent: EventEmitter<GridRowDropEventArgs> = new EventEmitter<GridRowDropEventArgs>();\r\n\r\n @Output()\r\n public beforeRowsDelete: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @Output()\r\n public rowsDeleted: EventEmitter<T[]> = new EventEmitter<T[]>();\r\n\r\n public selectionOptions: SelectionSettingsModel = { type: \"Single\" };\r\n\r\n ngOnInit(): void {\r\n if (this.includeDetailColumn) {\r\n this.columns.unshift({\r\n field: \"\", headerText: \"\", lockColumn: true, maxWidth: 30, width: 30,\r\n allowFiltering: false, allowResizing: false, allowReordering: false, allowEditing: false, allowSearching: false,\r\n showColumnMenu: false, showInColumnChooser: false,\r\n template: this.detailColumnTemplate ? this.detailColumnTemplate : defaultColumn,\r\n headerTemplate: this.detailColumnTemplate ? this.detailColumnTemplate : defaultColumn});\r\n }\r\n }\r\n\r\n public handleRowSelected(rowData: any): void {\r\n if (this.grid) {\r\n const rows: T[] = <T[]>this.grid.getSelectedRecords();\r\n this.rowsSelected.next(rows);\r\n }\r\n }\r\n\r\n public handleDoubleClick(clickData: any): void {\r\n this.rowDoubleClick.next(<T>clickData.rowData);\r\n }\r\n\r\n public handleRecordClick(clickData: any): void {\r\n if (clickData && this.includeDetailColumn && clickData.cellIndex === 0) {\r\n this.detailColumnClick.next(clickData.rowData);\r\n }\r\n }\r\n\r\n public selectRow(index: number): void {\r\n if (this.grid) {\r\n const rowIndexes: number[] = [];\r\n rowIndexes.push(index);\r\n this.grid.selectionModule.selectRows(rowIndexes);\r\n }\r\n }\r\n\r\n public contextMenuClick(args: MenuEventArgs): void {\r\n this.contextMenuItemClick.next(args);\r\n }\r\n\r\n public rowDragStartClick(args: RowDragEventArgs): void {\r\n this.rowDragStartEvent.next(args);\r\n }\r\n\r\n public rowDropClick(args: RowDropEventArgs): void {\r\n this.rowDropEvent.next(args);\r\n }\r\n\r\n public handleBeforeBatchDelete(args: any): void {\r\n this.beforeRowsDelete.next(args);\r\n }\r\n\r\n public handleBatchDelete(rows: T[]): void {\r\n this.rowsDeleted.next(rows);\r\n }\r\n}\r\n","import {Component, HostBinding, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {BaseSelectionGridComponent} from \"./base/base-selection-grid.component\";\r\nimport {RowDDService} from \"@syncfusion/ej2-angular-grids\";\r\n\r\n@Component({\r\n selector: 'co-grid',\r\n template: `\r\n <ejs-grid #grid id=\"grid\"\r\n [dataSource]=\"data\"\r\n [columns]=\"columns\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [pageSettings]=\"pageSettings\"\r\n [toolbar]=\"toolbarOptions\"\r\n [gridLines]=\"gridLines\"\r\n [frozenColumns]=\"frozenColumns\"\r\n [frozenRows]=\"frozenRows\"\r\n [selectionSettings]=\"selectionOptions\"\r\n [editSettings]=\"editSettings\"\r\n [allowPaging]=\"pagingEnabled\"\r\n [allowSorting]=\"sortingEnabled\"\r\n [allowFiltering]=\"filteringEnabled\"\r\n [allowGrouping]=\"groupingEnabled\"\r\n [allowReordering]=\"reorderingEnabled\"\r\n [allowResizing]=\"resizingEnabled\"\r\n [allowRowDragAndDrop]=\"rowDragAndDropEnabled\"\r\n [showColumnMenu]=\"showColumnMenu\"\r\n [showColumnChooser]=\"showColumnChooser\"\r\n [allowExcelExport]=\"exportExcelEnabled\"\r\n [allowPdfExport]=\"exportPdfEnabled\"\r\n (toolbarClick)=\"toolbarClick($event)\"\r\n (rowSelected)=\"handleRowSelected($event)\"\r\n (recordDoubleClick)=\"handleDoubleClick($event)\"\r\n (recordClick)=\"handleRecordClick($event)\"\r\n (actionComplete)=\"handleActionComplete($event)\"\r\n (contextMenuClick)=\"contextMenuClick($event)\"\r\n (rowDragStart)=\"rowDragStartClick($event)\"\r\n (rowDrop)=\"rowDropClick($event)\"\r\n (beforeBatchDelete)=\"handleBeforeBatchDelete($event)\"\r\n (batchDelete)=\"handleBatchDelete($event)\"\r\n >\r\n </ejs-grid>\r\n `,\r\n providers: [\r\n RowDDService\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CoGridComponent<T> extends BaseSelectionGridComponent<T> implements OnInit {\r\n\r\n @HostBinding('class.co-grid')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, HostBinding, Output, 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-grid-toolbar\",\r\n template: `\r\n <div class=\"grid-toolbar-wrapper\">\r\n <co-button [iconData]=\"iconsService.getIcon(icons.AddToCartDrop)\" [label]=\"'edit'\" (click)=\"editClick.emit($event)\"></co-button>\r\n <co-button [iconData]=\"iconsService.getIcon(icons.AddToCartDrop)\" [label]=\"'cancel'\" (click)=\"cancelClick.emit()\"></co-button>\r\n <co-button [iconData]=\"iconsService.getIcon(icons.AddToCartDrop)\" [label]=\"'save'\" (click)=\"saveClick.emit()\"></co-button>\r\n <co-button [iconData]=\"iconsService.getIcon(icons.AddToCartDrop)\" [label]=\"'add'\" (click)=\"addClick.emit()\"></co-button>\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 @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 @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","import {NgModule} from \"@angular/core\";\r\nimport {enableRipple} from \"@syncfusion/ej2-base\";\r\nimport {GridToolbarComponent} from \"./grid-toolbar.component\";\r\nimport {IconModule} from \"../icon/icon.module\";\r\nimport {ButtonModule} from \"../button/button.module\";\r\n\r\nenableRipple(true);\r\n\r\n@NgModule({\r\n imports: [\r\n IconModule,\r\n ButtonModule\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 { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport {\r\n ColumnChooserService,\r\n ColumnMenuService,\r\n ContextMenuService,\r\n EditService,\r\n ExcelExportService,\r\n FilterService,\r\n GridModule,\r\n GroupService,\r\n PageService,\r\n PdfExportService,\r\n ReorderService,\r\n ResizeService,\r\n SortService,\r\n ToolbarService\r\n} from '@syncfusion/ej2-angular-grids';\r\nimport { CoGridComponent } from './co-grid.component';\r\nimport { IconCacheService } from '../icon/icon-cache.service';\r\nimport {GridToolbarModule} from \"../grid-toolbar/grid-toolbar.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n GridModule,\r\n GridToolbarModule\r\n ],\r\n declarations: [CoGridComponent],\r\n exports: [CoGridComponent],\r\n providers: [\r\n IconCacheService,\r\n PageService,\r\n SortService,\r\n FilterService,\r\n GroupService,\r\n ReorderService,\r\n ResizeService,\r\n ExcelExportService,\r\n PdfExportService,\r\n EditService,\r\n ToolbarService,\r\n ColumnChooserService,\r\n ColumnMenuService,\r\n ContextMenuService\r\n ]\r\n})\r\nexport class CoGridModule {\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,\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 {COMPONENT_INTERFACE_NAME} from \"../base/component-interface-name\";\r\nimport {IconCacheService} from \"../icon/icon-cache.service\";\r\n\r\n@Component({\r\n selector: \"co-input-checkbox\",\r\n template: `\r\n <ejs-checkbox [label]=\"label\"\r\n [name]=\"name\"\r\n [cssClass]=\"cssClass\"\r\n [ngModel]=\"model\"\r\n (ngModelChange)=\"handleModelChange($event)\"\r\n ></ejs-checkbox>\r\n `,\r\n providers: [{\r\n provide: 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 name: string;\r\n\r\n @Input()\r\n public label: string;\r\n\r\n @Input()\r\n public cssClass: string;\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 constructor(\r\n @Optional() public formComponent: FormComponent,\r\n public iconCacheService: IconCacheService,\r\n protected changeDetector: ChangeDetectorRef,\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, formUserChangeListener, ngZoneWrapper, elementRef);\r\n }\r\n\r\n public setModel(value: boolean): void {\r\n this.model = value;\r\n this.modelChange.next(this.model);\r\n }\r\n\r\n public handleModelChange(value: boolean): void {\r\n if (!this.readonly && !this.disabled) {\r\n this.setModel(value);\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\nimport { CheckBoxModule } from '@syncfusion/ej2-angular-buttons';\r\nimport { enableRipple } from '@syncfusion/ej2-base';\r\n\r\nenableRipple(true);\r\n\r\n@NgModule({\r\n imports: [\r\n BaseModule,\r\n CommonModule,\r\n FormsModule,\r\n CheckBoxModule,\r\n ],\r\n declarations: [InputCheckboxComponent],\r\n exports: [InputCheckboxComponent]\r\n})\r\nexport class InputCheckboxModule {\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 {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n ElementRef,\n forwardRef,\n HostBinding,\n Input,\n Optional,\n ViewEncapsulation\n} from \"@angular/core\";\nimport {BaseInputComponent} from \"../base/base-input.component\";\nimport {COMPONENT_INTERFACE_NAME} from \"../base/component-interface-name\";\nimport {FormInputUserModelChangeListenerService} from \"../../core/service/form-input-user-change-listener.service\";\nimport {NgZoneWrapperService} from \"../../core/service/ng-zone-wrapper.service\";\nimport {FormComponent} from \"../form/form.component\";\n\n@Component({\n selector: \"co-input-checkbox-multi-select\",\n template: `\n <ejs-multiselect\n [placeholder]=\"placeholder\"\n [dataSource]=\"source\"\n [fields]=\"fields\"\n mode=\"CheckBox\"\n showDropDownIcon=\"true\"\n [showSelectAll]=\"false\"\n [filterBarPlaceholder]=\"filterPlaceholder\"\n ></ejs-multiselect>\n `,\n providers: [{\n provide: COMPONENT_INTERFACE_NAME,\n useExisting: forwardRef(() => InputCheckboxMultiSelectComponent)\n }, {\n provide: BaseInputComponent,\n useExisting: InputCheckboxMultiSelectComponent\n }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n\n})\nexport class InputCheckboxMultiSelectComponent extends BaseInputComponent<any> {\n\n @Input()\n public source: Object[] | string[] | number[] | boolean[]\n\n @Input()\n public fields: Object\n\n @Input()\n public selected: number | string | boolean;\n\n @Input()\n public placeholder: string;\n\n @Input()\n public filterPlaceholder: string;\n\n @HostBinding(\"class.co-input-checkbox-multi-select\")\n public showClass() {\n return true;\n }\n\n constructor(\n @Optional() public formComponent: FormComponent,\n protected changeDetector: ChangeDetectorRef,\n protected componentFactoryResolver: ComponentFactoryResolver,\n protected formUserChangeListener?: FormInputUserModelChangeListenerService,\n protected ngZoneWrapper?: NgZoneWrapperService,\n public elementRef?: ElementRef,\n ) {\n super(changeDetector, componentFactoryResolver, formUserChangeListener, ngZoneWrapper, elementRef);\n super._markAsOnPush();\n }\n\n}\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { IconModule } from '../icon/icon.module';\r\nimport { BaseModule } from '../base/base.module';\r\nimport { AppendPipeModule } from '../../pipes/append.pipe.module';\r\nimport {MultiSelectAllModule} from \"@syncfusion/ej2-angular-dropdowns\";\r\nimport {InputCheckboxMultiSelectComponent} from \"./input-checkbox-multi-select.component\";\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 MultiSelectAllModule\r\n ],\r\n declarations: [InputCheckboxMultiSelectComponent],\r\n exports: [InputCheckboxMultiSelectComponent]\r\n})\r\nexport class InputCheckboxMultiSelectModule {\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ComponentFactoryResolver,\r\n ElementRef, EventEmitter,\r\n forwardRef,\r\n HostBinding,\r\n Input,\r\n Optional, Output,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {BaseInputComponent} from \"../base/base-input.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 {FormComponent} from \"../form/form.component\";\r\nimport {COMPONENT_INTERFACE_NAME} from \"../base/component-interface-name\";\r\nimport {ComboBoxComponent} from \"@syncfusion/ej2-angular-dropdowns\";\r\n\r\n@Component({\r\n selector: \"co-input-combo-box\",\r\n template: `\r\n <ejs-combobox #combo [dataSource]=\"collection\"\r\n [fields]=\"fields\"\r\n [placeholder]=\"placeholder\"\r\n [autofill]=\"true\"\r\n [ngModel]=\"model\"\r\n (ngModelChange)=\"modelChange.emit($event)\"\r\n (valueChange)=\"valueChange.emit($event)\"\r\n (focus)=\"onFocus()\"\r\n showClearButton=\"true\"\r\n floatLabelType=\"Auto\"\r\n >\r\n </ejs-combobox>\r\n <div class=\"required-indicator\"></div>\r\n <ng-template #validationError></ng-template>\r\n `,\r\n providers: [{\r\n provide: COMPONENT_INTERFACE_NAME,\r\n useExisting: forwardRef(() => InputComboBoxComponent)\r\n }, {\r\n provide: BaseInputComponent,\r\n useExisting: InputComboBoxComponent\r\n }],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class InputComboBoxComponent extends BaseInputComponent<any> {\r\n @ViewChild(\"combo\")\r\n public combo: ComboBoxComponent;\r\n\r\n @Input()\r\n public collection: Object[] | string[] | number[] | boolean[];\r\n\r\n @Input()\r\n public fields: Object;\r\n\r\n @Input()\r\n public selected: number | string | boolean;\r\n\r\n @Input()\r\n public placeholder: string;\r\n\r\n @Input()\r\n public shopPopup: boolean = true;\r\n\r\n @Output()\r\n public valueChange: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @HostBinding(\"class.co-input-combo-box\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n constructor(\r\n @Optional() public formComponent: FormComponent,\r\n protected changeDetector: ChangeDetectorRef,\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, formUserChangeListener, ngZoneWrapper, elementRef);\r\n super._markAsOnPush();\r\n }\r\n\r\n public onFocus(): void {\r\n if (this.shopPopup && this.model === undefined) {\r\n this.combo.showPopup();\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\n\r\nimport { InputComboBoxComponent } from './input-combo-box.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 {ComboBoxAllModule} from \"@syncfusion/ej2-angular-dropdowns\";\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 ComboBoxAllModule\r\n ],\r\n declarations: [InputComboBoxComponent],\r\n exports: [InputComboBoxComponent]\r\n})\r\nexport class InputComboBoxModule {\r\n}\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Component,\r\n ComponentFactoryResolver,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n HostBinding,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n Output,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {BaseInputComponent} from \"../base/base-input.component\";\r\nimport {COMPONENT_INTERFACE_NAME} from \"../base/component-interface-name\";\r\nimport {CoreComponentsIcon} from \"../../core/enum/core-components-icon.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 {DatePickerComponent} from \"@syncfusion/ej2-angular-calendars\";\r\nimport {IconCacheService} from \"../icon/icon-cache.service\";\r\n\r\n@Component({\r\n selector: \"co-input-date\",\r\n template: `\r\n <ejs-datepicker #ejsDatePicker\r\n floatLabelType=\"Auto\"\r\n [format]=\"dateFormat\"\r\n [placeholder]=\"placeholder\"\r\n [ngModel]=\"model\"\r\n (ngModelChange)=\"modelChange.emit($event)\"\r\n ></ejs-datepicker>\r\n <div class=\"required-indicator\"></div>\r\n <ng-template #validationError></ng-template>\r\n `,\r\n providers: [{\r\n provide: COMPONENT_INTERFACE_NAME, useExisting: forwardRef(() => InputDatePickerComponent)\r\n }, {\r\n provide: BaseInputComponent,\r\n useExisting: InputDatePickerComponent\r\n }],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class InputDatePickerComponent extends BaseInputComponent<Date> implements OnInit, AfterViewInit, OnDestroy {\r\n public readonly icons: any = CoreComponentsIcon;\r\n\r\n // note: assigning empty string '' to this value will not visually reflect in an empty/clear native inner <input> text content\r\n @ViewChild(\"ejsDatePicker\")\r\n ejsDatePicker: DatePickerComponent;\r\n\r\n @Input()\r\n public dateFormat: string = \"dd-MM-yyyy\";\r\n\r\n @Input()\r\n public calendarIconName: CoreComponentsIcon = this.icons.CalendarEmpty;\r\n\r\n @Input()\r\n public iconHeight: string = \"24px\";\r\n\r\n @Input()\r\n public placeholder: string = \"\";\r\n\r\n @Input()\r\n public width: string | number;\r\n\r\n @Output()\r\n public readonly blur: EventEmitter<Event> = new EventEmitter<Event>();\r\n\r\n @HostBinding(\"class.co-input-date\")\r\n public showClass() {\r\n return true;\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 componentFactoryResolver: ComponentFactoryResolver,\r\n protected formUserChangeListener?: FormInputUserModelChangeListenerService,\r\n protected ngZoneWrapper?: NgZoneWrapperService,\r\n public elementRef?: ElementRef,\r\n ) {\r\n super(changeDetector, componentFactoryResolver, formUserChangeListener, ngZoneWrapper, elementRef);\r\n super._markAsOnPush();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.elementRef = undefined;\r\n super.ngOnDestroy();\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.ejsDatePicker) {\r\n const calendarIcon: string = this.iconCacheService.getIconRawBase64(this.calendarIconName);\r\n const imgElement: HTMLElement = document.createElement(\"img\");\r\n imgElement.setAttribute(\r\n \"src\",\r\n calendarIcon\r\n );\r\n imgElement.setAttribute(\r\n \"height\",\r\n this.iconHeight\r\n );\r\n imgElement.setAttribute(\"class\", \"customImage\");\r\n //remove the font-icon class\r\n this.ejsDatePicker.element.parentElement\r\n .querySelector(\".e-icons\")\r\n .classList.remove(\"e-date-icon\");\r\n this.ejsDatePicker.element.parentElement\r\n .querySelector(\".e-icons\")\r\n .append(imgElement);\r\n this.changeDetector.detectChanges();\r\n }\r\n super.ngAfterViewInit();\r\n }\r\n\r\n public change(): void {\r\n this.model = this.ejsDatePicker.value;\r\n }\r\n}\r\n","import {NgModule, NO_ERRORS_SCHEMA} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { InputDatePickerComponent } from './input-date-picker.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 {DatePickerModule} from \"@syncfusion/ej2-angular-calendars\";\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 DatePickerModule\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 {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {BaseInputComponent} from \"../base/base-input.component\";\r\n\r\n@Component({\r\n selector: \"co-input-date-range\",\r\n template: `\r\n <ejs-daterangepicker\r\n [format]=\"dateFormat\"\r\n [placeholder]=\"placeholder\"\r\n [ngModel]=\"model\"\r\n (ngModelChange)=\"rangeChange()\"\r\n [(startDate)]=\"startDate\"\r\n [(endDate)]=\"endDate\"\r\n ></ejs-daterangepicker>\r\n <div class=\"required-indicator\"></div>\r\n <ng-template #validationError></ng-template>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class InputDateRangePickerComponent extends BaseInputComponent<Date> {\r\n\r\n @Input()\r\n public dateFormat: string = \"dd-MM-yyyy\";\r\n\r\n @Input()\r\n public placeholder: string = \"\";\r\n\r\n @Input()\r\n public startDate: Date;\r\n\r\n @Input()\r\n public endDate: Date;\r\n\r\n @Output()\r\n public startDateChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n @Output()\r\n public endDateChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n @Output()\r\n public dateRangeChange: EventEmitter<Date[]> = new EventEmitter<Date[]>();\r\n\r\n @HostBinding(\"class.co-input-date-range-picker\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public rangeChange(): void {\r\n this.startDateChange.emit(this.startDate);\r\n this.endDateChange.emit(this.endDate);\r\n\r\n if (this.startDate && this.endDate) {\r\n this.dateRangeChange.emit([this.startDate, this.endDate]);\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {BaseModule} from \"../base/base.module\";\r\nimport {DateRangePickerModule} from \"@syncfusion/ej2-angular-calendars\";\r\nimport {InputDateRangePickerComponent} from \"./input-date-range-picker.component\";\r\nimport {FormsModule} from \"@angular/forms\";\r\n\r\n@NgModule({\r\n imports: [\r\n BaseModule,\r\n DateRangePickerModule,\r\n FormsModule\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","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ComponentFactoryResolver,\r\n ElementRef,\r\n forwardRef,\r\n HostBinding,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {BaseInputComponent} from \"../base/base-input.component\";\r\nimport {COMPONENT_INTERFACE_NAME} from \"../base/component-interface-name\";\r\nimport {CheckBoxSelection, ListBoxComponent, SelectionSettingsModel} from \"@syncfusion/ej2-angular-dropdowns\";\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\n\r\nListBoxComponent.Inject(CheckBoxSelection);\r\n\r\n@Component({\r\n selector: 'co-input-listbox',\r\n template: `\r\n <div class=\"co-input-listbox-header\" [textContent]=\"placeholder\"></div>\r\n <div class=\"co-input-listbox-content\">\r\n <ejs-listbox\r\n [ngModel]=\"value\"\r\n [dataSource]=\"collection\"\r\n [fields]=\"fields\"\r\n [selectionSettings]=\"selectionSettings\"\r\n (ngModelChange)=\"modelChange.emit($event)\"\r\n ></ejs-listbox>\r\n </div>\r\n <div class=\"required-indicator\"></div>\r\n <ng-template #validationError></ng-template>\r\n `,\r\n providers: [{\r\n provide: COMPONENT_INTERFACE_NAME, useExisting: forwardRef(() => InputListboxComponent)\r\n }, {\r\n provide: BaseInputComponent,\r\n useExisting: InputListboxComponent\r\n }],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class InputListboxComponent extends BaseInputComponent<any> implements OnInit, OnDestroy {\r\n\r\n @Input()\r\n public placeholder: string;\r\n\r\n @Input()\r\n public value: string[] | number[];\r\n // public set model(value: string[] | number[]) {\r\n // this._model = value;\r\n // }\r\n\r\n @Input()\r\n public collection: {}[] = [];\r\n\r\n @Input()\r\n public fields: {};\r\n\r\n @Input()\r\n public set singleSelect(value: boolean) {\r\n if (value) {\r\n this.selectionSettings.mode = 'Single';\r\n }\r\n }\r\n\r\n @Input()\r\n public set showCheckbox(value: boolean) {\r\n if (value) {\r\n this.selectionSettings.showCheckbox = true;\r\n }\r\n }\r\n\r\n @Input()\r\n public set showSelectAll(value: boolean) {\r\n if (value) {\r\n this.selectionSettings.showSelectAll = true;\r\n }\r\n }\r\n\r\n @HostBinding('class.co-input-listbox')\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n @HostBinding('class.custom-height')\r\n public customHeight: boolean = true;\r\n\r\n public selectionSettings: SelectionSettingsModel = {mode: 'Multiple'};\r\n\r\n constructor(\r\n @Optional() public formComponent: FormComponent,\r\n protected changeDetector: ChangeDetectorRef,\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, formUserChangeListener, ngZoneWrapper, elementRef);\r\n super._markAsOnPush();\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {InputListboxComponent} from \"./input-listbox.component\";\r\nimport {ListBoxModule} from \"@syncfusion/ej2-angular-dropdowns\";\r\nimport {enableRipple} from \"@syncfusion/ej2-base\";\r\nimport {FormsModule} from \"@angular/forms\";\r\n\r\nenableRipple(true);\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ListBoxModule\r\n ],\r\n declarations: [\r\n InputListboxComponent\r\n ],\r\n exports: [\r\n InputListboxComponent\r\n ]\r\n})\r\nexport class InputListboxModule { }\r\n","export const JAVA_MAX_INT: number = 2147483647;","import {JAVA_MAX_INT} from \"./java-max-int\";\r\n\r\nexport const DEFAULT_UPPER_BOUND_FOR_RANGE_COMPONENTS: number = JAVA_MAX_INT;","import {Subject} from \"rxjs\";\r\n\r\nimport {isNill} from \"../function/is-nill.function\";\r\nimport {DEFAULT_UPPER_BOUND_FOR_RANGE_COMPONENTS} 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 = 0;\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,\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 {COMPONENT_INTERFACE_NAME} from \"../base/component-interface-name\";\nimport {FormComponent} from \"../form/form.component\";\n\n@Component({\n selector: 'co-input-number-picker',\n template: `\n <div class=\"button-wrapper\">\n <co-button *ngIf=\"showButtons\" class=\"minus-operator circle\" [class.select]=\"minSelected\"\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 [ngModel]=\"model\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n (ngModelChange)=\"handleChangeModel($event)\"\n (keydown)=\"handleKeyDown($event)\"/>\n <div class=\"button-wrapper\">\n <co-button *ngIf=\"showButtons\" class=\"plus-operator circle\" [class.select]=\"plusSelected\"\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 provide: 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 // super.model = model;\n // this.numberLogic.value = model;\n // }\n //\n // public get model(): number {\n // return this.numberLogic.value;\n // }\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 @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\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 private _ngZone: NgZone,\n protected componentFactoryResolver: ComponentFactoryResolver,\n changeDetector: ChangeDetectorRef,\n formUserChangeListener: FormInputUserModelChangeListenerService\n ) {\n super(changeDetector, componentFactoryResolver, formUserChangeListener);\n\n this._numberLogicValueChangeSub = this.numberLogic.valueChange.subscribe((value: number) => {\n if (!this._mayAutoCount) {\n this.model = value;\n this.modelChange.emit(value);\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.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 handleKeyDown(event: KeyboardEvent): boolean {\n // event.preventDefault();\n if (this.myKeyDownWhiteList.find((k) => k === event.keyCode) === undefined) {\n return false;\n }\n super.handleKeyDown(event);\n }\n\n public handleChangeModel(value: number): void {\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.numberLogic.increment(steps);\n }\n\n public decrement(steps: number = 1): void {\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 {\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 {COMPONENT_INTERFACE_NAME} from \"../base/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 {animate, state, style, transition, trigger} from \"@angular/animations\";\r\n\r\n@Component({\r\n selector: \"co-input-text\",\r\n template: `\r\n <label *ngIf=\"showPlaceholderOnFocus || (!showPlaceholderOnFocus && !hasValue && !focused)\" [textContent]=\"placeholder\"></label>\r\n <co-icon *ngIf=\"leftIcon\" class=\"input-text-left-icon\" [icon]=\"leftIcon\"></co-icon>\r\n <input #input\r\n [type]=\"type\"\r\n [ngModel]=\"model\"\r\n [min]=\"type === 'number' && this.min ? this.min : undefined\"\r\n [max]=\"type === 'number' && this.max ? this.max : undefined\"\r\n [readonly]=\"readonly\"\r\n [required]=\"required\"\r\n (ngModelChange)=\"modelChange.emit($event)\"\r\n >\r\n <co-icon *ngIf=\"rightIcon\" class=\"input-text-right-icon\" [icon]=\"rightIcon\"></co-icon>\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 <div class=\"required-indicator\"></div>\r\n <ng-template #validationError></ng-template>\r\n `,\r\n providers: [{\r\n provide: 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 placeholder: string = \"\";\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 showClearButton: boolean = undefined;\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 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 @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 @Input()\r\n @HostBinding('class.hideArrows')\r\n public hideArrowButtons: boolean = false;\r\n\r\n constructor(\r\n @Optional() public formComponent: FormComponent,\r\n protected changeDetector: ChangeDetectorRef,\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, 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 {ValidationErrorComponent} from \"./validation-error.component\";\r\nimport {IconModule} from \"../icon/icon.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule\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 {\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\" @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 || commitFinished\">\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=\"!committing || commitFinished\"></div>\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 public animateDivs: QueryList<ElementRef>;\r\n\r\n @Input()\r\n public set committing(value: boolean) {\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 this._commitFinished = value;\r\n this._checkAnimationFinished();\r\n }\r\n\r\n public get commitFinished(): boolean {\r\n return this._commitFinished;\r\n }\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.committing && 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.commitFinished && this.animateDivs) {\r\n this.animateDivs.forEach(a => {\r\n a.nativeElement.addEventListener('animationiteration', this._handleAnimationIteration);\r\n // a.nativeElement.addEventListener('webkitAnimationIteration', (event) => this._handleAnimationIteration(event));\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 // elem.removeEventListener('webkitAnimationIteration', () => this._handleAnimationIteration(elem));\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\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\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 {NumericTextBoxModule, TextBoxAllModule} from \"@syncfusion/ej2-angular-inputs\";\r\nimport {ValidationErrorModule} from \"../validation-error/validation-error.module\";\r\nimport {CommitButtonsModule} from \"../base/commit-buttons/commit-buttons.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 TextBoxAllModule,\r\n NumericTextBoxModule,\r\n ValidationErrorModule,\r\n CommitButtonsModule\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","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\";\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ButtonModule,\n InputTextModule\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,\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 {COMPONENT_INTERFACE_NAME} from \"../base/component-interface-name\";\r\n\r\n@Component({\r\n selector: \"co-input-radio-button\",\r\n template: `\r\n <ejs-radiobutton\r\n [label]=\"label\"\r\n [name]=\"name\"\r\n [value]=\"value\"\r\n [checked]=\"checked\"\r\n (change)=\"handleModelChange($event)\"\r\n ></ejs-radiobutton>\r\n `,\r\n providers: [{\r\n provide: COMPONENT_INTERFACE_NAME, useExisting: forwardRef(() => InputRadioButtonComponent)\r\n }, {\r\n provide: BaseInputComponent,\r\n useExisting: InputRadioButtonComponent\r\n }],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class InputRadioButtonComponent extends BaseInputComponent<any> {\r\n @Input()\r\n public value: any;\r\n\r\n @Input()\r\n public label: string;\r\n\r\n @Input()\r\n public name: string;\r\n\r\n @HostBinding('class.checked')\r\n @Input()\r\n public checked: boolean;\r\n\r\n @HostBinding(\"class.co-radio-button\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n constructor(\r\n @Optional() public formComponent: FormComponent,\r\n protected changeDetector: ChangeDetectorRef,\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, formUserChangeListener, ngZoneWrapper, elementRef);\r\n super._markAsOnPush();\r\n }\r\n\r\n public handleModelChange(change: any): void {\r\n this.model = change.value;\r\n this.modelChange.next(this.model);\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\nimport {CheckBoxModule, RadioButtonModule} from \"@syncfusion/ej2-angular-buttons\";\r\n\r\n@NgModule({\r\n imports: [\r\n BaseModule,\r\n CommonModule,\r\n FormsModule,\r\n CheckBoxModule,\r\n RadioButtonModule,\r\n ],\r\n declarations: [InputRadioButtonComponent],\r\n exports: [InputRadioButtonComponent]\r\n})\r\nexport class InputRadioButtonModule {\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\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 {CoreComponentsIcon} from '../../core/enum/core-components-icon.enum';\r\nimport {BaseInputComponent} from '../base/base-input.component';\r\n\r\n@Component({\r\n selector: 'co-input-search',\r\n template: `\r\n <co-input-text\r\n [model]=\"model\"\r\n [leftIcon]=\"!iconRight && !noIcon ? searchIcon : undefined\"\r\n [rightIcon]=\"iconRight && !noIcon ? searchIcon : undefined\"\r\n [placeholder]=\"placeholder\"\r\n [showPlaceholderOnFocus]=\"false\"\r\n (modelChange)=\"modelChange.emit($event)\"\r\n ></co-input-text>\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 @Input()\r\n public iconRight: boolean = false;\r\n\r\n @HostBinding('class.no-icon')\r\n @Input()\r\n public noIcon: boolean = false;\r\n\r\n @Output()\r\n public search: EventEmitter<string> = new EventEmitter<string>();\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 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 {COMPONENT_INTERFACE_NAME} from \"../base/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\n\r\n@Component({\r\n selector: \"co-input-textarea\",\r\n template: `\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 class=\"required-indicator\"></div>\r\n <ng-template #validationError></ng-template>\r\n `,\r\n providers: [{\r\n provide: 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 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 @HostBinding('class.custom-height')\r\n public customHeight: boolean = true;\r\n\r\n constructor(\r\n @Optional() public formComponent: FormComponent,\r\n protected changeDetector: ChangeDetectorRef,\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, 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\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ValidationErrorModule\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 {\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 TemplateRef,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {COMPONENT_INTERFACE_NAME} from \"../base/component-interface-name\";\r\nimport {BaseInputComponent} from \"../base/base-input.component\";\r\nimport {CheckBoxSelectionService} from \"@syncfusion/ej2-angular-dropdowns\";\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\n\r\n@Component({\r\n selector: \"co-multi-select-list\",\r\n template: `\r\n <ejs-multiselect\r\n [dataSource]=\"collection\"\r\n [placeholder]=\"placeholder\"\r\n [value]=\"model\"\r\n [mode]=\"mode\"\r\n [fields]=\"fields\"\r\n [readonly]=\"readonly\"\r\n [itemTemplate]=\"itemTemplate\"\r\n [headerTemplate]=\"headerTemplate\"\r\n [valueTemplate]=\"valueTemplate\"\r\n [footerTemplate]=\"footerTemplate\"\r\n [selectAllText]=\"'Select All'\"\r\n [showSelectAll]=showSelectAll\r\n [ngModel]=\"model\"\r\n (ngModelChange)=\"handleModelChange($event)\"\r\n (valueChange)=\"handleModelChange($event)\"\r\n ></ejs-multiselect>\r\n <div class=\"required-indicator\"></div>\r\n <ng-template #validationError></ng-template>\r\n `,\r\n providers: [\r\n CheckBoxSelectionService,\r\n {\r\n provide: COMPONENT_INTERFACE_NAME,\r\n useExisting: forwardRef(() => MultiSelectListComponent)\r\n }, {\r\n provide: BaseInputComponent,\r\n useExisting: MultiSelectListComponent\r\n }\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class MultiSelectListComponent extends BaseInputComponent<any[]> {\r\n\r\n @Input()\r\n public collection: any[];\r\n\r\n /**\r\n * In the form { text: 'name', value: 'id' }\r\n * Where 'text' is showing in the dropdown and 'id' used for the model binding\r\n */\r\n @Input()\r\n public fields: Object = {};\r\n\r\n @Input()\r\n public placeholder: string;\r\n\r\n @Input()\r\n public itemTemplate: TemplateRef<any>;\r\n\r\n @Input()\r\n public headerTemplate: TemplateRef<any>;\r\n\r\n @Input()\r\n public valueTemplate: TemplateRef<any>;\r\n\r\n @Input()\r\n public footerTemplate: TemplateRef<any>;\r\n\r\n @Input()\r\n public showSelectAll: boolean = true;\r\n\r\n @Input()\r\n public set showCheckbox(value: boolean) {\r\n if (value) {\r\n this.mode = \"CheckBox\";\r\n }\r\n }\r\n\r\n @HostBinding(\"class.co-multi-select-list\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n constructor(\r\n @Optional() public formComponent: FormComponent,\r\n protected changeDetector: ChangeDetectorRef,\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, formUserChangeListener, ngZoneWrapper, elementRef);\r\n super._markAsOnPush();\r\n }\r\n\r\n public mode: any = \"Default\";\r\n\r\n public handleModelChange(val: any): void {\r\n if (Array.isArray(val)) {\r\n if (val.length < 1) {\r\n val = undefined;\r\n }\r\n }\r\n this.modelChange.next(val);\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {BaseModule} from \"../base/base.module\";\r\nimport {MultiSelectModule} from \"@syncfusion/ej2-angular-dropdowns\";\r\nimport {MultiSelectListComponent} from \"./multi-select-list.component\";\r\nimport {FormsModule} from \"@angular/forms\";\r\n\r\n@NgModule({\r\n imports: [\r\n BaseModule,\r\n CommonModule,\r\n MultiSelectModule,\r\n FormsModule\r\n ],\r\n declarations: [MultiSelectListComponent],\r\n exports: [MultiSelectListComponent]\r\n})\r\nexport class MultiSelectListModule {\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\nimport {\n ConditionalFormattingService,\n FetchReportArgs,\n FieldListService,\n GroupingBarService,\n GroupingService,\n IDataOptions,\n LoadReportArgs,\n NumberFormattingService,\n PivotViewComponent,\n RemoveReportArgs,\n RenameReportArgs,\n SaveReportArgs,\n ToolbarArgs,\n ToolbarItems,\n ToolbarService\n} from \"@syncfusion/ej2-angular-pivotview\";\nimport {GridSettings} from \"@syncfusion/ej2-pivotview/src/pivotview/model/gridsettings\";\nimport {InputBoolean} from \"../../core/decorator/input-boolean.decorator\";\n\n@Component({\n selector: 'co-pivot',\n template: `\n <ejs-pivotview\n #pivot\n id=\"Pivot\"\n [dataSourceSettings]=\"dataSourceSettings\"\n [gridSettings]=\"gridSettings\"\n [showGroupingBar]=\"showGroupingBar\"\n [allowGrouping]=\"allowGrouping\"\n [enablePersistence]=\"enablePersistence\"\n [showFieldList]=\"showFieldList\"\n [showToolbar]=\"showToolbar\"\n [toolbar]=\"toolbarOptions\"\n [allowExcelExport]=\"allowExcelExport\"\n [allowConditionalFormatting]=\"allowConditionalFormatting\"\n [allowNumberFormatting]=\"allowNumberFormatting\"\n [allowPdfExport]=\"allowPdfExport\"\n [allowCalculatedField]=\"allowCalculatedField\"\n [height]=\"height\"\n (saveReport)=\"saveReport($event)\"\n (loadReport)=\"loadReport($event)\"\n (fetchReport)=\"fetchReport($event)\"\n (renameReport)=\"renameReport($event)\"\n (removeReport)=\"removeReport($event)\"\n (newReport)=\"newReport()\"\n (toolbarRender)=\"beforeToolbarRender($event)\"\n (enginePopulated)=\"hanldeEnginePopulated($event)\"\n >\n </ejs-pivotview>\n `,\n providers: [GroupingBarService, GroupingService, ToolbarService, ConditionalFormattingService, FieldListService, NumberFormattingService],\n encapsulation: ViewEncapsulation.None\n})\nexport class CoPivotComponent implements OnInit, AfterViewInit {\n @ViewChild('pivot', {static: false})\n public pivot: PivotViewComponent;\n\n @Input()\n public dataSourceSettings: IDataOptions;\n\n @Input()\n public gridSettings: GridSettings;\n\n @Input()\n public toolbarOptions: ToolbarItems[];\n\n @Input()\n @InputBoolean()\n public showGroupingBar: boolean = false;\n\n @Input()\n @InputBoolean()\n public allowGrouping: boolean = false;\n\n @Input()\n @InputBoolean()\n public enablePersistence: boolean = false;\n\n @Input()\n @InputBoolean()\n public showFieldList: boolean = false;\n\n @Input()\n @InputBoolean()\n public showToolbar: boolean = false;\n\n @Input()\n @InputBoolean()\n public allowExcelExport: boolean = false;\n\n @Input()\n @InputBoolean()\n public allowPdfExport: boolean = false;\n\n @Input()\n @InputBoolean()\n public allowConditionalFormatting: boolean = true;\n\n @Input()\n @InputBoolean()\n public allowNumberFormatting: boolean = true;\n\n @Input()\n @InputBoolean()\n public allowCalculatedField: boolean = false;\n\n @Input()\n public height: string = \"100%\";\n\n @Output()\n public saveReportClick: EventEmitter<SaveReportArgs> = new EventEmitter<SaveReportArgs>();\n\n @Output()\n public loadReportClick: EventEmitter<LoadReportArgs> = new EventEmitter<LoadReportArgs>();\n\n @Output()\n public fetchReportClick: EventEmitter<FetchReportArgs> = new EventEmitter<FetchReportArgs>();\n\n @Output()\n public renameReportClick: EventEmitter<RenameReportArgs> = new EventEmitter<RenameReportArgs>();\n\n @Output()\n public removeReportClick: EventEmitter<RemoveReportArgs> = new EventEmitter<RemoveReportArgs>();\n\n @Output()\n public newReportClick: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n public beforeToolbarRenderClick: EventEmitter<ToolbarArgs> = new EventEmitter<ToolbarArgs>();\n\n @Output()\n public enginePopulated: EventEmitter<any> = new EventEmitter<any>();\n\n @HostBinding(\"class.co-pivot\")\n public showClass() {\n return true;\n }\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.pivot.refresh();\n this.pivot.refreshData();\n this.pivot.layoutRefresh();\n }, 3000);\n }\n\n public saveReport(args: SaveReportArgs): void {\n if (args) {\n this.saveReportClick.next(args);\n }\n }\n\n public loadReport(args: LoadReportArgs): void {\n if (args) {\n this.loadReportClick.next(args);\n }\n }\n\n public fetchReport(args: FetchReportArgs): void {\n if (args) {\n this.fetchReportClick.next(args);\n }\n }\n\n public renameReport(args: RenameReportArgs): void {\n if (args) {\n this.renameReportClick.next(args);\n }\n }\n\n public removeReport(args: RemoveReportArgs): void {\n if (args) {\n this.removeReportClick.next(args);\n }\n }\n\n public newReport(): void {\n this.newReportClick.next();\n }\n\n public beforeToolbarRender(args: ToolbarArgs): void {\n if (args) {\n this.beforeToolbarRenderClick.next(args);\n }\n }\n\n public hanldeEnginePopulated(args: any): void {\n if (args) {\n this.enginePopulated.next(args);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CoPivotComponent } from './co-pivot.component';\nimport {PivotViewModule} from \"@syncfusion/ej2-angular-pivotview\";\n\n@NgModule({\n declarations: [CoPivotComponent],\n exports: [\n CoPivotComponent\n ],\n imports: [\n CommonModule,\n PivotViewModule\n ]\n})\nexport class CoPivotModule { }\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()\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()\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 width: number;\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;\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\n\r\n@Directive()\r\nexport abstract class BaseSimpleGridComponent {\r\n private readonly MIN_COLUMN_WIDTH: number = 60;\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 }\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 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 @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\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 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 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 }\r\n }\r\n this._prepared = true;\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, 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=\"inlineEdit && showToolbar\"\r\n (addClick)=\"addRow()\"\r\n (editClick)=\"editRow($event)\"\r\n (saveClick)=\"validateAndSave()\"\r\n (cancelClick)=\"cancelEditRow()\"\r\n ></co-grid-toolbar>\r\n <table class=\"simple-grid-table\">\r\n <colgroup>\r\n <col *ngFor=\"let column of headerColumns; let index = index\" [attr.width]=\"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\" [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 || '&nbsp;'\"\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\"\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\"\r\n [class.editing]=\"rowIndex === editRowIndex\" *ngFor=\"let row of data; let rowIndex = index\" cdkDrag\r\n (click)=\"handleClickRow($event, rowIndex)\" (dblclick)=\"handleDblClickRow($event, rowIndex)\">\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\"\r\n (cellClick)=\"handleCellClick(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 `,\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 @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\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 }\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 addRow(): void {\r\n const valid: boolean = this.validateAndSave();\r\n this._detectChanges();\r\n if (valid) {\r\n this.data.push({});\r\n this._newRow = true;\r\n this.editRowIndex = this.data.length - 1;\r\n this._nextAvailableCellToEdit(true).then((index: number) => {\r\n this.editCellIndex = index;\r\n this._detectChanges();\r\n });\r\n this.editing = true;\r\n this.rowToEdit = this.data[this.data.length - 1];\r\n this._detectChanges();\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._newRow = false;\r\n this.editing = false;\r\n this._detectChanges();\r\n }\r\n\r\n public handleClickRow(event: MouseEvent, index: number): 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 !== index && ((this.editing && this.validateAndSave()) || !this.editing)) {\r\n this.selectedRowIndex = index;\r\n if (emit) {\r\n this.selectRow.next(this.data[this.selectedRowIndex]);\r\n }\r\n }\r\n this._detectChanges();\r\n }\r\n\r\n public handleDblClickRow(event: MouseEvent, index: number): void {\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 this._resetDblClick();\r\n }\r\n\r\n public editRow(event: MouseEvent): void {\r\n this.editRowIndex = this.selectedRowIndex;\r\n this.rowToEdit = this.data[this.editRowIndex];\r\n this.editing = true;\r\n this._nextAvailableCellToEdit(true).then((index: number) => {\r\n this.editCellIndex = index;\r\n });\r\n this._detectChanges();\r\n }\r\n\r\n public handleCellClick(index: number): void {\r\n this.editCellIndex = index;\r\n this._detectChanges();\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.addRow();\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.editRowIndex = -1;\r\n this.editCellIndex = -1;\r\n this.editing = false;\r\n this.rowToEdit = undefined;\r\n }\r\n this._detectChanges();\r\n }\r\n\r\n private _detectChanges(): void {\r\n this._changeDetection.detectChanges();\r\n }\r\n\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 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 <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 </ng-container>\r\n <ng-template #noInlineEdit>\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 <div [textContent]=\"column.getFieldValue(row[column.field])\"></div>\r\n </ng-template>\r\n </ng-template>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SimpleGridCellComponent {\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 @Input()\r\n public 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<void> = new EventEmitter<void>();\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 {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\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\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n DragDropModule,\r\n GridToolbarModule,\r\n InputTextModule,\r\n FormModule\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","import { Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewEncapsulation } from \"@angular/core\";\r\nimport { CoreComponentsIcon } from \"../../core/enum/core-components-icon.enum\";\r\nimport { FilterItemViewmodel } from \"../../core/interface/filter-item-viewmodel\";\r\nimport { IconCacheService } from \"../icon/icon-cache.service\";\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 >\r\n <div class=\"co-filter-item-collapsable-content\">\r\n <div class=\"co-filter-item-custom-content\" *ngIf=\"customContent; else collectionContent\">\r\n <ng-content></ng-content>\r\n </div>\r\n <ng-template #collectionContent>\r\n <div class=\"co-filter-item-collection-content\">\r\n <co-input-text\r\n *ngIf=\"collection?.length > 10\"\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 <div class=\"co-filter-item-collection-result-items\"\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 [label]=\"option.description\"\r\n [(model)]=\"option.checked\"\r\n (modelChange)=\"collectionChange.emit(collection)\"\r\n ></co-input-checkbox>\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 </div>\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 </ng-template>\r\n </div>\r\n </co-collapsible>\r\n </div>\r\n\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class FilterItemComponent implements OnInit {\r\n public icons: typeof CoreComponentsIcon = CoreComponentsIcon;\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 }\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 // 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 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 @Output()\r\n public collectionChange: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @HostBinding(\"class.co-filter-item\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public filteredCollection: FilterItemViewmodel[] = [];\r\n public limitTo: number = 10;\r\n public filterText: string = \"\";\r\n\r\n private _collection: FilterItemViewmodel[] = [];\r\n\r\n constructor(public iconService: IconCacheService) {\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.setToInitialLimit();\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\r\n // Applies filter to the collection.\r\n public applyFilter(text: string): [] {\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","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 { InputCheckboxMultiSelectModule } from \"../input-checkbox-multi-select/input-checkbox-multi-select.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\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CollapsibleModule,\r\n InputTextModule,\r\n InputCheckboxMultiSelectModule,\r\n InputCheckboxModule,\r\n IconModule,\r\n ScrollingModule,\r\n AppendPipeModule,\r\n PrependPipeModule\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","/*\n * Public API Surface of corecomponents\n */\n\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/button-drop-down/button-drop-down.module';\nexport * from './lib/components/button-drop-down/button-drop-down.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/co-dialog/co-dialog.module';\nexport * from './lib/components/co-dialog/co-dialog.component';\nexport * from './lib/components/co-dialog-prompt/co-dialog-prompt.module';\nexport * from './lib/components/co-dialog-prompt/co-dialog-prompt.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/co-kanban/co-kanban.module';\nexport * from './lib/components/co-kanban/co-kanban.component';\nexport * from './lib/components/co-rich-text-editor/co-rich-text-editor.component';\nexport * from './lib/components/co-rich-text-editor/co-rich-text-editor.module';\nexport * from './lib/components/co-schedule/co-schedule.module';\nexport * from './lib/components/co-schedule/co-schedule.component';\nexport * from './lib/components/co-sidebar/co-sidebar.module';\nexport * from './lib/components/co-sidebar/co-sidebar.component';\nexport * from './lib/components/co-toggle/co-toggle.module';\nexport * from './lib/components/co-toggle/co-toggle.component';\nexport * from './lib/components/collapsible/collapsible.module';\nexport * from './lib/components/collapsible/collapsible.component';\nexport * from './lib/components/drop-down-list/drop-down.module';\nexport * from './lib/components/drop-down-list/drop-down-list.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/co-grid.module';\nexport * from './lib/components/grid/co-grid.component';\nexport * from './lib/components/grid-toolbar/grid-toolbar.component';\nexport * from './lib/components/grid-toolbar/grid-toolbar.module';\nexport * from './lib/components/icon/icon.module';\nexport * from './lib/components/icon/icon.component';\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-checkbox-multi-select/input-checkbox-multi-select.module';\nexport * from './lib/components/input-checkbox-multi-select/input-checkbox-multi-select.component';\nexport * from './lib/components/input-combo-box/input-combo-box.module';\nexport * from './lib/components/input-combo-box/input-combo-box.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/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/input-listbox/input-listbox.component';\nexport * from './lib/components/input-listbox/input-listbox.module';\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/multi-select-list/multi-select-list.module';\nexport * from './lib/components/multi-select-list/multi-select-list.component';\nexport * from './lib/components/pivot/co-pivot.module';\nexport * from './lib/components/pivot/co-pivot.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/base/component-interface-name';\nexport * from './lib/pipes/price-display.pipe';\nexport * from './lib/pipes/price-display-pipe.module';\nexport * from './lib/components/filter-item/filter-item.component';\nexport * from './lib/components/filter-item/filter-item.module';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {BaseInputComponent as ɵm} from './lib/components/base/base-input.component';\nexport {BaseModule as ɵj} from './lib/components/base/base.module';\nexport {CommitButtonsComponent as ɵw} from './lib/components/base/commit-buttons/commit-buttons.component';\nexport {CommitButtonsModule as ɵv} from './lib/components/base/commit-buttons/commit-buttons.module';\nexport {BaseGridComponent as ɵq} from './lib/components/grid/base/base-grid.component';\nexport {BaseInlineEditGridComponent as ɵo} from './lib/components/grid/base/base-inline-edit-grid.component';\nexport {BaseSelectionGridComponent as ɵn} from './lib/components/grid/base/base-selection-grid.component';\nexport {BaseToolbarGridComponent as ɵp} from './lib/components/grid/base/base-toolbar-grid.component';\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 ɵz} from './lib/components/simple-grid/simple-grid-cell.component';\nexport {ValidationErrorComponent as ɵu} from './lib/components/validation-error/validation-error.component';\nexport {ValidationErrorModule as ɵt} from './lib/components/validation-error/validation-error.module';\nexport {InputBoolean as ɵi} from './lib/core/decorator/input-boolean.decorator';\nexport {FormInputUserModelChangeListenerService as ɵk} from './lib/core/service/form-input-user-change-listener.service';\nexport {NgZoneWrapperService as ɵl} from './lib/core/service/ng-zone-wrapper.service';\nexport {CoRippleDirective as ɵc,MD_RIPPLE_GLOBAL_OPTIONS as ɵb} from './lib/directives/ripple/ripple.directive';\nexport {RippleModule as ɵa} from './lib/directives/ripple/ripple.module';\nexport {CoScrollDispatcherService as ɵe} from './lib/directives/ripple/scroll-dispatcher.service';\nexport {CoScrollableDirective as ɵf} from './lib/directives/ripple/scrollable.directive';\nexport {CoViewportRulerService as ɵd} from './lib/directives/ripple/viewport-ruler.service';\nexport {StopClickDirective as ɵh} from './lib/directives/stopclick/stop-click.directive';\nexport {StopClickModule as ɵg} from './lib/directives/stopclick/stop-click.module';\nexport {AppendPipe as ɵs} from './lib/pipes/append.pipe';\nexport {AppendPipeModule as ɵr} from './lib/pipes/append.pipe.module';\nexport {PrependPipe as ɵbb} from './lib/pipes/prepend.pipe';\nexport {PrependPipeModule as ɵba} from './lib/pipes/prepend.pipe.module';"],"names":["ToolbarService"],"mappings":"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"}
1
+ {"version":3,"file":"colijnit-corecomponents_v12.js","sources":["../../../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/utils/object-utils.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/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/model/core-components-icon-svg.ts","../../../projects/corecomponents/src/lib/components/icon/icon-cache.service.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/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/core/enum/core-components-icon.enum.ts","../../../projects/corecomponents/src/lib/core/decorator/input-boolean.decorator.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/button-drop-down/button-drop-down.component.ts","../../../projects/corecomponents/src/lib/components/button-drop-down/button-drop-down.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/co-dialog/co-dialog.component.ts","../../../projects/corecomponents/src/lib/components/co-dialog/co-dialog.module.ts","../../../projects/corecomponents/src/lib/components/co-dialog-prompt/co-dialog-prompt.component.ts","../../../projects/corecomponents/src/lib/components/co-dialog-prompt/co-dialog-prompt.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/co-kanban/co-kanban.component.ts","../../../projects/corecomponents/src/lib/components/co-kanban/co-kanban.module.ts","../../../projects/corecomponents/src/lib/components/co-rich-text-editor/co-rich-text-editor.component.ts","../../../projects/corecomponents/src/lib/components/co-rich-text-editor/co-rich-text-editor.module.ts","../../../projects/corecomponents/src/lib/components/co-schedule/co-schedule.component.ts","../../../projects/corecomponents/src/lib/components/co-schedule/co-schedule.module.ts","../../../projects/corecomponents/src/lib/components/co-sidebar/co-sidebar.component.ts","../../../projects/corecomponents/src/lib/components/co-sidebar/co-sidebar.module.ts","../../../projects/corecomponents/src/lib/components/co-toggle/co-toggle.component.ts","../../../projects/corecomponents/src/lib/components/co-toggle/co-toggle.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/service/form-input-user-change-listener.service.ts","../../../projects/corecomponents/src/lib/core/service/ng-zone-wrapper.service.ts","../../../projects/corecomponents/src/lib/components/base/base.module.ts","../../../projects/corecomponents/src/lib/components/base/component-interface-name.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/components/validation-error/validation-error.component.ts","../../../projects/corecomponents/src/lib/components/base/base-input.component.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/drop-down-list/drop-down-list.component.ts","../../../projects/corecomponents/src/lib/components/drop-down-list/drop-down.module.ts","../../../projects/corecomponents/src/lib/components/form/form.module.ts","../../../projects/corecomponents/src/lib/components/grid/enum/grid-lines.enum.ts","../../../projects/corecomponents/src/lib/components/grid/base/base-grid.component.ts","../../../projects/corecomponents/src/lib/components/grid/base/base-toolbar-grid.component.ts","../../../projects/corecomponents/src/lib/components/grid/base/base-inline-edit-grid.component.ts","../../../projects/corecomponents/src/lib/components/grid/base/base-selection-grid.component.ts","../../../projects/corecomponents/src/lib/components/grid/co-grid.component.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/co-grid.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/components/input-checkbox/input-checkbox.component.ts","../../../projects/corecomponents/src/lib/components/input-checkbox/input-checkbox.module.ts","../../../projects/corecomponents/src/lib/pipes/append.pipe.ts","../../../projects/corecomponents/src/lib/pipes/append.pipe.module.ts","../../../projects/corecomponents/src/lib/components/input-checkbox-multi-select/input-checkbox-multi-select.component.ts","../../../projects/corecomponents/src/lib/components/input-checkbox-multi-select/input-checkbox-multi-select.module.ts","../../../projects/corecomponents/src/lib/components/input-combo-box/input-combo-box.component.ts","../../../projects/corecomponents/src/lib/components/input-combo-box/input-combo-box.module.ts","../../../projects/corecomponents/src/lib/components/input-date-picker/input-date-picker.component.ts","../../../projects/corecomponents/src/lib/components/input-date-picker/input-date-picker.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/components/input-listbox/input-listbox.component.ts","../../../projects/corecomponents/src/lib/components/input-listbox/input-listbox.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-text/input-text.component.ts","../../../projects/corecomponents/src/lib/components/validation-error/validation-error.module.ts","../../../projects/corecomponents/src/lib/components/base/commit-buttons/commit-buttons.component.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/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/multi-select-list/multi-select-list.component.ts","../../../projects/corecomponents/src/lib/components/multi-select-list/multi-select-list.module.ts","../../../projects/corecomponents/src/lib/components/pivot/co-pivot.component.ts","../../../projects/corecomponents/src/lib/components/pivot/co-pivot.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/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/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/public-api.ts","../../../projects/corecomponents/src/colijnit-corecomponents_v12.ts"],"sourcesContent":["// @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 \"../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 {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 {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","/** 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_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_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 \"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 \"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 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=\\\"M27.8,15.5c-3.4-3.4-8.9-3.4-12.3,0c-3.4,3.4-3.4,8.9,0,12.3c3.4,3.4,8.9,3.4,12.3,0C31.2,24.4,31.2,18.9,27.8,15.5z M26.4,26.4c-2.6,2.6-6.8,2.6-9.4,0c-2.6-2.6-2.6-6.8,0-9.4c2.6-2.6,6.8-2.6,9.4,0C29,19.6,29,23.8,26.4,26.4z\\\"/><path fill=\\\"#29363E\\\" d=\\\"M36.4,32.8l-4.3-4.3c-0.8-0.8-2.1-0.8-2.9,0l-0.7,0.7c-0.8,0.8-0.8,2.1,0,2.9l4.3,4.3c0.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 \"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 \"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_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 \"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 \"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, HostBinding, Input, 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 {\r\n\r\n @Input()\r\n public set icon(value: CoreComponentsIcon) {\r\n this._setIconFromEnum(value);\r\n }\r\n\r\n @Input()\r\n @HostBinding(\"innerHtml\")\r\n public iconData: SafeHtml | undefined;\r\n\r\n @HostBinding(\"class.co-icon\")\r\n public showClass: boolean = true;\r\n\r\n constructor(private _iconCache: IconCacheService) {\r\n }\r\n\r\n private _setIconFromEnum(icon: CoreComponentsIcon): void {\r\n this.iconData = 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 {\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,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {SafeHtml} from \"@angular/platform-browser\";\r\nimport {EventUtils} from \"../../core/utils/event-utils\";\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 <div class=\"rippler\" md-ripple [mdRippleDisabled]=\"disabled\"></div>\r\n `,\r\n host: {\r\n tabindex: \"0\"\r\n },\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ButtonComponent implements OnDestroy {\r\n @Input()\r\n public label: string;\r\n\r\n @Input()\r\n public iconData: 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.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 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 { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: \"co-image\",\r\n template: `\r\n <img *ngIf=\"!!source\" [src]=\"source\">\r\n `,\r\n styleUrls: [\r\n \"image.css\"\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ImageComponent {\r\n // Can be an URL or a base64 data string\r\n @Input()\r\n public source: 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 {ImageComponent} from \"./image.component\";\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n declarations: [ImageComponent],\r\n exports: [ImageComponent]\r\n})\r\nexport class ImageModule {\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}","/** 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 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 CheckRound = \"check_round\",\n CheckRoundOpen = \"check_round_open\",\n CheckSimple = \"check_simple\",\n CheckThin = \"check_thin\",\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 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 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 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 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 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}","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 {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 {Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\nimport {ItemModel} from \"@syncfusion/ej2-angular-splitbuttons\";\nimport {SplitButtonIconPosition} from \"@syncfusion/ej2-splitbuttons/src/common/common\";\n\n@Component({\n selector: \"co-button-drop-down\",\n template: `\n <button ejs-dropdownbutton\n [content]=\"content\"\n [items]=\"items\"\n [iconCss]=\"iconCss\"\n [iconPosition]=\"iconPosition\"\n [cssClass]=\"cssClass\"\n [ngClass]=\"{\n '.e-dropdown-popup': isTransparent,\n '.e-btn.e-active, .e-btn:hover': isTransparent\n }\"\n (select)=\"select.emit($event)\"></button>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class ButtonDropDownComponent implements OnInit {\n\n @Input()\n public content: string;\n\n @Input()\n public items: ItemModel[];\n\n @Input()\n public iconCss: string;\n\n @Input()\n public iconPosition: SplitButtonIconPosition = \"Left\";\n\n @Input()\n public cssClass: string;\n\n @Input()\n public transparent: boolean = false;\n\n @Output()\n public readonly select: EventEmitter<any> = new EventEmitter<any>();\n\n @HostBinding(\"class.co-button-drop-down\")\n public showClass() {\n return true;\n }\n\n public get isTransparent(): boolean {\n return this.transparent;\n }\n\n constructor() {\n }\n\n ngOnInit(): void {\n }\n}\n","import {NgModule} from \"@angular/core\";\nimport {CommonModule} from \"@angular/common\";\nimport {ButtonDropDownComponent} from \"./button-drop-down.component\";\nimport {DropDownButtonModule} from \"@syncfusion/ej2-angular-splitbuttons\";\n\n@NgModule({\n declarations: [\n ButtonDropDownComponent],\n imports: [\n CommonModule,\n DropDownButtonModule\n ],\n exports: [\n ButtonDropDownComponent\n ]\n})\nexport class ButtonDropDownModule { }\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, EventEmitter, HostBinding, Input, OnInit, 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',\n template: `\n <div class=\"co-dialog-overlay\" (click)=\"handleOverlayClick($event)\" [@showHideOverlay]=\"animation\"></div>\n <div class=\"co-dialog-wrapper\" [@showHideDialog]=\"animation\">\n <div class=\"dialog-header\" *ngIf=\"!borderless\">\n <div class=\"dialog-header-caption\">\n <ng-content select=\"[header]\"></ng-content>\n </div>\n <div class=\"dialog-close-button\" *ngIf=\"showCloseIcon\" (click)=\"handleCloseDialog($event)\">\n <co-icon [icon]=\"icons.Cancel\"></co-icon>\n </div>\n </div>\n <div class=\"dialog-content\">\n <ng-content></ng-content>\n </div>\n <div class=\"dialog-footer\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n </div>\n `,\n animations: [\n trigger('showHideOverlay', [\n state('*', style({opacity: 1})),\n state('void', style({opacity: 0})),\n transition('void => *', animate(200)),\n transition('* => void', animate('200ms 200ms'))\n ]),\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 CoDialogComponent {\n public readonly icons: typeof CoreComponentsIcon = CoreComponentsIcon;\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 @Input()\n public animation: boolean = true;\n\n @Output()\n public readonly closeClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n @Output()\n public readonly overlayClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n @HostBinding(\"class.co-dialog\")\n public showClass(): boolean {\n return true;\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.overlayClick.emit(event);\n }\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\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule\r\n ],\r\n declarations: [CoDialogComponent],\r\n exports: [CoDialogComponent]\r\n})\r\nexport class CoDialogModule {\r\n}\r\n","import {Component, EventEmitter, Input, Output, ViewChild} from \"@angular/core\";\nimport {DialogComponent} from \"@syncfusion/ej2-angular-popups\";\nimport {EmitType} from \"@syncfusion/ej2-base\";\n\n@Component({\n selector: 'co-dialog-prompt',\n template: `\n <div #coDialogPromptRootContainer class='co-dialog-prompt-root-container'></div>\n <ejs-dialog #coDialogPrompt\n [buttons]=\"buttons\"\n [header]=\"header\"\n [content]=\"content\"\n [showCloseIcon]=\"showCloseIcon\"\n [target]=\"target\"\n [visible]=\"visible\"\n [width]=\"width\"\n (close)=\"onCloseClick()\"\n >\n </ejs-dialog>\n `,\n styleUrls: ['./co-dialog-prompt.component.scss']\n})\nexport class CoDialogPromptComponent {\n @ViewChild('coDialogPrompt')\n public coDialogPrompt: DialogComponent;\n\n @Input()\n public header: string = \"header\";\n\n @Input()\n public content: string = \"content\";\n\n @Input()\n public visible: boolean = false;\n\n @Input()\n public width: string = \"50%\";\n\n @Input()\n public showCloseIcon: boolean = true;\n\n @Output()\n public readonly closeClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n public target: string = '.co-dialog-prompt-root-container';\n public buttons: Object[] = [\n { click: this.buttonClick.bind(this), buttonModel: { content: 'Ja', isPrimary: 'true' } },\n { click: this.buttonClick.bind(this), buttonModel: { content: 'Nee' } }\n ];\n\n constructor() {}\n\n public open(): void {\n this.coDialogPrompt.show();\n }\n\n public close(): void {\n this.coDialogPrompt.hide();\n }\n\n public buttonClick(): void {\n this.close();\n }\n\n public onCloseClick: EmitType<object> = () => {\n this.close();\n this.closeClick.emit();\n }\n\n}\n","import {NgModule} from \"@angular/core\";\r\nimport {CoDialogPromptComponent} from \"./co-dialog-prompt.component\";\r\nimport {DialogModule} from \"@syncfusion/ej2-angular-popups\";\r\n\r\n@NgModule({\r\n imports: [\r\n DialogModule\r\n ],\r\n declarations: [CoDialogPromptComponent],\r\n providers: [\r\n ],\r\n exports: [CoDialogPromptComponent]\r\n})\r\nexport class CoDialogPromptModule {\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 AfterViewInit,\r\n Component,\r\n EventEmitter, HostBinding,\r\n Input,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {\r\n CardClickEventArgs,\r\n CardSettingsModel, DialogEventArgs, DragEventArgs,\r\n KanbanComponent,\r\n SwimlaneSettingsModel\r\n} from \"@syncfusion/ej2-angular-kanban\";\r\nimport {InputBoolean} from \"../../core/decorator/input-boolean.decorator\";\r\n\r\n@Component({\r\n selector: 'co-kanban',\r\n template: `\r\n <ejs-kanban\r\n #kanban\r\n id=\"kanban\"\r\n [allowDragAndDrop]=\"allowDragAndDrop\"\r\n [allowKeyboard]=\"allowKeyboard\"\r\n [cardSettings]=\"cardSettings\"\r\n [enablePersistence]=\"enablePersistence\"\r\n [enableTooltip]=\"enableTooltip\"\r\n [keyField]=\"keyField\"\r\n [showEmptyColumn]=\"showEmptyColumn\"\r\n [swimlaneSettings]=\"swimlaneSettings\"\r\n [dataSource]=\"data\"\r\n (cardClick)=\"handleCardClick($event)\"\r\n (cardDoubleClick)=\"handleCardDoubleClick($event)\"\r\n (dialogOpen)=\"dialogOpen($event)\"\r\n (dragStart)=\"handleDragStart($event)\"\r\n (dragStop)=\"handleDragStop($event)\"\r\n >\r\n </ejs-kanban>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CoKanbanComponent implements OnInit, AfterViewInit {\r\n @ViewChild('kanban', {static: false})\r\n public kanban: KanbanComponent;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public allowDragAndDrop: boolean = true;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public allowKeyboard: boolean = true;\r\n\r\n @Input()\r\n public cardSettings: CardSettingsModel;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public enablePersistence: boolean = false;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public enableTooltip: boolean = false;\r\n\r\n @Input()\r\n public keyField: string = \"\";\r\n\r\n @Input()\r\n @InputBoolean()\r\n public showEmptyColumn: boolean = false;\r\n\r\n @Input()\r\n public swimlaneSettings: SwimlaneSettingsModel;\r\n\r\n @Input()\r\n public columns: {}[];\r\n\r\n @Input()\r\n public data: any[];\r\n\r\n @Output()\r\n public cardClickEvent: EventEmitter<CardClickEventArgs> = new EventEmitter<CardClickEventArgs>();\r\n\r\n @Output()\r\n public cardDoubleClickEvent: EventEmitter<CardClickEventArgs> = new EventEmitter<CardClickEventArgs>();\r\n\r\n @Output()\r\n public dragStartEvent: EventEmitter<DragEventArgs> = new EventEmitter<DragEventArgs>();\r\n\r\n @Output()\r\n public dragStopEvent: EventEmitter<DragEventArgs> = new EventEmitter<DragEventArgs>();\r\n\r\n @HostBinding(\"class.co-kanban\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.columns) {\r\n this.kanban.columns = this.columns;\r\n }\r\n }\r\n\r\n public dialogOpen(args: DialogEventArgs): void {\r\n args.cancel = true;\r\n }\r\n\r\n public handleCardClick(args: CardClickEventArgs): void {\r\n this.cardClickEvent.next(args);\r\n }\r\n\r\n public handleCardDoubleClick(args: CardClickEventArgs): void {\r\n this.cardDoubleClickEvent.next(args);\r\n }\r\n\r\n public handleDragStart(args: DragEventArgs): void {\r\n this.dragStartEvent.next(args);\r\n }\r\n\r\n public handleDragStop(args: DragEventArgs): void {\r\n this.dragStopEvent.next(args);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { KanbanModule } from '@syncfusion/ej2-angular-kanban';\r\nimport {CoKanbanComponent} from \"./co-kanban.component\";\r\n\r\n@NgModule({\r\n declarations: [\r\n CoKanbanComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n KanbanModule\r\n ],\r\n exports: [\r\n CoKanbanComponent\r\n ]\r\n})\r\nexport class CoKanbanModule { }\r\n","import {AfterViewInit, Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {\r\n ChangeEventArgs,\r\n HtmlEditorService,\r\n ImageService,\r\n LinkService,\r\n RichTextEditorComponent,\r\n ToolbarService\r\n} from \"@syncfusion/ej2-angular-richtexteditor\";\r\n\r\n@Component({\r\n selector: 'co-rich-text-editor',\r\n template: `\r\n <ejs-richtexteditor\r\n #rte\r\n id=\"Rte\"\r\n [ngModel]=\"model\"\r\n (change)=\"onChange($event)\"\r\n >\r\n <ng-template></ng-template>\r\n </ejs-richtexteditor>\r\n `,\r\n providers: [ToolbarService, LinkService, ImageService, HtmlEditorService],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CoRichTextEditorComponent implements OnInit, AfterViewInit {\r\n @ViewChild('rte', {static: false})\r\n public editor: RichTextEditorComponent;\r\n\r\n @Output()\r\n public onChangeEvent: EventEmitter<ChangeEventArgs> = new EventEmitter<ChangeEventArgs>();\r\n\r\n @Input()\r\n public model: any;\r\n\r\n @HostBinding(\"class.co-rich-text-editor\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public getContent(): Element {\r\n if (this.editor) {\r\n return this.editor.getContent();\r\n }\r\n }\r\n\r\n public getText(): string {\r\n if (this.editor) {\r\n return this.editor.getText();\r\n }\r\n }\r\n\r\n public onChange(args: ChangeEventArgs): void {\r\n if (args) {\r\n this.onChangeEvent.next(args);\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport {CoRichTextEditorComponent} from \"./co-rich-text-editor.component\";\r\nimport {RichTextEditorModule} from \"@syncfusion/ej2-angular-richtexteditor\";\r\nimport {FormsModule} from \"@angular/forms\";\r\n\r\n@NgModule({\r\n declarations: [CoRichTextEditorComponent],\r\n exports: [\r\n CoRichTextEditorComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n RichTextEditorModule,\r\n FormsModule\r\n ]\r\n})\r\nexport class CoRichTextEditorModule { }\r\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n forwardRef,\n Input,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n ActionEventArgs,\n AgendaService,\n DayService,\n EventSettingsModel, MonthAgendaService,\n MonthService, ScheduleComponent, TimelineMonthService, TimelineViewsService,\n WeekService,\n WorkWeekService\n} from \"@syncfusion/ej2-angular-schedule\";\nimport {ScheduleView} from \"../../core/enum/schedule-view.enum\";\nimport {COMPONENT_INTERFACE_NAME} from \"../base/component-interface-name\";\n\n@Component({\n selector: 'co-schedule',\n template: `\n <ejs-schedule\n #ejsSchedule\n [selectedDate]=\"selectedDate\"\n [currentView]=\"currentView\"\n [eventSettings]=\"eventSettings\"\n [enablePersistence]=\"enablePersistence\"\n (actionBegin)=\"onActionBegin($event)\"\n (actionComplete)=\"onActionComplete($event)\"\n (actionFailure)=\"onActionFailure($event)\"\n ><ng-content></ng-content>\n </ejs-schedule>\n `,\n styleUrls: [\n './co-schedule.component.scss'\n ],\n providers: [\n DayService,\n WeekService,\n WorkWeekService,\n MonthService,\n AgendaService,\n MonthAgendaService,\n TimelineViewsService,\n TimelineMonthService\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CoScheduleComponent implements OnInit {\n @ViewChild('ejsSchedule', { static: true })\n public scheduleObj: ScheduleComponent;\n\n @Input()\n public selectedDate: Date;\n\n @Input()\n public currentView: ScheduleView.Month;\n\n @Input()\n public eventSettings: EventSettingsModel;\n\n @Input()\n public enablePersistence: boolean = false;\n\n @Output()\n public readonly actionBegin: EventEmitter<ActionEventArgs> = new EventEmitter<ActionEventArgs>();\n\n @Output()\n public readonly actionComplete: EventEmitter<ActionEventArgs> = new EventEmitter<ActionEventArgs>();\n\n @Output()\n public readonly actionFailure: EventEmitter<ActionEventArgs> = new EventEmitter<ActionEventArgs>();\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n public onActionBegin(args: ActionEventArgs): void {\n this.actionBegin.emit(args);\n }\n\n public onActionComplete(args: ActionEventArgs): void {\n this.actionComplete.emit(args);\n }\n\n public onActionFailure(args: ActionEventArgs): void {\n this.actionFailure.emit(args);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {CoScheduleComponent} from \"./co-schedule.component\";\nimport {ScheduleModule} from \"@syncfusion/ej2-angular-schedule\";\n\n\n@NgModule({\n declarations: [\n CoScheduleComponent\n ],\n imports: [\n CommonModule,\n ScheduleModule\n ],\n exports: [\n CoScheduleComponent\n ]\n})\nexport class CoScheduleModule { }\n","import {Component, Input, ViewChild} from '@angular/core';\nimport {SidebarComponent} from \"@syncfusion/ej2-angular-navigations\";\n\n@Component({\n selector: 'co-sidebar',\n template: `\n <ejs-sidebar #sidebarInstance \n closeOnDocumentClick=\"true\"\n type=\"Over\"\n [position]=\"position\"\n [isOpen]=\"isOpen\"\n >\n <ng-content></ng-content>\n </ejs-sidebar>\n `,\n styleUrls: ['./co-sidebar.component.scss']\n})\nexport class CoSidebarComponent {\n @ViewChild('sidebarInstance')\n public sidebarInstance: SidebarComponent;\n\n @Input()\n public position: string = \"Right\";\n\n @Input()\n public isOpen: boolean = false;\n\n constructor() { }\n\n public toggle(): void {\n this.sidebarInstance.toggle();\n }\n\n public hide(): void {\n this.sidebarInstance.hide();\n }\n\n public show(): void {\n this.sidebarInstance.show();\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport {SidebarModule} from \"@syncfusion/ej2-angular-navigations\";\nimport {CoSidebarComponent} from \"./co-sidebar.component\";\n\n@NgModule({\n declarations: [CoSidebarComponent],\n imports: [\n SidebarModule\n ],\n exports: [CoSidebarComponent]\n\n})\nexport class CoSidebarModule { }\n","import {\n ChangeDetectionStrategy,\n Component, EventEmitter,\n forwardRef,\n HostBinding, HostListener,\n Input,\n OnInit, Output,\n ViewEncapsulation\n} from '@angular/core';\nimport {COMPONENT_INTERFACE_NAME} from \"../base/component-interface-name\";\n\n@Component({\n selector: 'co-toggle',\n template: `\n <ejs-switch \n [checked]=\"checked\"\n [disabled]=\"readonly\"\n ></ejs-switch>\n `,\n styleUrls: ['./co-toggle.component.scss']\n})\nexport class CoToggleComponent implements OnInit {\n @Input()\n public checked: boolean;\n\n @Input()\n public readonly: boolean = false;\n\n @Output()\n public readonly activeChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n constructor() {\n }\n\n ngOnInit(): void {\n }\n\n @HostListener(\"click\")\n public onHostClick(): void {\n if (!this.readonly) {\n this.checked = !this.checked;\n this.activeChange.emit(this.checked);\n }\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {CoToggleComponent} from \"./co-toggle.component\";\nimport {SwitchModule} from \"@syncfusion/ej2-angular-buttons\";\n\n@NgModule({\n declarations: [\n CoToggleComponent\n ],\n imports: [\n CommonModule,\n SwitchModule\n ],\n exports: [\n CoToggleComponent\n ]\n})\nexport class CoToggleModule { }\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,\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-collapsible\",\r\n template: `\r\n <div class=\"collapsible-header\" [class.end]=\"expandButtonLast\" (click)=\"changeExpanded()\">\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\" [textContent]=\"headerTitle\"></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 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\r\n @Input()\r\n public headerTitle: 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 expanded: boolean = false;\r\n\r\n @Output()\r\n public expandedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\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","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\n\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 ],\r\n declarations: [CollapsibleComponent],\r\n exports: [CollapsibleComponent]\r\n})\r\nexport class CollapsibleModule {\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}","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 { InjectionToken } from '@angular/core';\r\nimport { ConfigurationAdapterComponent } from './configuration-adapter-component.interface';\r\n\r\n// Enables \"DI for interfaces\" (see ConfigNameDirective injected .hostComponent).\r\nexport const COMPONENT_INTERFACE_NAME: InjectionToken<ConfigurationAdapterComponent> =\r\n new InjectionToken<ConfigurationAdapterComponent>(\"ConfigurationAdapterComponent\");\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 {Component, 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-content\">\r\n <co-icon [iconData]=\"icons.getIcon(Icons.InformationRoundOpen)\"></co-icon>\r\n <div class=\"validation-error-message\" [textContent]=\"error\"></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 @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 {\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 {ConfigurationAdapterComponent} from \"./configuration-adapter-component.interface\";\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\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, ConfigurationAdapterComponent {\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._clearErrorComponent();\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 // 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 private _myFormInputInstance: BaseInputComponent<T>;\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()\r\n public noTriangleGraphic: 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 !!this.model || StringUtils.IsStringWithLength(this.model) || NumberUtils.IsNumber(this.model);\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 if (this.showSaveCancel && this.canSaveOrCancel) {\r\n this._handleKeyDown(event);\r\n }\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 public canSaveOrCancel: boolean = false;\r\n\r\n // @implements ConfigurationAdapterComponent\r\n public objectConfigName: string;\r\n public committing: boolean = false;\r\n public commitFinished: boolean = true;\r\n\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 _initialModel: T;\r\n protected _initialModelSet: boolean = false;\r\n\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\r\n constructor(\r\n protected changeDetector: ChangeDetectorRef,\r\n protected componentFactoryResolver: ComponentFactoryResolver,\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 async commitClick(event?: MouseEvent): Promise<boolean> {\r\n this.keepFocus = true;\r\n this.commitFinished = false;\r\n this.committing = true;\r\n const success: boolean = await this.commit(this.model);\r\n this.keepFocus = false;\r\n await this._commitFinished();\r\n if (success) {\r\n this.doBlur(event);\r\n }\r\n return success;\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 if (this.validationErrorContainer) {\r\n if (this._errorValidationComponent) {\r\n this._clearErrorComponent();\r\n }\r\n const componentFactory: ComponentFactory<ValidationErrorComponent> = this.componentFactoryResolver.resolveComponentFactory(ValidationErrorComponent);\r\n this._errorValidationComponent = this.validationErrorContainer.createComponent(componentFactory);\r\n this._errorValidationComponent.instance.error = error;\r\n if (this._hasOnPushCdStrategy) {\r\n this.changeDetector.markForCheck();\r\n }\r\n this._positionValidationError();\r\n }\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._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 doBlur(event?: any): any {\r\n setTimeout(() => {\r\n if (this.keepFocus) {\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 //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 _commitFinished(): Promise<void> {\r\n return new Promise((resolve: Function) => {\r\n this.commitFinished = true;\r\n setTimeout(() => {\r\n this.committing = false;\r\n resolve();\r\n }, 800);\r\n });\r\n }\r\n\r\n private _clearErrorComponent(): void {\r\n if (this.validationErrorContainer) {\r\n this.validationErrorContainer.clear();\r\n if (this._errorValidationComponent) {\r\n this._errorValidationComponent.destroy();\r\n this._errorValidationComponent = undefined;\r\n }\r\n }\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 private async _handleKeyDown(event: KeyboardEvent): Promise<any> {\r\n switch (event.code) {\r\n case 'Enter':\r\n event.preventDefault();\r\n await this.commitClick();\r\n return false;\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.commitClick();\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 const elementColl = element.getElementsByTagName('input');\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","// 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 {\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 TemplateRef,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {COMPONENT_INTERFACE_NAME} from \"../base/component-interface-name\";\r\nimport {BaseInputComponent} from \"../base/base-input.component\";\r\nimport {CheckBoxSelectionService} from \"@syncfusion/ej2-angular-dropdowns\";\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\n\r\n@Component({\r\n selector: \"co-drop-down-list\",\r\n template: `\r\n <ejs-dropdownlist\r\n [dataSource]=\"collection\"\r\n [value]=\"model\"\r\n [fields]=\"fields\"\r\n [placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n [itemTemplate]=\"itemTemplate\"\r\n [headerTemplate]=\"headerTemplate\"\r\n [valueTemplate]=\"valueTemplate\"\r\n [disabled]=\"disabled\"\r\n [ngModel]=\"model\"\r\n (ngModelChange)=\"modelChange.emit($event)\"\r\n (valueChange)=\"handleValueChanged($event)\"\r\n showClearButton=\"true\"\r\n floatLabelType=\"Auto\"\r\n >\r\n </ejs-dropdownlist>\r\n <div class=\"required-indicator\"></div>\r\n <ng-template #validationError></ng-template>\r\n `,\r\n providers: [\r\n CheckBoxSelectionService,\r\n {\r\n provide: COMPONENT_INTERFACE_NAME,\r\n useExisting: forwardRef(() => DropDownListComponent)\r\n }, {\r\n provide: BaseInputComponent,\r\n useExisting: DropDownListComponent\r\n }\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DropDownListComponent extends BaseInputComponent<any> {\r\n\r\n @Input()\r\n public collection: any[];\r\n\r\n /**\r\n * In the form { text: 'name', value: 'id' }\r\n * Where 'text' is showing in the dropdown and 'id' used for the model binding\r\n */\r\n @Input()\r\n public fields: Object = {};\r\n\r\n @Input()\r\n public placeholder: string;\r\n\r\n @Input()\r\n public itemTemplate: TemplateRef<any>;\r\n\r\n @Input()\r\n public headerTemplate: TemplateRef<any>;\r\n\r\n @Input()\r\n public valueTemplate: TemplateRef<any>;\r\n\r\n @HostBinding(\"class.co-drop-down-list\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n constructor(\r\n @Optional() public formComponent: FormComponent,\r\n protected changeDetector: ChangeDetectorRef,\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, formUserChangeListener, ngZoneWrapper, elementRef);\r\n super._markAsOnPush();\r\n }\r\n\r\n public handleValueChanged(value: any): void {\r\n if (value !== this.model) {\r\n this.modelChange.next(value);\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {BaseModule} from \"../base/base.module\";\r\nimport {DropDownListComponent} from \"./drop-down-list.component\";\r\nimport {DropDownListModule, MultiSelectModule} from \"@syncfusion/ej2-angular-dropdowns\";\r\nimport {FormsModule} from \"@angular/forms\";\r\n\r\n@NgModule({\r\n imports: [\r\n BaseModule,\r\n CommonModule,\r\n DropDownListModule,\r\n MultiSelectModule,\r\n FormsModule\r\n ],\r\n declarations: [DropDownListComponent],\r\n exports: [DropDownListComponent]\r\n})\r\nexport class DropDownModule {\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","export enum GridLines {\r\n None = \"None\",\r\n Horizontal = \"Horizontal\",\r\n Vertical = \"Vertical\",\r\n Both = \"Both\",\r\n Default = \"Default\",\r\n}\r\n","import {Directive, ElementRef, Input, ViewChild} from \"@angular/core\";\r\nimport {ContextMenuItemModel, GridComponent, PageSettingsModel, RowDropSettingsModel} from \"@syncfusion/ej2-angular-grids\";\r\nimport {InputBoolean} from \"../../../core/decorator/input-boolean.decorator\";\r\nimport {GridLines} from \"../enum/grid-lines.enum\";\r\n\r\n@Directive()\r\nexport class BaseGridComponent<T> {\r\n @ViewChild('grid', {static: false})\r\n public grid: GridComponent;\r\n\r\n @Input()\r\n public data: T[];\r\n\r\n @Input()\r\n public gridLines: GridLines = GridLines.None;\r\n\r\n @Input()\r\n public contextMenuItems: ContextMenuItemModel[] = [];\r\n\r\n @Input()\r\n public frozenColumns: number;\r\n\r\n @Input()\r\n public frozenRows: number;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public sortingEnabled: boolean = false;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public filteringEnabled: boolean = false;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public pagingEnabled: boolean = false;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public groupingEnabled: boolean = false;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public reorderingEnabled: boolean = false;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public rowDragAndDropEnabled: boolean = false;\r\n\r\n @Input()\r\n public rowDropSettings: RowDropSettingsModel;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public resizingEnabled: boolean = false;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public showColumnMenu: boolean = false;\r\n\r\n @Input()\r\n public set maxNumberOfRows(value: number) {\r\n if (value) {\r\n this.pageSettings.pageSize = value;\r\n }\r\n }\r\n\r\n @Input()\r\n public set columns(value: {}[]) {\r\n this._columns = value;\r\n }\r\n\r\n public get columns(): {}[] {\r\n return this._columns;\r\n }\r\n\r\n public pageSettings: PageSettingsModel = {};\r\n\r\n private _columns: {}[];\r\n\r\n constructor(public element: ElementRef) {\r\n }\r\n}\r\n","import {Directive, Input} from \"@angular/core\";\r\nimport {ToolbarItems} from \"@syncfusion/ej2-angular-grids\";\r\nimport {ClickEventArgs} from \"@syncfusion/ej2-angular-navigations\";\r\nimport {InputBoolean} from \"../../../core/decorator/input-boolean.decorator\";\r\nimport {BaseGridComponent} from \"./base-grid.component\";\r\nimport {ArrayUtils} from \"../../../core/utils/array-utils\";\r\n\r\n@Directive()\r\nexport class BaseToolbarGridComponent<T> extends BaseGridComponent<T> {\r\n\r\n @Input()\r\n @InputBoolean()\r\n public set showColumnChooser(value: boolean) {\r\n this._showColumnChooser = value;\r\n this.updateToolbar(\"ColumnChooser\", this._showColumnChooser);\r\n }\r\n\r\n public get showColumnChooser(): boolean {\r\n return this._showColumnChooser;\r\n }\r\n\r\n @Input()\r\n @InputBoolean()\r\n public set exportExcelEnabled(value: boolean) {\r\n this._exportExcelEnabled = value;\r\n this.updateToolbar(\"ExcelExport\", this._exportExcelEnabled);\r\n }\r\n\r\n public get exportExcelEnabled(): boolean {\r\n return this._exportExcelEnabled;\r\n }\r\n\r\n @Input()\r\n @InputBoolean()\r\n public set exportPdfEnabled(value: boolean) {\r\n this._exportPdfEnabled = value;\r\n this.updateToolbar(\"PdfExport\", this._exportPdfEnabled);\r\n }\r\n\r\n public get exportPdfEnabled(): boolean {\r\n return this._exportPdfEnabled;\r\n }\r\n\r\n public toolbarOptions: ToolbarItems[];\r\n\r\n private _exportExcelEnabled: boolean = false;\r\n private _exportPdfEnabled: boolean = false;\r\n private _showColumnChooser: boolean = false;\r\n\r\n public toolbarClick(args: ClickEventArgs): void {\r\n if (this.grid) {\r\n if (args.item.id === 'grid_excelexport') {\r\n this.grid.excelExport();\r\n } else if (args.item.id === 'grid_pdfexport') {\r\n this.grid.pdfExport();\r\n }\r\n }\r\n }\r\n\r\n protected updateToolbar(option: ToolbarItems, add: boolean): void {\r\n if (add) {\r\n if (!this.toolbarOptions) {\r\n this.toolbarOptions = [];\r\n }\r\n this.toolbarOptions.push(option);\r\n } else {\r\n ArrayUtils.RemoveElement(option, this.toolbarOptions);\r\n }\r\n if (this.toolbarOptions && this.toolbarOptions.length > 0) {\r\n this.toolbarOptions = this.toolbarOptions.slice();\r\n } else {\r\n this.toolbarOptions = undefined;\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Directive, EventEmitter, Input, OnDestroy, OnInit, Output} from \"@angular/core\";\r\nimport {EditSettingsModel} from \"@syncfusion/ej2-angular-grids\";\r\nimport {InputBoolean} from \"../../../core/decorator/input-boolean.decorator\";\r\nimport {BaseToolbarGridComponent} from \"./base-toolbar-grid.component\";\r\nimport {Observable, Subscription, fromEvent} from \"rxjs\";\r\n\r\n@Directive()\r\nexport class BaseInlineEditGridComponent<T> extends BaseToolbarGridComponent<T> implements AfterViewInit, OnDestroy {\r\n\r\n @Input()\r\n @InputBoolean()\r\n public set inlineEdit(value: boolean) {\r\n if (value) {\r\n this.editSettings = { allowEditing: true, allowAdding: true, allowDeleting: true };\r\n } else {\r\n this.editSettings = {};\r\n }\r\n this.updateToolbar(\"Add\", value);\r\n this.updateToolbar(\"Edit\", value);\r\n this.updateToolbar(\"Delete\", value);\r\n this.updateToolbar(\"Update\", value);\r\n this.updateToolbar(\"Cancel\", value);\r\n }\r\n\r\n @Output()\r\n public rowSaved: EventEmitter<T> = new EventEmitter<T>();\r\n\r\n @Output()\r\n public beforeRowDelete: EventEmitter<any> = new EventEmitter<any>(false);\r\n\r\n @Output()\r\n public rowDeleted: EventEmitter<T> = new EventEmitter<T>();\r\n\r\n public editSettings: EditSettingsModel;\r\n public actionBeginObservable$: Observable<any> = new Observable<any>();\r\n public actionBeginObservableSub: Subscription = new Subscription();\r\n\r\n ngAfterViewInit(): void {\r\n if (this.grid) {\r\n this.actionBeginObservable$ = fromEvent(this.grid, 'actionBegin');\r\n this.actionBeginObservableSub = this.actionBeginObservable$.subscribe((action) => {\r\n this.handleActionBegin(action);\r\n });\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.actionBeginObservableSub.unsubscribe();\r\n }\r\n\r\n public async handleActionBegin(action: any): Promise<void> {\r\n if (action) {\r\n if (action.requestType === \"delete\") {\r\n await this.waitForBeforeDelete(action);\r\n }\r\n if (action.requestType === \"save\") {\r\n this.rowSaved.next(action.data);\r\n }\r\n }\r\n }\r\n\r\n public handleActionComplete(action: any): void {\r\n if (action) {\r\n if (action.requestType === \"delete\") {\r\n this.rowDeleted.next(action.data);\r\n }\r\n if (action.requestType === \"save\") {\r\n this.rowSaved.next(action.data);\r\n }\r\n }\r\n }\r\n\r\n public waitForBeforeDelete(action: any): Promise<any> {\r\n // @ts-ignore\r\n const beforeRowDelete$ = fromEvent(this.element, 'beforeRowDelete');\r\n return new Promise((resolve: Function) => {\r\n beforeRowDelete$.subscribe((result) => {\r\n action = result;\r\n return resolve(action);\r\n }).unsubscribe();\r\n this.beforeRowDelete.next(action);\r\n });\r\n }\r\n}\r\n","import {Directive, EventEmitter, HostBinding, Input, OnInit, Output, TemplateRef} from \"@angular/core\";\r\nimport {RowDragEventArgs, RowDropEventArgs, SelectionSettingsModel} from \"@syncfusion/ej2-angular-grids\";\r\nimport {BaseInlineEditGridComponent} from \"./base-inline-edit-grid.component\";\r\nimport {InputBoolean} from \"../../../core/decorator/input-boolean.decorator\";\r\nimport {MenuEventArgs} from \"@syncfusion/ej2-navigations\";\r\nimport {GridRowDragEventArgs} from \"../interface/grid-row-drag-event-args\";\r\nimport {GridRowDropEventArgs} from \"../interface/grid-row-drop-event-args\";\r\nimport {GridMenuEventArgs} from \"../interface/grid-menu-event-args\";\r\n\r\nconst defaultColumn: string = `<div class=\"detail-wrapper\"><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></div>`;\r\n\r\n@Directive()\r\nexport class BaseSelectionGridComponent<T> extends BaseInlineEditGridComponent<T> implements OnInit {\r\n\r\n @Input()\r\n @InputBoolean()\r\n public set multipleSelect(value: boolean) {\r\n this.selectionOptions = { type: value ? \"Multiple\" : \"Single\" };\r\n }\r\n\r\n @HostBinding(\"class.detail-column\")\r\n @Input()\r\n @InputBoolean()\r\n public includeDetailColumn: boolean = false;\r\n\r\n @Input()\r\n public detailColumnTemplate: TemplateRef<any>;\r\n\r\n @Output()\r\n public rowsSelected: EventEmitter<T[]> = new EventEmitter<T[]>();\r\n\r\n @Output()\r\n public rowDoubleClick: EventEmitter<T> = new EventEmitter<T>();\r\n\r\n @Output()\r\n public detailColumnClick: EventEmitter<T> = new EventEmitter<T>();\r\n\r\n @Output()\r\n public contextMenuItemClick: EventEmitter<GridMenuEventArgs> = new EventEmitter<GridMenuEventArgs>();\r\n\r\n @Output()\r\n public rowDragStartEvent: EventEmitter<GridRowDragEventArgs> = new EventEmitter<GridRowDragEventArgs>();\r\n\r\n @Output()\r\n public rowDropEvent: EventEmitter<GridRowDropEventArgs> = new EventEmitter<GridRowDropEventArgs>();\r\n\r\n @Output()\r\n public beforeRowsDelete: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @Output()\r\n public rowsDeleted: EventEmitter<T[]> = new EventEmitter<T[]>();\r\n\r\n public selectionOptions: SelectionSettingsModel = { type: \"Single\" };\r\n\r\n ngOnInit(): void {\r\n if (this.includeDetailColumn) {\r\n this.columns.unshift({\r\n field: \"\", headerText: \"\", lockColumn: true, maxWidth: 30, width: 30,\r\n allowFiltering: false, allowResizing: false, allowReordering: false, allowEditing: false, allowSearching: false,\r\n showColumnMenu: false, showInColumnChooser: false,\r\n template: this.detailColumnTemplate ? this.detailColumnTemplate : defaultColumn,\r\n headerTemplate: this.detailColumnTemplate ? this.detailColumnTemplate : defaultColumn});\r\n }\r\n }\r\n\r\n public handleRowSelected(rowData: any): void {\r\n if (this.grid) {\r\n const rows: T[] = <T[]>this.grid.getSelectedRecords();\r\n this.rowsSelected.next(rows);\r\n }\r\n }\r\n\r\n public handleDoubleClick(clickData: any): void {\r\n this.rowDoubleClick.next(<T>clickData.rowData);\r\n }\r\n\r\n public handleRecordClick(clickData: any): void {\r\n if (clickData && this.includeDetailColumn && clickData.cellIndex === 0) {\r\n this.detailColumnClick.next(clickData.rowData);\r\n }\r\n }\r\n\r\n public selectRow(index: number): void {\r\n if (this.grid) {\r\n const rowIndexes: number[] = [];\r\n rowIndexes.push(index);\r\n this.grid.selectionModule.selectRows(rowIndexes);\r\n }\r\n }\r\n\r\n public contextMenuClick(args: MenuEventArgs): void {\r\n this.contextMenuItemClick.next(args);\r\n }\r\n\r\n public rowDragStartClick(args: RowDragEventArgs): void {\r\n this.rowDragStartEvent.next(args);\r\n }\r\n\r\n public rowDropClick(args: RowDropEventArgs): void {\r\n this.rowDropEvent.next(args);\r\n }\r\n\r\n public handleBeforeBatchDelete(args: any): void {\r\n this.beforeRowsDelete.next(args);\r\n }\r\n\r\n public handleBatchDelete(rows: T[]): void {\r\n this.rowsDeleted.next(rows);\r\n }\r\n}\r\n","import {Component, HostBinding, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {BaseSelectionGridComponent} from \"./base/base-selection-grid.component\";\r\nimport {RowDDService} from \"@syncfusion/ej2-angular-grids\";\r\n\r\n@Component({\r\n selector: 'co-grid',\r\n template: `\r\n <ejs-grid #grid id=\"grid\"\r\n [dataSource]=\"data\"\r\n [columns]=\"columns\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [pageSettings]=\"pageSettings\"\r\n [toolbar]=\"toolbarOptions\"\r\n [gridLines]=\"gridLines\"\r\n [frozenColumns]=\"frozenColumns\"\r\n [frozenRows]=\"frozenRows\"\r\n [selectionSettings]=\"selectionOptions\"\r\n [editSettings]=\"editSettings\"\r\n [allowPaging]=\"pagingEnabled\"\r\n [allowSorting]=\"sortingEnabled\"\r\n [allowFiltering]=\"filteringEnabled\"\r\n [allowGrouping]=\"groupingEnabled\"\r\n [allowReordering]=\"reorderingEnabled\"\r\n [allowResizing]=\"resizingEnabled\"\r\n [allowRowDragAndDrop]=\"rowDragAndDropEnabled\"\r\n [showColumnMenu]=\"showColumnMenu\"\r\n [showColumnChooser]=\"showColumnChooser\"\r\n [allowExcelExport]=\"exportExcelEnabled\"\r\n [allowPdfExport]=\"exportPdfEnabled\"\r\n (toolbarClick)=\"toolbarClick($event)\"\r\n (rowSelected)=\"handleRowSelected($event)\"\r\n (recordDoubleClick)=\"handleDoubleClick($event)\"\r\n (recordClick)=\"handleRecordClick($event)\"\r\n (actionComplete)=\"handleActionComplete($event)\"\r\n (contextMenuClick)=\"contextMenuClick($event)\"\r\n (rowDragStart)=\"rowDragStartClick($event)\"\r\n (rowDrop)=\"rowDropClick($event)\"\r\n (beforeBatchDelete)=\"handleBeforeBatchDelete($event)\"\r\n (batchDelete)=\"handleBatchDelete($event)\"\r\n >\r\n </ejs-grid>\r\n `,\r\n providers: [\r\n RowDDService\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CoGridComponent<T> extends BaseSelectionGridComponent<T> implements OnInit {\r\n\r\n @HostBinding('class.co-grid')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, HostBinding, Output, 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-grid-toolbar\",\r\n template: `\r\n <div class=\"grid-toolbar-wrapper\">\r\n <co-button [iconData]=\"iconsService.getIcon(icons.AddToCartDrop)\" [label]=\"'edit'\" (click)=\"editClick.emit($event)\"></co-button>\r\n <co-button [iconData]=\"iconsService.getIcon(icons.AddToCartDrop)\" [label]=\"'cancel'\" (click)=\"cancelClick.emit()\"></co-button>\r\n <co-button [iconData]=\"iconsService.getIcon(icons.AddToCartDrop)\" [label]=\"'save'\" (click)=\"saveClick.emit()\"></co-button>\r\n <co-button [iconData]=\"iconsService.getIcon(icons.AddToCartDrop)\" [label]=\"'add'\" (click)=\"addClick.emit()\"></co-button>\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 @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 @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","import {NgModule} from \"@angular/core\";\r\nimport {enableRipple} from \"@syncfusion/ej2-base\";\r\nimport {GridToolbarComponent} from \"./grid-toolbar.component\";\r\nimport {IconModule} from \"../icon/icon.module\";\r\nimport {ButtonModule} from \"../button/button.module\";\r\n\r\nenableRipple(true);\r\n\r\n@NgModule({\r\n imports: [\r\n IconModule,\r\n ButtonModule\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 { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport {\r\n ColumnChooserService,\r\n ColumnMenuService,\r\n ContextMenuService,\r\n EditService,\r\n ExcelExportService,\r\n FilterService,\r\n GridModule,\r\n GroupService,\r\n PageService,\r\n PdfExportService,\r\n ReorderService,\r\n ResizeService,\r\n SortService,\r\n ToolbarService\r\n} from '@syncfusion/ej2-angular-grids';\r\nimport { CoGridComponent } from './co-grid.component';\r\nimport { IconCacheService } from '../icon/icon-cache.service';\r\nimport {GridToolbarModule} from \"../grid-toolbar/grid-toolbar.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n GridModule,\r\n GridToolbarModule\r\n ],\r\n declarations: [CoGridComponent],\r\n exports: [CoGridComponent],\r\n providers: [\r\n IconCacheService,\r\n PageService,\r\n SortService,\r\n FilterService,\r\n GroupService,\r\n ReorderService,\r\n ResizeService,\r\n ExcelExportService,\r\n PdfExportService,\r\n EditService,\r\n ToolbarService,\r\n ColumnChooserService,\r\n ColumnMenuService,\r\n ContextMenuService\r\n ]\r\n})\r\nexport class CoGridModule {\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 {enableRipple} from \"@syncfusion/ej2-base\";\r\nimport {GridToolbarButtonComponent} from \"./grid-toolbar-button.component\";\r\nimport {IconModule} from \"../icon/icon.module\";\r\n\r\nenableRipple(true);\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","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,\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 {COMPONENT_INTERFACE_NAME} from \"../base/component-interface-name\";\r\nimport {IconCacheService} from \"../icon/icon-cache.service\";\r\n\r\n@Component({\r\n selector: \"co-input-checkbox\",\r\n template: `\r\n <ejs-checkbox [label]=\"label\"\r\n [name]=\"name\"\r\n [cssClass]=\"cssClass\"\r\n [ngModel]=\"model\"\r\n [disabled]=\"disabled\"\r\n (ngModelChange)=\"handleModelChange($event)\"\r\n ></ejs-checkbox>\r\n `,\r\n providers: [{\r\n provide: 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 name: string;\r\n\r\n @Input()\r\n public label: string;\r\n\r\n @Input()\r\n public cssClass: string;\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 constructor(\r\n @Optional() public formComponent: FormComponent,\r\n public iconCacheService: IconCacheService,\r\n protected changeDetector: ChangeDetectorRef,\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, formUserChangeListener, ngZoneWrapper, elementRef);\r\n }\r\n\r\n public setModel(value: boolean): void {\r\n this.model = value;\r\n this.modelChange.next(this.model);\r\n }\r\n\r\n public handleModelChange(value: boolean): void {\r\n if (!this.readonly && !this.disabled) {\r\n this.setModel(value);\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\nimport { CheckBoxModule } from '@syncfusion/ej2-angular-buttons';\r\nimport { enableRipple } from '@syncfusion/ej2-base';\r\n\r\nenableRipple(true);\r\n\r\n@NgModule({\r\n imports: [\r\n BaseModule,\r\n CommonModule,\r\n FormsModule,\r\n CheckBoxModule,\r\n ],\r\n declarations: [InputCheckboxComponent],\r\n exports: [InputCheckboxComponent]\r\n})\r\nexport class InputCheckboxModule {\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 {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n ElementRef,\n forwardRef,\n HostBinding,\n Input,\n Optional,\n ViewEncapsulation\n} from \"@angular/core\";\nimport {BaseInputComponent} from \"../base/base-input.component\";\nimport {COMPONENT_INTERFACE_NAME} from \"../base/component-interface-name\";\nimport {FormInputUserModelChangeListenerService} from \"../../core/service/form-input-user-change-listener.service\";\nimport {NgZoneWrapperService} from \"../../core/service/ng-zone-wrapper.service\";\nimport {FormComponent} from \"../form/form.component\";\n\n@Component({\n selector: \"co-input-checkbox-multi-select\",\n template: `\n <ejs-multiselect\n [placeholder]=\"placeholder\"\n [dataSource]=\"source\"\n [fields]=\"fields\"\n mode=\"CheckBox\"\n showDropDownIcon=\"true\"\n [showSelectAll]=\"false\"\n [filterBarPlaceholder]=\"filterPlaceholder\"\n ></ejs-multiselect>\n `,\n providers: [{\n provide: COMPONENT_INTERFACE_NAME,\n useExisting: forwardRef(() => InputCheckboxMultiSelectComponent)\n }, {\n provide: BaseInputComponent,\n useExisting: InputCheckboxMultiSelectComponent\n }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n\n})\nexport class InputCheckboxMultiSelectComponent extends BaseInputComponent<any> {\n\n @Input()\n public source: Object[] | string[] | number[] | boolean[]\n\n @Input()\n public fields: Object\n\n @Input()\n public selected: number | string | boolean;\n\n @Input()\n public placeholder: string;\n\n @Input()\n public filterPlaceholder: string;\n\n @HostBinding(\"class.co-input-checkbox-multi-select\")\n public showClass() {\n return true;\n }\n\n constructor(\n @Optional() public formComponent: FormComponent,\n protected changeDetector: ChangeDetectorRef,\n protected componentFactoryResolver: ComponentFactoryResolver,\n protected formUserChangeListener?: FormInputUserModelChangeListenerService,\n protected ngZoneWrapper?: NgZoneWrapperService,\n public elementRef?: ElementRef,\n ) {\n super(changeDetector, componentFactoryResolver, formUserChangeListener, ngZoneWrapper, elementRef);\n super._markAsOnPush();\n }\n\n}\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { IconModule } from '../icon/icon.module';\r\nimport { BaseModule } from '../base/base.module';\r\nimport { AppendPipeModule } from '../../pipes/append.pipe.module';\r\nimport {MultiSelectAllModule} from \"@syncfusion/ej2-angular-dropdowns\";\r\nimport {InputCheckboxMultiSelectComponent} from \"./input-checkbox-multi-select.component\";\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 MultiSelectAllModule\r\n ],\r\n declarations: [InputCheckboxMultiSelectComponent],\r\n exports: [InputCheckboxMultiSelectComponent]\r\n})\r\nexport class InputCheckboxMultiSelectModule {\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ComponentFactoryResolver,\r\n ElementRef, EventEmitter,\r\n forwardRef,\r\n HostBinding,\r\n Input,\r\n Optional, Output,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {BaseInputComponent} from \"../base/base-input.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 {FormComponent} from \"../form/form.component\";\r\nimport {COMPONENT_INTERFACE_NAME} from \"../base/component-interface-name\";\r\nimport {ComboBoxComponent} from \"@syncfusion/ej2-angular-dropdowns\";\r\n\r\n@Component({\r\n selector: \"co-input-combo-box\",\r\n template: `\r\n <ejs-combobox #combo [dataSource]=\"collection\"\r\n [fields]=\"fields\"\r\n [placeholder]=\"placeholder\"\r\n [autofill]=\"true\"\r\n [ngModel]=\"model\"\r\n (ngModelChange)=\"modelChange.emit($event)\"\r\n (valueChange)=\"valueChange.emit($event)\"\r\n (focus)=\"onFocus()\"\r\n showClearButton=\"true\"\r\n floatLabelType=\"Auto\"\r\n >\r\n </ejs-combobox>\r\n <div class=\"required-indicator\"></div>\r\n <ng-template #validationError></ng-template>\r\n `,\r\n providers: [{\r\n provide: COMPONENT_INTERFACE_NAME,\r\n useExisting: forwardRef(() => InputComboBoxComponent)\r\n }, {\r\n provide: BaseInputComponent,\r\n useExisting: InputComboBoxComponent\r\n }],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class InputComboBoxComponent extends BaseInputComponent<any> {\r\n @ViewChild(\"combo\")\r\n public combo: ComboBoxComponent;\r\n\r\n @Input()\r\n public collection: Object[] | string[] | number[] | boolean[];\r\n\r\n @Input()\r\n public fields: Object;\r\n\r\n @Input()\r\n public selected: number | string | boolean;\r\n\r\n @Input()\r\n public placeholder: string;\r\n\r\n @Input()\r\n public shopPopup: boolean = true;\r\n\r\n @Output()\r\n public valueChange: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @HostBinding(\"class.co-input-combo-box\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n constructor(\r\n @Optional() public formComponent: FormComponent,\r\n protected changeDetector: ChangeDetectorRef,\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, formUserChangeListener, ngZoneWrapper, elementRef);\r\n super._markAsOnPush();\r\n }\r\n\r\n public onFocus(): void {\r\n if (this.shopPopup && this.model === undefined) {\r\n this.combo.showPopup();\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\n\r\nimport { InputComboBoxComponent } from './input-combo-box.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 {ComboBoxAllModule} from \"@syncfusion/ej2-angular-dropdowns\";\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 ComboBoxAllModule\r\n ],\r\n declarations: [InputComboBoxComponent],\r\n exports: [InputComboBoxComponent]\r\n})\r\nexport class InputComboBoxModule {\r\n}\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Component,\r\n ComponentFactoryResolver,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n HostBinding,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n Output,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {BaseInputComponent} from \"../base/base-input.component\";\r\nimport {COMPONENT_INTERFACE_NAME} from \"../base/component-interface-name\";\r\nimport {CoreComponentsIcon} from \"../../core/enum/core-components-icon.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 {DatePickerComponent} from \"@syncfusion/ej2-angular-calendars\";\r\nimport {IconCacheService} from \"../icon/icon-cache.service\";\r\n\r\n@Component({\r\n selector: \"co-input-date\",\r\n template: `\r\n <ejs-datepicker #ejsDatePicker\r\n floatLabelType=\"Auto\"\r\n [format]=\"dateFormat\"\r\n [placeholder]=\"placeholder\"\r\n [ngModel]=\"model\"\r\n (ngModelChange)=\"modelChange.emit($event)\"\r\n ></ejs-datepicker>\r\n <div class=\"required-indicator\"></div>\r\n <ng-template #validationError></ng-template>\r\n `,\r\n providers: [{\r\n provide: COMPONENT_INTERFACE_NAME, useExisting: forwardRef(() => InputDatePickerComponent)\r\n }, {\r\n provide: BaseInputComponent,\r\n useExisting: InputDatePickerComponent\r\n }],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class InputDatePickerComponent extends BaseInputComponent<Date> implements OnInit, AfterViewInit, OnDestroy {\r\n public readonly icons: any = CoreComponentsIcon;\r\n\r\n // note: assigning empty string '' to this value will not visually reflect in an empty/clear native inner <input> text content\r\n @ViewChild(\"ejsDatePicker\")\r\n ejsDatePicker: DatePickerComponent;\r\n\r\n @Input()\r\n public dateFormat: string = \"dd-MM-yyyy\";\r\n\r\n @Input()\r\n public calendarIconName: CoreComponentsIcon = this.icons.CalendarEmpty;\r\n\r\n @Input()\r\n public iconHeight: string = \"24px\";\r\n\r\n @Input()\r\n public placeholder: string = \"\";\r\n\r\n @Input()\r\n public width: string | number;\r\n\r\n @Output()\r\n public readonly blur: EventEmitter<Event> = new EventEmitter<Event>();\r\n\r\n @HostBinding(\"class.co-input-date\")\r\n public showClass() {\r\n return true;\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 componentFactoryResolver: ComponentFactoryResolver,\r\n protected formUserChangeListener?: FormInputUserModelChangeListenerService,\r\n protected ngZoneWrapper?: NgZoneWrapperService,\r\n public elementRef?: ElementRef,\r\n ) {\r\n super(changeDetector, componentFactoryResolver, formUserChangeListener, ngZoneWrapper, elementRef);\r\n super._markAsOnPush();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.elementRef = undefined;\r\n super.ngOnDestroy();\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.ejsDatePicker) {\r\n const calendarIcon: string = this.iconCacheService.getIconRawBase64(this.calendarIconName);\r\n const imgElement: HTMLElement = document.createElement(\"img\");\r\n imgElement.setAttribute(\r\n \"src\",\r\n calendarIcon\r\n );\r\n imgElement.setAttribute(\r\n \"height\",\r\n this.iconHeight\r\n );\r\n imgElement.setAttribute(\"class\", \"customImage\");\r\n //remove the font-icon class\r\n this.ejsDatePicker.element.parentElement\r\n .querySelector(\".e-icons\")\r\n .classList.remove(\"e-date-icon\");\r\n this.ejsDatePicker.element.parentElement\r\n .querySelector(\".e-icons\")\r\n .append(imgElement);\r\n this.changeDetector.detectChanges();\r\n }\r\n super.ngAfterViewInit();\r\n }\r\n\r\n public change(): void {\r\n this.model = this.ejsDatePicker.value;\r\n }\r\n}\r\n","import {NgModule, NO_ERRORS_SCHEMA} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { InputDatePickerComponent } from './input-date-picker.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 {DatePickerModule} from \"@syncfusion/ej2-angular-calendars\";\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 DatePickerModule\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 {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {BaseInputComponent} from \"../base/base-input.component\";\r\n\r\n@Component({\r\n selector: \"co-input-date-range\",\r\n template: `\r\n <ejs-daterangepicker\r\n [format]=\"dateFormat\"\r\n [placeholder]=\"placeholder\"\r\n [ngModel]=\"model\"\r\n (ngModelChange)=\"rangeChange()\"\r\n [(startDate)]=\"startDate\"\r\n [(endDate)]=\"endDate\"\r\n ></ejs-daterangepicker>\r\n <div class=\"required-indicator\"></div>\r\n <ng-template #validationError></ng-template>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class InputDateRangePickerComponent extends BaseInputComponent<Date> {\r\n\r\n @Input()\r\n public dateFormat: string = \"dd-MM-yyyy\";\r\n\r\n @Input()\r\n public placeholder: string = \"\";\r\n\r\n @Input()\r\n public startDate: Date;\r\n\r\n @Input()\r\n public endDate: Date;\r\n\r\n @Output()\r\n public startDateChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n @Output()\r\n public endDateChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n @Output()\r\n public dateRangeChange: EventEmitter<Date[]> = new EventEmitter<Date[]>();\r\n\r\n @HostBinding(\"class.co-input-date-range-picker\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public rangeChange(): void {\r\n this.startDateChange.emit(this.startDate);\r\n this.endDateChange.emit(this.endDate);\r\n\r\n if (this.startDate && this.endDate) {\r\n this.dateRangeChange.emit([this.startDate, this.endDate]);\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {BaseModule} from \"../base/base.module\";\r\nimport {DateRangePickerModule} from \"@syncfusion/ej2-angular-calendars\";\r\nimport {InputDateRangePickerComponent} from \"./input-date-range-picker.component\";\r\nimport {FormsModule} from \"@angular/forms\";\r\n\r\n@NgModule({\r\n imports: [\r\n BaseModule,\r\n DateRangePickerModule,\r\n FormsModule\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","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ComponentFactoryResolver,\r\n ElementRef,\r\n forwardRef,\r\n HostBinding,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {BaseInputComponent} from \"../base/base-input.component\";\r\nimport {COMPONENT_INTERFACE_NAME} from \"../base/component-interface-name\";\r\nimport {CheckBoxSelection, ListBoxComponent, SelectionSettingsModel} from \"@syncfusion/ej2-angular-dropdowns\";\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\n\r\nListBoxComponent.Inject(CheckBoxSelection);\r\n\r\n@Component({\r\n selector: 'co-input-listbox',\r\n template: `\r\n <div class=\"co-input-listbox-header\" [textContent]=\"placeholder\"></div>\r\n <div class=\"co-input-listbox-content\">\r\n <ejs-listbox\r\n [ngModel]=\"value\"\r\n [dataSource]=\"collection\"\r\n [fields]=\"fields\"\r\n [selectionSettings]=\"selectionSettings\"\r\n (ngModelChange)=\"modelChange.emit($event)\"\r\n ></ejs-listbox>\r\n </div>\r\n <div class=\"required-indicator\"></div>\r\n <ng-template #validationError></ng-template>\r\n `,\r\n providers: [{\r\n provide: COMPONENT_INTERFACE_NAME, useExisting: forwardRef(() => InputListboxComponent)\r\n }, {\r\n provide: BaseInputComponent,\r\n useExisting: InputListboxComponent\r\n }],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class InputListboxComponent extends BaseInputComponent<any> implements OnInit, OnDestroy {\r\n\r\n @Input()\r\n public placeholder: string;\r\n\r\n @Input()\r\n public value: string[] | number[];\r\n // public set model(value: string[] | number[]) {\r\n // this._model = value;\r\n // }\r\n\r\n @Input()\r\n public collection: {}[] = [];\r\n\r\n @Input()\r\n public fields: {};\r\n\r\n @Input()\r\n public set singleSelect(value: boolean) {\r\n if (value) {\r\n this.selectionSettings.mode = 'Single';\r\n }\r\n }\r\n\r\n @Input()\r\n public set showCheckbox(value: boolean) {\r\n if (value) {\r\n this.selectionSettings.showCheckbox = true;\r\n }\r\n }\r\n\r\n @Input()\r\n public set showSelectAll(value: boolean) {\r\n if (value) {\r\n this.selectionSettings.showSelectAll = true;\r\n }\r\n }\r\n\r\n @HostBinding('class.co-input-listbox')\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n @HostBinding('class.custom-height')\r\n public customHeight: boolean = true;\r\n\r\n public selectionSettings: SelectionSettingsModel = {mode: 'Multiple'};\r\n\r\n constructor(\r\n @Optional() public formComponent: FormComponent,\r\n protected changeDetector: ChangeDetectorRef,\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, formUserChangeListener, ngZoneWrapper, elementRef);\r\n super._markAsOnPush();\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {InputListboxComponent} from \"./input-listbox.component\";\r\nimport {ListBoxModule} from \"@syncfusion/ej2-angular-dropdowns\";\r\nimport {enableRipple} from \"@syncfusion/ej2-base\";\r\nimport {FormsModule} from \"@angular/forms\";\r\n\r\nenableRipple(true);\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ListBoxModule\r\n ],\r\n declarations: [\r\n InputListboxComponent\r\n ],\r\n exports: [\r\n InputListboxComponent\r\n ]\r\n})\r\nexport class InputListboxModule { }\r\n","export const JAVA_MAX_INT: number = 2147483647;","import {JAVA_MAX_INT} from \"./java-max-int\";\r\n\r\nexport const DEFAULT_UPPER_BOUND_FOR_RANGE_COMPONENTS: number = JAVA_MAX_INT;","import {Subject} from \"rxjs\";\r\n\r\nimport {isNill} from \"../function/is-nill.function\";\r\nimport {DEFAULT_UPPER_BOUND_FOR_RANGE_COMPONENTS} 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 = 0;\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,\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 {COMPONENT_INTERFACE_NAME} from \"../base/component-interface-name\";\nimport {FormComponent} from \"../form/form.component\";\n\n@Component({\n selector: 'co-input-number-picker',\n template: `\n <div class=\"button-wrapper\">\n <co-button *ngIf=\"showButtons\" class=\"minus-operator circle\" [class.select]=\"minSelected\"\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 [ngModel]=\"model\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n (ngModelChange)=\"handleChangeModel($event)\"\n (keydown)=\"handleKeyDown($event)\"/>\n <div class=\"button-wrapper\">\n <co-button *ngIf=\"showButtons\" class=\"plus-operator circle\" [class.select]=\"plusSelected\"\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 provide: 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 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 @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\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 private _ngZone: NgZone,\n protected componentFactoryResolver: ComponentFactoryResolver,\n changeDetector: ChangeDetectorRef,\n formUserChangeListener: FormInputUserModelChangeListenerService\n ) {\n super(changeDetector, componentFactoryResolver, formUserChangeListener);\n\n this._numberLogicValueChangeSub = this.numberLogic.valueChange.subscribe((value: number) => {\n if (!this._mayAutoCount) {\n this.model = value;\n this.modelChange.emit(value);\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.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 handleKeyDown(event: KeyboardEvent): boolean {\n // event.preventDefault();\n if (this.myKeyDownWhiteList.find((k) => k === event.keyCode) === undefined) {\n return false;\n }\n super.handleKeyDown(event);\n }\n\n public handleChangeModel(value: number): void {\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.numberLogic.increment(steps);\n }\n\n public decrement(steps: number = 1): void {\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 {\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 {COMPONENT_INTERFACE_NAME} from \"../base/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 {animate, state, style, transition, trigger} from \"@angular/animations\";\r\n\r\n@Component({\r\n selector: \"co-input-text\",\r\n template: `\r\n <label *ngIf=\"showPlaceholderOnFocus || (!showPlaceholderOnFocus && !hasValue && !focused)\" [textContent]=\"placeholder\"></label>\r\n <co-icon *ngIf=\"leftIcon\" class=\"input-text-left-icon\" [icon]=\"leftIcon\"></co-icon>\r\n <input #input\r\n [type]=\"type\"\r\n [ngModel]=\"model\"\r\n [min]=\"type === 'number' && this.min ? this.min : undefined\"\r\n [max]=\"type === 'number' && this.max ? this.max : undefined\"\r\n [readonly]=\"readonly\"\r\n [required]=\"required\"\r\n (ngModelChange)=\"modelChange.emit($event)\"\r\n >\r\n <co-icon *ngIf=\"rightIcon\" class=\"input-text-right-icon\" [icon]=\"rightIcon\"></co-icon>\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 <div class=\"required-indicator\"></div>\r\n <ng-template #validationError></ng-template>\r\n `,\r\n providers: [{\r\n provide: 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 placeholder: string = \"\";\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 showClearButton: boolean = undefined;\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 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 @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 @Input()\r\n @HostBinding('class.hideArrows')\r\n public hideArrowButtons: boolean = false;\r\n\r\n constructor(\r\n @Optional() public formComponent: FormComponent,\r\n protected changeDetector: ChangeDetectorRef,\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, 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 {ValidationErrorComponent} from \"./validation-error.component\";\r\nimport {IconModule} from \"../icon/icon.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule\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 {\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\" @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 || commitFinished\">\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=\"!committing || commitFinished\"></div>\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 public animateDivs: QueryList<ElementRef>;\r\n\r\n @Input()\r\n public set committing(value: boolean) {\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 this._commitFinished = value;\r\n this._checkAnimationFinished();\r\n }\r\n\r\n public get commitFinished(): boolean {\r\n return this._commitFinished;\r\n }\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.committing && 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.commitFinished && this.animateDivs) {\r\n this.animateDivs.forEach(a => {\r\n a.nativeElement.addEventListener('animationiteration', this._handleAnimationIteration);\r\n // a.nativeElement.addEventListener('webkitAnimationIteration', (event) => this._handleAnimationIteration(event));\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 // elem.removeEventListener('webkitAnimationIteration', () => this._handleAnimationIteration(elem));\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\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\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 {NumericTextBoxModule, TextBoxAllModule} from \"@syncfusion/ej2-angular-inputs\";\r\nimport {ValidationErrorModule} from \"../validation-error/validation-error.module\";\r\nimport {CommitButtonsModule} from \"../base/commit-buttons/commit-buttons.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 TextBoxAllModule,\r\n NumericTextBoxModule,\r\n ValidationErrorModule,\r\n CommitButtonsModule\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","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\";\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ButtonModule,\n InputTextModule\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,\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 {COMPONENT_INTERFACE_NAME} from \"../base/component-interface-name\";\r\n\r\n@Component({\r\n selector: \"co-input-radio-button\",\r\n template: `\r\n <ejs-radiobutton\r\n [label]=\"label\"\r\n [name]=\"name\"\r\n [value]=\"value\"\r\n [checked]=\"checked\"\r\n (change)=\"handleModelChange($event)\"\r\n ></ejs-radiobutton>\r\n `,\r\n providers: [{\r\n provide: COMPONENT_INTERFACE_NAME, useExisting: forwardRef(() => InputRadioButtonComponent)\r\n }, {\r\n provide: BaseInputComponent,\r\n useExisting: InputRadioButtonComponent\r\n }],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class InputRadioButtonComponent extends BaseInputComponent<any> {\r\n @Input()\r\n public value: any;\r\n\r\n @Input()\r\n public label: string;\r\n\r\n @Input()\r\n public name: string;\r\n\r\n @HostBinding('class.checked')\r\n @Input()\r\n public checked: boolean;\r\n\r\n @HostBinding(\"class.co-radio-button\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n constructor(\r\n @Optional() public formComponent: FormComponent,\r\n protected changeDetector: ChangeDetectorRef,\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, formUserChangeListener, ngZoneWrapper, elementRef);\r\n super._markAsOnPush();\r\n }\r\n\r\n public handleModelChange(change: any): void {\r\n this.model = change.value;\r\n this.modelChange.next(this.model);\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\nimport {CheckBoxModule, RadioButtonModule} from \"@syncfusion/ej2-angular-buttons\";\r\n\r\n@NgModule({\r\n imports: [\r\n BaseModule,\r\n CommonModule,\r\n FormsModule,\r\n CheckBoxModule,\r\n RadioButtonModule,\r\n ],\r\n declarations: [InputRadioButtonComponent],\r\n exports: [InputRadioButtonComponent]\r\n})\r\nexport class InputRadioButtonModule {\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\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 {CoreComponentsIcon} from '../../core/enum/core-components-icon.enum';\r\nimport {BaseInputComponent} from '../base/base-input.component';\r\n\r\n@Component({\r\n selector: 'co-input-search',\r\n template: `\r\n <co-input-text\r\n [model]=\"model\"\r\n [leftIcon]=\"!iconRight && !noIcon ? searchIcon : undefined\"\r\n [rightIcon]=\"iconRight && !noIcon ? searchIcon : undefined\"\r\n [placeholder]=\"placeholder\"\r\n [showPlaceholderOnFocus]=\"false\"\r\n (modelChange)=\"modelChange.emit($event)\"\r\n ></co-input-text>\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 @Input()\r\n public iconRight: boolean = false;\r\n\r\n @HostBinding('class.no-icon')\r\n @Input()\r\n public noIcon: boolean = false;\r\n\r\n @Output()\r\n public search: EventEmitter<string> = new EventEmitter<string>();\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 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 {COMPONENT_INTERFACE_NAME} from \"../base/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\n\r\n@Component({\r\n selector: \"co-input-textarea\",\r\n template: `\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 class=\"required-indicator\"></div>\r\n <ng-template #validationError></ng-template>\r\n `,\r\n providers: [{\r\n provide: 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 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 @HostBinding('class.custom-height')\r\n public customHeight: boolean = true;\r\n\r\n constructor(\r\n @Optional() public formComponent: FormComponent,\r\n protected changeDetector: ChangeDetectorRef,\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, 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\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ValidationErrorModule\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 {\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 TemplateRef,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {COMPONENT_INTERFACE_NAME} from \"../base/component-interface-name\";\r\nimport {BaseInputComponent} from \"../base/base-input.component\";\r\nimport {CheckBoxSelectionService} from \"@syncfusion/ej2-angular-dropdowns\";\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\n\r\n@Component({\r\n selector: \"co-multi-select-list\",\r\n template: `\r\n <ejs-multiselect\r\n [dataSource]=\"collection\"\r\n [placeholder]=\"placeholder\"\r\n [value]=\"model\"\r\n [mode]=\"mode\"\r\n [fields]=\"fields\"\r\n [readonly]=\"readonly\"\r\n [itemTemplate]=\"itemTemplate\"\r\n [headerTemplate]=\"headerTemplate\"\r\n [valueTemplate]=\"valueTemplate\"\r\n [footerTemplate]=\"footerTemplate\"\r\n [selectAllText]=\"'Select All'\"\r\n [showSelectAll]=showSelectAll\r\n [ngModel]=\"model\"\r\n (ngModelChange)=\"handleModelChange($event)\"\r\n (valueChange)=\"handleModelChange($event)\"\r\n ></ejs-multiselect>\r\n <div class=\"required-indicator\"></div>\r\n <ng-template #validationError></ng-template>\r\n `,\r\n providers: [\r\n CheckBoxSelectionService,\r\n {\r\n provide: COMPONENT_INTERFACE_NAME,\r\n useExisting: forwardRef(() => MultiSelectListComponent)\r\n }, {\r\n provide: BaseInputComponent,\r\n useExisting: MultiSelectListComponent\r\n }\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class MultiSelectListComponent extends BaseInputComponent<any[]> {\r\n\r\n @Input()\r\n public collection: any[];\r\n\r\n /**\r\n * In the form { text: 'name', value: 'id' }\r\n * Where 'text' is showing in the dropdown and 'id' used for the model binding\r\n */\r\n @Input()\r\n public fields: Object = {};\r\n\r\n @Input()\r\n public placeholder: string;\r\n\r\n @Input()\r\n public itemTemplate: TemplateRef<any>;\r\n\r\n @Input()\r\n public headerTemplate: TemplateRef<any>;\r\n\r\n @Input()\r\n public valueTemplate: TemplateRef<any>;\r\n\r\n @Input()\r\n public footerTemplate: TemplateRef<any>;\r\n\r\n @Input()\r\n public showSelectAll: boolean = true;\r\n\r\n @Input()\r\n public set showCheckbox(value: boolean) {\r\n if (value) {\r\n this.mode = \"CheckBox\";\r\n }\r\n }\r\n\r\n @HostBinding(\"class.co-multi-select-list\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n constructor(\r\n @Optional() public formComponent: FormComponent,\r\n protected changeDetector: ChangeDetectorRef,\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, formUserChangeListener, ngZoneWrapper, elementRef);\r\n super._markAsOnPush();\r\n }\r\n\r\n public mode: any = \"Default\";\r\n\r\n public handleModelChange(val: any): void {\r\n if (Array.isArray(val)) {\r\n if (val.length < 1) {\r\n val = undefined;\r\n }\r\n }\r\n this.modelChange.next(val);\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {BaseModule} from \"../base/base.module\";\r\nimport {MultiSelectModule} from \"@syncfusion/ej2-angular-dropdowns\";\r\nimport {MultiSelectListComponent} from \"./multi-select-list.component\";\r\nimport {FormsModule} from \"@angular/forms\";\r\n\r\n@NgModule({\r\n imports: [\r\n BaseModule,\r\n CommonModule,\r\n MultiSelectModule,\r\n FormsModule\r\n ],\r\n declarations: [MultiSelectListComponent],\r\n exports: [MultiSelectListComponent]\r\n})\r\nexport class MultiSelectListModule {\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\nimport {\n ConditionalFormattingService,\n FetchReportArgs,\n FieldListService,\n GroupingBarService,\n GroupingService,\n IDataOptions,\n LoadReportArgs,\n NumberFormattingService,\n PivotViewComponent,\n RemoveReportArgs,\n RenameReportArgs,\n SaveReportArgs,\n ToolbarArgs,\n ToolbarItems,\n ToolbarService\n} from \"@syncfusion/ej2-angular-pivotview\";\nimport {GridSettings} from \"@syncfusion/ej2-pivotview/src/pivotview/model/gridsettings\";\nimport {InputBoolean} from \"../../core/decorator/input-boolean.decorator\";\n\n@Component({\n selector: 'co-pivot',\n template: `\n <ejs-pivotview\n #pivot\n id=\"Pivot\"\n [dataSourceSettings]=\"dataSourceSettings\"\n [gridSettings]=\"gridSettings\"\n [showGroupingBar]=\"showGroupingBar\"\n [allowGrouping]=\"allowGrouping\"\n [enablePersistence]=\"enablePersistence\"\n [showFieldList]=\"showFieldList\"\n [showToolbar]=\"showToolbar\"\n [toolbar]=\"toolbarOptions\"\n [allowExcelExport]=\"allowExcelExport\"\n [allowConditionalFormatting]=\"allowConditionalFormatting\"\n [allowNumberFormatting]=\"allowNumberFormatting\"\n [allowPdfExport]=\"allowPdfExport\"\n [allowCalculatedField]=\"allowCalculatedField\"\n [height]=\"height\"\n (saveReport)=\"saveReport($event)\"\n (loadReport)=\"loadReport($event)\"\n (fetchReport)=\"fetchReport($event)\"\n (renameReport)=\"renameReport($event)\"\n (removeReport)=\"removeReport($event)\"\n (newReport)=\"newReport()\"\n (toolbarRender)=\"beforeToolbarRender($event)\"\n (enginePopulated)=\"hanldeEnginePopulated($event)\"\n >\n </ejs-pivotview>\n `,\n providers: [GroupingBarService, GroupingService, ToolbarService, ConditionalFormattingService, FieldListService, NumberFormattingService],\n encapsulation: ViewEncapsulation.None\n})\nexport class CoPivotComponent implements OnInit, AfterViewInit {\n @ViewChild('pivot', {static: false})\n public pivot: PivotViewComponent;\n\n @Input()\n public dataSourceSettings: IDataOptions;\n\n @Input()\n public gridSettings: GridSettings;\n\n @Input()\n public toolbarOptions: ToolbarItems[];\n\n @Input()\n @InputBoolean()\n public showGroupingBar: boolean = false;\n\n @Input()\n @InputBoolean()\n public allowGrouping: boolean = false;\n\n @Input()\n @InputBoolean()\n public enablePersistence: boolean = false;\n\n @Input()\n @InputBoolean()\n public showFieldList: boolean = false;\n\n @Input()\n @InputBoolean()\n public showToolbar: boolean = false;\n\n @Input()\n @InputBoolean()\n public allowExcelExport: boolean = false;\n\n @Input()\n @InputBoolean()\n public allowPdfExport: boolean = false;\n\n @Input()\n @InputBoolean()\n public allowConditionalFormatting: boolean = true;\n\n @Input()\n @InputBoolean()\n public allowNumberFormatting: boolean = true;\n\n @Input()\n @InputBoolean()\n public allowCalculatedField: boolean = false;\n\n @Input()\n public height: string = \"100%\";\n\n @Output()\n public saveReportClick: EventEmitter<SaveReportArgs> = new EventEmitter<SaveReportArgs>();\n\n @Output()\n public loadReportClick: EventEmitter<LoadReportArgs> = new EventEmitter<LoadReportArgs>();\n\n @Output()\n public fetchReportClick: EventEmitter<FetchReportArgs> = new EventEmitter<FetchReportArgs>();\n\n @Output()\n public renameReportClick: EventEmitter<RenameReportArgs> = new EventEmitter<RenameReportArgs>();\n\n @Output()\n public removeReportClick: EventEmitter<RemoveReportArgs> = new EventEmitter<RemoveReportArgs>();\n\n @Output()\n public newReportClick: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n public beforeToolbarRenderClick: EventEmitter<ToolbarArgs> = new EventEmitter<ToolbarArgs>();\n\n @Output()\n public enginePopulated: EventEmitter<any> = new EventEmitter<any>();\n\n @HostBinding(\"class.co-pivot\")\n public showClass() {\n return true;\n }\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.pivot.refresh();\n this.pivot.refreshData();\n this.pivot.layoutRefresh();\n }, 3000);\n }\n\n public saveReport(args: SaveReportArgs): void {\n if (args) {\n this.saveReportClick.next(args);\n }\n }\n\n public loadReport(args: LoadReportArgs): void {\n if (args) {\n this.loadReportClick.next(args);\n }\n }\n\n public fetchReport(args: FetchReportArgs): void {\n if (args) {\n this.fetchReportClick.next(args);\n }\n }\n\n public renameReport(args: RenameReportArgs): void {\n if (args) {\n this.renameReportClick.next(args);\n }\n }\n\n public removeReport(args: RemoveReportArgs): void {\n if (args) {\n this.removeReportClick.next(args);\n }\n }\n\n public newReport(): void {\n this.newReportClick.next();\n }\n\n public beforeToolbarRender(args: ToolbarArgs): void {\n if (args) {\n this.beforeToolbarRenderClick.next(args);\n }\n }\n\n public hanldeEnginePopulated(args: any): void {\n if (args) {\n this.enginePopulated.next(args);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CoPivotComponent } from './co-pivot.component';\nimport {PivotViewModule} from \"@syncfusion/ej2-angular-pivotview\";\n\n@NgModule({\n declarations: [CoPivotComponent],\n exports: [\n CoPivotComponent\n ],\n imports: [\n CommonModule,\n PivotViewModule\n ]\n})\nexport class CoPivotModule { }\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()\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()\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 width: number;\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;\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\n\r\n@Directive()\r\nexport abstract class BaseSimpleGridComponent {\r\n private readonly MIN_COLUMN_WIDTH: number = 60;\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 }\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 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 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\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 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 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 }\r\n }\r\n this._prepared = true;\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, 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=\"inlineEdit && showToolbar\"\r\n (addClick)=\"addRow()\"\r\n (editClick)=\"editRow($event)\"\r\n (saveClick)=\"validateAndSave()\"\r\n (cancelClick)=\"cancelEditRow()\"\r\n ></co-grid-toolbar>\r\n <table class=\"simple-grid-table\">\r\n <colgroup>\r\n <col *ngFor=\"let column of headerColumns; let index = index\" [attr.width]=\"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\" [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 || '&nbsp;'\"\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\"\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.editing]=\"rowIndex === editRowIndex\" *ngFor=\"let row of data; let rowIndex = index\" cdkDrag\r\n (click)=\"handleClickRow($event, rowIndex)\" (dblclick)=\"handleDblClickRow($event, rowIndex)\" (visible)=\"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\"\r\n (cellClick)=\"handleCellClick(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 `,\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 @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\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 }\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 addRow(): void {\r\n const valid: boolean = this.validateAndSave();\r\n this._detectChanges();\r\n if (valid) {\r\n this.data.push({});\r\n this._newRow = true;\r\n this.editRowIndex = this.data.length - 1;\r\n this._nextAvailableCellToEdit(true).then((index: number) => {\r\n this.editCellIndex = index;\r\n this._detectChanges();\r\n });\r\n this.editing = true;\r\n this.rowToEdit = this.data[this.data.length - 1];\r\n this._detectChanges();\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._newRow = false;\r\n this.editing = false;\r\n this._detectChanges();\r\n }\r\n\r\n public handleClickRow(event: MouseEvent, index: number): 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 !== index && ((this.editing && this.validateAndSave()) || !this.editing)) {\r\n this.selectedRowIndex = index;\r\n if (emit) {\r\n this.selectRow.next(this.data[this.selectedRowIndex]);\r\n }\r\n }\r\n this._detectChanges();\r\n }\r\n\r\n public handleDblClickRow(event: MouseEvent, index: number): void {\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 this._resetDblClick();\r\n }\r\n\r\n public editRow(event: MouseEvent): void {\r\n this.editRowIndex = this.selectedRowIndex;\r\n this.rowToEdit = this.data[this.editRowIndex];\r\n this.editing = true;\r\n this._nextAvailableCellToEdit(true).then((index: number) => {\r\n this.editCellIndex = index;\r\n });\r\n this._detectChanges();\r\n }\r\n\r\n public handleCellClick(index: number): void {\r\n this.editCellIndex = index;\r\n this._detectChanges();\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.addRow();\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.editRowIndex = -1;\r\n this.editCellIndex = -1;\r\n this.editing = false;\r\n this.rowToEdit = undefined;\r\n }\r\n this._detectChanges();\r\n }\r\n\r\n private _detectChanges(): void {\r\n this._changeDetection.detectChanges();\r\n }\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 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 <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 </ng-container>\r\n <ng-template #noInlineEdit>\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 <div [textContent]=\"column.getFieldValue(row[column.field])\"></div>\r\n </ng-template>\r\n </ng-template>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SimpleGridCellComponent {\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 @Input()\r\n public 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<void> = new EventEmitter<void>();\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 {delay, filter} from \"rxjs/operators\";\r\nimport {AfterViewInit, Directive, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from \"@angular/core\";\r\nimport {Subject} from \"rxjs\";\r\n\r\n@Directive({\r\n selector: '[observeVisibility]',\r\n})\r\nexport class ObserveVisibilityDirective implements OnDestroy, OnInit, AfterViewInit {\r\n\r\n @Input()\r\n public debounceTime: number = 0;\r\n\r\n @Input()\r\n public threshold: number = 0;\r\n\r\n @Output()\r\n public visible: EventEmitter<HTMLElement> = new EventEmitter<HTMLElement>();\r\n\r\n private _observer: IntersectionObserver | undefined;\r\n private _subject: Subject<{ entry: IntersectionObserverEntry, observer: IntersectionObserver }> =\r\n new Subject<{ entry: IntersectionObserverEntry, observer: IntersectionObserver }>();\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 this._subject.next();\r\n this._subject.complete();\r\n }\r\n\r\n private _isVisible(element: HTMLElement): Promise<boolean> {\r\n return new Promise(resolve => {\r\n const observer: IntersectionObserver = new IntersectionObserver(([entry]) => {\r\n resolve(entry.isIntersecting && entry.intersectionRatio >= this.threshold);\r\n observer.disconnect();\r\n });\r\n\r\n observer.observe(element);\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\r\n const isIntersecting = (entry: IntersectionObserverEntry) =>\r\n entry.isIntersecting || entry.intersectionRatio > 0;\r\n\r\n this._observer = new IntersectionObserver((entries, observer) => {\r\n entries.forEach(entry => {\r\n if (isIntersecting(entry)) {\r\n this._subject.next({ entry, observer });\r\n }\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\r\n this._observer.observe(this._element.nativeElement);\r\n\r\n this._subject\r\n .pipe(delay(this.debounceTime), filter(Boolean))\r\n .subscribe(async ({ entry, observer }) => {\r\n const target: HTMLElement = entry.target as HTMLElement;\r\n const isStillVisible: boolean = await this._isVisible(target);\r\n\r\n if (isStillVisible) {\r\n this.visible.emit(target);\r\n observer.unobserve(target);\r\n }\r\n });\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 {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\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 ],\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","import { Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewEncapsulation } from \"@angular/core\";\r\nimport { CoreComponentsIcon } from \"../../core/enum/core-components-icon.enum\";\r\nimport { FilterItemViewmodel } from \"../../core/interface/filter-item-viewmodel\";\r\nimport { IconCacheService } from \"../icon/icon-cache.service\";\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 >\r\n <div class=\"co-filter-item-collapsable-content\">\r\n <div class=\"co-filter-item-custom-content\" *ngIf=\"customContent; else collectionContent\">\r\n <ng-content></ng-content>\r\n </div>\r\n <ng-template #collectionContent>\r\n <div class=\"co-filter-item-collection-content\">\r\n <co-input-text\r\n *ngIf=\"collection?.length > 10\"\r\n [placeholder]=\"searchPlaceholder\"\r\n [(model)]=\"filterText\"\r\n (modelChange)=\"applyFilter(filterText)\"\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 <div class=\"co-filter-item-collection-result-items\"\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 [label]=\"option.description\"\r\n [(model)]=\"option.checked\"\r\n (modelChange)=\"collectionChange.emit(collection)\"\r\n ></co-input-checkbox>\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 </div>\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 </ng-template>\r\n </div>\r\n </co-collapsible>\r\n </div>\r\n\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class FilterItemComponent implements OnInit {\r\n public icons: typeof CoreComponentsIcon = CoreComponentsIcon;\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 }\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 // 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 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 @Output()\r\n public collectionChange: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @Output()\r\n public filterTextChange: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @HostBinding(\"class.co-filter-item\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public filteredCollection: FilterItemViewmodel[] = [];\r\n public limitTo: number = 10;\r\n public filterText: string = \"\";\r\n\r\n private _collection: FilterItemViewmodel[] = [];\r\n\r\n constructor(public iconService: IconCacheService) {\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.setToInitialLimit();\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\r\n // Applies filter to the collection.\r\n public applyFilter(text: string): [] {\r\n this.filterTextChange.emit(text);\r\n\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","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 { InputCheckboxMultiSelectModule } from \"../input-checkbox-multi-select/input-checkbox-multi-select.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\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CollapsibleModule,\r\n InputTextModule,\r\n InputCheckboxMultiSelectModule,\r\n InputCheckboxModule,\r\n IconModule,\r\n ScrollingModule,\r\n AppendPipeModule,\r\n PrependPipeModule\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","/*\n * Public API Surface of corecomponents\n */\n\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/button-drop-down/button-drop-down.module';\nexport * from './lib/components/button-drop-down/button-drop-down.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/co-dialog/co-dialog.module';\nexport * from './lib/components/co-dialog/co-dialog.component';\nexport * from './lib/components/co-dialog-prompt/co-dialog-prompt.module';\nexport * from './lib/components/co-dialog-prompt/co-dialog-prompt.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/co-kanban/co-kanban.module';\nexport * from './lib/components/co-kanban/co-kanban.component';\nexport * from './lib/components/co-rich-text-editor/co-rich-text-editor.component';\nexport * from './lib/components/co-rich-text-editor/co-rich-text-editor.module';\nexport * from './lib/components/co-schedule/co-schedule.module';\nexport * from './lib/components/co-schedule/co-schedule.component';\nexport * from './lib/components/co-sidebar/co-sidebar.module';\nexport * from './lib/components/co-sidebar/co-sidebar.component';\nexport * from './lib/components/co-toggle/co-toggle.module';\nexport * from './lib/components/co-toggle/co-toggle.component';\nexport * from './lib/components/collapsible/collapsible.module';\nexport * from './lib/components/collapsible/collapsible.component';\nexport * from './lib/components/drop-down-list/drop-down.module';\nexport * from './lib/components/drop-down-list/drop-down-list.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/co-grid.module';\nexport * from './lib/components/grid/co-grid.component';\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/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-checkbox-multi-select/input-checkbox-multi-select.module';\nexport * from './lib/components/input-checkbox-multi-select/input-checkbox-multi-select.component';\nexport * from './lib/components/input-combo-box/input-combo-box.module';\nexport * from './lib/components/input-combo-box/input-combo-box.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/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/input-listbox/input-listbox.component';\nexport * from './lib/components/input-listbox/input-listbox.module';\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/multi-select-list/multi-select-list.module';\nexport * from './lib/components/multi-select-list/multi-select-list.component';\nexport * from './lib/components/pivot/co-pivot.module';\nexport * from './lib/components/pivot/co-pivot.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/base/component-interface-name';\nexport * from './lib/pipes/price-display.pipe';\nexport * from './lib/pipes/price-display-pipe.module';\nexport * from './lib/components/filter-item/filter-item.component';\nexport * from './lib/components/filter-item/filter-item.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {BaseInputComponent as ɵm} from './lib/components/base/base-input.component';\nexport {BaseModule as ɵj} from './lib/components/base/base.module';\nexport {CommitButtonsComponent as ɵw} from './lib/components/base/commit-buttons/commit-buttons.component';\nexport {CommitButtonsModule as ɵv} from './lib/components/base/commit-buttons/commit-buttons.module';\nexport {BaseGridComponent as ɵq} from './lib/components/grid/base/base-grid.component';\nexport {BaseInlineEditGridComponent as ɵo} from './lib/components/grid/base/base-inline-edit-grid.component';\nexport {BaseSelectionGridComponent as ɵn} from './lib/components/grid/base/base-selection-grid.component';\nexport {BaseToolbarGridComponent as ɵp} from './lib/components/grid/base/base-toolbar-grid.component';\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 ɵbb} from './lib/components/simple-grid/simple-grid-cell.component';\nexport {ValidationErrorComponent as ɵu} from './lib/components/validation-error/validation-error.component';\nexport {ValidationErrorModule as ɵt} from './lib/components/validation-error/validation-error.module';\nexport {InputBoolean as ɵi} from './lib/core/decorator/input-boolean.decorator';\nexport {FormInputUserModelChangeListenerService as ɵk} from './lib/core/service/form-input-user-change-listener.service';\nexport {NgZoneWrapperService as ɵl} from './lib/core/service/ng-zone-wrapper.service';\nexport {ObserveVisibilityDirective as ɵba} from './lib/directives/observe-visibility/observe-visibility.directive';\nexport {ObserveVisibilityModule as ɵz} from './lib/directives/observe-visibility/observe-visibility.module';\nexport {CoRippleDirective as ɵc,MD_RIPPLE_GLOBAL_OPTIONS as ɵb} from './lib/directives/ripple/ripple.directive';\nexport {RippleModule as ɵa} from './lib/directives/ripple/ripple.module';\nexport {CoScrollDispatcherService as ɵe} from './lib/directives/ripple/scroll-dispatcher.service';\nexport {CoScrollableDirective as ɵf} from './lib/directives/ripple/scrollable.directive';\nexport {CoViewportRulerService as ɵd} from './lib/directives/ripple/viewport-ruler.service';\nexport {StopClickDirective as ɵh} from './lib/directives/stopclick/stop-click.directive';\nexport {StopClickModule as ɵg} from './lib/directives/stopclick/stop-click.module';\nexport {AppendPipe as ɵs} from './lib/pipes/append.pipe';\nexport {AppendPipeModule as ɵr} from './lib/pipes/append.pipe.module';\nexport {PrependPipe as ɵbd} from './lib/pipes/prepend.pipe';\nexport {PrependPipeModule as ɵbc} from './lib/pipes/prepend.pipe.module';"],"names":["ToolbarService"],"mappings":"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"}