UNPKG

841 kBSource Map (JSON)View Raw
1{"version":3,"file":"kushki-ng-suka.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@kushki/ng-suka/lib/loading/loading.component.ts","ng://@kushki/ng-suka/lib/loading/loading.module.ts","ng://@kushki/ng-suka/lib/button/button.directive.ts","ng://@kushki/ng-suka/lib/button/button-group.component.ts","ng://@kushki/ng-suka/lib/button/button.module.ts","ng://@kushki/ng-suka/lib/checkbox/checkbox.component.ts","ng://@kushki/ng-suka/lib/checkbox/checkbox.module.ts","ng://@kushki/ng-suka/lib/icon/icon-defs.ts","ng://@kushki/ng-suka/lib/icon/icon.component.ts","ng://@kushki/ng-suka/lib/icon/icon.module.ts","ng://@kushki/ng-suka/lib/select/select.component.ts","ng://@kushki/ng-suka/lib/select/option.directive.ts","ng://@kushki/ng-suka/lib/select/optgroup.directive.ts","ng://@kushki/ng-suka/lib/select/select.module.ts","ng://@kushki/ng-suka/lib/input/label.component.ts","ng://@kushki/ng-suka/lib/input/input.directive.ts","ng://@kushki/ng-suka/lib/input/text-area.directive.ts","ng://@kushki/ng-suka/lib/input/input.module.ts","ng://@kushki/ng-suka/lib/grid/grid.directive.ts","ng://@kushki/ng-suka/lib/grid/grid.module.ts","ng://@kushki/ng-suka/lib/toggle/toggle.component.ts","ng://@kushki/ng-suka/lib/toggle/toggle.module.ts","ng://@kushki/ng-suka/lib/radio/radio-change.class.ts","ng://@kushki/ng-suka/lib/radio/radio.component.ts","ng://@kushki/ng-suka/lib/radio/radio-group.component.ts","ng://@kushki/ng-suka/lib/radio/radio.module.ts","ng://@kushki/ng-suka/lib/button-radio/button-radio-change.class.ts","ng://@kushki/ng-suka/lib/button-radio/button-radio.component.ts","ng://@kushki/ng-suka/lib/button-radio/button-radio-group.component.ts","ng://@kushki/ng-suka/lib/button-radio/button-radio.module.ts","ng://@kushki/ng-suka/lib/container/container.directive.ts","ng://@kushki/ng-suka/lib/container/container.module.ts","ng://@kushki/ng-suka/lib/spacing/margin.directive.ts","ng://@kushki/ng-suka/lib/spacing/padding.directive.ts","ng://@kushki/ng-suka/lib/spacing/spacing.module.ts","ng://@kushki/ng-suka/lib/card/card.component.ts","ng://@kushki/ng-suka/lib/card/card-header.component.ts","ng://@kushki/ng-suka/lib/card/card-section.component.ts","ng://@kushki/ng-suka/lib/card/card-footer.component.ts","ng://@kushki/ng-suka/lib/card/card.module.ts","ng://@kushki/ng-suka/lib/accordion/accordion.component.ts","ng://@kushki/ng-suka/lib/accordion/accordion-item.component.ts","ng://@kushki/ng-suka/lib/accordion/accordion.module.ts","ng://@kushki/ng-suka/lib/list/list-item.directive.ts","ng://@kushki/ng-suka/lib/list/list.directive.ts","ng://@kushki/ng-suka/lib/list/list.module.ts","ng://@kushki/ng-suka/lib/number-input/number-change.class.ts","ng://@kushki/ng-suka/lib/number-input/number.component.ts","ng://@kushki/ng-suka/lib/number-input/number.module.ts","ng://@kushki/ng-suka/lib/search/search.component.ts","ng://@kushki/ng-suka/lib/search/search.module.ts","ng://@kushki/ng-suka/lib/tabs/tab-item.component.ts","ng://@kushki/ng-suka/lib/tabs/tabs.component.ts","ng://@kushki/ng-suka/lib/tabs/tabs.module.ts","ng://@kushki/ng-suka/lib/tooltip/tooltip-container.component.ts","ng://@kushki/ng-suka/lib/tooltip/tooltip.directive.ts","ng://@kushki/ng-suka/lib/tooltip/tooltip.module.ts","ng://@kushki/ng-suka/lib/link/link.directive.ts","ng://@kushki/ng-suka/lib/link/link.module.ts","ng://@kushki/ng-suka/lib/input-group/input-group.component.ts","ng://@kushki/ng-suka/lib/input-group/input-group-item.directive.ts","ng://@kushki/ng-suka/lib/input-group/input-group.module.ts","ng://@kushki/ng-suka/lib/modal/modal-ref.ts","ng://@kushki/ng-suka/lib/modal/modal.tokens.ts","ng://@kushki/ng-suka/lib/modal/modal-container.component.ts","ng://@kushki/ng-suka/lib/modal/modal.service.ts","ng://@kushki/ng-suka/lib/modal/modal.directive.ts","ng://@kushki/ng-suka/lib/modal/modal.module.ts","ng://@kushki/ng-suka/lib/popover/popover.tokens.ts","ng://@kushki/ng-suka/lib/popover/popover-ref.ts","ng://@kushki/ng-suka/lib/popover/popover-container.component.ts","ng://@kushki/ng-suka/lib/popover/popover.service.ts","ng://@kushki/ng-suka/lib/popover/popover.directive.ts","ng://@kushki/ng-suka/lib/popover/popover-section.component.ts","ng://@kushki/ng-suka/lib/popover/popover-action-list.component.ts","ng://@kushki/ng-suka/lib/popover/popover-action-item.component.ts","ng://@kushki/ng-suka/lib/popover/popover.module.ts","ng://@kushki/ng-suka/lib/stack/stack.component.ts","ng://@kushki/ng-suka/lib/stack/stack-item.directive.ts","ng://@kushki/ng-suka/lib/stack/stack.module.ts","ng://@kushki/ng-suka/lib/form-layout/form-layout.component.ts","ng://@kushki/ng-suka/lib/form-layout/form-layout.module.ts","ng://@kushki/ng-suka/lib/table/table.component.ts","ng://@kushki/ng-suka/lib/table/cell.ts","ng://@kushki/ng-suka/lib/table/row.ts","ng://@kushki/ng-suka/lib/pagination/pagination-utils.ts","ng://@kushki/ng-suka/lib/pagination/pagination.component.ts","ng://@kushki/ng-suka/lib/pagination/pagination.module.ts","ng://@kushki/ng-suka/lib/table/table-data-source.ts","ng://@kushki/ng-suka/lib/table/table-skeleton.component.ts","ng://@kushki/ng-suka/lib/table/table.module.ts","ng://@kushki/ng-suka/lib/navigation/navigation.component.ts","ng://@kushki/ng-suka/lib/navigation/navigation-item.component.ts","ng://@kushki/ng-suka/lib/navigation/navigation-menu.component.ts","ng://@kushki/ng-suka/lib/navigation/mobile-navigation.component.ts","ng://@kushki/ng-suka/lib/navigation/navigation.module.ts","ng://@kushki/ng-suka/lib/badge/badge.component.ts","ng://@kushki/ng-suka/lib/badge/badge.module.ts","ng://@kushki/ng-suka/lib/topbar/topbar.component.ts","ng://@kushki/ng-suka/lib/topbar/topbar-global.component.ts","ng://@kushki/ng-suka/lib/topbar/topbar-navigation.component.ts","ng://@kushki/ng-suka/lib/topbar/topbar-item.component.ts","ng://@kushki/ng-suka/lib/topbar/topbar-menu.component.ts","ng://@kushki/ng-suka/lib/topbar/topbar.module.ts","ng://@kushki/ng-suka/lib/frame/frame.component.ts","ng://@kushki/ng-suka/lib/frame/frame.module.ts","ng://@kushki/ng-suka/lib/breadcrumb/breadcrumb.component.ts","ng://@kushki/ng-suka/lib/breadcrumb/breadcrumb.module.ts","ng://@kushki/ng-suka/lib/page/page.component.ts","ng://@kushki/ng-suka/lib/page/page-header.component.ts","ng://@kushki/ng-suka/lib/page/page.module.ts","ng://@kushki/ng-suka/lib/file-uploader/file-uploader.component.ts","ng://@kushki/ng-suka/lib/file-uploader/file.component.ts","ng://@kushki/ng-suka/lib/file-uploader/file-uploader.module.ts","ng://@kushki/ng-suka/lib/avatar/avatar.component.ts","ng://@kushki/ng-suka/lib/avatar/avatar.module.ts","ng://@kushki/ng-suka/lib/datepicker-input/datepicker-input.component.ts","ng://@kushki/ng-suka/lib/datepicker-input/datepicker-input.module.ts","ng://@kushki/ng-suka/lib/datepicker/sukaFlatpickrMonthSelectPlugin.ts","ng://@kushki/ng-suka/lib/datepicker/datepicker.component.ts","ng://@kushki/ng-suka/lib/datepicker/datepicker.module.ts","ng://@kushki/ng-suka/lib/toast/toast-ref.ts","ng://@kushki/ng-suka/lib/toast/toast.tokens.ts","ng://@kushki/ng-suka/lib/toast/toast-animations.ts","ng://@kushki/ng-suka/lib/toast/toast-container.component.ts","ng://@kushki/ng-suka/lib/toast/toast.service.ts","ng://@kushki/ng-suka/lib/toast/toast.module.ts","ng://@kushki/ng-suka/lib/progress/progress.component.ts","ng://@kushki/ng-suka/lib/progress/progress.module.ts","ng://@kushki/ng-suka/lib/layout/layout.component.ts","ng://@kushki/ng-suka/lib/layout/layout-section.component.ts","ng://@kushki/ng-suka/lib/layout/layout.module.ts","ng://@kushki/ng-suka/lib/banner/banner.component.ts","ng://@kushki/ng-suka/lib/banner/banner.module.ts","ng://@kushki/ng-suka/lib/code-snippet/code-snippet.component.ts","ng://@kushki/ng-suka/lib/code-snippet/code-snippet.module.ts","ng://@kushki/ng-suka/lib/empty-state/empty-state.component.ts","ng://@kushki/ng-suka/lib/empty-state/empty-state.module.ts","ng://@kushki/ng-suka/lib/color-picker/color-utils.ts","ng://@kushki/ng-suka/lib/color-picker/color-picker.component.ts","ng://@kushki/ng-suka/lib/color-picker/color-slider.component.ts","ng://@kushki/ng-suka/lib/color-picker/color-palette.component.ts","ng://@kushki/ng-suka/lib/color-picker/color-picker-input.component.ts","ng://@kushki/ng-suka/lib/color-picker/color-picker.module.ts","ng://@kushki/ng-suka/lib/sheet/sheet-ref.ts","ng://@kushki/ng-suka/lib/sheet/sheet.tokens.ts","ng://@kushki/ng-suka/lib/sheet/sheet-container.component.ts","ng://@kushki/ng-suka/lib/sheet/sheet.service.ts","ng://@kushki/ng-suka/lib/sheet/sheet.directive.ts","ng://@kushki/ng-suka/lib/sheet/sheet.module.ts","ng://@kushki/ng-suka/lib/calendar-day-picker/calendar-day-picker.component.ts","ng://@kushki/ng-suka/lib/calendar-day-picker/calendar-day-overlay.component.ts","ng://@kushki/ng-suka/lib/calendar-day-picker/calendar-day-picker.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { Component, Input, HostBinding, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'suka-loading',\n template: `\n <div\n [ngClass]=\"{\n 'loading--small': size === 'sm',\n 'loading--stop': !isActive && !overlay,\n 'loading-overlay--stop': !isActive && overlay\n }\"\n class=\"loading\">\n <svg class=\"loading__svg\" viewBox=\"-75 -75 150 150\">\n <title>{{title}}</title>\n <circle class=\"loading__stroke\" cx=\"0\" cy=\"0\" r=\"37.5\" />\n </svg>\n </div>\n `\n})\nexport class Loading {\n @Input() title = 'Loading';\n\n /**\n * set to `false` to stop the loading animation\n */\n @Input() isActive = true;\n\n /**\n * Specify the size of the button\n */\n @Input() size: 'normal' | 'sm' = 'normal';\n\n /**\n * Set to `true` to make loader with an overlay.\n */\n @Input() @HostBinding('class.loading-overlay') overlay = false;\n\n constructor(public elementRef: ElementRef) {}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { Loading } from './loading.component';\n\nexport { Loading } from './loading.component';\n\n@NgModule({\n declarations: [\n Loading\n ],\n exports: [\n Loading\n ],\n imports: [\n CommonModule\n ]\n})\nexport class LoadingModule { }\n","import {\n Directive,\n HostBinding,\n Input,\n OnInit,\n OnChanges,\n AfterViewInit,\n ChangeDetectorRef,\n ElementRef,\n Renderer2,\n ViewContainerRef,\n ComponentFactoryResolver,\n SimpleChanges\n} from '@angular/core';\nimport { Loading } from '../loading/loading.module';\nimport { ButtonType } from './button-types';\n\n\n/**\n * Buttons are used primarily for actions, such as “Add”, “Close”, “Cancel”, or “Save”.\n * Plain buttons, which look similar to links, are used for less important or less commonly used actions, such as “view shipping settings”.\n *\n * For navigational actions that appear within or directly following a sentence, use the link component.\n */\n@Directive({\n selector: '[sukaButton]'\n})\nexport class Button implements OnInit, AfterViewInit, OnChanges {\n /**\n * Sets the button type. Can be `primary`, `basic`, `plain`, `destructive` or `outline_white`.\n */\n @Input() sukaButton: ButtonType = 'basic';\n\n /**\n * Button size. Can be `md` (Medium), `sm` (Small) or `lg` (Large).\n */\n @Input() size?: 'md' | 'sm' | 'lg' = 'md';\n\n @HostBinding('class.btn--basic') get basic() {\n return this.getType('basic');\n }\n @HostBinding('class.btn--primary') get primary() {\n return this.getType('primary');\n }\n @HostBinding('class.btn--plain') get plain() {\n return this.getType('plain');\n }\n @HostBinding('class.btn--destructive') get destructive() {\n return this.getType('destructive');\n }\n @HostBinding('class.btn--outline_white') get outline_white() {\n return this.getType('outline_white');\n }\n\n /**\n * Set to `true` for a skeleton state button.\n */\n @HostBinding('class.skeleton') @Input() skeleton ? = false;\n /**\n * Set to `true` to display the outline version of the button.\n */\n @HostBinding('class.btn--outline') @Input() outline ? = false;\n /**\n * Set to `true` for a hover effect.\n */\n @HostBinding('class.btn--hover') @Input() hover ? = false;\n /**\n * Set to `true` for a button that uses the full horizontal width;\n */\n @HostBinding('class.btn--full_width') @Input() fullWidth ? = false;\n /**\n * Sets to `true` when the button is on a button group.\n */\n @HostBinding('class.btn--group_item') @Input() inGroup ? = false;\n /**\n * Set to `true` for a loading button.\n */\n @HostBinding('class.btn--loading') @Input() loading ? = false;\n\n @HostBinding('class.btn--sm') get buttonSmall() {\n return this.size === 'sm';\n }\n @HostBinding('class.btn--lg') get buttonLarge() {\n return this.size === 'lg';\n }\n\n /**\n * @ignore\n */\n loadingSpinner: Loading;\n\n constructor(\n private ref: ChangeDetectorRef,\n private el: ElementRef,\n private renderer: Renderer2,\n private viewContainerRef: ViewContainerRef,\n private componentFactoryResolver: ComponentFactoryResolver\n ) {}\n\n private getType(type: ButtonType): boolean {\n return this.sukaButton === type;\n }\n\n public ngOnInit() {\n if (!this.sukaButton) {\n this.sukaButton = 'basic';\n }\n\n // Create the spinner\n const factory = this.componentFactoryResolver.resolveComponentFactory(Loading);\n const componentRef = this.viewContainerRef.createComponent(factory);\n this.loadingSpinner = componentRef.instance;\n\n this.loadingSpinner.size = 'sm';\n\n this.renderer.setStyle(this.loadingSpinner.elementRef.nativeElement, 'display', 'none');\n\n this.renderer.appendChild(this.el.nativeElement, this.loadingSpinner.elementRef.nativeElement);\n\n if (this.loading) {\n this.renderer.setStyle(this.loadingSpinner.elementRef.nativeElement, 'display', 'inherit');\n this.el.nativeElement.disabled = true;\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.loading && this.loadingSpinner) {\n if (this.loading) {\n this.renderer.setStyle(this.loadingSpinner.elementRef.nativeElement, 'display', 'inherit');\n } else {\n this.renderer.setStyle(this.loadingSpinner.elementRef.nativeElement, 'display', 'none');\n }\n\n this.el.nativeElement.disabled = changes.loading.currentValue;\n }\n }\n\n ngAfterViewInit() {\n this.ref.detectChanges();\n }\n}\n","import {\n Component,\n HostBinding,\n Input,\n AfterContentInit,\n ContentChildren,\n QueryList,\n} from '@angular/core';\nimport { Button } from './button.directive';\n\n@Component({\n selector: 'suka-button-group',\n template: `<div class=\"btn-group__wrapper\"><ng-content></ng-content></div>`\n })\nexport class ButtonGroup implements AfterContentInit {\n @HostBinding('class.btn-group') baseClass = true;\n\n /**\n * \tJoin buttons as segmented group\n */\n @HostBinding('class.btn-group--segmented') @Input() segmented: boolean;\n\n @ContentChildren(Button) buttons: QueryList<Button>;\n\n ngAfterContentInit() {\n this.buttons.toArray().forEach((button: Button) => {\n button.inGroup = true;\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { Button } from './button.directive';\nimport { ButtonGroup } from './button-group.component';\nimport { Loading, LoadingModule } from '../loading/loading.module';\n\nexport { Button } from './button.directive';\nexport { ButtonGroup } from './button-group.component';\nexport { ButtonType } from './button-types';\n\n@NgModule({\n declarations: [Button, ButtonGroup],\n exports: [Button, ButtonGroup],\n imports: [CommonModule, LoadingModule],\n entryComponents: [Loading],\n})\nexport class ButtonModule { }\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n HostBinding\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\n\n/**\n * Defines the set of states for a checkbox component.\n */\nexport enum CheckboxState {\n Init,\n Indeterminate,\n Checked,\n Unchecked\n}\n\n/**\n * Used to emit changes performed on checkbox components.\n */\nexport class CheckboxChange {\n source: Checkbox;\n checked: boolean;\n}\n\n@Component({\n selector: 'suka-checkbox',\n template: `\n <input\n #inputCheckbox\n class=\"checkbox\"\n type=\"checkbox\"\n [id]=\"id\"\n [value]=\"value\"\n [name]=\"name\"\n [required]=\"required\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [indeterminate]=\"indeterminate\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-checked]=\"(indeterminate ? 'mixed' : checked)\"\n (change)=\"onChange($event)\"\n (click)=\"onClick($event)\">\n <label\n [for]=\"id\"\n class=\"checkbox-label\"\n [ngClass]=\"{\n 'skeleton' : skeleton\n }\">\n <span [ngClass]=\"{'visually-hidden' : hideLabel}\">\n <ng-content></ng-content>\n </span>\n </label>\n `,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: Checkbox,\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n// tslint:disable-next-line: component-class-suffix\nexport class Checkbox implements ControlValueAccessor, AfterViewInit {\n /**\n * Variable used for creating unique ids for checkbox components.\n */\n static checkboxCount = 0;\n\n /**\n * Size of the checkbox.\n */\n @Input() size: 'sm' | 'md' = 'md';\n\n /**\n * Set to `true` for checkbox to be rendered with nested styles.\n */\n @Input() nested: boolean;\n\n /**\n * Set to `true` for checkbox to be rendered without any classes on the host element.\n */\n @Input() inline = false;\n\n /**\n * Set to `true` for a disabled checkbox.\n */\n @Input() disabled = false;\n\n /**\n * Set to `true` for a loading checkbox.\n */\n @Input() skeleton = false;\n\n /**\n * Set to `true` to hide the checkbox labels.\n */\n @Input() hideLabel = false;\n\n /**\n * Sets the name attribute on the `input` element.\n */\n @Input() name: string;\n\n /**\n * The unique id for the checkbox component.\n */\n @Input() id = `checkbox-${Checkbox.checkboxCount}`;\n\n /**\n * Reflects the required attribute of the `input` element.\n */\n @Input() required: boolean;\n\n /**\n * Sets the value attribute on the `input` element.\n */\n @Input() value: string;\n\n /**\n * Used to set the `aria-label` attribute on the input element.\n */\n // tslint:disable-next-line:no-input-rename\n @Input('aria-label') ariaLabel = '';\n\n /**\n * Used to set the `aria-labelledby` attribute on the input element.\n */\n // tslint:disable-next-line:no-input-rename\n @Input('aria-labelledby') ariaLabelledby: string;\n\n /**\n * Reflects whether the checkbox state is indeterminate.\n */\n get indeterminate() {\n return this._indeterminate;\n }\n\n /**\n * Set the checkbox's indeterminate state to match the parameter and transition the view to reflect the change.\n */\n @Input() set indeterminate(indeterminate: boolean) {\n const changed = this._indeterminate !== indeterminate;\n this._indeterminate = indeterminate;\n\n if (changed) {\n this.transitionCheckboxState(CheckboxState.Indeterminate);\n } else {\n this.transitionCheckboxState(this.checked ? CheckboxState.Checked : CheckboxState.Unchecked);\n }\n\n this.indeterminateChange.emit(this._indeterminate);\n }\n\n /**\n * Returns value `true` if state is selected for the checkbox.\n */\n get checked() {\n return this._checked;\n }\n\n /**\n * Updating the state of a checkbox to match the state of the parameter passed in.\n */\n @Input() set checked(checked: boolean) {\n if (checked !== this.checked) {\n if (this._indeterminate) {\n Promise.resolve().then(() => {\n this._indeterminate = false;\n this.indeterminateChange.emit(this._indeterminate);\n });\n }\n this._checked = checked;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n @HostBinding('class.checkbox-wrapper') get checkboxWrapperClass() {\n return !this.inline;\n }\n @HostBinding('class.form-item') get formItemClass() {\n return !this.inline;\n }\n\n /**\n * Emits event notifying other classes when a change in state occurs on a checkbox after a\n * click.\n */\n // tslint:disable-next-line: no-output-native\n @Output() change = new EventEmitter<CheckboxChange>();\n /**\n * Emits event notifying other classes when a change in state occurs specifically\n * on an indeterminate checkbox.\n */\n @Output() indeterminateChange = new EventEmitter<boolean>();\n\n /**\n * Set to `true` if the input checkbox is selected (or checked).\n */\n // tslint:disable-next-line: variable-name\n _checked = false;\n /**\n * Set to `true` if the input checkbox is in state indeterminate.\n */\n // tslint:disable-next-line: variable-name\n _indeterminate = false;\n\n currentCheckboxState: CheckboxState = CheckboxState.Init;\n\n /**\n * Maintains a reference to the view DOM element of the `Checkbox`.\n */\n @ViewChild('inputCheckbox', { static: true }) inputCheckbox: ElementRef;\n\n /**\n * Creates an instance of `Checkbox`.\n */\n constructor(protected changeDetectorRef: ChangeDetectorRef) {\n Checkbox.checkboxCount++;\n }\n\n /**\n * Toggle the selected state of the checkbox.\n */\n public toggle() {\n this.checked = !this.checked;\n }\n\n // this is the initial value set to the component\n public writeValue(value: any) {\n this.checked = !!value;\n }\n\n /**\n * Sets a method in order to propagate changes back to the form.\n */\n public registerOnChange(fn: any) {\n this.propagateChange = fn;\n }\n\n /**\n * Registers a callback to be triggered when the control has been touched.\n * @param fn Callback to be triggered when the checkbox is touched.\n */\n public registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n /**\n * Executes on the event of a change within `Checkbox` to block propagation.\n */\n onChange(event) {\n event.stopPropagation();\n }\n\n /**\n * Handles click events on the `Checkbox` and emits changes to other classes.\n */\n onClick(event) {\n if (!this.disabled) {\n this.toggle();\n this.transitionCheckboxState(this._checked ? CheckboxState.Checked : CheckboxState.Unchecked);\n this.emitChangeEvent();\n }\n }\n\n\n /**\n * Called when checkbox is blurred. Needed to properly implement `ControlValueAccessor`.\n */\n onTouched: () => any = () => { };\n\n /**\n * Handles changes between checkbox states.\n */\n transitionCheckboxState(newState: CheckboxState) {\n const oldState = this.currentCheckboxState;\n\n // Indeterminate has to be set always if it's transitioned to\n // checked has to be set before indeterminate or it overrides\n // indeterminate's dash\n if (newState === CheckboxState.Indeterminate) {\n this.checked = false;\n this.inputCheckbox.nativeElement.indeterminate = true;\n }\n\n if (oldState === newState) {\n return;\n }\n\n this.currentCheckboxState = newState;\n }\n\n /**\n * Creates instance of `CheckboxChange` used to propagate the change event.\n */\n emitChangeEvent() {\n const event = new CheckboxChange();\n event.source = this;\n event.checked = this.checked;\n\n this.propagateChange(this.checked);\n this.change.emit(event);\n }\n\n /**\n * Updates the checkbox if it is in the indeterminate state.\n */\n ngAfterViewInit() {\n if (this.indeterminate) {\n this.inputCheckbox.nativeElement.indeterminate = true;\n this.checked = false;\n }\n }\n\n /**\n * Method set in `registerOnChange` to propagate changes back to the form.\n */\n propagateChange = (_: any) => { };\n}\n","// modules\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\n// imports\nimport { Checkbox } from './checkbox.component';\n\n// exports\nexport { Checkbox } from './checkbox.component';\n\n@NgModule({\n declarations: [\n Checkbox\n ],\n exports: [\n Checkbox\n ],\n imports: [\n CommonModule,\n FormsModule\n ]\n})\nexport class CheckboxModule { }\n","// tslint:disable: max-line-length\n\nimport { IconType } from './icon-types';\n\ninterface IconDef {\n name: IconType;\n template: string;\n}\n\nexport const iconDefs: IconDef[] = [\n {\n name: 'activity',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>activity</title>\n <path d=\"M14.667 7.333h-2.667c-0.293 0-0.541 0.189-0.633 0.456l-1.367 4.103-3.367-10.103c-0.117-0.349-0.494-0.538-0.843-0.422-0.207 0.069-0.357 0.229-0.422 0.422l-1.848 5.544h-2.186c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h2.667c0.282-0.002 0.54-0.178 0.633-0.456l1.367-4.103 3.367 10.103c0.065 0.193 0.215 0.353 0.421 0.421 0.349 0.117 0.727-0.073 0.843-0.421l1.849-5.544h2.186c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'airplay',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>airplay</title>\n <path d=\"M3.333 10.667h-0.667c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-6.667c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195h10.667c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v6.667c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-0.667c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h0.667c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-6.667c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586h-10.667c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v6.667c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h0.667c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667zM8.512 9.573c-0.023-0.029-0.053-0.058-0.085-0.085-0.283-0.236-0.703-0.197-0.939 0.085l-3.333 4c-0.096 0.115-0.155 0.264-0.155 0.427 0 0.368 0.299 0.667 0.667 0.667h6.667c0.15 0.001 0.302-0.050 0.427-0.155 0.283-0.236 0.321-0.656 0.085-0.939zM8 11.041l1.91 2.292h-3.82z\"></path>\n </svg>\n `\n },\n {\n name: 'alert-circle',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>alert-circle</title>\n <path d=\"M15.333 8c0-2.025-0.821-3.859-2.148-5.185s-3.161-2.148-5.185-2.148-3.859 0.821-5.185 2.148-2.148 3.161-2.148 5.185 0.821 3.859 2.148 5.185 3.161 2.148 5.185 2.148 3.859-0.821 5.185-2.148 2.148-3.161 2.148-5.185zM14 8c0 1.657-0.671 3.156-1.757 4.243s-2.585 1.757-4.243 1.757-3.156-0.671-4.243-1.757-1.757-2.585-1.757-4.243 0.671-3.156 1.757-4.243 2.585-1.757 4.243-1.757 3.156 0.671 4.243 1.757 1.757 2.585 1.757 4.243zM7.333 5.333v2.667c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-2.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667zM8.667 10.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667 0.299 0.667 0.667 0.667 0.667-0.299 0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'alert-octagon',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>alert-octagon</title>\n <path d=\"M5.24 0.667c-0.171 0-0.341 0.065-0.471 0.195l-3.907 3.907c-0.121 0.121-0.195 0.287-0.195 0.471v5.52c0 0.171 0.065 0.341 0.195 0.471l3.907 3.907c0.121 0.121 0.287 0.195 0.471 0.195h5.52c0.171 0 0.341-0.065 0.471-0.195l3.907-3.907c0.121-0.121 0.195-0.287 0.195-0.471v-5.52c0-0.171-0.065-0.341-0.195-0.471l-3.907-3.907c-0.121-0.121-0.287-0.195-0.471-0.195zM5.516 2h4.968l3.516 3.516v4.968l-3.516 3.516h-4.968l-3.516-3.516v-4.968zM7.333 5.333v2.667c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-2.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667zM8.667 10.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667 0.299 0.667 0.667 0.667 0.667-0.299 0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'alert-triangle',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>alert-triangle</title>\n <path d=\"M7.432 2.916c0.049-0.082 0.123-0.161 0.223-0.221 0.157-0.095 0.337-0.119 0.504-0.077s0.316 0.144 0.409 0.299l5.644 9.422c0.051 0.087 0.085 0.199 0.087 0.321 0.002 0.184-0.070 0.351-0.19 0.473s-0.285 0.199-0.462 0.201h-11.291c-0.101-0.001-0.214-0.027-0.321-0.089-0.159-0.092-0.266-0.239-0.311-0.405s-0.025-0.346 0.061-0.497zM6.288 2.231l-5.647 9.427c-0.281 0.487-0.337 1.033-0.205 1.527s0.453 0.939 0.932 1.215c0.309 0.179 0.651 0.267 0.983 0.268h11.295c0.559-0.006 1.058-0.236 1.415-0.601s0.576-0.869 0.57-1.421c-0.004-0.357-0.102-0.696-0.271-0.983l-5.649-9.431c-0.288-0.475-0.74-0.787-1.236-0.909s-1.041-0.054-1.513 0.233c-0.286 0.173-0.517 0.41-0.675 0.676zM7.333 6v2.667c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-2.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667zM8.667 11.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667 0.299 0.667 0.667 0.667 0.667-0.299 0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'align-center',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>align-center</title>\n <path d=\"M12 6h-8c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h8c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667zM14 3.333h-12c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h12c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667zM14 8.667h-12c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h12c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667zM12 11.333h-8c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h8c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'align-justify',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>align-justify</title>\n <path d=\"M14 6h-12c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h12c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667zM14 3.333h-12c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h12c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667zM14 8.667h-12c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h12c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667zM14 11.333h-12c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h12c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'align-left',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>align-left</title>\n <path d=\"M11.333 6h-9.333c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h9.333c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667zM14 3.333h-12c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h12c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667zM14 8.667h-12c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h12c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667zM11.333 11.333h-9.333c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h9.333c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'align-right',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>align-right</title>\n <path d=\"M14 6h-9.333c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h9.333c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667zM14 3.333h-12c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h12c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667zM14 8.667h-12c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h12c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667zM14 11.333h-9.333c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h9.333c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'anchor',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>anchor</title>\n <path d=\"M9.333 3.333c0 0.369-0.149 0.701-0.391 0.943s-0.574 0.391-0.943 0.391-0.701-0.149-0.943-0.391-0.391-0.574-0.391-0.943 0.149-0.701 0.391-0.943 0.574-0.391 0.943-0.391 0.701 0.149 0.943 0.391 0.391 0.574 0.391 0.943zM3.333 7.333h-2c-0.368 0-0.667 0.299-0.667 0.667 0 2.025 0.821 3.859 2.148 5.185s3.161 2.148 5.185 2.148 3.859-0.821 5.185-2.148 2.148-3.161 2.148-5.185c0-0.368-0.299-0.667-0.667-0.667h-2c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h1.297c-0.153 1.391-0.782 2.637-1.721 3.576s-2.185 1.567-3.576 1.721v-8.047c0.469-0.121 0.888-0.366 1.219-0.697 0.482-0.482 0.781-1.15 0.781-1.886s-0.299-1.404-0.781-1.885-1.149-0.781-1.885-0.781-1.404 0.299-1.885 0.781-0.781 1.149-0.781 1.885 0.299 1.404 0.781 1.885c0.331 0.331 0.75 0.577 1.219 0.697v8.047c-1.391-0.153-2.637-0.782-3.576-1.721s-1.567-2.185-1.721-3.576h1.297c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'aperture',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>aperture</title>\n <path d=\"M7.615 4.667l1.482-2.567c1.217 0.225 2.305 0.817 3.146 1.657 0.277 0.277 0.528 0.582 0.747 0.909h-3.463zM4.92 6.667l-1.481-2.565c0.102-0.119 0.208-0.234 0.319-0.345 1-1 2.35-1.648 3.85-1.745l-1.728 2.993zM5.305 10h-2.964c-0.221-0.625-0.341-1.299-0.341-2 0-0.953 0.222-1.854 0.617-2.655l1.733 3.003zM11.649 7.652l-0.954-1.652h2.964c0.221 0.625 0.341 1.299 0.341 2 0 0.953-0.222 1.854-0.617 2.655l-1.717-2.975zM8.392 13.987l2.688-4.654 1.481 2.565c-0.102 0.119-0.208 0.234-0.319 0.344-1 1-2.35 1.648-3.85 1.745zM7.133 15.283c0.031 0.005 0.061 0.009 0.093 0.010 0.254 0.027 0.513 0.041 0.774 0.041 2.025 0 3.859-0.821 5.185-2.148 0.244-0.244 0.471-0.505 0.678-0.781 0.028-0.031 0.053-0.065 0.073-0.099 0.879-1.209 1.397-2.697 1.397-4.305 0-1.026-0.211-2.003-0.592-2.891-0.011-0.029-0.023-0.057-0.037-0.084-0.369-0.829-0.887-1.578-1.519-2.211-1.134-1.134-2.64-1.899-4.319-2.097-0.031-0.005-0.061-0.009-0.093-0.010-0.254-0.027-0.513-0.041-0.774-0.041-2.025 0-3.859 0.821-5.185 2.148-0.244 0.243-0.471 0.505-0.678 0.781-0.028 0.031-0.053 0.065-0.074 0.099-0.878 1.209-1.396 2.697-1.396 4.305 0 1.026 0.211 2.003 0.592 2.891 0.011 0.029 0.023 0.057 0.037 0.084 0.369 0.829 0.887 1.578 1.519 2.211 1.134 1.134 2.64 1.899 4.319 2.097zM8.385 11.333l-1.482 2.567c-1.217-0.225-2.305-0.817-3.146-1.657-0.277-0.277-0.528-0.582-0.747-0.909h3.463zM10.31 8l-1.155 2h-2.311l-1.155-2 1.155-2h2.311z\"></path>\n </svg>\n `\n },\n {\n name: 'archive',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>archive</title>\n <path d=\"M2.667 6h10.667v7.333h-10.667zM0.667 1.333c-0.368 0-0.667 0.299-0.667 0.667v3.333c0 0.368 0.299 0.667 0.667 0.667h0.667v8c0 0.368 0.299 0.667 0.667 0.667h12c0.368 0 0.667-0.299 0.667-0.667v-8h0.667c0.368 0 0.667-0.299 0.667-0.667v-3.333c0-0.368-0.299-0.667-0.667-0.667zM1.333 2.667h13.333v2h-13.333zM6.667 8.667h2.667c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-2.667c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'arrow-down-circle',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>arrow-down-circle</title>\n <path d=\"M15.333 8c0-2.025-0.821-3.859-2.148-5.185s-3.161-2.148-5.185-2.148-3.859 0.821-5.185 2.148-2.148 3.161-2.148 5.185 0.821 3.859 2.148 5.185 3.161 2.148 5.185 2.148 3.859-0.821 5.185-2.148 2.148-3.161 2.148-5.185zM14 8c0 1.657-0.671 3.156-1.757 4.243s-2.585 1.757-4.243 1.757-3.156-0.671-4.243-1.757-1.757-2.585-1.757-4.243 0.671-3.156 1.757-4.243 2.585-1.757 4.243-1.757 3.156 0.671 4.243 1.757 1.757 2.585 1.757 4.243zM7.333 5.333v3.724l-1.529-1.529c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943l2.667 2.667c0.064 0.064 0.137 0.112 0.216 0.145s0.165 0.051 0.255 0.051 0.177-0.018 0.255-0.051c0.079-0.033 0.152-0.081 0.216-0.145l2.667-2.667c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-1.529 1.529v-3.724c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'arrow-down-left',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>arrow-down-left</title>\n <path d=\"M11.333 10.667h-5.057l5.529-5.529c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-5.529 5.529v-5.057c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v6.667c0 0.091 0.018 0.177 0.051 0.255s0.081 0.152 0.144 0.215c0.001 0.001 0.001 0.001 0.001 0.001 0.061 0.061 0.135 0.111 0.215 0.144 0.079 0.033 0.165 0.051 0.255 0.051h6.667c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'arrow-down-right',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>arrow-down-right</title>\n <path d=\"M10.667 4.667v5.057l-5.529-5.529c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943l5.529 5.529h-5.057c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h6.667c0.091 0 0.177-0.018 0.255-0.051s0.152-0.081 0.216-0.145c0.061-0.061 0.111-0.135 0.145-0.216 0.033-0.079 0.051-0.165 0.051-0.255v-6.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'arrow-down',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>arrow-down</title>\n <path d=\"M12.195 7.529l-3.529 3.529v-7.724c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v7.724l-3.529-3.529c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943l4.667 4.667c0.064 0.064 0.137 0.112 0.216 0.145s0.165 0.051 0.255 0.051c0.087 0 0.174-0.017 0.255-0.051 0.079-0.033 0.152-0.081 0.216-0.145l4.667-4.667c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0z\"></path>\n </svg>\n `\n },\n {\n name: 'arrow-left-circle',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>arrow-left-circle</title>\n <path d=\"M15.333 8c0-2.025-0.821-3.859-2.148-5.185s-3.161-2.148-5.185-2.148-3.859 0.821-5.185 2.148-2.148 3.161-2.148 5.185 0.821 3.859 2.148 5.185 3.161 2.148 5.185 2.148 3.859-0.821 5.185-2.148 2.148-3.161 2.148-5.185zM14 8c0 1.657-0.671 3.156-1.757 4.243s-2.585 1.757-4.243 1.757-3.156-0.671-4.243-1.757-1.757-2.585-1.757-4.243 0.671-3.156 1.757-4.243 2.585-1.757 4.243-1.757 3.156 0.671 4.243 1.757 1.757 2.585 1.757 4.243zM10.667 7.333h-3.724l1.529-1.529c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-2.667 2.667c-0.064 0.064-0.112 0.137-0.145 0.216s-0.051 0.165-0.051 0.255c0 0.087 0.017 0.174 0.051 0.255 0.033 0.079 0.081 0.152 0.145 0.216l2.667 2.667c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-1.529-1.529h3.724c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'arrow-left',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>arrow-left</title>\n <path d=\"M8.471 12.195l-3.529-3.529h7.724c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-7.724l3.529-3.529c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-4.667 4.667c-0.064 0.064-0.112 0.137-0.145 0.216-0.034 0.081-0.051 0.169-0.051 0.255 0 0.171 0.065 0.341 0.195 0.471l4.667 4.667c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'arrow-right-circle',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>arrow-right-circle</title>\n <path d=\"M15.333 8c0-2.025-0.821-3.859-2.148-5.185s-3.161-2.148-5.185-2.148-3.859 0.821-5.185 2.148-2.148 3.161-2.148 5.185 0.821 3.859 2.148 5.185 3.161 2.148 5.185 2.148 3.859-0.821 5.185-2.148 2.148-3.161 2.148-5.185zM14 8c0 1.657-0.671 3.156-1.757 4.243s-2.585 1.757-4.243 1.757-3.156-0.671-4.243-1.757-1.757-2.585-1.757-4.243 0.671-3.156 1.757-4.243 2.585-1.757 4.243-1.757 3.156 0.671 4.243 1.757 1.757 2.585 1.757 4.243zM5.333 8.667h3.724l-1.529 1.529c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0l2.667-2.667c0.061-0.061 0.111-0.135 0.145-0.216 0.067-0.163 0.067-0.347 0-0.511-0.033-0.079-0.081-0.152-0.145-0.216l-2.667-2.667c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943l1.529 1.529h-3.724c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'arrow-right',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>arrow-right</title>\n <path d=\"M7.529 3.805l3.529 3.529h-7.724c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h7.724l-3.529 3.529c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0l4.667-4.667c0.061-0.061 0.111-0.135 0.145-0.216 0.067-0.163 0.067-0.347 0-0.511-0.033-0.079-0.081-0.152-0.145-0.216l-4.667-4.667c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'arrow-up-circle',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>arrow-up-circle</title>\n <path d=\"M15.333 8c0-2.025-0.821-3.859-2.148-5.185s-3.161-2.148-5.185-2.148-3.859 0.821-5.185 2.148-2.148 3.161-2.148 5.185 0.821 3.859 2.148 5.185 3.161 2.148 5.185 2.148 3.859-0.821 5.185-2.148 2.148-3.161 2.148-5.185zM14 8c0 1.657-0.671 3.156-1.757 4.243s-2.585 1.757-4.243 1.757-3.156-0.671-4.243-1.757-1.757-2.585-1.757-4.243 0.671-3.156 1.757-4.243 2.585-1.757 4.243-1.757 3.156 0.671 4.243 1.757 1.757 2.585 1.757 4.243zM8.667 10.667v-3.724l1.529 1.529c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-2.667-2.667c-0.064-0.064-0.137-0.112-0.216-0.145s-0.165-0.051-0.255-0.051c-0.087 0-0.174 0.017-0.255 0.051-0.079 0.033-0.152 0.081-0.216 0.145l-2.667 2.667c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0l1.529-1.529v3.724c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'arrow-up-left',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>arrow-up-left</title>\n <path d=\"M5.333 11.333v-5.057l5.529 5.529c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-5.529-5.529h5.057c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-6.667c-0.091 0-0.177 0.018-0.255 0.051s-0.151 0.081-0.215 0.144c-0.001 0.001-0.001 0.001-0.001 0.001-0.061 0.061-0.111 0.134-0.144 0.215-0.033 0.079-0.051 0.165-0.051 0.255v6.667c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'arrow-up-right',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>arrow-up-right</title>\n <path d=\"M4.667 5.333h5.057l-5.529 5.529c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0l5.529-5.529v5.057c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-6.667c0-0.091-0.018-0.177-0.051-0.255s-0.081-0.152-0.144-0.215c-0.001-0.001-0.001-0.001-0.001-0.001-0.061-0.061-0.135-0.111-0.215-0.144-0.079-0.033-0.165-0.051-0.255-0.051h-6.667c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'arrow-up',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>arrow-up</title>\n <path d=\"M3.805 8.471l3.529-3.529v7.724c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-7.724l3.529 3.529c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-4.667-4.667c-0.064-0.064-0.137-0.112-0.216-0.145-0.081-0.034-0.169-0.051-0.255-0.051-0.171 0-0.341 0.065-0.471 0.195l-4.667 4.667c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0z\"></path>\n </svg>\n `\n },\n {\n name: 'at-sign',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>at-sign</title>\n <path d=\"M10 8c0 0.553-0.223 1.051-0.586 1.414s-0.861 0.586-1.414 0.586-1.051-0.223-1.414-0.586-0.586-0.861-0.586-1.414 0.223-1.051 0.586-1.414 0.861-0.586 1.414-0.586 1.051 0.223 1.414 0.586 0.586 0.861 0.586 1.414zM10.493 10.212c0.087 0.121 0.183 0.235 0.287 0.34 0.482 0.482 1.15 0.781 1.886 0.781s1.404-0.299 1.885-0.781 0.781-1.149 0.781-1.885v-0.667c0-2.025-0.822-3.859-2.148-5.185s-3.161-2.148-5.186-2.147-3.859 0.821-5.185 2.148-2.147 3.161-2.147 5.185 0.822 3.859 2.148 5.185 3.161 2.148 5.185 2.147c1.683 0 3.237-0.568 4.46-1.513 0.291-0.225 0.345-0.643 0.121-0.935s-0.643-0.345-0.935-0.121c-0.997 0.769-2.265 1.235-3.645 1.235-1.657 0-3.156-0.671-4.243-1.757s-1.757-2.584-1.757-4.241 0.671-3.156 1.757-4.243 2.585-1.757 4.242-1.757 3.156 0.671 4.243 1.757 1.758 2.585 1.758 4.242v0.667c0 0.369-0.149 0.701-0.391 0.943s-0.574 0.391-0.943 0.391-0.701-0.149-0.943-0.391-0.391-0.574-0.391-0.943v-3.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667c-0.557-0.418-1.25-0.667-2-0.667-0.92 0-1.755 0.374-2.357 0.976s-0.976 1.437-0.976 2.357 0.374 1.755 0.976 2.357 1.437 0.976 2.357 0.976 1.755-0.374 2.357-0.976c0.047-0.047 0.093-0.095 0.137-0.145z\"></path>\n </svg>\n `\n },\n {\n name: 'award',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>award</title>\n <path d=\"M9.991 10.283l0.5 3.768-2.147-1.289c-0.207-0.123-0.469-0.131-0.686 0l-2.147 1.289 0.501-3.767c0.614 0.247 1.286 0.383 1.989 0.383s1.375-0.137 1.991-0.384zM10.221 8.661c-0.039 0.020-0.075 0.043-0.109 0.070-0.613 0.382-1.337 0.603-2.113 0.603-1.105 0-2.104-0.447-2.829-1.171s-1.171-1.724-1.171-2.829 0.447-2.104 1.171-2.829 1.724-1.171 2.829-1.171 2.104 0.447 2.829 1.171 1.171 1.724 1.171 2.829-0.447 2.104-1.171 2.829c-0.185 0.185-0.389 0.353-0.607 0.499zM4.76 9.57l-0.754 5.675c-0.049 0.365 0.208 0.7 0.573 0.749 0.156 0.021 0.307-0.015 0.431-0.089l2.99-1.794 2.991 1.794c0.316 0.189 0.725 0.087 0.915-0.229 0.081-0.135 0.109-0.287 0.089-0.431l-0.753-5.677c0.187-0.143 0.364-0.299 0.53-0.465 0.964-0.964 1.562-2.298 1.562-3.771s-0.598-2.807-1.562-3.771-2.299-1.562-3.771-1.562-2.807 0.598-3.771 1.562-1.562 2.299-1.562 3.771 0.598 2.807 1.562 3.771c0.167 0.167 0.344 0.322 0.531 0.465z\"></path>\n </svg>\n `\n },\n {\n name: 'bar-chart-2',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>bar-chart-2</title>\n <path d=\"M12.667 13.333v-6.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v6.667c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667zM8.667 13.333v-10.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v10.667c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667zM4.667 13.333v-4c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v4c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'bar-chart',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>bar-chart</title>\n <path d=\"M8.667 13.333v-6.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v6.667c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667zM12.667 13.333v-10.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v10.667c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667zM4.667 13.333v-2.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v2.667c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'battery-charging',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>battery-charging</title>\n <path d=\"M3.333 11.333h-1.333c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-5.333c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195h2.127c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-2.127c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v5.333c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h1.333c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667zM10 4.667h1.333c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v5.333c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-2.127c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h2.127c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-5.333c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586h-1.333c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667zM16 8.667v-1.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v1.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667zM6.779 3.63l-2.667 4c-0.204 0.307-0.121 0.72 0.185 0.925 0.115 0.077 0.245 0.113 0.37 0.112h2.754l-1.976 2.963c-0.204 0.307-0.121 0.72 0.185 0.925s0.72 0.121 0.925-0.185l2.667-4c0.071-0.104 0.113-0.232 0.113-0.37 0-0.368-0.299-0.667-0.667-0.667h-2.754l1.976-2.963c0.204-0.307 0.121-0.72-0.185-0.925s-0.72-0.121-0.925 0.185z\"></path>\n </svg>\n `\n },\n {\n name: 'battery',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>battery</title>\n <path d=\"M2 3.333c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v5.333c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h9.333c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-5.333c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586zM2 4.667h9.333c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v5.333c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-9.333c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-5.333c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195zM16 8.667v-1.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v1.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'bell-off',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>bell-off</title>\n <path d=\"M8.577 13.665c-0.093 0.159-0.239 0.266-0.405 0.31s-0.347 0.025-0.506-0.067c-0.108-0.063-0.189-0.148-0.239-0.238-0.183-0.32-0.589-0.431-0.909-0.249s-0.431 0.589-0.249 0.909c0.167 0.293 0.415 0.549 0.729 0.731 0.477 0.277 1.023 0.334 1.517 0.203s0.939-0.452 1.216-0.929c0.185-0.319 0.076-0.727-0.242-0.911s-0.727-0.076-0.911 0.242zM12.667 5.331c0.001-1.287-0.52-2.455-1.362-3.299-0.843-0.845-2.009-1.37-3.298-1.372-0.965-0.001-1.866 0.291-2.6 0.787-0.305 0.206-0.385 0.621-0.179 0.926s0.621 0.385 0.926 0.179c0.517-0.349 1.158-0.559 1.852-0.559 0.921 0.001 1.753 0.375 2.355 0.98 0.601 0.603 0.972 1.433 0.973 2.351-0.028 1.105 0.115 2.317 0.443 3.518 0.097 0.355 0.463 0.565 0.819 0.467s0.565-0.463 0.467-0.819c-0.295-1.083-0.421-2.166-0.396-3.138 0-0.003 0-0.007 0-0.011s0-0.005 0-0.008c0-0.001 0-0.002 0-0.003zM4.664 5.607l5.060 5.059h-6.291c0.581-0.952 1.189-2.541 1.231-5.059zM0.195 1.138l3.237 3.237c-0.071 0.329-0.103 0.656-0.099 0.967 0 4.076-1.595 5.356-1.709 5.441-0.302 0.205-0.382 0.616-0.179 0.921 0.128 0.191 0.337 0.295 0.555 0.297h9.057l3.805 3.805c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-14.667-14.667c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'bell',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>bell</title>\n <path d=\"M11.333 5.333c0 2.674 0.631 4.347 1.234 5.333h-9.135c0.603-0.987 1.234-2.659 1.234-5.333 0-0.921 0.373-1.753 0.976-2.357s1.437-0.976 2.357-0.976 1.753 0.373 2.357 0.976 0.976 1.437 0.976 2.357zM12.667 5.333c0-1.289-0.523-2.456-1.367-3.3s-2.011-1.367-3.3-1.367-2.456 0.523-3.3 1.367-1.367 2.011-1.367 3.3c0 4.085-1.595 5.365-1.709 5.449-0.302 0.205-0.382 0.616-0.179 0.921 0.128 0.191 0.337 0.295 0.555 0.297h12c0.368 0 0.667-0.299 0.667-0.667 0-0.226-0.112-0.425-0.286-0.547-0.117-0.087-1.714-1.367-1.714-5.453zM8.577 13.665c-0.093 0.159-0.239 0.266-0.405 0.31s-0.347 0.025-0.506-0.067c-0.108-0.063-0.189-0.148-0.239-0.238-0.183-0.32-0.589-0.431-0.909-0.249s-0.431 0.589-0.249 0.909c0.167 0.293 0.415 0.549 0.729 0.731 0.477 0.277 1.023 0.334 1.517 0.203s0.939-0.452 1.216-0.929c0.185-0.319 0.076-0.727-0.242-0.911s-0.727-0.076-0.911 0.242z\"></path>\n </svg>\n `\n },\n {\n name: 'bluetooth',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>bluetooth</title>\n <path d=\"M8.667 6.391v-4.115l2.057 2.057zM8.667 9.609l2.057 2.057-2.057 2.057zM3.862 4.805l3.195 3.195-3.195 3.195c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0l2.529-2.529v5.724c0 0.171 0.065 0.341 0.195 0.471 0.261 0.261 0.683 0.261 0.943 0l3.667-3.667c0.261-0.261 0.261-0.683 0-0.943l-3.195-3.195 3.195-3.195c0.261-0.261 0.261-0.683 0-0.943l-3.667-3.667c-0.121-0.121-0.287-0.195-0.471-0.195-0.368 0-0.667 0.299-0.667 0.667v5.724l-2.529-2.529c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'bold',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>bold</title>\n <path d=\"M4.667 7.333v-4h4.667c0.553 0 1.051 0.223 1.414 0.586s0.586 0.861 0.586 1.414-0.223 1.051-0.586 1.414-0.861 0.586-1.414 0.586zM3.333 8v5.333c0 0.368 0.299 0.667 0.667 0.667h6c0.92 0 1.755-0.374 2.357-0.976s0.976-1.437 0.976-2.357-0.374-1.755-0.976-2.357c-0.217-0.217-0.463-0.404-0.733-0.555 0.023-0.021 0.045-0.043 0.067-0.065 0.602-0.602 0.976-1.437 0.976-2.357s-0.374-1.755-0.976-2.357-1.437-0.976-2.357-0.976h-5.333c-0.368 0-0.667 0.299-0.667 0.667zM4.667 8.667h5.333c0.553 0 1.051 0.223 1.414 0.586s0.586 0.861 0.586 1.414-0.223 1.051-0.586 1.414-0.861 0.586-1.414 0.586h-5.333z\"></path>\n </svg>\n `\n },\n {\n name: 'book-open',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>book-open</title>\n <path d=\"M14 2.667v8.667h-4c-0.485 0-0.941 0.13-1.333 0.357v-7.023c0-0.553 0.223-1.051 0.586-1.414s0.861-0.586 1.414-0.586zM7.333 11.69c-0.392-0.227-0.848-0.357-1.333-0.357h-4v-8.667h3.333c0.553 0 1.051 0.223 1.414 0.586s0.586 0.861 0.586 1.414zM14.667 1.333h-4c-0.92 0-1.755 0.374-2.357 0.976-0.111 0.111-0.215 0.231-0.309 0.357-0.095-0.127-0.198-0.246-0.309-0.357-0.603-0.602-1.437-0.976-2.357-0.976h-4c-0.368 0-0.667 0.299-0.667 0.667v10c0 0.368 0.299 0.667 0.667 0.667h4.667c0.369 0 0.701 0.149 0.943 0.391s0.391 0.574 0.391 0.943c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667c0-0.369 0.149-0.701 0.391-0.943s0.574-0.391 0.943-0.391h4.667c0.368 0 0.667-0.299 0.667-0.667v-10c0-0.368-0.299-0.667-0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'book',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>book</title>\n <path d=\"M4.333 0.667c-0.644 0-1.229 0.262-1.65 0.683s-0.683 1.006-0.683 1.65v10c0 0.644 0.262 1.229 0.683 1.65s1.006 0.683 1.65 0.683h9c0.368 0 0.667-0.299 0.667-0.667v-13.333c0-0.368-0.299-0.667-0.667-0.667zM12.667 12v2h-8.333c-0.276 0-0.525-0.111-0.707-0.293s-0.293-0.431-0.293-0.707 0.111-0.525 0.293-0.707 0.431-0.293 0.707-0.293zM4.333 2h8.333v8.667h-8.333c-0.358 0-0.697 0.081-1 0.225v-7.891c0-0.276 0.111-0.525 0.293-0.707s0.431-0.293 0.707-0.293z\"></path>\n </svg>\n `\n },\n {\n name: 'bookmark',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>bookmark</title>\n <path d=\"M12.279 14.543c0.107 0.077 0.242 0.124 0.387 0.124 0.368 0 0.667-0.299 0.667-0.667v-10.667c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586h-6.667c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v10.667c-0.001 0.133 0.040 0.269 0.124 0.387 0.214 0.299 0.631 0.369 0.93 0.155l4.279-3.056zM12 12.705l-3.613-2.581c-0.237-0.169-0.546-0.161-0.775 0l-3.613 2.581v-9.371c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195h6.667c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471z\"></path>\n </svg>\n `\n },\n {\n name: 'box',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>box</title>\n <path d=\"M12.641 4.552l-4.641 2.685-4.641-2.685 4.304-2.459c0.075-0.043 0.155-0.070 0.237-0.083 0.145-0.023 0.297 0.002 0.436 0.083zM7.684 15.307c0.094 0.051 0.202 0.079 0.316 0.079 0.115 0 0.224-0.029 0.319-0.081 0.237-0.039 0.467-0.12 0.678-0.24l4.667-2.667c0.412-0.238 0.707-0.599 0.866-1.009 0.089-0.228 0.135-0.471 0.137-0.723v-5.333c0-0.319-0.075-0.621-0.209-0.889-0.015-0.047-0.035-0.093-0.061-0.138-0.031-0.053-0.067-0.099-0.108-0.14-0.021-0.029-0.043-0.057-0.065-0.085-0.153-0.191-0.341-0.352-0.554-0.477l-4.673-2.67c-0.407-0.235-0.867-0.31-1.302-0.243-0.243 0.038-0.477 0.119-0.692 0.242l-4.667 2.667c-0.255 0.147-0.466 0.342-0.627 0.567-0.040 0.040-0.076 0.087-0.106 0.138-0.026 0.045-0.047 0.092-0.061 0.14-0.027 0.054-0.051 0.109-0.072 0.164-0.088 0.229-0.134 0.472-0.136 0.719v5.338c0.001 0.473 0.165 0.909 0.443 1.252 0.153 0.191 0.341 0.352 0.554 0.477l4.673 2.67c0.216 0.125 0.447 0.205 0.681 0.241zM7.333 8.391v5.327l-4.33-2.474c-0.074-0.043-0.138-0.099-0.19-0.163-0.093-0.115-0.147-0.258-0.147-0.415v-4.975zM8.667 13.719v-5.327l4.667-2.699v4.975c-0.001 0.081-0.017 0.164-0.047 0.241-0.053 0.137-0.15 0.256-0.284 0.333z\"></path>\n </svg>\n `\n },\n {\n name: 'briefcase',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>briefcase</title>\n <path d=\"M6 4v-0.667c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195h2.667c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v0.667zM6 13.333v-8h4v8zM4.667 5.333v8h-2c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-6.667c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195zM11.333 4v-0.667c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586h-2.667c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v0.667h-2c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v6.667c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h10.667c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-6.667c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586zM11.333 13.333v-8h2c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v6.667c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195z\"></path>\n </svg>\n `\n },\n {\n name: 'calendar',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>calendar</title>\n <path d=\"M4.667 1.333v0.667h-1.333c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v9.333c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h9.333c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-9.333c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586h-1.333v-0.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v0.667h-4v-0.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667zM13.333 6h-10.667v-2c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195h1.333v0.667c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-0.667h4v0.667c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-0.667h1.333c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471zM2.667 7.333h10.667v6c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-9.333c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471z\"></path>\n </svg>\n `\n },\n {\n name: 'camera-off',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>camera-off</title>\n <path d=\"M6 2.667h3.643l1.135 1.703c0.128 0.191 0.337 0.295 0.555 0.297h2.667c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v6.227c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-6.227c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586h-2.31l-1.135-1.703c-0.121-0.18-0.324-0.297-0.555-0.297h-4c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667zM5.508 6.451c-0.097 0.109-0.189 0.225-0.273 0.348-0.52 0.759-0.682 1.659-0.525 2.497s0.635 1.617 1.394 2.137 1.659 0.682 2.497 0.525c0.591-0.111 1.153-0.381 1.616-0.798l2.174 2.174h-10.391c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-7.333c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195h1.724zM6.942 5.999l-5.804-5.803c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943l2.195 2.195h-0.391c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v7.333c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h11.724l1.138 1.138c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-8.845-8.845zM9.271 10.214c-0.267 0.224-0.583 0.37-0.917 0.433-0.504 0.095-1.042-0.003-1.498-0.315s-0.742-0.778-0.837-1.282 0.003-1.042 0.315-1.498c0.037-0.055 0.077-0.107 0.117-0.155z\"></path>\n </svg>\n `\n },\n {\n name: 'camera',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>camera</title>\n <path d=\"M16 12.667v-7.333c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586h-2.31l-1.135-1.703c-0.121-0.18-0.324-0.297-0.555-0.297h-4c-0.217 0.001-0.427 0.105-0.555 0.297l-1.135 1.703h-2.31c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v7.333c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h12c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414zM14.667 12.667c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-12c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-7.333c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195h2.667c0.231 0 0.433-0.117 0.555-0.297l1.135-1.703h3.287l1.135 1.703c0.128 0.191 0.337 0.295 0.555 0.297h2.667c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471zM11.333 8.667c0-0.92-0.374-1.755-0.976-2.357s-1.437-0.976-2.357-0.976-1.755 0.374-2.357 0.976-0.976 1.437-0.976 2.357 0.374 1.755 0.976 2.357 1.437 0.976 2.357 0.976 1.755-0.374 2.357-0.976 0.976-1.437 0.976-2.357zM10 8.667c0 0.553-0.223 1.051-0.586 1.414s-0.861 0.586-1.414 0.586-1.051-0.223-1.414-0.586-0.586-0.861-0.586-1.414 0.223-1.051 0.586-1.414 0.861-0.586 1.414-0.586 1.051 0.223 1.414 0.586 0.586 0.861 0.586 1.414z\"></path>\n </svg>\n `\n },\n {\n name: 'cast',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>cast</title>\n <path d=\"M1.2 11.387c0.625 0.127 1.153 0.463 1.528 0.924 0.27 0.331 0.462 0.729 0.553 1.16 0.076 0.36 0.429 0.591 0.79 0.515s0.591-0.429 0.515-0.79c-0.135-0.64-0.42-1.231-0.823-1.727-0.563-0.692-1.359-1.197-2.295-1.389-0.361-0.073-0.713 0.159-0.787 0.52s0.159 0.713 0.52 0.787zM1.259 8.696c1.334 0.149 2.496 0.775 3.337 1.697 0.746 0.817 1.239 1.866 1.374 3.017 0.043 0.366 0.374 0.627 0.739 0.585s0.627-0.374 0.585-0.739c-0.167-1.433-0.783-2.741-1.713-3.761-1.052-1.153-2.509-1.939-4.175-2.124-0.366-0.041-0.695 0.223-0.736 0.589s0.223 0.695 0.589 0.736zM2 5.333v-1.333c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195h10.667c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v8c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-4c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h4c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-8c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586h-10.667c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v1.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667zM2 13.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667 0.299 0.667 0.667 0.667 0.667-0.299 0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'check-circle',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>check-circle</title>\n <path d=\"M14 7.387v0.613c-0.001 1.657-0.673 3.155-1.76 4.241s-2.587 1.756-4.243 1.755-3.156-0.673-4.241-1.76-1.756-2.586-1.755-4.243 0.673-3.155 1.76-4.241 2.587-1.756 4.243-1.755c0.887 0.001 1.724 0.193 2.433 0.517 0.335 0.153 0.731 0.005 0.883-0.329s0.005-0.731-0.329-0.883c-0.885-0.404-1.911-0.637-2.986-0.637-2.025-0.001-3.859 0.819-5.187 2.145s-2.149 3.16-2.151 5.185 0.819 3.859 2.145 5.187 3.159 2.15 5.184 2.151 3.859-0.819 5.187-2.145 2.15-3.159 2.151-5.185v-0.613c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667zM14.195 2.195l-6.195 6.201-1.529-1.528c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943l2 2c0.261 0.261 0.683 0.26 0.943 0l6.667-6.673c0.26-0.261 0.26-0.683-0.001-0.943s-0.683-0.26-0.943 0.001z\"></path>\n </svg>\n `\n },\n {\n name: 'check-square',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>check-square</title>\n <path d=\"M5.529 7.805l2 2c0.261 0.261 0.683 0.261 0.943 0l6.667-6.667c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-6.195 6.195-1.529-1.529c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943zM13.333 8v4.667c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-9.333c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-9.333c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195h7.333c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-7.333c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v9.333c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h9.333c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-4.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'check',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>check</title>\n <path d=\"M12.862 3.529l-6.862 6.862-2.862-2.862c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943l3.333 3.333c0.261 0.261 0.683 0.261 0.943 0l7.333-7.333c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0z\"></path>\n </svg>\n `\n },\n {\n name: 'chevron-down',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>chevron-down</title>\n <path d=\"M3.529 6.471l4 4c0.261 0.261 0.683 0.261 0.943 0l4-4c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-3.529 3.529-3.529-3.529c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'chevron-left',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>chevron-left</title>\n <path d=\"M10.471 11.529l-3.529-3.529 3.529-3.529c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-4 4c-0.261 0.261-0.261 0.683 0 0.943l4 4c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'chevron-right',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>chevron-right</title>\n <path d=\"M6.471 12.471l4-4c0.261-0.261 0.261-0.683 0-0.943l-4-4c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943l3.529 3.529-3.529 3.529c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0z\"></path>\n </svg>\n `\n },\n {\n name: 'chevron-up',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>chevron-up</title>\n <path d=\"M12.471 9.529l-4-4c-0.261-0.261-0.683-0.261-0.943 0l-4 4c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0l3.529-3.529 3.529 3.529c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'chevrons-down',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>chevrons-down</title>\n <path d=\"M4.195 9.138l3.333 3.333c0.261 0.261 0.683 0.261 0.943 0l3.333-3.333c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-2.862 2.862-2.862-2.862c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943zM4.195 4.471l3.333 3.333c0.261 0.261 0.683 0.261 0.943 0l3.333-3.333c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-2.862 2.862-2.862-2.862c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'chevrons-left',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>chevrons-left</title>\n <path d=\"M7.805 10.862l-2.862-2.862 2.862-2.862c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-3.333 3.333c-0.261 0.261-0.261 0.683 0 0.943l3.333 3.333c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943zM12.471 10.862l-2.862-2.862 2.862-2.862c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-3.333 3.333c-0.261 0.261-0.261 0.683 0 0.943l3.333 3.333c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'chevrons-right',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>chevrons-right</title>\n <path d=\"M9.138 11.805l3.333-3.333c0.261-0.261 0.261-0.683 0-0.943l-3.333-3.333c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943l2.862 2.862-2.862 2.862c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0zM4.471 11.805l3.333-3.333c0.261-0.261 0.261-0.683 0-0.943l-3.333-3.333c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943l2.862 2.862-2.862 2.862c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0z\"></path>\n </svg>\n `\n },\n {\n name: 'chevrons-up',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>chevrons-up</title>\n <path d=\"M11.805 6.862l-3.333-3.333c-0.261-0.261-0.683-0.261-0.943 0l-3.333 3.333c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0l2.862-2.862 2.862 2.862c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943zM11.805 11.529l-3.333-3.333c-0.261-0.261-0.683-0.261-0.943 0l-3.333 3.333c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0l2.862-2.862 2.862 2.862c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'chrome',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>chrome</title>\n <path d=\"M4.935 6.689l-1.496-2.587c0.101-0.119 0.208-0.233 0.319-0.344 1.087-1.087 2.585-1.757 4.243-1.757s3.156 0.671 4.243 1.757c0.277 0.277 0.528 0.582 0.747 0.909h-4.99c-0.92 0-1.755 0.374-2.357 0.976-0.298 0.298-0.54 0.652-0.709 1.046zM7.133 15.283c0.031 0.005 0.061 0.009 0.093 0.010 0.254 0.027 0.513 0.041 0.774 0.041 2.025 0 3.859-0.821 5.185-2.148s2.148-3.161 2.148-5.185c0-1.026-0.211-2.003-0.592-2.891-0.011-0.029-0.023-0.057-0.037-0.084-0.369-0.829-0.887-1.578-1.519-2.211-1.326-1.327-3.161-2.148-5.185-2.148s-3.859 0.821-5.185 2.148c-0.244 0.243-0.471 0.505-0.678 0.781-0.028 0.031-0.053 0.065-0.074 0.099-0.878 1.209-1.396 2.697-1.396 4.305 0 2.025 0.821 3.859 2.148 5.185 1.134 1.134 2.64 1.899 4.319 2.097zM8.397 11.31l-1.494 2.59c-1.217-0.225-2.305-0.817-3.145-1.657-1.087-1.087-1.757-2.585-1.757-4.243 0-0.953 0.222-1.855 0.618-2.655l2.429 4.201c0.157 0.3 0.359 0.573 0.596 0.81 0.603 0.603 1.437 0.977 2.357 0.977 0.134 0 0.267-0.008 0.397-0.023zM9.759 8.954c-0.010 0.015-0.020 0.031-0.029 0.046l-0.051 0.088c-0.077 0.117-0.165 0.227-0.264 0.326-0.363 0.363-0.862 0.586-1.415 0.586s-1.051-0.223-1.414-0.586c-0.111-0.111-0.208-0.234-0.291-0.367-0.007-0.016-0.016-0.031-0.025-0.047l-0.055-0.094c-0.138-0.272-0.216-0.58-0.216-0.906 0-0.553 0.223-1.051 0.586-1.414s0.861-0.586 1.414-0.586 1.051 0.223 1.414 0.586 0.586 0.861 0.586 1.414c0 0.345-0.087 0.671-0.241 0.954zM8.392 13.987l2.427-4.207c0.326-0.515 0.515-1.125 0.515-1.78 0-0.75-0.249-1.443-0.667-2h2.992c0.221 0.625 0.341 1.299 0.341 2 0 1.657-0.671 3.156-1.757 4.243-1 1-2.35 1.648-3.851 1.745z\"></path>\n </svg>\n `\n },\n {\n name: 'circle',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>circle</title>\n <path d=\"M15.333 8c0-2.025-0.821-3.859-2.148-5.185s-3.161-2.148-5.185-2.148-3.859 0.821-5.185 2.148-2.148 3.161-2.148 5.185 0.821 3.859 2.148 5.185 3.161 2.148 5.185 2.148 3.859-0.821 5.185-2.148 2.148-3.161 2.148-5.185zM14 8c0 1.657-0.671 3.156-1.757 4.243s-2.585 1.757-4.243 1.757-3.156-0.671-4.243-1.757-1.757-2.585-1.757-4.243 0.671-3.156 1.757-4.243 2.585-1.757 4.243-1.757 3.156 0.671 4.243 1.757 1.757 2.585 1.757 4.243z\"></path>\n </svg>\n `\n },\n {\n name: 'clipboard',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>clipboard</title>\n <path d=\"M4.667 3.333c0 0.368 0.15 0.702 0.391 0.943s0.575 0.391 0.943 0.391h4c0.368 0 0.702-0.15 0.943-0.391s0.391-0.575 0.391-0.943h0.667c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v9.333c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-8c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-9.333c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195zM6 0.667c-0.368 0-0.702 0.15-0.943 0.391s-0.391 0.575-0.391 0.943h-0.667c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v9.333c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h8c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-9.333c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586h-0.667c0-0.368-0.15-0.702-0.391-0.943s-0.575-0.391-0.943-0.391zM6 2h4v1.333h-4z\"></path>\n </svg>\n `\n },\n {\n name: 'clock',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>clock</title>\n <path d=\"M15.333 8c0-2.025-0.821-3.859-2.148-5.185s-3.161-2.148-5.185-2.148-3.859 0.821-5.185 2.148-2.148 3.161-2.148 5.185 0.821 3.859 2.148 5.185 3.161 2.148 5.185 2.148 3.859-0.821 5.185-2.148 2.148-3.161 2.148-5.185zM14 8c0 1.657-0.671 3.156-1.757 4.243s-2.585 1.757-4.243 1.757-3.156-0.671-4.243-1.757-1.757-2.585-1.757-4.243 0.671-3.156 1.757-4.243 2.585-1.757 4.243-1.757 3.156 0.671 4.243 1.757 1.757 2.585 1.757 4.243zM7.333 4v4c0 0.259 0.148 0.485 0.369 0.596l2.667 1.333c0.329 0.165 0.73 0.031 0.895-0.298s0.031-0.73-0.298-0.895l-2.299-1.149v-3.588c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'cloud-drizzle',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>cloud-drizzle</title>\n <path d=\"M4.667 12.667v1.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-1.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667zM4.667 8.667v1.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-1.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667zM10 12.667v1.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-1.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667zM10 8.667v1.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-1.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667zM7.333 14v1.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-1.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667zM7.333 10v1.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-1.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667zM13.601 11.664c1.011-0.443 1.749-1.255 2.121-2.208s0.381-2.049-0.061-3.061c-0.383-0.874-1.042-1.545-1.835-1.95-0.557-0.285-1.18-0.44-1.82-0.445h-0.352c-0.483-1.371-1.429-2.472-2.61-3.169-1.322-0.779-2.943-1.055-4.547-0.641s-2.889 1.441-3.669 2.763-1.055 2.943-0.641 4.547c0.339 1.313 1.089 2.415 2.066 3.189 0.289 0.229 0.708 0.18 0.937-0.109s0.18-0.708-0.109-0.937c-0.755-0.598-1.339-1.453-1.603-2.477-0.322-1.247-0.109-2.507 0.499-3.537s1.605-1.826 2.853-2.149 2.507-0.109 3.537 0.499 1.826 1.605 2.149 2.853c0.077 0.29 0.337 0.5 0.645 0.5h0.835c0.431 0.003 0.85 0.108 1.223 0.299 0.529 0.271 0.966 0.715 1.221 1.298 0.295 0.675 0.29 1.404 0.041 2.041s-0.739 1.177-1.414 1.472c-0.337 0.148-0.491 0.541-0.343 0.878s0.541 0.491 0.878 0.343z\"></path>\n </svg>\n `\n },\n {\n name: 'cloud-lightning',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>cloud-lightning</title>\n <path d=\"M12.799 11.92c1.082-0.22 1.974-0.859 2.539-1.711s0.805-1.923 0.585-3.005c-0.202-0.994-0.757-1.828-1.511-2.395-0.679-0.511-1.519-0.807-2.409-0.81h-0.349c-0.483-1.371-1.429-2.472-2.61-3.169-1.322-0.779-2.943-1.055-4.547-0.641s-2.889 1.441-3.669 2.763-1.055 2.943-0.641 4.547c0.398 1.542 1.362 2.789 2.612 3.577 0.095 0.060 0.193 0.117 0.291 0.172 0.322 0.179 0.728 0.062 0.906-0.26s0.062-0.728-0.26-0.906c-0.077-0.043-0.153-0.087-0.227-0.134-0.974-0.614-1.722-1.583-2.032-2.782-0.322-1.248-0.109-2.507 0.498-3.537s1.605-1.826 2.853-2.149 2.507-0.109 3.537 0.498 1.826 1.605 2.149 2.853c0.078 0.29 0.338 0.5 0.647 0.5h0.837c0.597 0.003 1.159 0.2 1.613 0.541 0.503 0.378 0.871 0.931 1.006 1.595 0.147 0.722-0.013 1.433-0.39 2.003s-0.971 0.994-1.693 1.141c-0.361 0.073-0.594 0.425-0.521 0.786s0.425 0.594 0.786 0.521zM8.112 6.963l-2.667 4c-0.204 0.307-0.121 0.72 0.185 0.925 0.115 0.077 0.245 0.113 0.37 0.112h2.754l-1.976 2.963c-0.204 0.307-0.121 0.72 0.185 0.925s0.72 0.121 0.925-0.185l2.667-4c0.071-0.104 0.113-0.232 0.113-0.37 0-0.368-0.299-0.667-0.667-0.667h-2.754l1.976-2.963c0.204-0.307 0.121-0.72-0.185-0.925s-0.72-0.121-0.925 0.185z\"></path>\n </svg>\n `\n },\n {\n name: 'cloud-off',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>cloud-off</title>\n <path d=\"M15.687 11.56c0.431-1.017 0.408-2.113 0.024-3.061s-1.131-1.751-2.147-2.182c-0.517-0.219-1.059-0.322-1.571-0.317h-0.337c-0.413-1.187-1.174-2.173-2.141-2.873-0.865-0.625-1.896-1.021-2.991-1.125-0.367-0.035-0.692 0.234-0.727 0.601s0.234 0.692 0.601 0.727c0.857 0.081 1.662 0.391 2.337 0.878 0.855 0.619 1.501 1.524 1.781 2.623 0.075 0.291 0.335 0.503 0.645 0.503h0.847c0.327-0.003 0.687 0.063 1.037 0.211 0.678 0.287 1.175 0.821 1.432 1.455s0.271 1.363-0.016 2.041c-0.143 0.339 0.015 0.73 0.354 0.874s0.73-0.015 0.874-0.354zM3.236 4.179l8.488 8.488h-5.731c-0.64 0.007-1.269-0.115-1.85-0.351-0.954-0.389-1.779-1.090-2.313-2.056-0.623-1.128-0.731-2.401-0.401-3.549 0.288-1 0.907-1.903 1.806-2.531zM0.195 1.138l2.086 2.087c-1.054 0.8-1.784 1.904-2.133 3.117-0.425 1.475-0.287 3.113 0.515 4.563 0.687 1.242 1.751 2.146 2.977 2.646 0.745 0.303 1.55 0.457 2.367 0.449h5.993c0.326-0.001 0.645-0.040 0.945-0.113l1.917 1.917c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-14.667-14.667c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'cloud-rain',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>cloud-rain</title>\n <path d=\"M10 8.667v5.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-5.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667zM4.667 8.667v5.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-5.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667zM7.333 10v5.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-5.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667zM13.601 11.664c1.011-0.443 1.749-1.255 2.121-2.208s0.381-2.049-0.061-3.061c-0.383-0.874-1.042-1.545-1.835-1.95-0.557-0.285-1.18-0.44-1.82-0.445h-0.352c-0.483-1.371-1.429-2.472-2.61-3.169-1.322-0.779-2.943-1.055-4.547-0.641s-2.889 1.441-3.669 2.763-1.055 2.943-0.641 4.547c0.339 1.313 1.089 2.415 2.066 3.189 0.289 0.229 0.708 0.18 0.937-0.109s0.18-0.708-0.109-0.937c-0.755-0.598-1.339-1.453-1.603-2.477-0.322-1.247-0.109-2.507 0.499-3.537s1.605-1.826 2.853-2.149 2.507-0.109 3.537 0.499 1.826 1.605 2.149 2.853c0.077 0.29 0.337 0.5 0.645 0.5h0.835c0.431 0.003 0.85 0.108 1.223 0.299 0.529 0.271 0.966 0.715 1.221 1.298 0.295 0.675 0.29 1.404 0.041 2.041s-0.739 1.177-1.414 1.472c-0.337 0.148-0.491 0.541-0.343 0.878s0.541 0.491 0.878 0.343z\"></path>\n </svg>\n `\n },\n {\n name: 'cloud-snow',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>cloud-snow</title>\n <path d=\"M13.601 12.331c1.011-0.443 1.749-1.255 2.121-2.208s0.381-2.049-0.061-3.061c-0.383-0.874-1.042-1.545-1.835-1.95-0.557-0.285-1.18-0.44-1.82-0.445h-0.352c-0.483-1.371-1.429-2.472-2.61-3.169-1.322-0.779-2.943-1.055-4.547-0.641s-2.889 1.441-3.669 2.763-1.055 2.943-0.641 4.547c0.339 1.313 1.089 2.415 2.066 3.189 0.289 0.229 0.708 0.18 0.937-0.109s0.18-0.708-0.109-0.937c-0.755-0.598-1.339-1.453-1.603-2.477-0.322-1.247-0.109-2.507 0.499-3.537s1.605-1.826 2.853-2.149 2.507-0.109 3.537 0.499 1.826 1.605 2.149 2.853c0.077 0.29 0.337 0.5 0.645 0.5h0.835c0.431 0.003 0.85 0.108 1.223 0.299 0.529 0.271 0.966 0.715 1.221 1.298 0.295 0.675 0.29 1.404 0.041 2.041s-0.739 1.177-1.414 1.472c-0.337 0.148-0.491 0.541-0.343 0.878s0.541 0.491 0.878 0.343zM6 10.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667 0.299 0.667 0.667 0.667 0.667-0.299 0.667-0.667zM6 13.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667 0.299 0.667 0.667 0.667 0.667-0.299 0.667-0.667zM8.667 12c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667 0.299 0.667 0.667 0.667 0.667-0.299 0.667-0.667zM8.667 14.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667 0.299 0.667 0.667 0.667 0.667-0.299 0.667-0.667zM11.333 10.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667 0.299 0.667 0.667 0.667 0.667-0.299 0.667-0.667zM11.333 13.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667 0.299 0.667 0.667 0.667 0.667-0.299 0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'cloud',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>cloud</title>\n <path d=\"M12 7.333c0.737 0 1.402 0.298 1.885 0.781s0.781 1.149 0.781 1.885-0.298 1.402-0.781 1.885-1.149 0.781-1.885 0.781h-5.997c-0.975-0.005-1.902-0.307-2.67-0.838-0.889-0.615-1.565-1.537-1.856-2.662-0.322-1.248-0.109-2.507 0.499-3.537s1.605-1.826 2.853-2.149 2.507-0.109 3.537 0.499 1.826 1.605 2.149 2.853c0.077 0.29 0.337 0.5 0.645 0.5zM12 6h-0.347c-0.483-1.371-1.429-2.472-2.61-3.169-1.322-0.779-2.943-1.055-4.547-0.641s-2.889 1.44-3.669 2.762-1.055 2.943-0.641 4.547c0.373 1.446 1.245 2.634 2.389 3.425 0.985 0.681 2.174 1.068 3.421 1.075h6.003c1.105 0 2.105-0.449 2.829-1.171s1.171-1.724 1.171-2.829-0.449-2.105-1.171-2.829-1.724-1.171-2.829-1.171z\"></path>\n </svg>\n `\n },\n {\n name: 'code',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>code</title>\n <path d=\"M11.138 12.471l4-4c0.261-0.261 0.261-0.683 0-0.943l-4-4c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943l3.529 3.529-3.529 3.529c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0zM4.862 3.529l-4 4c-0.261 0.261-0.261 0.683 0 0.943l4 4c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-3.529-3.529 3.529-3.529c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0z\"></path>\n </svg>\n `\n },\n {\n name: 'codepen',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>codepen</title>\n <path d=\"M3.504 8l-1.504 1.053v-2.106zM14 9.053l-1.504-1.053 1.504-1.053zM11.333 8.814l2.141 1.499-4.808 3.125v-2.758zM5.829 8l2.171-1.519 2.171 1.519-2.171 1.519zM2.525 10.313l2.141-1.499 2.667 1.867v2.758zM8.371 0.779c-0.106-0.071-0.234-0.113-0.371-0.113s-0.265 0.041-0.371 0.113l-6.646 4.32c-0.075 0.047-0.142 0.109-0.195 0.185-0.083 0.119-0.123 0.255-0.121 0.39v4.651c-0.001 0.123 0.031 0.247 0.099 0.357 0.027 0.045 0.061 0.087 0.099 0.125 0.031 0.031 0.067 0.059 0.105 0.085l0.013 0.008 6.646 4.32c0.106 0.072 0.234 0.113 0.371 0.113s0.265-0.041 0.371-0.113l6.646-4.32c0.075-0.046 0.142-0.108 0.195-0.185 0.083-0.119 0.122-0.255 0.121-0.391v-4.651c0.001-0.123-0.031-0.247-0.099-0.357-0.027-0.045-0.061-0.087-0.099-0.125-0.031-0.031-0.067-0.059-0.105-0.085l-0.013-0.008zM8.667 5.319v-2.757l4.808 3.125-2.141 1.499zM7.333 2.562v2.758l-2.667 1.867-2.141-1.499z\"></path>\n </svg>\n `\n },\n {\n name: 'codesandbox',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>codesandbox</title>\n <path d=\"M9.627 2.83l-1.627 0.94-1.627-0.94 1.291-0.737c0.075-0.043 0.155-0.070 0.237-0.083 0.145-0.023 0.297 0.002 0.436 0.083zM2.667 9.155l1.667 0.963v1.887l-1.33-0.76c-0.074-0.043-0.138-0.099-0.19-0.163-0.093-0.115-0.147-0.258-0.147-0.415zM11.667 12.005v-1.887l1.667-0.963v1.511c-0.001 0.081-0.017 0.164-0.047 0.241-0.053 0.137-0.15 0.256-0.284 0.333zM12.641 4.552l-4.641 2.685-4.641-2.685 1.673-0.957 2.634 1.522c0.213 0.123 0.465 0.115 0.667 0l2.633-1.521zM7.684 15.307c0.094 0.051 0.202 0.079 0.316 0.079 0.115 0 0.224-0.029 0.319-0.081 0.237-0.039 0.467-0.12 0.678-0.24l2.132-1.219c0.145-0.029 0.274-0.105 0.369-0.211l2.166-1.238c0.412-0.238 0.707-0.599 0.866-1.009 0.089-0.228 0.135-0.471 0.137-0.723v-5.333c0-0.319-0.075-0.621-0.209-0.889-0.015-0.047-0.035-0.093-0.061-0.138-0.031-0.053-0.067-0.099-0.108-0.14-0.021-0.029-0.043-0.057-0.065-0.085-0.153-0.191-0.341-0.352-0.554-0.477l-2.172-1.241c-0.098-0.111-0.229-0.184-0.369-0.211l-2.131-1.218c-0.407-0.235-0.867-0.31-1.302-0.243-0.243 0.038-0.477 0.119-0.692 0.242l-2.133 1.219c-0.14 0.027-0.271 0.1-0.369 0.211l-2.166 1.238c-0.255 0.147-0.466 0.342-0.627 0.567-0.040 0.040-0.076 0.087-0.106 0.138-0.026 0.045-0.047 0.092-0.061 0.14-0.027 0.054-0.051 0.109-0.072 0.164-0.088 0.229-0.134 0.472-0.136 0.719v5.338c0.001 0.473 0.165 0.909 0.443 1.252 0.153 0.191 0.341 0.352 0.554 0.477l2.172 1.241c0.095 0.107 0.223 0.183 0.369 0.211l2.131 1.218c0.216 0.125 0.447 0.205 0.681 0.241zM7.333 8.391v5.327l-1.667-0.952v-3.033c0-0.245-0.133-0.46-0.333-0.577l-2.667-1.541v-1.923zM8.667 13.719v-5.327l4.667-2.699v1.923l-2.667 1.541c-0.213 0.123-0.332 0.345-0.333 0.577v3.033z\"></path>\n </svg>\n `\n },\n {\n name: 'coffee',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>coffee</title>\n <path d=\"M12.667 10v-4c0.553 0 1.051 0.223 1.414 0.586s0.586 0.861 0.586 1.414-0.223 1.051-0.586 1.414-0.861 0.586-1.414 0.586zM1.333 4.667c-0.368 0-0.667 0.299-0.667 0.667v6c0 0.92 0.374 1.755 0.976 2.357s1.437 0.976 2.357 0.976h5.333c0.92 0 1.755-0.374 2.357-0.976s0.976-1.437 0.976-2.357c0.92 0 1.755-0.374 2.357-0.976s0.976-1.437 0.976-2.357-0.374-1.755-0.976-2.357-1.437-0.976-2.357-0.976h-0.667zM2 6h9.333v5.333c0 0.553-0.223 1.051-0.586 1.414s-0.861 0.586-1.414 0.586h-5.333c-0.553 0-1.051-0.223-1.414-0.586s-0.586-0.861-0.586-1.414zM3.333 0.667v2c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-2c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667zM6 0.667v2c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-2c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667zM8.667 0.667v2c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-2c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'columns',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>columns</title>\n <path d=\"M7.333 13.333h-4c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-9.333c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195h4zM8 1.333c-0.368 0-0.667 0.299-0.667 0.667v0.667h1.333v-0.667c0-0.368-0.299-0.667-0.667-0.667zM8.667 2.667h4c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v9.333c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-4zM8 1.333c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667 0.667-0.299 0.667-0.667-0.299-0.667-0.667-0.667h-4.667c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v9.333c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h4.667c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667-0.667 0.299-0.667 0.667 0.299 0.667 0.667 0.667h4.667c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-9.333c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586z\"></path>\n </svg>\n `\n },\n {\n name: 'command',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>command</title>\n <path d=\"M9.333 6.667v2.667h-2.667v-2.667zM12 2.667c0.369 0 0.701 0.149 0.943 0.391s0.391 0.574 0.391 0.943-0.149 0.701-0.391 0.943-0.574 0.391-0.943 0.391h-1.333v-1.333c0-0.369 0.149-0.701 0.391-0.943s0.574-0.391 0.943-0.391zM9.333 5.333h-2.667v-1.333c0-0.736-0.299-1.404-0.781-1.885s-1.149-0.781-1.885-0.781-1.404 0.299-1.885 0.781-0.781 1.149-0.781 1.885 0.299 1.404 0.781 1.885 1.149 0.781 1.885 0.781h1.333v2.667h-1.333c-0.736 0-1.404 0.299-1.885 0.781s-0.781 1.149-0.781 1.885 0.299 1.404 0.781 1.885 1.149 0.781 1.885 0.781 1.404-0.299 1.885-0.781 0.781-1.149 0.781-1.885v-1.333h2.667v1.333c0 0.736 0.299 1.404 0.781 1.885s1.149 0.781 1.885 0.781 1.404-0.299 1.885-0.781 0.781-1.149 0.781-1.885-0.299-1.404-0.781-1.885-1.149-0.781-1.885-0.781h-1.333v-2.667h1.333c0.736 0 1.404-0.299 1.885-0.781s0.781-1.149 0.781-1.885-0.299-1.404-0.781-1.885-1.149-0.781-1.885-0.781-1.404 0.299-1.885 0.781-0.781 1.149-0.781 1.885zM5.333 5.333h-1.333c-0.369 0-0.701-0.149-0.943-0.391s-0.391-0.574-0.391-0.943 0.149-0.701 0.391-0.943 0.574-0.391 0.943-0.391 0.701 0.149 0.943 0.391 0.391 0.574 0.391 0.943zM5.333 10.667v1.333c0 0.369-0.149 0.701-0.391 0.943s-0.574 0.391-0.943 0.391-0.701-0.149-0.943-0.391-0.391-0.574-0.391-0.943 0.149-0.701 0.391-0.943 0.574-0.391 0.943-0.391zM10.667 10.667h1.333c0.369 0 0.701 0.149 0.943 0.391s0.391 0.574 0.391 0.943-0.149 0.701-0.391 0.943-0.574 0.391-0.943 0.391-0.701-0.149-0.943-0.391-0.391-0.574-0.391-0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'compass',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>compass</title>\n <path d=\"M15.333 8c0-2.025-0.821-3.859-2.148-5.185s-3.161-2.148-5.185-2.148-3.859 0.821-5.185 2.148-2.148 3.161-2.148 5.185 0.821 3.859 2.148 5.185 3.161 2.148 5.185 2.148 3.859-0.821 5.185-2.148 2.148-3.161 2.148-5.185zM14 8c0 1.657-0.671 3.156-1.757 4.243s-2.585 1.757-4.243 1.757-3.156-0.671-4.243-1.757-1.757-2.585-1.757-4.243 0.671-3.156 1.757-4.243 2.585-1.757 4.243-1.757 3.156 0.671 4.243 1.757 1.757 2.585 1.757 4.243zM11.459 5.384c0.044-0.131 0.048-0.279 0-0.421-0.117-0.349-0.494-0.538-0.843-0.421l-4.24 1.413c-0.193 0.065-0.353 0.215-0.421 0.421l-1.413 4.24c-0.044 0.131-0.048 0.279 0 0.421 0.117 0.349 0.494 0.538 0.843 0.421l4.24-1.413c0.193-0.065 0.353-0.215 0.421-0.421zM9.773 6.227l-0.887 2.659-2.659 0.887 0.886-2.659z\"></path>\n </svg>\n `\n },\n {\n name: 'copy',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>copy</title>\n <path d=\"M7.333 5.333c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v6c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h6c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-6c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586zM7.333 6.667h6c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v6c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-6c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-6c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195zM3.333 9.333h-0.667c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-6c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195h6c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v0.667c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-0.667c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586h-6c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v6c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h0.667c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'corner-down-left',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>corner-down-left</title>\n <path d=\"M12.667 2.667v4.667c0 0.553-0.223 1.051-0.586 1.414s-0.861 0.586-1.414 0.586h-6.391l2.195-2.195c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-3.333 3.333c-0.064 0.064-0.112 0.137-0.145 0.216-0.1 0.241-0.052 0.53 0.145 0.727l3.333 3.333c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-2.195-2.195h6.391c0.92 0 1.755-0.374 2.357-0.976s0.976-1.437 0.976-2.357v-4.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'corner-down-right',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>corner-down-right</title>\n <path d=\"M2 2.667v4.667c0 0.92 0.374 1.755 0.976 2.357s1.437 0.976 2.357 0.976h6.391l-2.195 2.195c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0l3.333-3.333c0.061-0.061 0.111-0.135 0.145-0.216s0.051-0.169 0.051-0.255c0-0.171-0.065-0.341-0.195-0.471l-3.333-3.333c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943l2.195 2.195h-6.391c-0.553 0-1.051-0.223-1.414-0.586s-0.586-0.861-0.586-1.414v-4.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'corner-left-down',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>corner-left-down</title>\n <path d=\"M13.333 2h-4.667c-0.92 0-1.755 0.374-2.357 0.976s-0.976 1.437-0.976 2.357v6.391l-2.195-2.195c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943l3.333 3.333c0.064 0.064 0.137 0.112 0.216 0.145s0.165 0.051 0.255 0.051 0.177-0.018 0.255-0.051c0.079-0.033 0.152-0.081 0.216-0.145l3.333-3.333c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-2.195 2.195v-6.391c0-0.553 0.223-1.051 0.586-1.414s0.861-0.586 1.414-0.586h4.667c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'corner-left-up',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>corner-left-up</title>\n <path d=\"M13.333 12.667h-4.667c-0.553 0-1.051-0.223-1.414-0.586s-0.586-0.861-0.586-1.414v-6.391l2.195 2.195c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-3.333-3.333c-0.064-0.064-0.137-0.112-0.216-0.145s-0.165-0.051-0.255-0.051-0.177 0.018-0.255 0.051c-0.079 0.033-0.152 0.081-0.216 0.145l-3.333 3.333c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0l2.195-2.195v6.391c0 0.92 0.374 1.755 0.976 2.357s1.437 0.976 2.357 0.976h4.667c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'corner-right-down',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>corner-right-down</title>\n <path d=\"M2.667 3.333h4.667c0.553 0 1.051 0.223 1.414 0.586s0.586 0.861 0.586 1.414v6.391l-2.195-2.195c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943l3.333 3.333c0.064 0.064 0.137 0.112 0.216 0.145s0.165 0.051 0.255 0.051c0.087 0 0.174-0.017 0.255-0.051 0.079-0.033 0.152-0.081 0.216-0.145l3.333-3.333c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-2.195 2.195v-6.391c0-0.92-0.374-1.755-0.976-2.357s-1.437-0.976-2.357-0.976h-4.667c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'corner-right-up',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>corner-right-up</title>\n <path d=\"M2.667 14h4.667c0.92 0 1.755-0.374 2.357-0.976s0.976-1.437 0.976-2.357v-6.391l2.195 2.195c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-3.333-3.333c-0.064-0.064-0.137-0.112-0.216-0.145-0.241-0.1-0.53-0.052-0.727 0.145l-3.333 3.333c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0l2.195-2.195v6.391c0 0.553-0.223 1.051-0.586 1.414s-0.861 0.586-1.414 0.586h-4.667c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'corner-up-left',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>corner-up-left</title>\n <path d=\"M14 13.333v-4.667c0-0.92-0.374-1.755-0.976-2.357s-1.437-0.976-2.357-0.976h-6.391l2.195-2.195c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-3.333 3.333c-0.064 0.064-0.112 0.137-0.145 0.216s-0.051 0.165-0.051 0.255 0.018 0.177 0.051 0.255c0.033 0.079 0.081 0.152 0.145 0.216l3.333 3.333c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-2.195-2.195h6.391c0.553 0 1.051 0.223 1.414 0.586s0.586 0.861 0.586 1.414v4.667c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'corner-up-right',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>corner-up-right</title>\n <path d=\"M3.333 13.333v-4.667c0-0.553 0.223-1.051 0.586-1.414s0.861-0.586 1.414-0.586h6.391l-2.195 2.195c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0l3.333-3.333c0.064-0.064 0.112-0.137 0.145-0.216s0.051-0.165 0.051-0.255-0.018-0.177-0.051-0.255c-0.033-0.079-0.081-0.152-0.145-0.216l-3.333-3.333c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943l2.195 2.195h-6.391c-0.92 0-1.755 0.374-2.357 0.976s-0.976 1.437-0.976 2.357v4.667c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'cpu',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>cpu</title>\n <path d=\"M4 3.333h8c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v8c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-8c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-8c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195zM6 5.333c-0.368 0-0.667 0.299-0.667 0.667v4c0 0.368 0.299 0.667 0.667 0.667h4c0.368 0 0.667-0.299 0.667-0.667v-4c0-0.368-0.299-0.667-0.667-0.667zM6.667 6.667h2.667v2.667h-2.667zM0.667 10h1.333v2c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h1.333v1.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-1.333h2.667v1.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-1.333h1.333c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-2h1.333c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-1.333v-2h1.333c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-1.333v-1.333c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586h-1.333v-1.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v1.333h-2.667v-1.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v1.333h-1.333c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v1.333h-1.333c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h1.333v2h-1.333c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'credit-card',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>credit-card</title>\n <path d=\"M2 2c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v8c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h12c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-8c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586zM14.667 6h-13.333v-2c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195h12c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471zM1.333 7.333h13.333v4.667c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-12c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471z\"></path>\n </svg>\n `\n },\n {\n name: 'crop',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>crop</title>\n <path d=\"M4.718 4.718l5.955-0.051c0.179 0 0.344 0.074 0.465 0.195s0.195 0.287 0.195 0.471v6h-6c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.465zM0.673 4.753l2.712-0.023-0.051 5.931c0 0.558 0.225 1.059 0.586 1.42s0.862 0.586 1.414 0.586h6v2.667c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-2.667h2.667c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-2.667v-6c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.42-0.586l-5.931 0.051 0.023-2.712c0.003-0.369-0.293-0.669-0.661-0.673s-0.669 0.293-0.673 0.661l-0.024 2.735-2.735 0.024c-0.368 0.003-0.664 0.304-0.661 0.673s0.304 0.664 0.673 0.661z\"></path>\n </svg>\n `\n },\n {\n name: 'crosshair',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>crosshair</title>\n <path d=\"M15.333 8c0-2.025-0.821-3.859-2.148-5.185s-3.161-2.148-5.185-2.148-3.859 0.821-5.185 2.148-2.148 3.161-2.148 5.185 0.821 3.859 2.148 5.185 3.161 2.148 5.185 2.148 3.859-0.821 5.185-2.148 2.148-3.161 2.148-5.185zM8.667 13.963v-1.963c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v1.963c-1.391-0.153-2.637-0.782-3.576-1.721s-1.567-2.185-1.721-3.576h1.963c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-1.963c0.153-1.391 0.782-2.637 1.721-3.576s2.185-1.567 3.576-1.721v1.963c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-1.963c1.391 0.153 2.637 0.782 3.576 1.721s1.567 2.185 1.721 3.576h-1.963c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h1.963c-0.153 1.391-0.782 2.637-1.721 3.576s-2.185 1.567-3.576 1.721z\"></path>\n </svg>\n `\n },\n {\n name: 'database',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>database</title>\n <path d=\"M2.667 3.335c0 0 0.002-0.063 0.142-0.192 0.163-0.15 0.447-0.322 0.871-0.487 0.999-0.39 2.547-0.656 4.321-0.656s3.321 0.266 4.321 0.656c0.423 0.165 0.707 0.337 0.871 0.487 0.139 0.128 0.141 0.189 0.141 0.192 0 0-0.002 0.061-0.142 0.189-0.163 0.15-0.447 0.322-0.871 0.487-0.999 0.39-2.547 0.656-4.321 0.656s-3.321-0.266-4.321-0.656c-0.423-0.165-0.707-0.337-0.871-0.487-0.139-0.128-0.141-0.189-0.141-0.189zM13.333 9.688v2.981l-0.011 0.033c-0.016 0.032-0.053 0.088-0.133 0.161-0.163 0.15-0.447 0.321-0.869 0.485-0.997 0.388-2.54 0.652-4.321 0.652s-3.323-0.264-4.32-0.652c-0.422-0.164-0.705-0.335-0.869-0.485-0.080-0.073-0.117-0.129-0.133-0.161l-0.012-0.035v-2.979c0.167 0.085 0.345 0.164 0.529 0.236 1.198 0.466 2.918 0.743 4.804 0.743s3.606-0.277 4.804-0.743c0.185-0.072 0.362-0.15 0.529-0.236zM13.333 5.018v2.975c0 0.003 0 0.005 0 0.009l-0.011 0.033c-0.016 0.032-0.053 0.088-0.133 0.161-0.163 0.15-0.447 0.321-0.869 0.485-0.997 0.388-2.54 0.652-4.321 0.652s-3.323-0.264-4.32-0.652c-0.422-0.164-0.705-0.335-0.869-0.485-0.080-0.073-0.117-0.129-0.133-0.161l-0.012-0.033v-2.984c0.167 0.085 0.344 0.163 0.528 0.235 1.201 0.468 2.925 0.747 4.805 0.747s3.605-0.279 4.805-0.747c0.184-0.072 0.361-0.15 0.528-0.235zM1.333 3.333v9.333c0 0.039 0.001 0.077 0.005 0.116 0.038 0.443 0.283 0.798 0.571 1.063 0.332 0.305 0.783 0.549 1.287 0.745 1.198 0.466 2.918 0.743 4.804 0.743s3.606-0.277 4.804-0.743c0.503-0.196 0.955-0.441 1.287-0.745 0.288-0.265 0.533-0.619 0.571-1.063 0.003-0.039 0.005-0.077 0.005-0.116v-9.333c0-0.037-0.001-0.075-0.005-0.112-0.037-0.443-0.281-0.797-0.568-1.060-0.332-0.306-0.785-0.551-1.289-0.748-1.201-0.468-2.925-0.747-4.805-0.747s-3.605 0.279-4.805 0.747c-0.504 0.197-0.957 0.443-1.289 0.748-0.287 0.263-0.531 0.618-0.568 1.060-0.003 0.037-0.005 0.075-0.005 0.112z\"></path>\n </svg>\n `\n },\n {\n name: 'delete',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>delete</title>\n <path d=\"M14 3.333c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v8c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-8.364l-4.083-4.667 4.083-4.667zM14 2h-8.667c-0.2 0-0.379 0.088-0.502 0.227l-4.667 5.333c-0.222 0.253-0.217 0.628 0 0.878l4.667 5.333c0.132 0.151 0.316 0.227 0.502 0.228h8.667c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-8c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586zM7.529 6.471l1.529 1.529-1.529 1.529c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0l1.529-1.529 1.529 1.529c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-1.529-1.529 1.529-1.529c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-1.529 1.529-1.529-1.529c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'disc',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>disc</title>\n <path d=\"M15.333 8c0-2.025-0.821-3.859-2.148-5.185s-3.161-2.148-5.185-2.148-3.859 0.821-5.185 2.148-2.148 3.161-2.148 5.185 0.821 3.859 2.148 5.185 3.161 2.148 5.185 2.148 3.859-0.821 5.185-2.148 2.148-3.161 2.148-5.185zM14 8c0 1.657-0.671 3.156-1.757 4.243s-2.585 1.757-4.243 1.757-3.156-0.671-4.243-1.757-1.757-2.585-1.757-4.243 0.671-3.156 1.757-4.243 2.585-1.757 4.243-1.757 3.156 0.671 4.243 1.757 1.757 2.585 1.757 4.243zM10.667 8c0-0.736-0.299-1.404-0.781-1.885s-1.149-0.781-1.885-0.781-1.404 0.299-1.885 0.781-0.781 1.149-0.781 1.885 0.299 1.404 0.781 1.885 1.149 0.781 1.885 0.781 1.404-0.299 1.885-0.781 0.781-1.149 0.781-1.885zM9.333 8c0 0.369-0.149 0.701-0.391 0.943s-0.574 0.391-0.943 0.391-0.701-0.149-0.943-0.391-0.391-0.574-0.391-0.943 0.149-0.701 0.391-0.943 0.574-0.391 0.943-0.391 0.701 0.149 0.943 0.391 0.391 0.574 0.391 0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'dollar-sign',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>dollar-sign</title>\n <path d=\"M7.333 7.333h-1c-0.461 0-0.876-0.186-1.179-0.488s-0.488-0.718-0.488-1.179 0.186-0.876 0.488-1.179 0.718-0.488 1.179-0.488h1zM8.667 8.667h1c0.461 0 0.876 0.186 1.179 0.488s0.488 0.718 0.488 1.179-0.186 0.876-0.488 1.179-0.718 0.488-1.179 0.488h-1zM11.333 2.667h-2.667v-2c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v2h-1c-0.828 0-1.579 0.337-2.121 0.879s-0.879 1.293-0.879 2.121 0.337 1.579 0.879 2.121 1.293 0.879 2.121 0.879h1v3.333h-3.333c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h3.333v2c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-2h1c0.828 0 1.579-0.337 2.121-0.879s0.879-1.293 0.879-2.121-0.337-1.579-0.879-2.121-1.293-0.879-2.121-0.879h-1v-3.333h2.667c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'download-cloud',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>download-cloud</title>\n <path d=\"M7.333 8v4.391l-1.529-1.529c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943l2.667 2.667c0.061 0.061 0.135 0.111 0.216 0.145 0.163 0.067 0.347 0.067 0.511 0 0.079-0.033 0.152-0.081 0.216-0.145l2.667-2.667c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-1.529 1.529v-4.391c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667zM14.303 12.605c0.903-0.635 1.464-1.578 1.64-2.585s-0.033-2.084-0.669-2.987c-0.551-0.783-1.332-1.309-2.191-1.549-0.351-0.098-0.715-0.149-1.081-0.15h-0.349c-0.481-1.372-1.425-2.473-2.605-3.172-1.321-0.781-2.941-1.059-4.546-0.648s-2.892 1.437-3.673 2.757-1.059 2.941-0.648 4.546c0.247 0.964 0.717 1.817 1.322 2.489 0.247 0.273 0.668 0.296 0.941 0.049s0.296-0.668 0.049-0.941c-0.461-0.513-0.828-1.173-1.022-1.929-0.321-1.249-0.105-2.507 0.504-3.536s1.608-1.824 2.857-2.144 2.507-0.105 3.536 0.504 1.824 1.608 2.144 2.857c0.077 0.29 0.337 0.501 0.647 0.501h0.837c0.247 0.001 0.491 0.035 0.727 0.101 0.574 0.161 1.093 0.51 1.46 1.032 0.424 0.603 0.563 1.319 0.446 1.992s-0.491 1.3-1.093 1.723c-0.301 0.212-0.373 0.627-0.162 0.929s0.627 0.373 0.929 0.162z\"></path>\n </svg>\n `\n },\n {\n name: 'download',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>download</title>\n <path d=\"M13.333 10v2.667c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-9.333c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-2.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v2.667c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h9.333c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-2.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667zM8.667 8.391v-6.391c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v6.391l-2.195-2.195c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943l3.333 3.333c0.061 0.061 0.135 0.111 0.216 0.145s0.169 0.051 0.255 0.051c0.171 0 0.341-0.065 0.471-0.195l3.333-3.333c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0z\"></path>\n </svg>\n `\n },\n {\n name: 'droplet',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>droplet</title>\n <path d=\"M8.471 1.322c-0.261-0.261-0.683-0.26-0.943 0.001l-3.769 3.775c-1.171 1.172-1.757 2.709-1.756 4.243s0.587 3.071 1.759 4.242 2.709 1.757 4.243 1.756 3.071-0.587 4.242-1.759 1.757-2.709 1.756-4.243-0.587-3.071-1.759-4.242zM8.001 2.737l3.301 3.301c0.912 0.911 1.368 2.104 1.368 3.299s-0.455 2.389-1.366 3.3-2.104 1.367-3.299 1.368-2.389-0.455-3.3-1.366-1.367-2.104-1.368-3.299 0.455-2.389 1.366-3.3z\"></path>\n </svg>\n `\n },\n {\n name: 'edit-2',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>edit-2</title>\n <path d=\"M10.862 1.529l-9 9c-0.078 0.077-0.14 0.179-0.172 0.296l-1 3.667c-0.031 0.109-0.033 0.231 0 0.351 0.097 0.355 0.463 0.565 0.819 0.468l3.667-1c0.106-0.028 0.21-0.086 0.296-0.172l9-9c0.498-0.498 0.747-1.153 0.747-1.805s-0.249-1.307-0.747-1.805-1.153-0.747-1.805-0.747-1.307 0.249-1.805 0.747zM11.805 2.471c0.238-0.238 0.549-0.357 0.862-0.357s0.624 0.119 0.862 0.357 0.357 0.549 0.357 0.861-0.119 0.624-0.357 0.862l-8.875 8.875-2.371 0.647 0.647-2.37z\"></path>\n </svg>\n `\n },\n {\n name: 'edit-3',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>edit-3</title>\n <path d=\"M8 14h6c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-6c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667zM10.529 1.862l-8.333 8.333c-0.081 0.081-0.145 0.187-0.175 0.31l-0.667 2.667c-0.026 0.1-0.028 0.212 0 0.323 0.089 0.357 0.451 0.575 0.809 0.485l2.667-0.667c0.111-0.027 0.22-0.086 0.31-0.175l8.333-8.333c0.406-0.406 0.609-0.94 0.609-1.471s-0.203-1.065-0.609-1.471-0.941-0.61-1.472-0.61-1.065 0.203-1.471 0.609zM11.471 2.805c0.146-0.146 0.336-0.219 0.529-0.219s0.383 0.073 0.529 0.219 0.219 0.336 0.219 0.529-0.073 0.383-0.219 0.529l-8.203 8.203-1.41 0.353 0.353-1.41z\"></path>\n </svg>\n `\n },\n {\n name: 'edit',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>edit</title>\n <path d=\"M7.333 2h-4.667c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v9.333c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h9.333c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-4.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v4.667c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-9.333c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-9.333c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195h4.667c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667zM11.862 1.195l-6.333 6.333c-0.081 0.081-0.145 0.187-0.175 0.31l-0.667 2.667c-0.026 0.1-0.028 0.212 0 0.323 0.089 0.357 0.451 0.575 0.809 0.485l2.667-0.667c0.111-0.027 0.22-0.086 0.31-0.175l6.333-6.333c0.406-0.406 0.609-0.94 0.609-1.471s-0.203-1.065-0.609-1.471-0.941-0.61-1.472-0.61-1.065 0.203-1.471 0.609zM12.805 2.138c0.146-0.146 0.336-0.219 0.529-0.219s0.383 0.073 0.529 0.219 0.219 0.336 0.219 0.529-0.073 0.383-0.219 0.529l-6.203 6.203-1.409 0.353 0.353-1.409z\"></path>\n </svg>\n `\n },\n {\n name: 'external-link',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>external-link</title>\n <path d=\"M11.333 8.667v4c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-7.333c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-7.333c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195h4c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-4c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v7.333c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h7.333c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-4c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667zM7.138 9.805l6.195-6.195v2.391c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-4c0-0.091-0.018-0.177-0.051-0.255s-0.081-0.152-0.144-0.215c-0.001-0.001-0.001-0.001-0.001-0.001-0.061-0.061-0.135-0.111-0.215-0.144-0.079-0.033-0.165-0.051-0.255-0.051h-4c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h2.391l-6.195 6.195c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0z\"></path>\n </svg>\n `\n },\n {\n name: 'eye-off',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>eye-off</title>\n <path d=\"M6.752 3.476c0.434-0.101 0.863-0.147 1.24-0.143 1.172 0 2.206 0.373 3.105 0.929 0.746 0.461 1.393 1.045 1.929 1.632 0.429 0.47 0.783 0.937 1.057 1.334 0.218 0.317 0.38 0.583 0.489 0.77-0.364 0.635-0.773 1.214-1.185 1.695-0.239 0.279-0.207 0.701 0.072 0.94s0.701 0.207 0.94-0.072c0.545-0.636 1.074-1.408 1.522-2.247 0.099-0.186 0.109-0.412 0.009-0.613 0 0-0.264-0.526-0.747-1.229-0.301-0.437-0.692-0.955-1.171-1.479-0.596-0.653-1.336-1.325-2.213-1.867-1.063-0.657-2.337-1.127-3.791-1.127-0.489-0.006-1.027 0.053-1.56 0.177-0.359 0.084-0.581 0.443-0.497 0.801s0.443 0.581 0.801 0.497zM6.685 7.628l1.687 1.687c-0.121 0.041-0.248 0.063-0.375 0.067-0.342 0.012-0.687-0.106-0.956-0.357s-0.411-0.587-0.423-0.929c-0.005-0.159 0.017-0.317 0.067-0.469zM3.989 4.931l1.702 1.702c-0.289 0.461-0.424 0.989-0.405 1.511 0.024 0.681 0.309 1.355 0.847 1.857s1.231 0.738 1.912 0.714c0.461-0.016 0.919-0.152 1.323-0.405l1.548 1.548c-0.919 0.533-1.93 0.797-2.923 0.809-1.156 0-2.19-0.373-3.089-0.929-0.746-0.461-1.393-1.045-1.929-1.632-0.429-0.47-0.783-0.937-1.057-1.334-0.217-0.317-0.38-0.582-0.488-0.769 0.7-1.215 1.584-2.253 2.561-3.071zM0.195 1.138l2.847 2.847c-1.154 0.986-2.179 2.239-2.963 3.699-0.099 0.186-0.109 0.413-0.009 0.613 0 0 0.264 0.526 0.747 1.229 0.301 0.437 0.692 0.955 1.171 1.479 0.596 0.653 1.336 1.325 2.213 1.867 1.063 0.657 2.337 1.128 3.807 1.128 1.329-0.016 2.679-0.401 3.877-1.173l2.977 2.977c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-5.917-5.917c-0.001-0.001-0.003-0.003-0.005-0.005l-2.806-2.807c-0.005-0.005-0.011-0.011-0.016-0.016l-5.923-5.922c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'eye',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>eye</title>\n <path d=\"M0.071 7.702c-0.091 0.183-0.097 0.402 0 0.596 0 0 0.264 0.526 0.747 1.229 0.301 0.437 0.692 0.955 1.171 1.479 0.596 0.653 1.336 1.325 2.213 1.867 1.063 0.657 2.337 1.128 3.799 1.128s2.735-0.471 3.799-1.128c0.877-0.542 1.617-1.214 2.213-1.867 0.479-0.524 0.871-1.041 1.171-1.479 0.483-0.703 0.747-1.229 0.747-1.229 0.091-0.183 0.097-0.402 0-0.596 0 0-0.264-0.526-0.747-1.229-0.301-0.437-0.692-0.955-1.171-1.479-0.596-0.653-1.336-1.325-2.213-1.867-1.063-0.657-2.337-1.128-3.799-1.128s-2.735 0.471-3.799 1.128c-0.877 0.542-1.617 1.214-2.213 1.867-0.479 0.524-0.871 1.041-1.171 1.479-0.483 0.703-0.747 1.229-0.747 1.229zM1.427 8c0.109-0.187 0.271-0.454 0.489-0.772 0.273-0.397 0.627-0.864 1.057-1.334 0.537-0.587 1.183-1.171 1.929-1.632 0.9-0.556 1.934-0.929 3.098-0.929s2.198 0.373 3.097 0.929c0.746 0.461 1.393 1.045 1.929 1.632 0.429 0.47 0.783 0.937 1.057 1.334 0.219 0.318 0.381 0.584 0.489 0.772-0.109 0.187-0.271 0.454-0.489 0.772-0.273 0.397-0.627 0.864-1.057 1.334-0.537 0.587-1.183 1.171-1.929 1.632-0.899 0.556-1.933 0.929-3.097 0.929s-2.198-0.373-3.097-0.929c-0.746-0.461-1.393-1.045-1.929-1.632-0.429-0.47-0.783-0.937-1.057-1.334-0.219-0.318-0.381-0.585-0.49-0.772zM10.667 8c0-0.736-0.299-1.404-0.781-1.885s-1.149-0.781-1.885-0.781-1.404 0.299-1.885 0.781-0.781 1.149-0.781 1.885 0.299 1.404 0.781 1.885 1.149 0.781 1.885 0.781 1.404-0.299 1.885-0.781 0.781-1.149 0.781-1.885zM9.333 8c0 0.369-0.149 0.701-0.391 0.943s-0.574 0.391-0.943 0.391-0.701-0.149-0.943-0.391-0.391-0.574-0.391-0.943 0.149-0.701 0.391-0.943 0.574-0.391 0.943-0.391 0.701 0.149 0.943 0.391 0.391 0.574 0.391 0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'facebook',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>facebook</title>\n <path d=\"M11.333 2v1.333h-1.333c-0.368 0-0.702 0.15-0.943 0.391s-0.391 0.575-0.391 0.943v2c0 0.368 0.299 0.667 0.667 0.667h1.813l-0.333 1.333h-1.479c-0.368 0-0.667 0.299-0.667 0.667v4.667h-1.333v-4.667c0-0.368-0.299-0.667-0.667-0.667h-1.333v-1.333h1.333c0.368 0 0.667-0.299 0.667-0.667v-2c0-0.737 0.298-1.402 0.781-1.885s1.149-0.781 1.885-0.781zM12 0.667h-2c-1.105 0-2.105 0.449-2.829 1.171s-1.171 1.724-1.171 2.829v1.333h-1.333c-0.368 0-0.667 0.299-0.667 0.667v2.667c0 0.368 0.299 0.667 0.667 0.667h1.333v4.667c0 0.368 0.299 0.667 0.667 0.667h2.667c0.368 0 0.667-0.299 0.667-0.667v-4.667h1.333c0.311 0 0.572-0.213 0.647-0.505l0.667-2.667c0.089-0.357-0.128-0.719-0.485-0.809-0.055-0.014-0.111-0.021-0.161-0.020h-2v-1.333h2c0.368 0 0.667-0.299 0.667-0.667v-2.667c0-0.368-0.299-0.667-0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'fast-forward',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>fast-forward</title>\n <path d=\"M9.333 11.303v-6.607l4.247 3.303zM2 11.303v-6.607l4.247 3.303zM1.743 13.193l6-4.667c0.167-0.13 0.255-0.324 0.257-0.52v4.661c0 0.368 0.299 0.667 0.667 0.667 0.155 0 0.297-0.053 0.409-0.141l6-4.667c0.291-0.226 0.343-0.645 0.117-0.935-0.036-0.046-0.077-0.086-0.117-0.117l-6-4.667c-0.291-0.226-0.709-0.174-0.935 0.117-0.095 0.123-0.141 0.267-0.141 0.409v4.66c-0.001-0.141-0.047-0.283-0.141-0.403-0.036-0.046-0.077-0.086-0.117-0.117l-6-4.667c-0.291-0.226-0.709-0.174-0.935 0.117-0.095 0.123-0.141 0.267-0.141 0.409v9.333c0 0.368 0.299 0.667 0.667 0.667 0.155 0 0.297-0.053 0.409-0.141z\"></path>\n </svg>\n `\n },\n {\n name: 'feather',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>feather</title>\n <path d=\"M12.074 10.528c0.046-0.035 0.087-0.077 0.122-0.123l1.769-1.774c0.911-0.911 1.367-2.107 1.367-3.301s-0.456-2.39-1.367-3.301-2.107-1.367-3.301-1.367-2.39 0.456-3.301 1.367l-4.5 4.5c-0.13 0.13-0.195 0.301-0.195 0.471v5.391l-1.805 1.805c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0l1.805-1.805h5.391c0.185 0 0.351-0.075 0.472-0.196zM6.276 10.667h3.777l-1.329 1.333h-3.781zM11.382 9.333h-3.773l3.529-3.529c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-6.195 6.195v-3.781l4.305-4.305c0.651-0.651 1.504-0.977 2.359-0.977s1.707 0.325 2.359 0.977 0.977 1.504 0.977 2.359-0.325 1.707-0.977 2.359z\"></path>\n </svg>\n `\n },\n {\n name: 'figma',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>figma</title>\n <path d=\"M8.667 8.333c0-0.461 0.186-0.876 0.488-1.179s0.718-0.488 1.179-0.488 0.876 0.186 1.179 0.488 0.488 0.718 0.488 1.179-0.186 0.876-0.488 1.179-0.718 0.488-1.179 0.488-0.876-0.186-1.179-0.488-0.488-0.718-0.488-1.179zM5.667 5.333c-0.461 0-0.876-0.186-1.179-0.488s-0.488-0.718-0.488-1.179 0.186-0.876 0.488-1.179 0.718-0.488 1.179-0.488h1.667v3.333zM8.667 5.333v-3.333h1.667c0.461 0 0.876 0.186 1.179 0.488s0.488 0.718 0.488 1.179-0.186 0.876-0.488 1.179-0.718 0.488-1.179 0.488zM7.333 11.333v1.667c0 0.461-0.186 0.876-0.488 1.179s-0.718 0.488-1.179 0.488-0.876-0.186-1.179-0.488-0.488-0.718-0.488-1.179 0.186-0.876 0.488-1.179 0.718-0.488 1.179-0.488zM2.667 8.333c0 0.828 0.337 1.579 0.879 2.121 0.075 0.075 0.153 0.145 0.235 0.212-0.082 0.067-0.161 0.137-0.235 0.212-0.542 0.542-0.879 1.293-0.879 2.121s0.337 1.579 0.879 2.121 1.293 0.879 2.121 0.879 1.579-0.337 2.121-0.879 0.879-1.293 0.879-2.121v-2.172c0.477 0.319 1.050 0.505 1.667 0.505 0.828 0 1.579-0.337 2.121-0.879s0.879-1.293 0.879-2.121-0.337-1.579-0.879-2.121c-0.075-0.075-0.153-0.145-0.235-0.212 0.082-0.067 0.161-0.137 0.235-0.212 0.542-0.542 0.879-1.293 0.879-2.121s-0.337-1.579-0.879-2.121-1.293-0.879-2.121-0.879h-4.667c-0.828 0-1.579 0.337-2.121 0.879s-0.879 1.293-0.879 2.121 0.337 1.579 0.879 2.121c0.075 0.075 0.153 0.145 0.235 0.212-0.082 0.067-0.161 0.137-0.235 0.212-0.542 0.542-0.879 1.293-0.879 2.121zM4 8.333c0-0.461 0.186-0.876 0.488-1.179s0.718-0.488 1.179-0.488h1.667v3.333h-1.667c-0.461 0-0.876-0.186-1.179-0.488s-0.488-0.718-0.488-1.179z\"></path>\n </svg>\n `\n },\n {\n name: 'file-minus',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>file-minus</title>\n <path d=\"M9.333 0.667h-5.333c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v10.667c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h8c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-8c0-0.184-0.075-0.351-0.195-0.471l-4-4c-0.064-0.064-0.137-0.112-0.216-0.145-0.081-0.034-0.169-0.051-0.255-0.051zM11.724 4.667h-1.724v-1.724zM8.667 2v3.333c0 0.368 0.299 0.667 0.667 0.667h3.333v7.333c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-8c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-10.667c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195zM6 10.667h4c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-4c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'file-plus',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>file-plus</title>\n <path d=\"M9.333 0.667h-5.333c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v10.667c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h8c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-8c0-0.184-0.075-0.351-0.195-0.471l-4-4c-0.064-0.064-0.137-0.112-0.216-0.145-0.081-0.034-0.169-0.051-0.255-0.051zM11.724 4.667h-1.724v-1.724zM8.667 2v3.333c0 0.368 0.299 0.667 0.667 0.667h3.333v7.333c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-8c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-10.667c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195zM6 10.667h1.333v1.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-1.333h1.333c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-1.333v-1.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v1.333h-1.333c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'file-text',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>file-text</title>\n <path d=\"M9.333 0.667h-5.333c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v10.667c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h8c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-8c0-0.184-0.075-0.351-0.195-0.471l-4-4c-0.064-0.064-0.137-0.112-0.216-0.145-0.081-0.034-0.169-0.051-0.255-0.051zM11.724 4.667h-1.724v-1.724zM8.667 2v3.333c0 0.368 0.299 0.667 0.667 0.667h3.333v7.333c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-8c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-10.667c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195zM10.667 8h-5.333c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h5.333c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667zM10.667 10.667h-5.333c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h5.333c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667zM6.667 5.333h-1.333c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h1.333c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'file',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>file</title>\n <path d=\"M8.667 0.667h-4.667c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v10.667c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h8c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-7.333c0-0.184-0.075-0.351-0.195-0.471l-4.667-4.667c-0.064-0.064-0.137-0.112-0.216-0.145-0.081-0.034-0.169-0.051-0.255-0.051zM11.724 5.333h-2.391v-2.391zM8 2v4c0 0.368 0.299 0.667 0.667 0.667h4v6.667c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-8c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-10.667c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195z\"></path>\n </svg>\n `\n },\n {\n name: 'film',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>film</title>\n <path d=\"M10.667 7.333h-5.333v-5.333h5.333zM5.333 8.667h5.333v5.333h-5.333zM4 4h-2v-1.213c0-0.217 0.087-0.413 0.231-0.556s0.339-0.231 0.556-0.231h1.213zM2 5.333h2v2h-2zM4 10.667h-2v-2h2zM2 12h2v2h-1.213c-0.217 0-0.413-0.087-0.556-0.231s-0.231-0.339-0.231-0.556zM14 10.667h-2v-2h2zM12 12h2v1.213c0 0.217-0.087 0.413-0.231 0.556s-0.339 0.231-0.556 0.231h-1.213zM14 4h-2v-2h1.213c0.217 0 0.413 0.087 0.556 0.231s0.231 0.339 0.231 0.556zM15.333 4.667v-1.88c0-0.585-0.238-1.116-0.621-1.499s-0.914-0.621-1.499-0.621h-10.427c-0.585 0-1.116 0.238-1.499 0.621s-0.621 0.914-0.621 1.499v10.427c0 0.585 0.238 1.116 0.621 1.499s0.914 0.621 1.499 0.621h10.427c0.585 0 1.116-0.238 1.499-0.621s0.621-0.914 0.621-1.499zM12 5.333h2v2h-2z\"></path>\n </svg>\n `\n },\n {\n name: 'filter',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>filter</title>\n <path d=\"M13.23 2.667l-4.406 5.209c-0.098 0.115-0.157 0.266-0.157 0.431v4.615l-1.333-0.667v-3.948c0.001-0.151-0.051-0.305-0.157-0.431l-4.406-5.209zM14.667 1.333h-13.333c-0.368 0-0.667 0.299-0.667 0.667 0 0.165 0.059 0.315 0.157 0.431l5.176 6.12v4.116c0 0.259 0.148 0.485 0.369 0.596l2.667 1.333c0.329 0.165 0.73 0.031 0.895-0.298 0.048-0.097 0.071-0.201 0.070-0.298v-5.449l5.176-6.12c0.238-0.281 0.203-0.702-0.079-0.939-0.126-0.107-0.279-0.159-0.431-0.158z\"></path>\n </svg>\n `\n },\n {\n name: 'flag',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>flag</title>\n <path d=\"M3.333 8.931v-6.573c0.293-0.145 0.91-0.359 2-0.359 0.854 0 1.574 0.281 2.419 0.619 0.821 0.329 1.768 0.715 2.914 0.715 0.865 0 1.519-0.117 2-0.265v6.573c-0.293 0.145-0.91 0.359-2 0.359-0.854 0-1.574-0.281-2.419-0.619-0.821-0.329-1.768-0.715-2.914-0.715-0.865 0-1.519 0.117-2 0.265zM3.333 14.667v-4.308c0.293-0.145 0.91-0.359 2-0.359 0.854 0 1.574 0.281 2.419 0.619 0.821 0.329 1.768 0.715 2.914 0.715 2.165 0 3.005-0.729 3.138-0.862 0.13-0.13 0.195-0.301 0.195-0.471v-8c0-0.368-0.299-0.667-0.667-0.667-0.177 0-0.337 0.069-0.457 0.181-0.064 0.052-0.656 0.485-2.21 0.485-0.854 0-1.574-0.281-2.419-0.619-0.821-0.329-1.768-0.715-2.914-0.715-2.165 0-3.005 0.729-3.138 0.862-0.13 0.13-0.195 0.301-0.195 0.471v12.667c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'folder-minus',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>folder-minus</title>\n <path d=\"M15.333 12.667v-7.333c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586h-5.643l-1.135-1.703c-0.121-0.18-0.324-0.297-0.555-0.297h-3.333c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v9.333c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h10.667c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414zM14 12.667c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-10.667c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-9.333c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195h2.977l1.135 1.703c0.128 0.191 0.337 0.295 0.555 0.297h6c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471zM6 10h4c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-4c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'folder-plus',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>folder-plus</title>\n <path d=\"M15.333 12.667v-7.333c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586h-5.643l-1.135-1.703c-0.121-0.18-0.324-0.297-0.555-0.297h-3.333c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v9.333c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h10.667c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414zM14 12.667c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-10.667c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-9.333c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195h2.977l1.135 1.703c0.128 0.191 0.337 0.295 0.555 0.297h6c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471zM6 10h1.333v1.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-1.333h1.333c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-1.333v-1.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v1.333h-1.333c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'folder',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>folder</title>\n <path d=\"M15.333 12.667v-7.333c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586h-5.643l-1.135-1.703c-0.121-0.18-0.324-0.297-0.555-0.297h-3.333c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v9.333c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h10.667c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414zM14 12.667c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-10.667c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-9.333c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195h2.977l1.135 1.703c0.128 0.191 0.337 0.295 0.555 0.297h6c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471z\"></path>\n </svg>\n `\n },\n {\n name: 'framer',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>framer</title>\n <path d=\"M7.333 11.333v2.391l-2.391-2.391zM8 11.333h0.667v-0.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667 0.299 0.667 0.667 0.667 0.667-0.299 0.667-0.667-0.299-0.667-0.667-0.667-0.667 0.299-0.667 0.667v0.667zM4 10.391v-0.391h-0.667c-0.091 0-0.177 0.018-0.255 0.051s-0.152 0.081-0.216 0.145-0.112 0.137-0.145 0.216c-0.033 0.079-0.051 0.165-0.051 0.255 0 0.368 0.299 0.667 0.667 0.667h1.609zM8.276 5.333l-3.333-3.333h7.057v3.333z\"></path>\n </svg>\n `\n },\n {\n name: 'frown',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>frown</title>\n <path d=\"M15.333 8c0-2.025-0.821-3.859-2.148-5.185s-3.161-2.148-5.185-2.148-3.859 0.821-5.185 2.148-2.148 3.161-2.148 5.185 0.821 3.859 2.148 5.185 3.161 2.148 5.185 2.148 3.859-0.821 5.185-2.148 2.148-3.161 2.148-5.185zM14 8c0 1.657-0.671 3.156-1.757 4.243s-2.585 1.757-4.243 1.757-3.156-0.671-4.243-1.757-1.757-2.585-1.757-4.243 0.671-3.156 1.757-4.243 2.585-1.757 4.243-1.757 3.156 0.671 4.243 1.757 1.757 2.585 1.757 4.243zM11.2 10.267c0 0-0.087-0.115-0.221-0.255-0.097-0.102-0.225-0.227-0.385-0.36-0.225-0.187-0.515-0.393-0.865-0.569-0.47-0.235-1.053-0.416-1.73-0.416s-1.26 0.181-1.73 0.416c-0.35 0.175-0.64 0.381-0.865 0.569-0.159 0.133-0.288 0.258-0.385 0.36-0.133 0.14-0.221 0.255-0.221 0.255-0.221 0.295-0.161 0.713 0.133 0.933s0.713 0.161 0.933-0.133l0.121-0.137c0.067-0.070 0.158-0.159 0.272-0.255 0.162-0.135 0.366-0.279 0.607-0.4 0.32-0.159 0.7-0.275 1.134-0.275s0.814 0.115 1.134 0.275c0.24 0.12 0.445 0.265 0.607 0.4 0.114 0.095 0.205 0.185 0.272 0.255l0.121 0.137c0.221 0.295 0.639 0.354 0.933 0.133s0.354-0.639 0.133-0.933z\"></path>\n </svg>\n `\n },\n {\n name: 'gift',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>gift</title>\n <path d=\"M7.333 8.667v5.333h-4v-5.333zM8.667 14v-5.333h4v5.333zM5 4c-0.276 0-0.525-0.111-0.707-0.293s-0.293-0.431-0.293-0.707 0.111-0.525 0.293-0.707 0.431-0.293 0.707-0.293c0.419 0 0.761 0.149 1.056 0.391 0.251 0.205 0.467 0.479 0.651 0.785 0.161 0.267 0.289 0.547 0.387 0.802zM8.897 4c0.107-0.277 0.235-0.557 0.395-0.825 0.183-0.306 0.401-0.579 0.651-0.785 0.295-0.242 0.637-0.391 1.057-0.391 0.276 0 0.525 0.111 0.707 0.293s0.293 0.431 0.293 0.707-0.111 0.525-0.293 0.707-0.431 0.293-0.707 0.293zM7.333 5.333v2h-5.333v-2h3zM13.109 4c0.144-0.303 0.225-0.642 0.225-1 0-0.644-0.262-1.229-0.683-1.65s-1.006-0.683-1.65-0.683c-0.773 0-1.406 0.287-1.901 0.693-0.402 0.329-0.712 0.735-0.949 1.129-0.053 0.089-0.103 0.177-0.15 0.265-0.047-0.088-0.097-0.177-0.15-0.265-0.237-0.394-0.547-0.8-0.949-1.129-0.495-0.406-1.128-0.693-1.901-0.693-0.644 0-1.229 0.262-1.65 0.683s-0.683 1.006-0.683 1.65c0 0.358 0.081 0.697 0.225 1h-1.558c-0.368 0-0.667 0.299-0.667 0.667v3.333c0 0.368 0.299 0.667 0.667 0.667h0.667v6c0 0.368 0.299 0.667 0.667 0.667h10.667c0.368 0 0.667-0.299 0.667-0.667v-6h0.667c0.368 0 0.667-0.299 0.667-0.667v-3.333c0-0.368-0.299-0.667-0.667-0.667zM8.667 5.333h5.333v2h-5.333z\"></path>\n </svg>\n `\n },\n {\n name: 'git-branch',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>git-branch</title>\n <path d=\"M13.333 4c0 0.369-0.149 0.701-0.391 0.943s-0.574 0.391-0.943 0.391-0.701-0.149-0.943-0.391-0.391-0.574-0.391-0.943 0.149-0.701 0.391-0.943 0.574-0.391 0.943-0.391 0.701 0.149 0.943 0.391 0.391 0.574 0.391 0.943zM5.333 12c0 0.369-0.149 0.701-0.391 0.943s-0.574 0.391-0.943 0.391-0.701-0.149-0.943-0.391-0.391-0.574-0.391-0.943 0.149-0.701 0.391-0.943 0.574-0.391 0.943-0.391 0.701 0.149 0.943 0.391 0.391 0.574 0.391 0.943zM11.303 6.575c-0.133 1.243-0.693 2.358-1.531 3.197s-1.953 1.399-3.197 1.531c-0.123-0.457-0.365-0.865-0.689-1.189-0.331-0.331-0.751-0.576-1.219-0.697v-7.417c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v7.417c-0.469 0.121-0.888 0.366-1.219 0.697-0.482 0.482-0.781 1.15-0.781 1.886s0.299 1.404 0.781 1.885 1.149 0.781 1.885 0.781 1.404-0.299 1.885-0.781c0.337-0.337 0.585-0.765 0.703-1.245 1.606-0.141 3.049-0.851 4.125-1.927s1.786-2.519 1.927-4.125c0.479-0.118 0.907-0.366 1.245-0.703 0.482-0.481 0.781-1.149 0.781-1.885s-0.299-1.404-0.781-1.885-1.149-0.781-1.885-0.781-1.404 0.299-1.885 0.781-0.781 1.149-0.781 1.885 0.299 1.404 0.781 1.885c0.324 0.324 0.732 0.565 1.189 0.689z\"></path>\n </svg>\n `\n },\n {\n name: 'git-commit',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>git-commit</title>\n <path d=\"M10 8c0 0.553-0.223 1.051-0.586 1.414s-0.861 0.586-1.414 0.586-1.051-0.223-1.414-0.586-0.586-0.861-0.586-1.414 0.223-1.051 0.586-1.414 0.861-0.586 1.414-0.586 1.051 0.223 1.414 0.586 0.586 0.861 0.586 1.414zM11.34 8.667h3.967c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-3.967c-0.025 0-0.049 0.001-0.073 0.004-0.132-0.655-0.457-1.24-0.91-1.694-0.603-0.603-1.437-0.977-2.357-0.977s-1.755 0.374-2.357 0.976c-0.454 0.454-0.778 1.039-0.91 1.693-0.021-0.001-0.044-0.003-0.066-0.003h-3.967c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h3.967c0.022 0 0.045-0.001 0.066-0.003 0.132 0.655 0.457 1.24 0.91 1.693 0.603 0.603 1.437 0.977 2.357 0.977s1.755-0.374 2.357-0.976c0.454-0.454 0.778-1.039 0.91-1.694 0.024 0.003 0.048 0.004 0.073 0.004z\"></path>\n </svg>\n `\n },\n {\n name: 'git-merge',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>git-merge</title>\n <path d=\"M13.333 12c0 0.369-0.149 0.701-0.391 0.943s-0.574 0.391-0.943 0.391-0.701-0.149-0.943-0.391-0.391-0.574-0.391-0.943 0.149-0.701 0.391-0.943 0.574-0.391 0.943-0.391 0.701 0.149 0.943 0.391 0.391 0.574 0.391 0.943zM5.333 4c0 0.369-0.149 0.701-0.391 0.943s-0.574 0.391-0.943 0.391-0.701-0.149-0.943-0.391-0.391-0.574-0.391-0.943 0.149-0.701 0.391-0.943 0.574-0.391 0.943-0.391 0.701 0.149 0.943 0.391 0.391 0.574 0.391 0.943zM4.667 14v-3.999c0.189 0.253 0.397 0.491 0.619 0.713 1.076 1.076 2.519 1.786 4.125 1.927 0.118 0.479 0.366 0.907 0.703 1.245 0.481 0.482 1.149 0.781 1.885 0.781s1.404-0.299 1.885-0.781 0.781-1.149 0.781-1.885-0.299-1.404-0.781-1.885-1.149-0.781-1.885-0.781-1.404 0.299-1.885 0.781c-0.324 0.324-0.565 0.732-0.689 1.189-1.243-0.133-2.358-0.693-3.197-1.531s-1.399-1.953-1.531-3.197c0.455-0.124 0.863-0.366 1.187-0.69 0.482-0.481 0.781-1.149 0.781-1.885s-0.299-1.404-0.781-1.885-1.149-0.781-1.885-0.781-1.404 0.299-1.885 0.781-0.781 1.149-0.781 1.885 0.299 1.404 0.781 1.885c0.331 0.331 0.75 0.577 1.219 0.697v7.417c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'git-pull-request',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>git-pull-request</title>\n <path d=\"M13.333 12c0 0.369-0.149 0.701-0.391 0.943s-0.574 0.391-0.943 0.391-0.701-0.149-0.943-0.391-0.391-0.574-0.391-0.943 0.149-0.701 0.391-0.943 0.574-0.391 0.943-0.391 0.701 0.149 0.943 0.391 0.391 0.574 0.391 0.943zM5.333 4c0 0.369-0.149 0.701-0.391 0.943s-0.574 0.391-0.943 0.391-0.701-0.149-0.943-0.391-0.391-0.574-0.391-0.943 0.149-0.701 0.391-0.943 0.574-0.391 0.943-0.391 0.701 0.149 0.943 0.391 0.391 0.574 0.391 0.943zM8.667 4.667h2c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v4.084c-0.469 0.121-0.888 0.366-1.219 0.697-0.482 0.482-0.781 1.15-0.781 1.886s0.299 1.404 0.781 1.885 1.149 0.781 1.885 0.781 1.404-0.299 1.885-0.781 0.781-1.149 0.781-1.885-0.299-1.404-0.781-1.885c-0.331-0.331-0.75-0.576-1.219-0.697v-4.085c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586h-2c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667zM3.333 6.583v7.417c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-7.417c0.469-0.121 0.888-0.366 1.219-0.697 0.482-0.482 0.781-1.15 0.781-1.886s-0.299-1.404-0.781-1.885-1.149-0.781-1.885-0.781-1.404 0.299-1.885 0.781-0.781 1.149-0.781 1.885 0.299 1.404 0.781 1.885c0.331 0.331 0.75 0.577 1.219 0.697z\"></path>\n </svg>\n `\n },\n {\n name: 'github',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>github</title>\n <path d=\"M5.333 12.149c-0.577 0.117-0.969 0.081-1.247-0.007-0.154-0.049-0.287-0.117-0.409-0.201-0.274-0.189-0.485-0.45-0.746-0.781-0.237-0.301-0.567-0.738-1.034-0.984-0.123-0.065-0.257-0.118-0.403-0.155-0.357-0.089-0.719 0.128-0.809 0.485s0.128 0.719 0.485 0.809l0.103 0.040c0.168 0.089 0.325 0.269 0.609 0.631 0.244 0.309 0.571 0.732 1.035 1.053 0.221 0.153 0.474 0.284 0.766 0.376 0.475 0.15 1.017 0.187 1.649 0.090l-0.001 1.163c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-2.58c0-0.014-0.001-0.030-0.001-0.046-0.004-0.056-0.005-0.112-0.003-0.167 0.013-0.379 0.161-0.751 0.443-1.043 0.097-0.099 0.164-0.231 0.183-0.381 0.045-0.365-0.214-0.699-0.579-0.744-0.227-0.028-0.451-0.063-0.671-0.106-0.527-0.104-1.012-0.257-1.431-0.489-0.879-0.486-1.607-1.396-1.607-3.414-0.005-0.738 0.266-1.479 0.816-2.056 0.171-0.183 0.233-0.448 0.142-0.693-0.187-0.499-0.227-1.053-0.094-1.595 0.327 0.071 0.903 0.277 1.765 0.855 0.157 0.105 0.355 0.143 0.551 0.088 1.331-0.371 2.828-0.401 4.313 0.001 0.181 0.049 0.379 0.022 0.545-0.090 0.862-0.577 1.437-0.783 1.765-0.855 0.126 0.511 0.105 1.063-0.094 1.595-0.086 0.235-0.039 0.503 0.142 0.693 0.505 0.53 0.816 1.248 0.816 2.040 0 2.050-0.743 2.963-1.63 3.442-0.415 0.224-0.895 0.37-1.415 0.467-0.215 0.040-0.434 0.071-0.655 0.095-0.14 0.015-0.279 0.076-0.389 0.183-0.265 0.256-0.272 0.678-0.016 0.943 0.045 0.046 0.087 0.095 0.125 0.146 0.227 0.299 0.348 0.677 0.317 1.079 0 0.016-0.001 0.034-0.002 0.052v2.58c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-2.528c0.035-0.456-0.037-0.895-0.195-1.295 0.518-0.114 1.042-0.285 1.531-0.549 1.389-0.749 2.331-2.161 2.331-4.615 0-1.002-0.344-1.925-0.919-2.654 0.237-0.897 0.151-1.817-0.195-2.622-0.081-0.189-0.239-0.321-0.423-0.376-0.238-0.071-1.155-0.206-2.915 0.908-1.515-0.361-3.038-0.339-4.431-0.001-1.759-1.113-2.675-0.977-2.913-0.907-0.197 0.059-0.347 0.2-0.423 0.377-0.369 0.861-0.416 1.781-0.195 2.621-0.62 0.785-0.925 1.734-0.919 2.678 0 2.415 0.926 3.815 2.294 4.573 0.501 0.277 1.040 0.457 1.571 0.578-0.123 0.312-0.191 0.641-0.203 0.971-0.003 0.094-0.002 0.188 0.003 0.282z\"></path>\n </svg>\n `\n },\n {\n name: 'gitlab',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>gitlab</title>\n <path d=\"M15.492 10.133c0.174-0.113 0.328-0.297 0.423-0.509 0.115-0.257 0.143-0.554 0.050-0.87l-0.844-2.499-1.621-4.989c-0.045-0.153-0.13-0.295-0.265-0.425-0.177-0.161-0.402-0.245-0.627-0.248-0.234-0.004-0.471 0.079-0.651 0.243-0.11 0.098-0.197 0.223-0.252 0.365-0.004 0.010-0.008 0.022-0.012 0.035l-1.478 4.545h-4.431l-1.471-4.515c-0.045-0.153-0.13-0.295-0.265-0.425-0.177-0.161-0.401-0.245-0.627-0.248-0.234-0.004-0.471 0.079-0.651 0.243-0.111 0.097-0.197 0.223-0.253 0.364-0.004 0.011-0.008 0.023-0.012 0.035l-1.627 5.008-0.813 2.52c-0.071 0.219-0.078 0.451-0.025 0.669 0.065 0.271 0.224 0.522 0.468 0.701l7.1 5.16c0.231 0.165 0.545 0.173 0.784 0zM14.669 9.083l-6.669 4.847-6.643-4.828 2.048-6.32 1.261 3.872c0.091 0.28 0.35 0.458 0.634 0.46h5.4c0.295 0 0.545-0.191 0.634-0.461l1.257-3.869 1.261 3.883z\"></path>\n </svg>\n `\n },\n {\n name: 'globe',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>globe</title>\n <path d=\"M11.301 7.333c-0.143-1.793-0.735-3.569-1.783-5.14 1.047 0.273 1.982 0.821 2.725 1.564 0.939 0.939 1.567 2.185 1.721 3.576zM9.519 13.806c0.989-1.484 1.624-3.235 1.779-5.139h2.665c-0.153 1.391-0.782 2.637-1.721 3.576-0.742 0.742-1.677 1.291-2.723 1.563zM4.699 8.667c0.143 1.793 0.735 3.569 1.783 5.14-1.047-0.273-1.982-0.821-2.725-1.564-0.939-0.939-1.567-2.185-1.721-3.576zM6.481 2.194c-0.988 1.484-1.624 3.235-1.779 5.139h-2.665c0.153-1.391 0.782-2.637 1.721-3.576 0.743-0.742 1.677-1.291 2.723-1.563zM7.998 0.667c-2.024 0.001-3.857 0.822-5.183 2.148s-2.148 3.161-2.148 5.185 0.821 3.859 2.148 5.185c1.325 1.326 3.159 2.147 5.183 2.148 0.001 0 0.002 0 0.003 0s0.001 0 0.002 0c2.024-0.001 3.857-0.822 5.183-2.148s2.148-3.161 2.148-5.185-0.821-3.859-2.148-5.185c-1.325-1.326-3.159-2.147-5.183-2.148-0.001 0-0.002 0-0.003 0s-0.001 0-0.002 0zM9.964 8.667c-0.168 1.859-0.877 3.573-1.963 4.967-1.153-1.481-1.804-3.212-1.963-4.967zM7.999 2.366c1.153 1.481 1.804 3.212 1.963 4.967h-3.927c0.168-1.859 0.877-3.573 1.963-4.967z\"></path>\n </svg>\n `\n },\n {\n name: 'grid',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>grid</title>\n <path d=\"M2 1.333c-0.368 0-0.667 0.299-0.667 0.667v4.667c0 0.368 0.299 0.667 0.667 0.667h4.667c0.368 0 0.667-0.299 0.667-0.667v-4.667c0-0.368-0.299-0.667-0.667-0.667zM2.667 2.667h3.333v3.333h-3.333zM9.333 1.333c-0.368 0-0.667 0.299-0.667 0.667v4.667c0 0.368 0.299 0.667 0.667 0.667h4.667c0.368 0 0.667-0.299 0.667-0.667v-4.667c0-0.368-0.299-0.667-0.667-0.667zM10 2.667h3.333v3.333h-3.333zM9.333 8.667c-0.368 0-0.667 0.299-0.667 0.667v4.667c0 0.368 0.299 0.667 0.667 0.667h4.667c0.368 0 0.667-0.299 0.667-0.667v-4.667c0-0.368-0.299-0.667-0.667-0.667zM10 10h3.333v3.333h-3.333zM2 8.667c-0.368 0-0.667 0.299-0.667 0.667v4.667c0 0.368 0.299 0.667 0.667 0.667h4.667c0.368 0 0.667-0.299 0.667-0.667v-4.667c0-0.368-0.299-0.667-0.667-0.667zM2.667 10h3.333v3.333h-3.333z\"></path>\n </svg>\n `\n },\n {\n name: 'hard-drive',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>hard-drive</title>\n <path d=\"M14 8.667v3.333c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-10.667c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-3.333zM4.229 3.705c0.044-0.087 0.107-0.164 0.181-0.225 0.115-0.093 0.258-0.147 0.416-0.147h6.342c0.1 0.001 0.197 0.023 0.284 0.063 0.134 0.061 0.247 0.166 0.318 0.309l1.817 3.628h-11.175zM3.037 3.108l-2.294 4.581c-0.021 0.039-0.037 0.081-0.050 0.125-0.019 0.063-0.027 0.125-0.027 0.186v4c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h10.667c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-4c0-0.101-0.022-0.195-0.061-0.278-0.003-0.007-0.007-0.014-0.010-0.021l-0.006-0.012-2.294-4.581c-0.21-0.423-0.553-0.741-0.955-0.925-0.259-0.118-0.541-0.181-0.829-0.183h-6.351c-0.474 0-0.911 0.166-1.255 0.445-0.221 0.179-0.403 0.404-0.534 0.663zM4.667 10.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667 0.299 0.667 0.667 0.667 0.667-0.299 0.667-0.667zM7.333 10.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667 0.299 0.667 0.667 0.667 0.667-0.299 0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'hash',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>hash</title>\n <path d=\"M9.477 6.667l-0.296 2.667h-2.659l0.296-2.667zM10.004 1.927l-0.379 3.407h-2.659l0.362-3.26c0.041-0.366-0.223-0.695-0.589-0.736s-0.695 0.223-0.736 0.589l-0.379 3.407h-2.959c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h2.811l-0.296 2.667h-2.515c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h2.366l-0.362 3.26c-0.041 0.366 0.223 0.695 0.589 0.736s0.695-0.223 0.736-0.589l0.379-3.407h2.659l-0.362 3.26c-0.041 0.366 0.223 0.695 0.589 0.736s0.695-0.223 0.736-0.589l0.379-3.407h2.959c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-2.811l0.296-2.667h2.515c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-2.366l0.362-3.26c0.041-0.366-0.223-0.695-0.589-0.736s-0.695 0.223-0.736 0.589z\"></path>\n </svg>\n `\n },\n {\n name: 'headphones',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>headphones</title>\n <path d=\"M13.333 12.667c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-0.667c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-2c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195h1.333v2zM2.667 12.667v-2.667h1.333c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v2c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-0.667c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471zM1.333 12.667c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h0.667c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-2c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586h-1.333v-0.667c0-1.473 0.596-2.805 1.562-3.771s2.299-1.562 3.771-1.562 2.805 0.596 3.771 1.562 1.562 2.299 1.562 3.771v0.667h-1.333c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v2c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h0.667c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-4.667c0-1.841-0.747-3.509-1.953-4.714s-2.873-1.953-4.714-1.953-3.509 0.747-4.714 1.953-1.953 2.873-1.953 4.714v4z\"></path>\n </svg>\n `\n },\n {\n name: 'heart',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>heart</title>\n <path d=\"M13.422 3.545c0.587 0.587 0.879 1.354 0.879 2.123s-0.293 1.535-0.879 2.121l-5.422 5.422-5.422-5.422c-0.586-0.586-0.879-1.353-0.879-2.122s0.293-1.536 0.879-2.122 1.353-0.879 2.122-0.879 1.536 0.293 2.122 0.879l0.707 0.707c0.261 0.261 0.683 0.261 0.943 0l0.708-0.708c0.586-0.586 1.353-0.879 2.121-0.878s1.535 0.293 2.121 0.879zM14.365 2.602c-0.846-0.846-1.956-1.269-3.064-1.27s-2.218 0.423-3.065 1.269l-0.236 0.237-0.235-0.235c-0.846-0.846-1.957-1.269-3.065-1.269s-2.219 0.423-3.065 1.269-1.269 1.957-1.269 3.065 0.423 2.219 1.269 3.065l5.893 5.893c0.261 0.261 0.683 0.261 0.943 0l5.893-5.893c0.846-0.846 1.269-1.956 1.27-3.064s-0.423-2.218-1.27-3.065z\"></path>\n </svg>\n `\n },\n {\n name: 'help-circle',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>help-circle</title>\n <path d=\"M15.333 8c0-2.025-0.821-3.859-2.148-5.185s-3.161-2.148-5.185-2.148-3.859 0.821-5.185 2.148-2.148 3.161-2.148 5.185 0.821 3.859 2.148 5.185 3.161 2.148 5.185 2.148 3.859-0.821 5.185-2.148 2.148-3.161 2.148-5.185zM14 8c0 1.657-0.671 3.156-1.757 4.243s-2.585 1.757-4.243 1.757-3.156-0.671-4.243-1.757-1.757-2.585-1.757-4.243 0.671-3.156 1.757-4.243 2.585-1.757 4.243-1.757 3.156 0.671 4.243 1.757 1.757 2.585 1.757 4.243zM6.689 6.221c0.122-0.347 0.373-0.612 0.681-0.76s0.671-0.178 1.019-0.055c0.305 0.107 0.546 0.313 0.7 0.573 0.122 0.205 0.19 0.443 0.191 0.691 0 0.103-0.026 0.206-0.078 0.309-0.053 0.107-0.135 0.217-0.245 0.327-0.473 0.473-1.221 0.728-1.221 0.728-0.349 0.117-0.538 0.494-0.421 0.843s0.494 0.538 0.843 0.421c0 0 1.029-0.337 1.742-1.050 0.186-0.186 0.363-0.409 0.495-0.673 0.133-0.267 0.219-0.572 0.219-0.913-0.003-0.487-0.136-0.958-0.378-1.366-0.309-0.519-0.793-0.935-1.403-1.149-0.695-0.244-1.423-0.183-2.038 0.111s-1.119 0.825-1.363 1.52c-0.123 0.347 0.060 0.728 0.407 0.85s0.728-0.061 0.85-0.407zM8.667 11.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667 0.299 0.667 0.667 0.667 0.667-0.299 0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'hexagon',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>hexagon</title>\n <path d=\"M13.333 10.667c-0.001 0.081-0.017 0.164-0.047 0.241-0.053 0.137-0.15 0.256-0.284 0.333l-4.666 2.666c-0.075 0.043-0.155 0.070-0.237 0.083-0.145 0.023-0.297-0.002-0.436-0.083l-4.661-2.663c-0.074-0.043-0.138-0.099-0.19-0.163-0.093-0.115-0.147-0.258-0.147-0.415v-5.329c0.001-0.085 0.017-0.169 0.047-0.246 0.053-0.137 0.15-0.256 0.284-0.333l4.666-2.666c0.075-0.043 0.155-0.070 0.237-0.083 0.145-0.023 0.297 0.002 0.436 0.083l4.661 2.663c0.074 0.043 0.138 0.099 0.19 0.163 0.093 0.115 0.147 0.258 0.147 0.415zM14.667 10.667v-5.333c-0.001-0.473-0.165-0.909-0.443-1.252-0.153-0.191-0.341-0.352-0.554-0.477l-4.673-2.67c-0.407-0.235-0.867-0.31-1.302-0.243-0.243 0.038-0.477 0.119-0.692 0.242l-4.667 2.667c-0.412 0.237-0.707 0.598-0.866 1.009-0.089 0.228-0.135 0.471-0.137 0.718v5.338c0.001 0.473 0.165 0.909 0.443 1.252 0.153 0.191 0.341 0.352 0.554 0.477l4.673 2.67c0.407 0.235 0.867 0.31 1.302 0.243 0.243-0.038 0.477-0.119 0.692-0.242l4.667-2.667c0.412-0.238 0.707-0.599 0.866-1.009 0.089-0.228 0.135-0.471 0.137-0.723z\"></path>\n </svg>\n `\n },\n {\n name: 'home',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>home</title>\n <path d=\"M1.591 5.474c-0.157 0.123-0.257 0.313-0.257 0.526v7.333c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h9.333c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-7.333c-0.001-0.2-0.089-0.395-0.257-0.526l-6-4.667c-0.239-0.183-0.574-0.19-0.819 0zM10.667 14v-6c0-0.368-0.299-0.667-0.667-0.667h-4c-0.368 0-0.667 0.299-0.667 0.667v6h-2c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-7.007l5.333-4.148 5.333 4.148v7.007c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195zM6.667 14v-5.333h2.667v5.333z\"></path>\n </svg>\n `\n },\n {\n name: 'image',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>image</title>\n <path d=\"M3.333 1.333c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v9.333c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h9.333c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-9.333c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586zM7.333 5.667c0-0.46-0.187-0.877-0.488-1.179s-0.719-0.488-1.179-0.488-0.877 0.187-1.179 0.488-0.488 0.719-0.488 1.179 0.187 0.877 0.488 1.179 0.719 0.488 1.179 0.488 0.877-0.187 1.179-0.488 0.488-0.719 0.488-1.179zM6 5.667c0 0.092-0.037 0.175-0.097 0.236s-0.144 0.097-0.236 0.097-0.175-0.037-0.236-0.097-0.097-0.144-0.097-0.236 0.037-0.175 0.097-0.236 0.144-0.097 0.236-0.097 0.175 0.037 0.236 0.097 0.097 0.144 0.097 0.236zM4.943 13.333l5.724-5.724 2.667 2.667v2.391c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195zM13.333 8.391l-2.195-2.195c-0.261-0.261-0.683-0.261-0.943 0l-7.096 7.096c-0.090-0.033-0.17-0.086-0.237-0.153-0.121-0.121-0.195-0.287-0.195-0.471v-9.333c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195h9.333c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471z\"></path>\n </svg>\n `\n },\n {\n name: 'inbox',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>inbox</title>\n <path d=\"M14 8.667v3.333c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-10.667c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-3.333h2.977l1.135 1.703c0.121 0.18 0.324 0.297 0.555 0.297h2.667c0.217-0.001 0.427-0.105 0.555-0.297l1.135-1.703zM4.229 3.705c0.044-0.087 0.107-0.164 0.181-0.225 0.115-0.093 0.258-0.147 0.416-0.147h6.342c0.1 0.001 0.197 0.023 0.284 0.063 0.134 0.061 0.247 0.166 0.318 0.309l1.817 3.628h-2.921c-0.231 0-0.433 0.117-0.555 0.297l-1.135 1.703h-1.953l-1.135-1.703c-0.128-0.191-0.337-0.295-0.555-0.297h-2.921zM3.037 3.108l-2.294 4.581c-0.021 0.039-0.037 0.081-0.050 0.125-0.019 0.063-0.027 0.125-0.027 0.186v4c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h10.667c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-4c0-0.101-0.022-0.195-0.061-0.278-0.003-0.007-0.007-0.014-0.010-0.021l-0.006-0.012-2.294-4.581c-0.21-0.423-0.553-0.741-0.955-0.925-0.259-0.118-0.541-0.181-0.829-0.183h-6.351c-0.474 0-0.911 0.166-1.255 0.445-0.221 0.179-0.403 0.404-0.534 0.663z\"></path>\n </svg>\n `\n },\n {\n name: 'info',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>info</title>\n <path d=\"M15.333 8c0-2.025-0.821-3.859-2.148-5.185s-3.161-2.148-5.185-2.148-3.859 0.821-5.185 2.148-2.148 3.161-2.148 5.185 0.821 3.859 2.148 5.185 3.161 2.148 5.185 2.148 3.859-0.821 5.185-2.148 2.148-3.161 2.148-5.185zM14 8c0 1.657-0.671 3.156-1.757 4.243s-2.585 1.757-4.243 1.757-3.156-0.671-4.243-1.757-1.757-2.585-1.757-4.243 0.671-3.156 1.757-4.243 2.585-1.757 4.243-1.757 3.156 0.671 4.243 1.757 1.757 2.585 1.757 4.243zM8.667 10.667v-2.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v2.667c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667zM8.667 5.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667 0.299 0.667 0.667 0.667 0.667-0.299 0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'instagram',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>instagram</title>\n <path d=\"M4.667 0.667c-1.105 0-2.105 0.449-2.829 1.171s-1.171 1.724-1.171 2.829v6.667c0 1.105 0.449 2.105 1.171 2.829s1.724 1.171 2.829 1.171h6.667c1.105 0 2.105-0.449 2.829-1.171s1.171-1.724 1.171-2.829v-6.667c0-1.105-0.449-2.105-1.171-2.829s-1.724-1.171-2.829-1.171zM4.667 2h6.667c0.737 0 1.402 0.298 1.885 0.781s0.781 1.149 0.781 1.885v6.667c0 0.737-0.298 1.402-0.781 1.885s-1.149 0.781-1.885 0.781h-6.667c-0.737 0-1.402-0.298-1.885-0.781s-0.781-1.149-0.781-1.885v-6.667c0-0.737 0.298-1.402 0.781-1.885s1.149-0.781 1.885-0.781zM11.326 7.482c-0.1-0.648-0.381-1.238-0.796-1.711-0.503-0.574-1.203-0.977-2.006-1.096-0.309-0.049-0.647-0.051-0.985-0.001-0.911 0.135-1.681 0.627-2.188 1.311s-0.755 1.565-0.62 2.475 0.627 1.681 1.311 2.188 1.565 0.755 2.475 0.62 1.681-0.627 2.188-1.311 0.755-1.565 0.62-2.475zM10.007 7.678c0.081 0.547-0.067 1.073-0.372 1.485s-0.767 0.706-1.313 0.787-1.073-0.067-1.485-0.372-0.706-0.767-0.787-1.313 0.067-1.073 0.372-1.485 0.767-0.706 1.313-0.787c0.209-0.031 0.41-0.028 0.58-0.001 0.493 0.073 0.911 0.313 1.212 0.657 0.25 0.285 0.42 0.642 0.48 1.029zM12.333 4.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667 0.299 0.667 0.667 0.667 0.667-0.299 0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'italic',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>italic</title>\n <path d=\"M9.038 3.333l-3.5 9.333h-2.205c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h6c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-2.371l3.5-9.333h2.205c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-6c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'key',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>key</title>\n <path d=\"M12.667 3.609l1.057 1.057-1.391 1.391-1.057-1.057zM7.125 8.215c0.589 0.582 0.887 1.347 0.893 2.115s-0.283 1.537-0.865 2.127-1.347 0.888-2.115 0.893-1.537-0.283-2.127-0.865l-0.028-0.028c-0.583-0.59-0.87-1.359-0.865-2.127s0.303-1.533 0.893-2.115c0.586-0.578 1.349-0.866 2.113-0.864 0.761 0.001 1.519 0.29 2.101 0.864zM12.195 2.195c-0.261 0.261-0.261 0.683 0 0.943l0.471 0.471 0.943-0.943-0.471-0.471c-0.261-0.261-0.683-0.261-0.943 0zM12.195 2.195c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0 0.261-0.683 0-0.943-0.683-0.261-0.943 0l-2.333 2.333c-0.261 0.261-0.261 0.683 0 0.943l0.471 0.471 0.943-0.943-0.471-0.471c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943 0.683 0.261 0.943 0 0.261-0.683 0-0.943-0.683-0.261-0.943 0l-2.307 2.307c-0.753-0.544-1.641-0.817-2.529-0.819-1.101-0.002-2.205 0.413-3.051 1.249-0.851 0.84-1.282 1.947-1.29 3.055s0.409 2.221 1.249 3.073l0.041 0.041c0.851 0.84 1.965 1.256 3.073 1.249s2.215-0.438 3.055-1.29 1.256-1.965 1.249-3.073c-0.006-0.897-0.289-1.793-0.849-2.547l1.831-1.831 1.529 1.529c0.261 0.261 0.683 0.261 0.943 0l2.333-2.333c0.261-0.261 0.261-0.683 0-0.943l-1.529-1.529 0.862-0.862c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0z\"></path>\n </svg>\n `\n },\n {\n name: 'layers',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>layers</title>\n <path d=\"M8 2.079l5.176 2.588-5.176 2.588-5.176-2.588zM7.702 0.737l-6.667 3.333c-0.329 0.165-0.463 0.565-0.298 0.894 0.067 0.135 0.174 0.237 0.298 0.298l6.667 3.333c0.195 0.097 0.413 0.091 0.596 0l6.667-3.333c0.329-0.165 0.463-0.565 0.298-0.895-0.067-0.135-0.175-0.237-0.298-0.298l-6.667-3.333c-0.195-0.097-0.413-0.091-0.596 0zM1.035 11.929l6.667 3.333c0.195 0.097 0.413 0.091 0.596 0l6.667-3.333c0.329-0.165 0.463-0.565 0.298-0.895s-0.565-0.463-0.895-0.298l-6.368 3.185-6.369-3.184c-0.329-0.165-0.73-0.031-0.895 0.298s-0.031 0.73 0.298 0.895zM1.035 8.596l6.667 3.333c0.195 0.097 0.413 0.091 0.596 0l6.667-3.333c0.329-0.165 0.463-0.565 0.298-0.895s-0.565-0.463-0.895-0.298l-6.368 3.185-6.369-3.184c-0.329-0.165-0.73-0.031-0.895 0.298s-0.031 0.73 0.298 0.895z\"></path>\n </svg>\n `\n },\n {\n name: 'layout',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>layout</title>\n <path d=\"M3.333 1.333c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v9.333c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h9.333c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-9.333c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586zM13.333 5.333h-10.667v-2c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195h9.333c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471zM5.333 6.667v6.667h-2c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-6zM6.667 13.333v-6.667h6.667v6c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195z\"></path>\n </svg>\n `\n },\n {\n name: 'life-buoy',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>life-buoy</title>\n <path d=\"M15.333 8c0-2.025-0.821-3.859-2.148-5.185s-3.161-2.148-5.185-2.148-3.859 0.821-5.185 2.148-2.148 3.161-2.148 5.185 0.821 3.859 2.148 5.185 3.161 2.148 5.185 2.148 3.859-0.821 5.185-2.148 2.148-3.161 2.148-5.185zM10 8c0 0.553-0.223 1.051-0.586 1.414s-0.861 0.586-1.414 0.586-1.051-0.223-1.414-0.586-0.586-0.861-0.586-1.414 0.223-1.051 0.586-1.414 0.861-0.586 1.414-0.586 1.051 0.223 1.414 0.586 0.586 0.861 0.586 1.414zM11.745 3.312l-1.907 1.907c0 0 0 0 0 0-0.527-0.349-1.159-0.552-1.839-0.552s-1.311 0.203-1.838 0.553l-1.907-1.907c1.026-0.822 2.328-1.313 3.745-1.313s2.719 0.491 3.745 1.312zM12.688 4.255c0.821 1.027 1.312 2.329 1.312 3.745s-0.491 2.719-1.312 3.745l-1.907-1.907c0.349-0.527 0.552-1.159 0.552-1.839s-0.203-1.311-0.553-1.838zM5.219 9.838l-1.907 1.907c-0.822-1.026-1.313-2.328-1.313-3.745s0.491-2.719 1.312-3.745l1.907 1.907c-0.349 0.527-0.552 1.159-0.552 1.839s0.203 1.311 0.553 1.838zM4.255 12.688l1.907-1.907c0.527 0.349 1.159 0.552 1.839 0.552s1.311-0.203 1.838-0.553l1.907 1.907c-1.026 0.822-2.328 1.313-3.745 1.313s-2.719-0.491-3.745-1.312z\"></path>\n </svg>\n `\n },\n {\n name: 'link-2',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>link-2</title>\n <path d=\"M10 5.333h2c0.737 0 1.402 0.298 1.885 0.781s0.781 1.149 0.781 1.885-0.298 1.402-0.781 1.885-1.149 0.781-1.885 0.781h-2c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h2c1.105 0 2.105-0.449 2.829-1.171s1.171-1.724 1.171-2.829-0.449-2.105-1.171-2.829-1.724-1.171-2.829-1.171h-2c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667zM6 10.667h-2c-0.737 0-1.402-0.298-1.885-0.781s-0.781-1.149-0.781-1.885 0.298-1.402 0.781-1.885 1.149-0.781 1.885-0.781h2c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-2c-1.105 0-2.105 0.449-2.829 1.171s-1.171 1.724-1.171 2.829 0.449 2.105 1.171 2.829 1.724 1.171 2.829 1.171h2c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667zM5.333 8.667h5.333c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-5.333c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'link',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>link</title>\n <path d=\"M6.133 9.066c0.661 0.885 1.62 1.417 2.632 1.563s2.082-0.095 2.967-0.756c0.159-0.119 0.31-0.25 0.437-0.379l1.997-1.996c0.775-0.803 1.148-1.834 1.131-2.857s-0.426-2.041-1.221-2.807c-0.781-0.755-1.793-1.128-2.799-1.122-0.995 0.005-1.989 0.381-2.758 1.122l-1.154 1.147c-0.261 0.259-0.263 0.682-0.003 0.943s0.682 0.263 0.943 0.003l1.139-1.133c0.513-0.495 1.175-0.745 1.84-0.749 0.673-0.004 1.345 0.245 1.865 0.748 0.53 0.512 0.802 1.189 0.814 1.872s-0.237 1.369-0.74 1.891l-2.003 2.004c-0.076 0.077-0.175 0.165-0.285 0.247-0.59 0.441-1.301 0.601-1.978 0.504s-1.314-0.452-1.755-1.042c-0.221-0.295-0.638-0.355-0.933-0.135s-0.355 0.638-0.135 0.933zM9.867 6.934c-0.661-0.885-1.62-1.417-2.632-1.563s-2.083 0.095-2.967 0.756c-0.159 0.119-0.309 0.25-0.437 0.379l-1.997 1.996c-0.775 0.803-1.148 1.834-1.131 2.857s0.426 2.041 1.221 2.807c0.781 0.755 1.793 1.128 2.799 1.122 0.995-0.005 1.989-0.381 2.758-1.122l1.149-1.149c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-1.131 1.133c-0.513 0.495-1.175 0.745-1.84 0.749-0.673 0.004-1.345-0.245-1.865-0.748-0.53-0.512-0.802-1.189-0.814-1.872s0.237-1.369 0.74-1.891l2.003-2.004c0.076-0.077 0.175-0.165 0.285-0.247 0.59-0.441 1.301-0.601 1.978-0.504s1.314 0.452 1.755 1.042c0.221 0.295 0.638 0.355 0.933 0.135s0.355-0.638 0.135-0.933z\"></path>\n </svg>\n `\n },\n {\n name: 'linkedin',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>linkedin</title>\n <path d=\"M10.667 4.667c-1.289 0-2.456 0.523-3.3 1.367s-1.367 2.011-1.367 3.3v4.667c0 0.368 0.299 0.667 0.667 0.667h2.667c0.368 0 0.667-0.299 0.667-0.667v-4.667c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195 0.35 0.074 0.471 0.195 0.195 0.287 0.195 0.471v4.667c0 0.368 0.299 0.667 0.667 0.667h2.667c0.368 0 0.667-0.299 0.667-0.667v-4.667c0-1.289-0.523-2.456-1.367-3.3s-2.011-1.367-3.3-1.367zM10.667 6c0.921 0 1.753 0.373 2.357 0.976s0.976 1.437 0.976 2.357v4h-1.333v-4c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414v4h-1.333v-4c0-0.921 0.373-1.753 0.976-2.357s1.437-0.976 2.357-0.976zM1.333 5.333c-0.368 0-0.667 0.299-0.667 0.667v8c0 0.368 0.299 0.667 0.667 0.667h2.667c0.368 0 0.667-0.299 0.667-0.667v-8c0-0.368-0.299-0.667-0.667-0.667zM2 6.667h1.333v6.667h-1.333zM4.667 2.667c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414zM3.333 2.667c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195-0.35-0.074-0.471-0.195-0.195-0.287-0.195-0.471 0.074-0.35 0.195-0.471 0.287-0.195 0.471-0.195 0.35 0.074 0.471 0.195 0.195 0.287 0.195 0.471z\"></path>\n </svg>\n `\n },\n {\n name: 'list',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>list</title>\n <path d=\"M5.333 4.667h8.667c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-8.667c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667zM5.333 8.667h8.667c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-8.667c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667zM5.333 12.667h8.667c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-8.667c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667zM2.667 4c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667 0.299 0.667 0.667 0.667 0.667-0.299 0.667-0.667zM2.667 8c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667 0.299 0.667 0.667 0.667 0.667-0.299 0.667-0.667zM2.667 12c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667 0.299 0.667 0.667 0.667 0.667-0.299 0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'loader',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>loader</title>\n <path d=\"M7.333 1.333v2.667c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-2.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667zM7.333 12v2.667c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-2.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667zM2.815 3.758l1.887 1.887c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-1.887-1.887c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943zM10.355 11.298l1.887 1.887c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-1.887-1.887c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943zM1.333 8.667h2.667c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-2.667c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667zM12 8.667h2.667c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-2.667c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667zM3.758 13.185l1.887-1.887c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-1.887 1.887c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0zM11.298 5.645l1.887-1.887c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-1.887 1.887c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0z\"></path>\n </svg>\n `\n },\n {\n name: 'lock',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>lock</title>\n <path d=\"M3.333 8h9.333c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v4.667c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-9.333c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-4.667c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195zM12 6.667v-2c0-1.105-0.449-2.105-1.171-2.829s-1.724-1.171-2.829-1.171-2.105 0.449-2.829 1.171-1.171 1.724-1.171 2.829v2h-0.667c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v4.667c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h9.333c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-4.667c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586zM5.333 6.667v-2c0-0.737 0.298-1.402 0.781-1.885s1.149-0.781 1.885-0.781 1.402 0.298 1.885 0.781 0.781 1.149 0.781 1.885v2z\"></path>\n </svg>\n `\n },\n {\n name: 'log-in',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>log-in</title>\n <path d=\"M10 2.667h2.667c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v9.333c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-2.667c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h2.667c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-9.333c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586h-2.667c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667zM8.391 7.333h-6.391c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h6.391l-2.195 2.195c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0l3.333-3.333c0.064-0.064 0.112-0.137 0.145-0.216s0.051-0.165 0.051-0.255c0-0.087-0.017-0.174-0.051-0.255-0.033-0.079-0.081-0.152-0.145-0.216l-3.333-3.333c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'log-out',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>log-out</title>\n <path d=\"M6 13.333h-2.667c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-9.333c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195h2.667c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-2.667c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v9.333c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h2.667c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667zM12.391 7.333h-6.391c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h6.391l-2.195 2.195c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0l3.333-3.333c0.064-0.064 0.112-0.137 0.145-0.216 0.1-0.241 0.052-0.53-0.145-0.727l-3.333-3.333c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'mail',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>mail</title>\n <path d=\"M2 5.281l5.618 3.933c0.227 0.157 0.53 0.164 0.765 0l5.617-3.933v6.719c0 0.181-0.073 0.347-0.197 0.47s-0.289 0.197-0.47 0.197h-10.667c-0.181 0-0.347-0.073-0.47-0.197s-0.197-0.289-0.197-0.47zM0.667 4.008v7.992c0 0.552 0.227 1.053 0.587 1.413s0.861 0.587 1.413 0.587h10.667c0.552 0 1.053-0.227 1.413-0.587s0.587-0.861 0.587-1.413v-7.992c0-0.007 0-0.013 0-0.020-0.003-0.547-0.229-1.043-0.587-1.401-0.361-0.36-0.861-0.587-1.413-0.587h-10.667c-0.552 0-1.053 0.227-1.413 0.587-0.358 0.358-0.583 0.854-0.587 1.402 0 0.003 0 0.007 0 0.011zM13.929 3.703l-5.929 4.15-5.929-4.15c0.032-0.064 0.075-0.122 0.125-0.173 0.123-0.123 0.289-0.197 0.471-0.197h10.667c0.181 0 0.347 0.073 0.47 0.197 0.051 0.051 0.093 0.109 0.125 0.173z\"></path>\n </svg>\n `\n },\n {\n name: 'map-pin',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>map-pin</title>\n <path d=\"M14.667 6.667c0-1.841-0.747-3.509-1.953-4.714s-2.873-1.953-4.714-1.953-3.509 0.747-4.714 1.953-1.953 2.873-1.953 4.714c0 0.379 0.035 0.752 0.1 1.117 0.183 1.032 0.599 2.003 1.121 2.88 1.821 3.061 5.075 5.224 5.075 5.224 0.221 0.145 0.51 0.153 0.739 0 0 0 3.255-2.163 5.075-5.224 0.522-0.877 0.939-1.848 1.121-2.88 0.065-0.365 0.101-0.738 0.101-1.117zM13.333 6.667c0 0.296-0.027 0.591-0.079 0.885-0.147 0.833-0.491 1.652-0.955 2.431-1.301 2.187-3.444 3.901-4.299 4.533-0.856-0.632-2.998-2.346-4.299-4.533-0.463-0.779-0.807-1.597-0.955-2.431-0.052-0.294-0.079-0.589-0.079-0.885 0-1.473 0.596-2.805 1.562-3.771s2.299-1.562 3.771-1.562 2.805 0.596 3.771 1.562 1.562 2.299 1.562 3.771zM10.667 6.667c0-0.736-0.299-1.404-0.781-1.885s-1.149-0.781-1.885-0.781-1.404 0.299-1.885 0.781-0.781 1.149-0.781 1.885 0.299 1.404 0.781 1.885 1.149 0.781 1.885 0.781 1.404-0.299 1.885-0.781 0.781-1.149 0.781-1.885zM9.333 6.667c0 0.369-0.149 0.701-0.391 0.943s-0.574 0.391-0.943 0.391-0.701-0.149-0.943-0.391-0.391-0.574-0.391-0.943 0.149-0.701 0.391-0.943 0.574-0.391 0.943-0.391 0.701 0.149 0.943 0.391 0.391 0.574 0.391 0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'map',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>map</title>\n <path d=\"M4.667 2.482v9.131l-3.333 1.905v-9.131zM11.333 13.518v-9.131l3.333-1.905v9.131zM10.357 15.257c0.055 0.029 0.113 0.050 0.176 0.063 0.044 0.009 0.089 0.014 0.134 0.014 0.115 0 0.229-0.031 0.331-0.088l0.010-0.006 4.657-2.661c0.214-0.122 0.335-0.345 0.336-0.579v-10.667c0-0.368-0.299-0.667-0.667-0.667-0.122 0-0.236 0.033-0.331 0.088l-4.357 2.489-5.002-2.501c-0.055-0.028-0.114-0.050-0.176-0.063-0.045-0.009-0.090-0.013-0.135-0.013-0.116 0-0.23 0.031-0.331 0.088l-0.010 0.005-4.657 2.661c-0.214 0.122-0.335 0.345-0.336 0.579v10.667c0 0.368 0.299 0.667 0.667 0.667 0.122 0 0.236-0.033 0.331-0.088l4.357-2.489zM10 4.412v9.176l-4-2v-9.176z\"></path>\n </svg>\n `\n },\n {\n name: 'maximize-2',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>maximize-2</title>\n <path d=\"M12.391 2.667l-3.529 3.529c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0l3.529-3.529v2.391c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-4c0-0.091-0.018-0.177-0.051-0.255s-0.081-0.152-0.144-0.215c-0.001-0.001-0.001-0.001-0.001-0.001-0.061-0.061-0.135-0.111-0.215-0.144-0.079-0.033-0.165-0.051-0.255-0.051h-4c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667zM3.609 13.333l3.529-3.529c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-3.529 3.529v-2.391c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v4c0 0.091 0.018 0.177 0.051 0.255s0.081 0.152 0.144 0.215c0.001 0.001 0.001 0.001 0.001 0.001 0.061 0.061 0.135 0.111 0.215 0.144 0.079 0.033 0.165 0.051 0.255 0.051h4c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'maximize',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>maximize</title>\n <path d=\"M5.333 1.333h-2c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v2c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-2c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195h2c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667zM14.667 5.333v-2c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586h-2c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h2c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v2c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667zM10.667 14.667h2c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-2c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v2c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-2c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667zM1.333 10.667v2c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h2c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-2c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-2c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'meh',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>meh</title>\n <path d=\"M15.333 8c0-2.025-0.821-3.859-2.148-5.185s-3.161-2.148-5.185-2.148-3.859 0.821-5.185 2.148-2.148 3.161-2.148 5.185 0.821 3.859 2.148 5.185 3.161 2.148 5.185 2.148 3.859-0.821 5.185-2.148 2.148-3.161 2.148-5.185zM14 8c0 1.657-0.671 3.156-1.757 4.243s-2.585 1.757-4.243 1.757-3.156-0.671-4.243-1.757-1.757-2.585-1.757-4.243 0.671-3.156 1.757-4.243 2.585-1.757 4.243-1.757 3.156 0.671 4.243 1.757 1.757 2.585 1.757 4.243zM5.333 10.667h5.333c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-5.333c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'menu',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>menu</title>\n <path d=\"M2 8.667h12c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-12c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667zM2 4.667h12c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-12c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667zM2 12.667h12c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-12c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'message-circle',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>message-circle</title>\n <path d=\"M14.667 7.665v-0.331c0-0.011-0.001-0.025-0.001-0.039-0.091-1.559-0.742-2.974-1.762-4.034-1.068-1.111-2.543-1.835-4.201-1.926-0.010-0.001-0.023-0.001-0.036-0.001h-0.326c-0.937-0.011-1.921 0.207-2.843 0.672-0.815 0.415-1.527 0.993-2.093 1.691-0.881 1.089-1.405 2.469-1.405 3.963-0.009 0.85 0.169 1.74 0.549 2.585l-1.181 3.545c-0.044 0.131-0.048 0.279 0 0.421 0.117 0.349 0.494 0.538 0.843 0.421l3.543-1.181c0.773 0.351 1.656 0.551 2.584 0.549 0.915-0.006 1.81-0.205 2.627-0.577 1.275-0.581 2.36-1.582 3.027-2.917 0.429-0.833 0.677-1.81 0.674-2.841zM13.333 7.669c0.002 0.817-0.195 1.583-0.526 2.226-0.534 1.068-1.388 1.856-2.395 2.315-0.647 0.295-1.357 0.453-2.084 0.458-0.814 0.002-1.581-0.195-2.223-0.526-0.166-0.086-0.352-0.095-0.517-0.040l-2.535 0.845 0.845-2.535c0.059-0.175 0.040-0.358-0.037-0.511-0.368-0.73-0.536-1.503-0.528-2.226 0.001-1.193 0.413-2.279 1.108-3.139 0.447-0.552 1.012-1.011 1.661-1.34 0.728-0.368 1.501-0.536 2.224-0.528h0.304c1.308 0.071 2.469 0.641 3.313 1.517 0.801 0.834 1.315 1.944 1.391 3.169z\"></path>\n </svg>\n `\n },\n {\n name: 'message-square',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>message-square</title>\n <path d=\"M14.667 10v-6.667c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586h-9.333c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v10.667c0 0.171 0.065 0.341 0.195 0.471 0.261 0.261 0.683 0.261 0.943 0l2.471-2.471h7.724c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414zM13.333 10c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-8c-0.184 0-0.351 0.075-0.471 0.195l-1.529 1.529v-9.057c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195h9.333c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471z\"></path>\n </svg>\n `\n },\n {\n name: 'mic-off',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>mic-off</title>\n <path d=\"M8.344 9.287c-0.109 0.029-0.224 0.045-0.343 0.045-0.369 0-0.701-0.148-0.943-0.39s-0.391-0.573-0.391-0.941v-0.391zM10.667 6.227v-3.56c0.001-0.735-0.298-1.403-0.779-1.886s-1.149-0.782-1.885-0.783c-0.676-0.001-1.295 0.251-1.766 0.668-0.424 0.375-0.728 0.885-0.849 1.465-0.075 0.361 0.156 0.713 0.517 0.789s0.713-0.156 0.789-0.517c0.061-0.293 0.215-0.55 0.427-0.738 0.235-0.209 0.543-0.333 0.881-0.333 0.369 0.001 0.701 0.149 0.943 0.391s0.39 0.575 0.389 0.944v3.56c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667zM12 6.667v1.333c0 0.251-0.023 0.493-0.062 0.697-0.068 0.362 0.17 0.711 0.532 0.779s0.711-0.17 0.779-0.532c0.055-0.29 0.085-0.615 0.085-0.943v-1.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667zM5.333 16h5.333c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-2v-1.341c0.935-0.117 1.845-0.482 2.623-1.093l3.572 3.572c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-3.892-3.892c-0.030-0.053-0.067-0.102-0.113-0.146-0.042-0.041-0.088-0.075-0.137-0.103l-10.525-10.525c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943l5.138 5.138v1.724c0.001 0.737 0.301 1.404 0.783 1.885s1.15 0.78 1.886 0.779c0.493-0.001 0.955-0.135 1.351-0.369l0.985 0.985c-0.639 0.462-1.385 0.712-2.141 0.749-0.063-0.019-0.129-0.029-0.197-0.029s-0.134 0.010-0.197 0.029c-0.945-0.046-1.875-0.425-2.603-1.138-0.769-0.753-1.169-1.738-1.199-2.737l-0.001-1.488c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667l0.003 1.528c0.040 1.329 0.574 2.645 1.599 3.649 0.865 0.849 1.949 1.342 3.065 1.482v1.341h-2c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'mic',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>mic</title>\n <path d=\"M8 1.333c0.369 0 0.701 0.149 0.943 0.391s0.391 0.574 0.391 0.943v5.333c0 0.369-0.149 0.701-0.391 0.943s-0.574 0.391-0.943 0.391-0.701-0.149-0.943-0.391-0.391-0.574-0.391-0.943v-5.333c0-0.369 0.149-0.701 0.391-0.943s0.574-0.391 0.943-0.391zM8 0c-0.736 0-1.404 0.299-1.885 0.781s-0.781 1.149-0.781 1.885v5.333c0 0.736 0.299 1.404 0.781 1.885s1.149 0.781 1.885 0.781 1.404-0.299 1.885-0.781 0.781-1.149 0.781-1.885v-5.333c0-0.736-0.299-1.404-0.781-1.885s-1.149-0.781-1.885-0.781zM5.333 16h5.333c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-2v-1.375c1.206-0.151 2.288-0.704 3.105-1.521 0.964-0.965 1.562-2.299 1.562-3.771v-1.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v1.333c0 1.105-0.447 2.104-1.171 2.829s-1.724 1.171-2.829 1.171-2.104-0.447-2.829-1.171-1.171-1.724-1.171-2.829v-1.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v1.333c0 1.473 0.598 2.807 1.562 3.771 0.817 0.817 1.898 1.37 3.105 1.521v1.375h-2c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'minimize-2',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>minimize-2</title>\n <path d=\"M10.943 6l3.529-3.529c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-3.529 3.529v-2.391c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v4c0 0.091 0.018 0.177 0.051 0.255s0.081 0.152 0.144 0.215c0.001 0.001 0.001 0.001 0.001 0.001 0.061 0.061 0.135 0.111 0.215 0.144 0.079 0.033 0.165 0.051 0.255 0.051h4c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667zM2.471 14.471l3.529-3.529v2.391c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-4c0-0.091-0.018-0.177-0.051-0.255s-0.081-0.152-0.144-0.215c-0.001-0.001-0.001-0.001-0.001-0.001-0.061-0.061-0.135-0.111-0.215-0.144-0.079-0.033-0.165-0.051-0.255-0.051h-4c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h2.391l-3.529 3.529c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0z\"></path>\n </svg>\n `\n },\n {\n name: 'minimize',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>minimize</title>\n <path d=\"M4.667 2v2c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-2c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h2c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-2c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667zM14 4.667h-2c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-2c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v2c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h2c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667zM11.333 14v-2c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195h2c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-2c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v2c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667zM2 11.333h2c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v2c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-2c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586h-2c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'minus-circle',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>minus-circle</title>\n <path d=\"M15.333 8c0-2.025-0.821-3.859-2.148-5.185s-3.161-2.148-5.185-2.148-3.859 0.821-5.185 2.148-2.148 3.161-2.148 5.185 0.821 3.859 2.148 5.185 3.161 2.148 5.185 2.148 3.859-0.821 5.185-2.148 2.148-3.161 2.148-5.185zM14 8c0 1.657-0.671 3.156-1.757 4.243s-2.585 1.757-4.243 1.757-3.156-0.671-4.243-1.757-1.757-2.585-1.757-4.243 0.671-3.156 1.757-4.243 2.585-1.757 4.243-1.757 3.156 0.671 4.243 1.757 1.757 2.585 1.757 4.243zM5.333 8.667h5.333c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-5.333c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'minus-square',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>minus-square</title>\n <path d=\"M3.333 1.333c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v9.333c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h9.333c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-9.333c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586zM3.333 2.667h9.333c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v9.333c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-9.333c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-9.333c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195zM5.333 8.667h5.333c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-5.333c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'minus',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>minus</title>\n <path d=\"M3.333 8.667h9.333c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-9.333c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'monitor',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>monitor</title>\n <path d=\"M8 10.667h-5.333c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-6.667c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195h10.667c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v6.667c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195zM7.333 12v1.333h-2c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h5.333c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-2v-1.333h4.667c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-6.667c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586h-10.667c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v6.667c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586z\"></path>\n </svg>\n `\n },\n {\n name: 'moon',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>moon</title>\n <path d=\"M14.664 8.588c0.015-0.155-0.025-0.317-0.125-0.454-0.217-0.297-0.634-0.363-0.931-0.146-0.633 0.462-1.373 0.724-2.125 0.775-0.912 0.061-1.844-0.189-2.633-0.772-0.889-0.657-1.426-1.61-1.578-2.623s0.083-2.083 0.739-2.971c0.095-0.127 0.144-0.29 0.127-0.461-0.035-0.367-0.361-0.635-0.728-0.599-1.505 0.147-2.876 0.787-3.93 1.767-1.157 1.077-1.935 2.565-2.091 4.257-0.169 1.833 0.421 3.562 1.511 4.874s2.681 2.209 4.515 2.378 3.562-0.421 4.874-1.511 2.209-2.681 2.378-4.515zM13.045 9.783c-0.327 0.909-0.89 1.695-1.611 2.294-1.051 0.873-2.432 1.344-3.899 1.209s-2.739-0.852-3.611-1.903-1.344-2.432-1.209-3.899c0.125-1.355 0.745-2.543 1.671-3.404 0.521-0.485 1.14-0.867 1.821-1.115-0.304 0.843-0.385 1.737-0.256 2.599 0.202 1.349 0.92 2.623 2.104 3.498 1.053 0.778 2.299 1.112 3.515 1.030 0.501-0.033 0.997-0.138 1.473-0.31z\"></path>\n </svg>\n `\n },\n {\n name: 'more-horizontal',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>more-horizontal</title>\n <path d=\"M9.333 8c0-0.368-0.15-0.702-0.391-0.943s-0.575-0.391-0.943-0.391-0.702 0.15-0.943 0.391-0.391 0.575-0.391 0.943 0.15 0.702 0.391 0.943 0.575 0.391 0.943 0.391 0.702-0.15 0.943-0.391 0.391-0.575 0.391-0.943zM14 8c0-0.368-0.15-0.702-0.391-0.943s-0.575-0.391-0.943-0.391-0.702 0.15-0.943 0.391-0.391 0.575-0.391 0.943 0.15 0.702 0.391 0.943 0.575 0.391 0.943 0.391 0.702-0.15 0.943-0.391 0.391-0.575 0.391-0.943zM4.667 8c0-0.368-0.15-0.702-0.391-0.943s-0.575-0.391-0.943-0.391-0.702 0.15-0.943 0.391-0.391 0.575-0.391 0.943 0.15 0.702 0.391 0.943 0.575 0.391 0.943 0.391 0.702-0.15 0.943-0.391 0.391-0.575 0.391-0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'more-vertical',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>more-vertical</title>\n <path d=\"M9.333 8c0-0.368-0.15-0.702-0.391-0.943s-0.575-0.391-0.943-0.391-0.702 0.15-0.943 0.391-0.391 0.575-0.391 0.943 0.15 0.702 0.391 0.943 0.575 0.391 0.943 0.391 0.702-0.15 0.943-0.391 0.391-0.575 0.391-0.943zM9.333 3.333c0-0.368-0.15-0.702-0.391-0.943s-0.575-0.391-0.943-0.391-0.702 0.15-0.943 0.391-0.391 0.575-0.391 0.943 0.15 0.702 0.391 0.943 0.575 0.391 0.943 0.391 0.702-0.15 0.943-0.391 0.391-0.575 0.391-0.943zM9.333 12.667c0-0.368-0.15-0.702-0.391-0.943s-0.575-0.391-0.943-0.391-0.702 0.15-0.943 0.391-0.391 0.575-0.391 0.943 0.15 0.702 0.391 0.943 0.575 0.391 0.943 0.391 0.702-0.15 0.943-0.391 0.391-0.575 0.391-0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'mouse-pointer',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>mouse-pointer</title>\n <path d=\"M3.238 3.238l8.189 3.412-3.255 1.105c-0.19 0.065-0.348 0.213-0.417 0.417l-1.105 3.255zM8.673 9.616l3.522 3.522c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-3.522-3.522 3.912-1.329c0.349-0.119 0.535-0.497 0.417-0.845-0.064-0.189-0.204-0.329-0.375-0.401l-11.313-4.713c-0.34-0.141-0.73 0.019-0.872 0.359-0.071 0.171-0.066 0.355 0 0.513l4.713 11.313c0.141 0.34 0.532 0.501 0.872 0.359 0.183-0.077 0.315-0.225 0.375-0.401z\"></path>\n </svg>\n `\n },\n {\n name: 'move',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>move</title>\n <path d=\"M7.333 2.943v4.391h-4.391l0.862-0.862c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-2 2c-0.064 0.064-0.112 0.137-0.145 0.216-0.034 0.081-0.051 0.169-0.051 0.255 0 0.171 0.065 0.341 0.195 0.471l2 2c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-0.862-0.862h4.391v4.391l-0.862-0.862c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943l2 2c0.064 0.064 0.137 0.112 0.216 0.145s0.165 0.051 0.255 0.051c0.087 0 0.174-0.017 0.255-0.051 0.079-0.033 0.152-0.081 0.216-0.145l2-2c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-0.862 0.862v-4.391h4.391l-0.862 0.862c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0l2-2c0.064-0.064 0.112-0.137 0.145-0.216 0.1-0.241 0.052-0.53-0.145-0.727l-2-2c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943l0.862 0.862h-4.391v-4.391l0.862 0.862c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-2-2c-0.064-0.064-0.137-0.112-0.216-0.145s-0.165-0.051-0.255-0.051c-0.087 0-0.174 0.017-0.255 0.051-0.079 0.033-0.152 0.081-0.216 0.145l-2 2c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0z\"></path>\n </svg>\n `\n },\n {\n name: 'music',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>music</title>\n <path d=\"M5.333 12c0 0.369-0.149 0.701-0.391 0.943s-0.574 0.391-0.943 0.391-0.701-0.149-0.943-0.391-0.391-0.574-0.391-0.943 0.149-0.701 0.391-0.943 0.574-0.391 0.943-0.391 0.701 0.149 0.943 0.391 0.391 0.574 0.391 0.943zM14.667 10.667v-8.667c0-0.033-0.003-0.071-0.009-0.109-0.061-0.363-0.404-0.609-0.767-0.548l-8 1.333c-0.317 0.054-0.557 0.328-0.557 0.657v6.357c-0.392-0.227-0.848-0.357-1.333-0.357-0.736 0-1.404 0.299-1.885 0.781s-0.781 1.149-0.781 1.885 0.299 1.404 0.781 1.885 1.149 0.781 1.885 0.781 1.404-0.299 1.885-0.781 0.781-1.149 0.781-1.885v-8.102l6.667-1.111v5.57c-0.392-0.227-0.848-0.357-1.333-0.357-0.736 0-1.404 0.299-1.885 0.781s-0.781 1.149-0.781 1.885 0.299 1.404 0.781 1.885 1.149 0.781 1.885 0.781 1.404-0.299 1.885-0.781 0.781-1.149 0.781-1.885zM13.333 10.667c0 0.369-0.149 0.701-0.391 0.943s-0.574 0.391-0.943 0.391-0.701-0.149-0.943-0.391-0.391-0.574-0.391-0.943 0.149-0.701 0.391-0.943 0.574-0.391 0.943-0.391 0.701 0.149 0.943 0.391 0.391 0.574 0.391 0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'navigation-2',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>navigation-2</title>\n <path d=\"M8.625 1.103c-0.066-0.177-0.205-0.325-0.395-0.395-0.345-0.127-0.729 0.049-0.856 0.395l-4.667 12.667c-0.065 0.179-0.055 0.384 0.047 0.561 0.183 0.32 0.59 0.431 0.909 0.248l4.337-2.477 4.336 2.477c0.166 0.094 0.369 0.117 0.561 0.047 0.345-0.127 0.523-0.511 0.395-0.856zM8 3.262l3.409 9.251-3.078-1.759c-0.211-0.121-0.461-0.113-0.661 0l-3.078 1.759z\"></path>\n </svg>\n `\n },\n {\n name: 'navigation',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>navigation</title>\n <path d=\"M1.715 6.731c-0.175 0.083-0.311 0.24-0.361 0.441-0.089 0.357 0.128 0.719 0.485 0.809l4.945 1.236 1.236 4.945c0.047 0.187 0.174 0.352 0.361 0.441 0.333 0.157 0.73 0.015 0.888-0.317l6-12.667c0.083-0.175 0.089-0.383 0-0.571-0.157-0.333-0.555-0.475-0.888-0.317zM3.969 7.139l9.297-4.404-4.404 9.297-0.881-3.527c-0.061-0.246-0.252-0.425-0.485-0.485z\"></path>\n </svg>\n `\n },\n {\n name: 'octagon',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>octagon</title>\n <path d=\"M5.24 0.667c-0.171 0-0.341 0.065-0.471 0.195l-3.907 3.907c-0.121 0.121-0.195 0.287-0.195 0.471v5.52c0 0.171 0.065 0.341 0.195 0.471l3.907 3.907c0.121 0.121 0.287 0.195 0.471 0.195h5.52c0.171 0 0.341-0.065 0.471-0.195l3.907-3.907c0.121-0.121 0.195-0.287 0.195-0.471v-5.52c0-0.171-0.065-0.341-0.195-0.471l-3.907-3.907c-0.121-0.121-0.287-0.195-0.471-0.195zM5.516 2h4.968l3.516 3.516v4.968l-3.516 3.516h-4.968l-3.516-3.516v-4.968z\"></path>\n </svg>\n `\n },\n {\n name: 'package',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>package</title>\n <path d=\"M9.671 6.27l-1.671 0.967-4.641-2.685 1.674-0.957zM12.641 4.552l-1.637 0.947-4.629-2.67 1.289-0.737c0.075-0.043 0.155-0.070 0.237-0.083 0.145-0.023 0.297 0.002 0.436 0.083zM7.684 15.307c0.094 0.051 0.202 0.079 0.316 0.079 0.115 0 0.224-0.029 0.319-0.081 0.237-0.039 0.467-0.12 0.678-0.24l4.667-2.667c0.412-0.238 0.707-0.599 0.866-1.009 0.089-0.228 0.135-0.471 0.137-0.723v-5.333c0-0.319-0.075-0.621-0.209-0.889-0.015-0.047-0.035-0.093-0.061-0.138-0.031-0.053-0.067-0.099-0.108-0.14-0.021-0.029-0.043-0.057-0.065-0.085-0.153-0.191-0.341-0.352-0.554-0.477l-4.673-2.67c-0.407-0.235-0.867-0.31-1.302-0.243-0.243 0.038-0.477 0.119-0.692 0.242l-2.133 1.219c-0.14 0.027-0.271 0.1-0.369 0.211l-2.166 1.238c-0.255 0.147-0.466 0.342-0.627 0.567-0.040 0.040-0.076 0.087-0.106 0.138-0.026 0.045-0.047 0.092-0.061 0.14-0.027 0.054-0.051 0.109-0.072 0.164-0.088 0.229-0.134 0.472-0.136 0.719v5.338c0.001 0.473 0.165 0.909 0.443 1.252 0.153 0.191 0.341 0.352 0.554 0.477l4.673 2.67c0.216 0.125 0.447 0.205 0.681 0.241zM7.333 8.391v5.327l-4.33-2.474c-0.074-0.043-0.138-0.099-0.19-0.163-0.093-0.115-0.147-0.258-0.147-0.415v-4.975zM8.667 13.719v-5.327l4.667-2.699v4.975c-0.001 0.081-0.017 0.164-0.047 0.241-0.053 0.137-0.15 0.256-0.284 0.333z\"></path>\n </svg>\n `\n },\n {\n name: 'paperclip',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>paperclip</title>\n <path d=\"M13.822 6.895l-6.127 6.127c-0.651 0.651-1.504 0.977-2.359 0.977s-1.707-0.325-2.359-0.977-0.977-1.504-0.977-2.359 0.325-1.707 0.977-2.359l6.127-6.127c0.391-0.391 0.902-0.586 1.415-0.586s1.024 0.195 1.415 0.586 0.586 0.902 0.586 1.415-0.195 1.024-0.586 1.415l-6.133 6.127c-0.131 0.131-0.301 0.196-0.472 0.196s-0.341-0.065-0.472-0.195-0.195-0.3-0.195-0.472 0.065-0.341 0.195-0.472l5.66-5.653c0.261-0.26 0.261-0.682 0.001-0.943s-0.682-0.261-0.943-0.001l-5.66 5.653c-0.391 0.391-0.586 0.904-0.586 1.415s0.195 1.024 0.586 1.415 0.904 0.586 1.415 0.586 1.024-0.195 1.415-0.586l6.133-6.127c0.651-0.651 0.977-1.505 0.977-2.358s-0.326-1.707-0.977-2.358-1.505-0.977-2.358-0.977-1.707 0.326-2.358 0.977l-6.127 6.127c-0.911 0.911-1.367 2.107-1.367 3.301s0.456 2.39 1.367 3.301 2.107 1.367 3.301 1.367 2.39-0.456 3.301-1.367l6.127-6.127c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0z\"></path>\n </svg>\n `\n },\n {\n name: 'pause-circle',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>pause-circle</title>\n <path d=\"M15.333 8c0-2.025-0.821-3.859-2.148-5.185s-3.161-2.148-5.185-2.148-3.859 0.821-5.185 2.148-2.148 3.161-2.148 5.185 0.821 3.859 2.148 5.185 3.161 2.148 5.185 2.148 3.859-0.821 5.185-2.148 2.148-3.161 2.148-5.185zM14 8c0 1.657-0.671 3.156-1.757 4.243s-2.585 1.757-4.243 1.757-3.156-0.671-4.243-1.757-1.757-2.585-1.757-4.243 0.671-3.156 1.757-4.243 2.585-1.757 4.243-1.757 3.156 0.671 4.243 1.757 1.757 2.585 1.757 4.243zM7.333 10v-4c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v4c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667zM10 10v-4c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v4c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'pause',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>pause</title>\n <path d=\"M4 2c-0.368 0-0.667 0.299-0.667 0.667v10.667c0 0.368 0.299 0.667 0.667 0.667h2.667c0.368 0 0.667-0.299 0.667-0.667v-10.667c0-0.368-0.299-0.667-0.667-0.667zM4.667 3.333h1.333v9.333h-1.333zM9.333 2c-0.368 0-0.667 0.299-0.667 0.667v10.667c0 0.368 0.299 0.667 0.667 0.667h2.667c0.368 0 0.667-0.299 0.667-0.667v-10.667c0-0.368-0.299-0.667-0.667-0.667zM10 3.333h1.333v9.333h-1.333z\"></path>\n </svg>\n `\n },\n {\n name: 'pen-tool',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>pen-tool</title>\n <path d=\"M12.471 9.138l0.195-0.195 1.057 1.057-3.724 3.724-1.057-1.057 0.195-0.195zM1.501 0.688c-0.023-0.006-0.047-0.011-0.071-0.014-0.095-0.015-0.189-0.007-0.278 0.017s-0.173 0.068-0.247 0.13c-0.061 0.051-0.114 0.114-0.154 0.186-0.040 0.071-0.066 0.147-0.077 0.225-0.013 0.085-0.010 0.17 0.008 0.247 0.001 0.003 0.002 0.007 0.003 0.011l0.003 0.011 2.331 9.655c0.063 0.259 0.269 0.446 0.517 0.497l3.843 0.769c-0.094 0.239-0.045 0.522 0.149 0.715l2 2c0.261 0.261 0.683 0.261 0.943 0l4.667-4.667c0.261-0.261 0.261-0.683 0-0.943l-2-2c-0.193-0.193-0.476-0.243-0.715-0.149l-0.769-3.843c-0.052-0.261-0.251-0.456-0.497-0.517zM9.333 7.333c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586c-0.309 0-0.601 0.070-0.862 0.195l-2.991-2.991 6.95 1.677 0.847 4.233-2.829 2.829-4.233-0.847-1.678-6.949 2.991 2.991c-0.125 0.261-0.195 0.553-0.195 0.862 0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414zM8 7.333c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195-0.35-0.074-0.471-0.195-0.195-0.287-0.195-0.471c0-0.18 0.071-0.343 0.187-0.463 0.003-0.003 0.005-0.005 0.009-0.008s0.005-0.005 0.008-0.009c0.12-0.116 0.283-0.187 0.463-0.187 0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471z\"></path>\n </svg>\n `\n },\n {\n name: 'percent',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>percent</title>\n <path d=\"M12.195 2.862l-9.333 9.333c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0l9.333-9.333c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0zM6.667 4.333c0-0.644-0.262-1.229-0.683-1.65s-1.006-0.683-1.65-0.683-1.229 0.262-1.65 0.683-0.683 1.006-0.683 1.65 0.262 1.229 0.683 1.65 1.006 0.683 1.65 0.683 1.229-0.262 1.65-0.683 0.683-1.006 0.683-1.65zM5.333 4.333c0 0.276-0.111 0.525-0.293 0.707s-0.431 0.293-0.707 0.293-0.525-0.111-0.707-0.293-0.293-0.431-0.293-0.707 0.111-0.525 0.293-0.707 0.431-0.293 0.707-0.293 0.525 0.111 0.707 0.293 0.293 0.431 0.293 0.707zM14 11.667c0-0.644-0.262-1.229-0.683-1.65s-1.006-0.683-1.65-0.683-1.229 0.262-1.65 0.683-0.683 1.006-0.683 1.65 0.262 1.229 0.683 1.65 1.006 0.683 1.65 0.683 1.229-0.262 1.65-0.683 0.683-1.006 0.683-1.65zM12.667 11.667c0 0.276-0.111 0.525-0.293 0.707s-0.431 0.293-0.707 0.293-0.525-0.111-0.707-0.293-0.293-0.431-0.293-0.707 0.111-0.525 0.293-0.707 0.431-0.293 0.707-0.293 0.525 0.111 0.707 0.293 0.293 0.431 0.293 0.707z\"></path>\n </svg>\n `\n },\n {\n name: 'phone-call',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>phone-call</title>\n <path d=\"M9.906 3.987c0.629 0.123 1.16 0.455 1.54 0.916 0.28 0.34 0.478 0.749 0.568 1.195 0.073 0.361 0.425 0.594 0.785 0.521s0.594-0.425 0.521-0.785c-0.133-0.661-0.427-1.271-0.846-1.779-0.569-0.691-1.371-1.193-2.313-1.376-0.361-0.071-0.711 0.165-0.782 0.527s0.165 0.711 0.527 0.782zM9.96 1.329c1.333 0.148 2.495 0.775 3.337 1.696 0.745 0.816 1.239 1.863 1.375 3.013 0.043 0.365 0.375 0.627 0.74 0.584s0.627-0.375 0.584-0.74c-0.169-1.431-0.784-2.737-1.714-3.756-1.052-1.152-2.508-1.937-4.174-2.122-0.366-0.041-0.695 0.223-0.736 0.589s0.223 0.695 0.589 0.736zM15.333 11.28c0.011-0.476-0.157-0.936-0.449-1.295-0.307-0.377-0.753-0.645-1.283-0.72-0.533-0.065-1.13-0.209-1.724-0.431-0.289-0.106-0.595-0.145-0.896-0.116-0.442 0.043-0.871 0.233-1.213 0.57l-0.48 0.48c-1.18-0.745-2.24-1.778-3.055-3.059l0.484-0.484c0.215-0.22 0.375-0.484 0.471-0.771 0.141-0.421 0.143-0.891-0.026-1.341-0.193-0.502-0.345-1.096-0.429-1.73-0.069-0.477-0.303-0.898-0.642-1.203-0.359-0.323-0.837-0.519-1.351-0.513h-1.997c-0.059 0-0.121 0.003-0.182 0.008-0.549 0.050-1.028 0.319-1.355 0.711s-0.505 0.911-0.455 1.466c0.2 2.051 0.91 4.162 2.144 6.068 1.001 1.609 2.432 3.082 4.199 4.204 1.712 1.131 3.789 1.908 6.057 2.154 0.061 0.006 0.127 0.009 0.192 0.009 0.552-0.002 1.052-0.229 1.412-0.591s0.582-0.865 0.58-1.414zM14 11.28v2c0.001 0.187-0.073 0.353-0.193 0.475s-0.286 0.197-0.471 0.197l-0.059-0.003c-2.040-0.222-3.915-0.925-5.449-1.939-1.619-1.029-2.906-2.359-3.801-3.796-1.131-1.747-1.77-3.654-1.949-5.492-0.016-0.179 0.043-0.351 0.153-0.483s0.269-0.22 0.452-0.237l2.058-0.003c0.181-0.002 0.338 0.063 0.458 0.171 0.113 0.103 0.192 0.244 0.215 0.405 0.095 0.715 0.272 1.411 0.505 2.017 0.054 0.144 0.053 0.298 0.007 0.439-0.033 0.097-0.087 0.187-0.161 0.263l-0.841 0.841c-0.216 0.216-0.253 0.543-0.108 0.801 1.056 1.857 2.559 3.305 4.254 4.252 0.265 0.148 0.588 0.096 0.797-0.111l0.847-0.847c0.111-0.109 0.251-0.171 0.399-0.186 0.101-0.010 0.207 0.003 0.306 0.040 0.681 0.254 1.38 0.424 2.023 0.503 0.161 0.023 0.308 0.111 0.41 0.237 0.098 0.121 0.154 0.275 0.151 0.455z\"></path>\n </svg>\n `\n },\n {\n name: 'phone-forwarded',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>phone-forwarded</title>\n <path d=\"M10 4h3.724l-1.529 1.529c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0l2.667-2.667c0.064-0.064 0.112-0.137 0.145-0.216s0.051-0.165 0.051-0.255-0.018-0.177-0.051-0.255c-0.033-0.079-0.081-0.152-0.145-0.216l-2.667-2.667c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943l1.529 1.529h-3.724c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667zM15.333 11.28c0.011-0.476-0.157-0.936-0.449-1.295-0.307-0.377-0.753-0.645-1.283-0.72-0.533-0.065-1.13-0.209-1.724-0.431-0.289-0.106-0.595-0.145-0.896-0.116-0.442 0.043-0.871 0.233-1.213 0.57l-0.48 0.48c-1.18-0.745-2.24-1.778-3.055-3.059l0.484-0.484c0.215-0.22 0.375-0.484 0.471-0.771 0.141-0.421 0.143-0.891-0.026-1.341-0.193-0.502-0.345-1.096-0.429-1.73-0.069-0.477-0.303-0.898-0.642-1.203-0.359-0.323-0.837-0.519-1.351-0.513h-1.997c-0.059 0-0.121 0.003-0.182 0.008-0.549 0.050-1.028 0.319-1.355 0.711s-0.505 0.911-0.455 1.466c0.2 2.051 0.91 4.162 2.144 6.068 1.001 1.609 2.432 3.082 4.199 4.204 1.712 1.131 3.789 1.908 6.057 2.154 0.061 0.006 0.127 0.009 0.192 0.009 0.552-0.002 1.052-0.229 1.412-0.591s0.582-0.865 0.58-1.414zM14 11.28v2c0.001 0.187-0.073 0.353-0.193 0.475s-0.286 0.197-0.471 0.197l-0.059-0.003c-2.040-0.222-3.915-0.925-5.449-1.939-1.619-1.029-2.906-2.359-3.801-3.796-1.131-1.747-1.77-3.654-1.949-5.492-0.016-0.179 0.043-0.351 0.153-0.483s0.269-0.22 0.452-0.237l2.058-0.003c0.181-0.002 0.338 0.063 0.458 0.171 0.113 0.103 0.192 0.244 0.215 0.405 0.095 0.715 0.272 1.411 0.505 2.017 0.054 0.144 0.053 0.298 0.007 0.439-0.033 0.097-0.087 0.187-0.161 0.263l-0.841 0.841c-0.216 0.216-0.253 0.543-0.108 0.801 1.056 1.857 2.559 3.305 4.254 4.252 0.265 0.148 0.588 0.096 0.797-0.111l0.847-0.847c0.111-0.109 0.251-0.171 0.399-0.186 0.101-0.010 0.207 0.003 0.306 0.040 0.681 0.254 1.38 0.424 2.023 0.503 0.161 0.023 0.308 0.111 0.41 0.237 0.098 0.121 0.154 0.275 0.151 0.455z\"></path>\n </svg>\n `\n },\n {\n name: 'phone-incoming',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>phone-incoming</title>\n <path d=\"M14.862 0.195l-3.529 3.529v-2.391c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v4c0 0.278 0.17 0.516 0.411 0.616 0.079 0.033 0.165 0.051 0.255 0.051h4c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-2.391l3.529-3.529c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0zM15.333 11.28c0.011-0.476-0.157-0.936-0.449-1.295-0.307-0.377-0.753-0.645-1.283-0.72-0.533-0.065-1.13-0.209-1.724-0.431-0.289-0.106-0.595-0.145-0.896-0.116-0.442 0.043-0.871 0.233-1.213 0.57l-0.48 0.48c-1.18-0.745-2.24-1.778-3.055-3.059l0.484-0.484c0.215-0.22 0.375-0.484 0.471-0.771 0.141-0.421 0.143-0.891-0.026-1.341-0.193-0.502-0.345-1.096-0.429-1.73-0.069-0.477-0.303-0.898-0.642-1.203-0.359-0.323-0.837-0.519-1.351-0.513h-1.997c-0.059 0-0.121 0.003-0.182 0.008-0.549 0.050-1.028 0.319-1.355 0.711s-0.505 0.911-0.455 1.466c0.2 2.051 0.91 4.162 2.144 6.068 1.001 1.609 2.432 3.082 4.199 4.204 1.712 1.131 3.789 1.908 6.057 2.154 0.061 0.006 0.127 0.009 0.192 0.009 0.552-0.002 1.052-0.229 1.412-0.591s0.582-0.865 0.58-1.414zM14 11.28v2c0.001 0.187-0.073 0.353-0.193 0.475s-0.286 0.197-0.471 0.197l-0.059-0.003c-2.040-0.222-3.915-0.925-5.449-1.939-1.619-1.029-2.906-2.359-3.801-3.796-1.131-1.747-1.77-3.654-1.949-5.492-0.016-0.179 0.043-0.351 0.153-0.483s0.269-0.22 0.452-0.237l2.058-0.003c0.181-0.002 0.338 0.063 0.458 0.171 0.113 0.103 0.192 0.244 0.215 0.405 0.095 0.715 0.272 1.411 0.505 2.017 0.054 0.144 0.053 0.298 0.007 0.439-0.033 0.097-0.087 0.187-0.161 0.263l-0.841 0.841c-0.216 0.216-0.253 0.543-0.108 0.801 1.056 1.857 2.559 3.305 4.254 4.252 0.265 0.148 0.588 0.096 0.797-0.111l0.847-0.847c0.111-0.109 0.251-0.171 0.399-0.186 0.101-0.010 0.207 0.003 0.306 0.040 0.681 0.254 1.38 0.424 2.023 0.503 0.161 0.023 0.308 0.111 0.41 0.237 0.098 0.121 0.154 0.275 0.151 0.455z\"></path>\n </svg>\n `\n },\n {\n name: 'phone-missed',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>phone-missed</title>\n <path d=\"M10.862 1.138l1.529 1.529-1.529 1.529c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0l1.529-1.529 1.529 1.529c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-1.529-1.529 1.529-1.529c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-1.529 1.529-1.529-1.529c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943zM15.333 11.28c0.011-0.476-0.157-0.936-0.449-1.295-0.307-0.377-0.753-0.645-1.283-0.72-0.533-0.065-1.13-0.209-1.724-0.431-0.289-0.106-0.595-0.145-0.896-0.116-0.442 0.043-0.871 0.233-1.213 0.57l-0.48 0.48c-1.18-0.745-2.24-1.778-3.055-3.059l0.484-0.484c0.215-0.22 0.375-0.484 0.471-0.771 0.141-0.421 0.143-0.891-0.026-1.341-0.193-0.502-0.345-1.096-0.429-1.73-0.069-0.477-0.303-0.898-0.642-1.203-0.359-0.323-0.837-0.519-1.351-0.513h-1.997c-0.059 0-0.121 0.003-0.182 0.008-0.549 0.050-1.028 0.319-1.355 0.711s-0.505 0.911-0.455 1.466c0.2 2.051 0.91 4.162 2.144 6.068 1.001 1.609 2.432 3.082 4.199 4.204 1.712 1.131 3.789 1.908 6.057 2.154 0.061 0.006 0.127 0.009 0.192 0.009 0.552-0.002 1.052-0.229 1.412-0.591s0.582-0.865 0.58-1.414zM14 11.28v2c0.001 0.187-0.073 0.353-0.193 0.475s-0.286 0.197-0.471 0.197l-0.059-0.003c-2.040-0.222-3.915-0.925-5.449-1.939-1.619-1.029-2.906-2.359-3.801-3.796-1.131-1.747-1.77-3.654-1.949-5.492-0.016-0.179 0.043-0.351 0.153-0.483s0.269-0.22 0.452-0.237l2.058-0.003c0.181-0.002 0.338 0.063 0.458 0.171 0.113 0.103 0.192 0.244 0.215 0.405 0.095 0.715 0.272 1.411 0.505 2.017 0.054 0.144 0.053 0.298 0.007 0.439-0.033 0.097-0.087 0.187-0.161 0.263l-0.841 0.841c-0.216 0.216-0.253 0.543-0.108 0.801 1.056 1.857 2.559 3.305 4.254 4.252 0.265 0.148 0.588 0.096 0.797-0.111l0.847-0.847c0.111-0.109 0.251-0.171 0.399-0.186 0.101-0.010 0.207 0.003 0.306 0.040 0.681 0.254 1.38 0.424 2.023 0.503 0.161 0.023 0.308 0.111 0.41 0.237 0.098 0.121 0.154 0.275 0.151 0.455z\"></path>\n </svg>\n `\n },\n {\n name: 'phone-off',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>phone-off</title>\n <path d=\"M4.019 8.177c-1.121-1.729-1.76-3.627-1.943-5.457-0.016-0.177 0.043-0.349 0.153-0.481s0.269-0.22 0.452-0.237l2.059-0.003c0.181-0.002 0.338 0.063 0.458 0.171 0.113 0.103 0.192 0.244 0.215 0.405 0.095 0.715 0.272 1.411 0.505 2.017 0.054 0.144 0.053 0.298 0.007 0.439-0.033 0.097-0.087 0.187-0.161 0.263l-0.841 0.841c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0l0.853-0.853c0.215-0.22 0.375-0.484 0.471-0.771 0.141-0.421 0.143-0.891-0.026-1.341-0.193-0.502-0.345-1.096-0.429-1.73-0.069-0.477-0.303-0.898-0.642-1.203-0.359-0.324-0.837-0.519-1.351-0.514h-1.997c-0.059 0-0.121 0.003-0.182 0.008-0.549 0.050-1.028 0.319-1.355 0.711s-0.505 0.911-0.455 1.467c0.204 2.041 0.914 4.143 2.151 6.050 0.2 0.309 0.613 0.397 0.922 0.197s0.397-0.613 0.197-0.922zM6.19 10.753l0.947-0.947c0.619 0.552 1.279 1.021 1.933 1.383 0.265 0.147 0.587 0.095 0.795-0.111l0.847-0.847c0.111-0.109 0.251-0.171 0.399-0.186 0.101-0.010 0.207 0.003 0.306 0.040 0.681 0.254 1.38 0.424 2.023 0.503 0.16 0.023 0.305 0.109 0.408 0.235 0.097 0.119 0.154 0.27 0.153 0.433v2.004c0.001 0.187-0.073 0.353-0.193 0.475s-0.286 0.197-0.471 0.197l-0.059-0.003c-2.040-0.222-3.915-0.925-5.449-1.939-0.605-0.384-1.159-0.807-1.638-1.237zM14.862 0.195l-8.154 8.153c-0.021 0.016-0.041 0.034-0.059 0.053s-0.037 0.039-0.053 0.060l-6.4 6.4c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0l4.108-4.108c0.549 0.499 1.176 0.98 1.847 1.406 1.712 1.131 3.789 1.908 6.057 2.154 0.061 0.006 0.127 0.009 0.192 0.009 0.552-0.002 1.052-0.229 1.412-0.591s0.582-0.865 0.58-1.414v-1.996c0.003-0.482-0.166-0.933-0.455-1.286-0.307-0.374-0.75-0.639-1.278-0.713-0.533-0.065-1.13-0.209-1.724-0.431-0.289-0.106-0.595-0.145-0.896-0.116-0.442 0.043-0.871 0.233-1.213 0.57l-0.48 0.48c-0.406-0.258-0.814-0.563-1.207-0.907l7.723-7.722c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0z\"></path>\n </svg>\n `\n },\n {\n name: 'phone-outgoing',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>phone-outgoing</title>\n <path d=\"M11.138 5.805l3.529-3.529v2.391c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-4c0-0.091-0.018-0.177-0.051-0.255s-0.081-0.152-0.144-0.215c-0.001-0.001-0.001-0.001-0.001-0.001-0.061-0.061-0.135-0.111-0.215-0.144-0.079-0.033-0.165-0.051-0.255-0.051h-4c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h2.391l-3.529 3.529c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0zM15.333 11.28c0.011-0.476-0.157-0.936-0.449-1.295-0.307-0.377-0.753-0.645-1.283-0.72-0.533-0.065-1.13-0.209-1.724-0.431-0.289-0.106-0.595-0.145-0.896-0.116-0.442 0.043-0.871 0.233-1.213 0.57l-0.48 0.48c-1.18-0.745-2.24-1.778-3.055-3.059l0.484-0.484c0.215-0.22 0.375-0.484 0.471-0.771 0.141-0.421 0.143-0.891-0.026-1.341-0.193-0.502-0.345-1.096-0.429-1.73-0.069-0.477-0.303-0.898-0.642-1.203-0.359-0.323-0.837-0.519-1.351-0.513h-1.997c-0.059 0-0.121 0.003-0.182 0.008-0.549 0.050-1.028 0.319-1.355 0.711s-0.505 0.911-0.455 1.466c0.2 2.051 0.91 4.162 2.144 6.068 1.001 1.609 2.432 3.082 4.199 4.204 1.712 1.131 3.789 1.908 6.057 2.154 0.061 0.006 0.127 0.009 0.192 0.009 0.552-0.002 1.052-0.229 1.412-0.591s0.582-0.865 0.58-1.414zM14 11.28v2c0.001 0.187-0.073 0.353-0.193 0.475s-0.286 0.197-0.471 0.197l-0.059-0.003c-2.040-0.222-3.915-0.925-5.449-1.939-1.619-1.029-2.906-2.359-3.801-3.796-1.131-1.747-1.77-3.654-1.949-5.492-0.016-0.179 0.043-0.351 0.153-0.483s0.269-0.22 0.452-0.237l2.058-0.003c0.181-0.002 0.338 0.063 0.458 0.171 0.113 0.103 0.192 0.244 0.215 0.405 0.095 0.715 0.272 1.411 0.505 2.017 0.054 0.144 0.053 0.298 0.007 0.439-0.033 0.097-0.087 0.187-0.161 0.263l-0.841 0.841c-0.216 0.216-0.253 0.543-0.108 0.801 1.056 1.857 2.559 3.305 4.254 4.252 0.265 0.148 0.588 0.096 0.797-0.111l0.847-0.847c0.111-0.109 0.251-0.171 0.399-0.186 0.101-0.010 0.207 0.003 0.306 0.040 0.681 0.254 1.38 0.424 2.023 0.503 0.161 0.023 0.308 0.111 0.41 0.237 0.098 0.121 0.154 0.275 0.151 0.455z\"></path>\n </svg>\n `\n },\n {\n name: 'phone',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>phone</title>\n <path d=\"M15.333 11.28c0.011-0.476-0.157-0.936-0.449-1.295-0.307-0.377-0.753-0.645-1.283-0.72-0.533-0.065-1.13-0.209-1.724-0.431-0.289-0.106-0.595-0.145-0.896-0.116-0.442 0.043-0.871 0.233-1.213 0.57l-0.48 0.48c-1.18-0.745-2.24-1.778-3.055-3.059l0.484-0.484c0.215-0.22 0.375-0.484 0.471-0.771 0.141-0.421 0.143-0.891-0.026-1.341-0.193-0.502-0.345-1.096-0.429-1.73-0.069-0.477-0.303-0.898-0.642-1.203-0.359-0.323-0.837-0.519-1.351-0.513h-1.997c-0.059 0-0.121 0.003-0.182 0.008-0.549 0.050-1.028 0.319-1.355 0.711s-0.505 0.911-0.455 1.466c0.2 2.051 0.91 4.162 2.144 6.068 1.001 1.609 2.432 3.082 4.199 4.204 1.712 1.131 3.789 1.908 6.057 2.154 0.061 0.006 0.127 0.009 0.192 0.009 0.552-0.002 1.052-0.229 1.412-0.591s0.582-0.865 0.58-1.414zM14 11.28v2c0.001 0.187-0.073 0.353-0.193 0.475s-0.286 0.197-0.471 0.197l-0.059-0.003c-2.040-0.222-3.915-0.925-5.449-1.939-1.619-1.029-2.906-2.359-3.801-3.796-1.131-1.747-1.77-3.654-1.949-5.492-0.016-0.179 0.043-0.351 0.153-0.483s0.269-0.22 0.452-0.237l2.058-0.003c0.181-0.002 0.338 0.063 0.458 0.171 0.113 0.103 0.192 0.244 0.215 0.405 0.095 0.715 0.272 1.411 0.505 2.017 0.054 0.144 0.053 0.298 0.007 0.439-0.033 0.097-0.087 0.187-0.161 0.263l-0.841 0.841c-0.216 0.216-0.253 0.543-0.108 0.801 1.056 1.857 2.559 3.305 4.254 4.252 0.265 0.148 0.588 0.096 0.797-0.111l0.847-0.847c0.111-0.109 0.251-0.171 0.399-0.186 0.101-0.010 0.207 0.003 0.306 0.040 0.681 0.254 1.38 0.424 2.023 0.503 0.161 0.023 0.308 0.111 0.41 0.237 0.098 0.121 0.154 0.275 0.151 0.455z\"></path>\n </svg>\n `\n },\n {\n name: 'pie-chart',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>pie-chart</title>\n <path d=\"M13.526 10.334c-0.645 1.526-1.847 2.645-3.271 3.223s-3.066 0.611-4.592-0.034-2.645-1.847-3.223-3.271-0.612-3.067 0.033-4.593c0.624-1.476 1.768-2.571 3.126-3.162 0.337-0.147 0.492-0.54 0.345-0.877s-0.54-0.492-0.877-0.345c-1.659 0.723-3.059 2.063-3.822 3.865-0.789 1.865-0.746 3.875-0.041 5.613s2.075 3.209 3.939 3.998 3.875 0.746 5.613 0.041 3.209-2.075 3.998-3.939c0.143-0.339-0.015-0.73-0.355-0.874s-0.73 0.015-0.874 0.355zM13.963 7.333h-5.297v-5.297c1.391 0.153 2.637 0.782 3.576 1.721s1.567 2.185 1.721 3.576zM15.333 8c0-2.025-0.821-3.859-2.148-5.185s-3.161-2.148-5.185-2.148c-0.368 0-0.667 0.299-0.667 0.667v6.667c0 0.368 0.299 0.667 0.667 0.667h6.667c0.368 0 0.667-0.299 0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'play-circle',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>play-circle</title>\n <path d=\"M15.333 8c0-2.025-0.821-3.859-2.148-5.185s-3.161-2.148-5.185-2.148-3.859 0.821-5.185 2.148-2.148 3.161-2.148 5.185 0.821 3.859 2.148 5.185 3.161 2.148 5.185 2.148 3.859-0.821 5.185-2.148 2.148-3.161 2.148-5.185zM14 8c0 1.657-0.671 3.156-1.757 4.243s-2.585 1.757-4.243 1.757-3.156-0.671-4.243-1.757-1.757-2.585-1.757-4.243 0.671-3.156 1.757-4.243 2.585-1.757 4.243-1.757 3.156 0.671 4.243 1.757 1.757 2.585 1.757 4.243zM7.037 4.779c-0.104-0.070-0.232-0.112-0.37-0.112-0.368 0-0.667 0.299-0.667 0.667v5.333c-0.001 0.125 0.035 0.255 0.112 0.37 0.204 0.307 0.618 0.389 0.925 0.185l4-2.667c0.069-0.045 0.133-0.108 0.185-0.185 0.204-0.307 0.121-0.72-0.185-0.925zM7.333 6.579l2.131 1.421-2.131 1.421z\"></path>\n </svg>\n `\n },\n {\n name: 'play',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>play</title>\n <path d=\"M3.694 1.439c-0.102-0.067-0.227-0.106-0.361-0.106-0.368 0-0.667 0.299-0.667 0.667v12c-0.001 0.121 0.033 0.248 0.106 0.361 0.199 0.31 0.611 0.399 0.921 0.2l9.333-6c0.076-0.048 0.146-0.116 0.2-0.2 0.199-0.31 0.109-0.722-0.2-0.921zM4 3.221l7.434 4.779-7.434 4.779z\"></path>\n </svg>\n `\n },\n {\n name: 'plus-circle',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>plus-circle</title>\n <path d=\"M15.333 8c0-2.025-0.821-3.859-2.148-5.185s-3.161-2.148-5.185-2.148-3.859 0.821-5.185 2.148-2.148 3.161-2.148 5.185 0.821 3.859 2.148 5.185 3.161 2.148 5.185 2.148 3.859-0.821 5.185-2.148 2.148-3.161 2.148-5.185zM14 8c0 1.657-0.671 3.156-1.757 4.243s-2.585 1.757-4.243 1.757-3.156-0.671-4.243-1.757-1.757-2.585-1.757-4.243 0.671-3.156 1.757-4.243 2.585-1.757 4.243-1.757 3.156 0.671 4.243 1.757 1.757 2.585 1.757 4.243zM5.333 8.667h2v2c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-2h2c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-2v-2c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v2h-2c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'plus-square',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>plus-square</title>\n <path d=\"M3.333 1.333c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v9.333c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h9.333c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-9.333c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586zM3.333 2.667h9.333c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v9.333c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-9.333c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-9.333c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195zM5.333 8.667h2v2c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-2h2c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-2v-2c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v2h-2c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'plus',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>plus</title>\n <path d=\"M3.333 8.667h4v4c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-4h4c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-4v-4c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v4h-4c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'pocket',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>pocket</title>\n <path d=\"M2.667 1.333c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v4c0 2.025 0.821 3.859 2.148 5.185s3.161 2.148 5.185 2.148 3.859-0.821 5.185-2.148 2.148-3.161 2.148-5.185v-4c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586zM2.667 2.667h10.667c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v4c0 1.657-0.671 3.156-1.757 4.243s-2.585 1.757-4.243 1.757-3.156-0.671-4.243-1.757-1.757-2.585-1.757-4.243v-4c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195zM4.862 7.138l2.667 2.667c0.261 0.261 0.683 0.261 0.943 0l2.667-2.667c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-2.195 2.195-2.195-2.195c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'power',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>power</title>\n <path d=\"M11.769 4.898c1.041 1.042 1.562 2.405 1.561 3.771s-0.521 2.729-1.563 3.771-2.405 1.562-3.771 1.561-2.729-0.521-3.771-1.563c-1.041-1.041-1.561-2.405-1.561-3.771s0.521-2.729 1.561-3.771c0.26-0.261 0.26-0.683 0-0.943s-0.683-0.26-0.943 0c-1.301 1.301-1.952 3.008-1.952 4.713s0.651 3.412 1.952 4.713c1.301 1.302 3.009 1.953 4.714 1.953s3.413-0.651 4.715-1.952 1.953-3.009 1.953-4.714-0.651-3.413-1.952-4.715c-0.26-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943zM7.333 1.333v6.667c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-6.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'printer',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>printer</title>\n <path d=\"M11.333 5.333h-6.667v-3.333h6.667zM3.333 12.667v2c0 0.368 0.299 0.667 0.667 0.667h8c0.368 0 0.667-0.299 0.667-0.667v-2h0.667c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-3.333c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586h-0.667v-4c0-0.368-0.299-0.667-0.667-0.667h-8c-0.368 0-0.667 0.299-0.667 0.667v4h-0.667c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v3.333c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586zM4 8.667c-0.368 0-0.667 0.299-0.667 0.667v2h-0.667c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-3.333c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195h10.667c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v3.333c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-0.667v-2c0-0.368-0.299-0.667-0.667-0.667zM4.667 10h6.667v4h-6.667z\"></path>\n </svg>\n `\n },\n {\n name: 'radio',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>radio</title>\n <path d=\"M10 8c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414zM8.667 8c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195-0.35-0.074-0.471-0.195-0.195-0.287-0.195-0.471 0.074-0.35 0.195-0.471 0.287-0.195 0.471-0.195 0.35 0.074 0.471 0.195 0.195 0.287 0.195 0.471zM10.355 5.645c0.651 0.651 0.977 1.503 0.977 2.357s-0.325 1.706-0.975 2.357c-0.26 0.261-0.26 0.683 0.001 0.943s0.683 0.26 0.943-0.001c0.911-0.911 1.365-2.107 1.365-3.301s-0.457-2.389-1.369-3.299c-0.261-0.26-0.683-0.26-0.943 0.001s-0.26 0.683 0.001 0.943zM5.645 10.355c-0.651-0.65-0.977-1.502-0.978-2.356s0.325-1.706 0.975-2.357c0.26-0.261 0.26-0.683-0.001-0.943s-0.683-0.26-0.943 0.001c-0.91 0.911-1.365 2.107-1.365 3.3s0.457 2.389 1.369 3.299c0.261 0.26 0.683 0.26 0.943-0.001s0.26-0.683-0.001-0.943zM12.242 3.758c1.171 1.172 1.757 2.706 1.757 4.242s-0.585 3.070-1.757 4.242c-0.26 0.261-0.26 0.683 0 0.943s0.683 0.26 0.943 0c1.431-1.431 2.147-3.309 2.147-5.185s-0.716-3.753-2.147-5.185c-0.26-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943zM3.758 12.242c-1.171-1.172-1.757-2.706-1.757-4.242s0.585-3.070 1.757-4.242c0.26-0.261 0.26-0.683 0-0.943s-0.683-0.26-0.943 0c-1.431 1.431-2.147 3.309-2.147 5.185s0.716 3.753 2.147 5.185c0.26 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'refresh-ccw',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>refresh-ccw</title>\n <path d=\"M14.289 5.777c-0.614-1.735-1.875-3.058-3.413-3.793s-3.36-0.882-5.095-0.268c-0.981 0.347-1.835 0.903-2.496 1.576l-1.951 1.833v-2.459c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v3.999c0 0.010 0 0.020 0.001 0.029 0.003 0.077 0.019 0.15 0.046 0.217s0.065 0.132 0.115 0.19c0.008 0.009 0.016 0.018 0.024 0.026 0.061 0.063 0.134 0.115 0.216 0.15 0.079 0.034 0.166 0.053 0.257 0.055 0.003 0 0.005 0 0.007 0h4c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.666-0.667-0.666h-2.317l1.887-1.773c0.518-0.528 1.198-0.973 1.989-1.253 1.389-0.491 2.843-0.374 4.076 0.215s2.239 1.645 2.731 3.034c0.123 0.347 0.504 0.529 0.851 0.406s0.529-0.504 0.406-0.851zM13.65 10l-1.867 1.754c-1.056 1.057-2.42 1.577-3.786 1.577s-2.73-0.52-3.771-1.561c-0.593-0.593-1.015-1.287-1.255-1.987-0.12-0.348-0.499-0.533-0.847-0.414s-0.533 0.499-0.414 0.847c0.307 0.893 0.838 1.761 1.574 2.497 1.302 1.301 3.009 1.952 4.715 1.951s3.412-0.652 4.699-1.939l1.97-1.85v2.459c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-3.999c0-0.010 0-0.020-0.001-0.029-0.003-0.077-0.019-0.15-0.046-0.217s-0.065-0.132-0.115-0.19c-0.008-0.009-0.016-0.018-0.024-0.026-0.061-0.063-0.134-0.115-0.216-0.15-0.079-0.034-0.166-0.053-0.257-0.055-0.003 0-0.005 0-0.007 0h-4c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'refresh-cw',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>refresh-cw</title>\n <path d=\"M2.969 6.223c0.491-1.389 1.498-2.446 2.731-3.035s2.688-0.706 4.076-0.215c0.791 0.28 1.471 0.725 1.989 1.253l1.887 1.773h-2.317c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h3.998c0.003 0 0.006 0 0.009 0 0.091-0.001 0.179-0.021 0.257-0.055s0.153-0.084 0.216-0.15c0.008-0.009 0.016-0.017 0.024-0.026 0.050-0.058 0.089-0.122 0.115-0.19s0.043-0.141 0.046-0.217c0.001-0.010 0.001-0.019 0.001-0.029v-4c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v2.459l-1.951-1.833c-0.661-0.673-1.514-1.229-2.495-1.576-1.735-0.614-3.557-0.466-5.095 0.268s-2.799 2.057-3.413 3.793c-0.123 0.347 0.059 0.727 0.405 0.851s0.728-0.059 0.851-0.406zM1.333 10.875l1.97 1.851c1.286 1.287 2.993 1.939 4.699 1.939s3.413-0.65 4.715-1.951c0.736-0.736 1.267-1.605 1.574-2.497 0.12-0.348-0.065-0.727-0.414-0.847s-0.727 0.065-0.847 0.414c-0.241 0.7-0.662 1.394-1.255 1.987-1.042 1.041-2.406 1.561-3.771 1.561s-2.729-0.521-3.786-1.577l-1.867-1.755h2.317c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-3.998c-0.003 0-0.006 0-0.009 0-0.091 0.001-0.179 0.021-0.257 0.055s-0.153 0.084-0.216 0.15c-0.008 0.009-0.016 0.017-0.024 0.026-0.050 0.058-0.089 0.122-0.115 0.19s-0.043 0.141-0.046 0.217c-0.001 0.010-0.001 0.019-0.001 0.029v4c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'repeat',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>repeat</title>\n <path d=\"M2.667 7.333v-1.333c0-0.553 0.223-1.051 0.586-1.414s0.861-0.586 1.414-0.586h7.724l-1.529 1.529c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0l2.667-2.667c0.064-0.064 0.112-0.137 0.145-0.216s0.051-0.165 0.051-0.255c0-0.087-0.017-0.174-0.051-0.255-0.033-0.079-0.081-0.152-0.145-0.216l-2.667-2.667c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943l1.529 1.529h-7.724c-0.92 0-1.755 0.374-2.357 0.976s-0.976 1.437-0.976 2.357v1.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667zM13.333 8.667v1.333c0 0.553-0.223 1.051-0.586 1.414s-0.861 0.586-1.414 0.586h-7.724l1.529-1.529c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-2.667 2.667c-0.064 0.064-0.112 0.137-0.145 0.216-0.1 0.241-0.052 0.53 0.145 0.727l2.667 2.667c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-1.529-1.529h7.724c0.92 0 1.755-0.374 2.357-0.976s0.976-1.437 0.976-2.357v-1.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'rewind',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>rewind</title>\n <path d=\"M6.667 11.303l-4.247-3.303 4.247-3.303zM14.257 13.193c0.112 0.088 0.255 0.141 0.409 0.141 0.368 0 0.667-0.299 0.667-0.667v-9.333c0.001-0.142-0.045-0.287-0.141-0.409-0.226-0.291-0.645-0.343-0.935-0.117l-6 4.667c-0.041 0.031-0.081 0.071-0.117 0.117-0.093 0.12-0.139 0.261-0.141 0.403v-4.66c0.001-0.142-0.045-0.287-0.141-0.409-0.226-0.291-0.645-0.343-0.935-0.117l-6 4.667c-0.041 0.031-0.081 0.071-0.117 0.117-0.226 0.291-0.174 0.709 0.117 0.935l6 4.667c0.112 0.088 0.255 0.141 0.409 0.141 0.368 0 0.667-0.299 0.667-0.667v-4.661c0.002 0.197 0.090 0.39 0.257 0.52zM14 11.303l-4.247-3.303 4.247-3.303z\"></path>\n </svg>\n `\n },\n {\n name: 'rotate-ccw',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>rotate-ccw</title>\n <path d=\"M1.711 10.221c0.612 1.736 1.87 3.061 3.408 3.797s3.359 0.887 5.095 0.275 3.061-1.87 3.797-3.408 0.887-3.359 0.275-5.095-1.87-3.061-3.408-3.797-3.359-0.887-5.095-0.275c-0.983 0.347-1.837 0.901-2.499 1.575l-1.951 1.833v-2.459c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v3.999c0 0.010 0 0.020 0.001 0.029 0.003 0.077 0.019 0.15 0.046 0.217s0.065 0.132 0.115 0.19c0.008 0.009 0.016 0.018 0.024 0.026 0.061 0.063 0.134 0.115 0.216 0.15 0.079 0.034 0.166 0.053 0.257 0.055 0.003 0 0.005 0 0.007 0h4c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.666-0.667-0.666h-2.317l1.886-1.773c0.519-0.528 1.2-0.973 1.991-1.251 1.389-0.489 2.844-0.37 4.076 0.22s2.237 1.649 2.727 3.038 0.37 2.844-0.22 4.076-1.649 2.237-3.038 2.727-2.844 0.37-4.076-0.22-2.237-1.649-2.727-3.038c-0.123-0.347-0.503-0.529-0.85-0.407s-0.529 0.503-0.407 0.85z\"></path>\n </svg>\n `\n },\n {\n name: 'rotate-cw',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>rotate-cw</title>\n <path d=\"M13.031 9.778c-0.491 1.389-1.497 2.447-2.729 3.035s-2.687 0.707-4.076 0.217-2.447-1.497-3.035-2.729-0.707-2.687-0.217-4.076 1.497-2.447 2.729-3.035 2.687-0.707 4.076-0.217c0.792 0.28 1.473 0.725 1.991 1.255l1.883 1.773h-2.32c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h3.998c0.003 0 0.006 0 0.009 0 0.091-0.001 0.178-0.020 0.257-0.055s0.153-0.084 0.216-0.15c0.008-0.008 0.015-0.017 0.023-0.025 0.051-0.058 0.089-0.123 0.117-0.191s0.043-0.142 0.046-0.219c0.001-0.009 0.001-0.017 0.001-0.027v-4c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v2.457l-1.944-1.83c-0.662-0.675-1.516-1.231-2.499-1.577-1.736-0.614-3.557-0.465-5.096 0.27s-2.798 2.059-3.411 3.795-0.464 3.557 0.271 5.095 2.059 2.798 3.795 3.411 3.557 0.465 5.095-0.271 2.798-2.059 3.411-3.795c0.123-0.347-0.059-0.728-0.407-0.851s-0.728 0.059-0.851 0.407z\"></path>\n </svg>\n `\n },\n {\n name: 'rss',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>rss</title>\n <path d=\"M2.667 8c1.473 0 2.805 0.596 3.771 1.562s1.562 2.299 1.562 3.771c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667c0-1.841-0.747-3.509-1.953-4.714s-2.873-1.953-4.714-1.953c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667zM2.667 3.333c2.761 0 5.261 1.119 7.071 2.929s2.929 4.31 2.929 7.071c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667c0-3.129-1.269-5.964-3.319-8.014s-4.885-3.319-8.014-3.319c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667zM4.667 12.667c0-0.368-0.15-0.702-0.391-0.943s-0.575-0.391-0.943-0.391-0.702 0.15-0.943 0.391-0.391 0.575-0.391 0.943 0.15 0.702 0.391 0.943 0.575 0.391 0.943 0.391 0.702-0.15 0.943-0.391 0.391-0.575 0.391-0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'save',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>save</title>\n <path d=\"M12.667 14.667c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-7.333c0-0.171-0.065-0.341-0.195-0.471l-3.333-3.333c-0.121-0.121-0.287-0.195-0.471-0.195h-7.333c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v9.333c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586zM5.333 13.333v-4h5.333v4zM4 2.667v2.667c0 0.368 0.299 0.667 0.667 0.667h5.333c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-4.667v-2h5.057l2.943 2.943v7.057c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-0.667v-4.667c0-0.368-0.299-0.667-0.667-0.667h-6.667c-0.368 0-0.667 0.299-0.667 0.667v4.667h-0.667c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-9.333c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195z\"></path>\n </svg>\n `\n },\n {\n name: 'scissors',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>scissors</title>\n <path d=\"M4.919 11.034c0.007 0.008 0.015 0.017 0.023 0.024s0.016 0.015 0.024 0.023c0.229 0.239 0.367 0.562 0.367 0.919 0 0.369-0.149 0.701-0.391 0.943s-0.574 0.391-0.943 0.391-0.701-0.149-0.943-0.391-0.391-0.574-0.391-0.943 0.149-0.701 0.391-0.943 0.574-0.391 0.943-0.391c0.357 0 0.679 0.139 0.919 0.367zM9.176 10.125l3.687 3.68c0.261 0.26 0.683 0.26 0.943-0.001s0.26-0.683-0.001-0.943l-3.687-3.68c-0.261-0.26-0.683-0.26-0.943 0.001s-0.26 0.683 0.001 0.943zM4.966 4.919c-0.008 0.007-0.016 0.015-0.024 0.023s-0.016 0.016-0.023 0.024c-0.239 0.229-0.562 0.367-0.919 0.367-0.369 0-0.701-0.149-0.943-0.391s-0.391-0.574-0.391-0.943 0.149-0.701 0.391-0.943 0.574-0.391 0.943-0.391 0.701 0.149 0.943 0.391 0.391 0.574 0.391 0.943c0 0.357-0.139 0.679-0.367 0.919zM5.355 6.297l1.703 1.703-1.703 1.703c-0.397-0.235-0.861-0.369-1.355-0.369-0.736 0-1.404 0.299-1.885 0.781s-0.781 1.149-0.781 1.885 0.299 1.404 0.781 1.885 1.149 0.781 1.885 0.781 1.404-0.299 1.885-0.781 0.781-1.149 0.781-1.885c0-0.494-0.135-0.957-0.369-1.355l7.507-7.507c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-4.862 4.862-1.703-1.703c0.235-0.397 0.369-0.861 0.369-1.355 0-0.736-0.299-1.404-0.781-1.885s-1.149-0.781-1.885-0.781-1.404 0.299-1.885 0.781-0.781 1.149-0.781 1.885 0.299 1.404 0.781 1.885 1.149 0.781 1.885 0.781c0.494 0 0.957-0.135 1.355-0.369z\"></path>\n </svg>\n `\n },\n {\n name: 'search',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>search</title>\n <path d=\"M10.694 10.571c-0.023 0.017-0.045 0.037-0.066 0.058s-0.040 0.043-0.058 0.066c-0.839 0.809-1.979 1.305-3.237 1.305-1.289 0-2.455-0.521-3.3-1.367s-1.367-2.011-1.367-3.3 0.521-2.455 1.367-3.3 2.011-1.367 3.3-1.367 2.455 0.521 3.3 1.367 1.367 2.011 1.367 3.3c0 1.257-0.497 2.398-1.306 3.237zM14.471 13.529l-2.45-2.45c0.821-1.027 1.312-2.329 1.312-3.745 0-1.657-0.672-3.157-1.757-4.243s-2.586-1.757-4.243-1.757-3.157 0.672-4.243 1.757-1.757 2.586-1.757 4.243 0.672 3.157 1.757 4.243 2.586 1.757 4.243 1.757c1.417 0 2.719-0.491 3.745-1.312l2.45 2.45c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'send',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>send</title>\n <path d=\"M15.309 1.513c0.029-0.101 0.033-0.209 0.010-0.317-0.016-0.075-0.045-0.149-0.087-0.217s-0.097-0.127-0.159-0.175c-0.078-0.060-0.166-0.1-0.257-0.121s-0.188-0.023-0.284-0.003c-0.028 0.006-0.057 0.014-0.084 0.023l-0.014 0.005-13.32 4.662c-0.168 0.059-0.311 0.184-0.389 0.359-0.149 0.337 0.002 0.731 0.339 0.88l5.766 2.563 2.563 5.766c0.072 0.162 0.209 0.295 0.389 0.359 0.347 0.121 0.728-0.061 0.849-0.409l4.662-13.319c0.007-0.018 0.013-0.036 0.018-0.055zM7.186 7.871l-4.045-1.797 8.989-3.147zM13.073 3.871l-3.147 8.989-1.797-4.045z\"></path>\n </svg>\n `\n },\n {\n name: 'server',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>server</title>\n <path d=\"M2.667 0.667c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v2.667c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h10.667c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-2.667c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586zM2.667 2h10.667c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v2.667c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-10.667c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-2.667c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195zM2.667 8.667c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v2.667c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h10.667c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-2.667c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586zM2.667 10h10.667c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v2.667c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-10.667c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-2.667c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195zM4.667 4c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667 0.299 0.667 0.667 0.667 0.667-0.299 0.667-0.667zM4.667 12c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667 0.299 0.667 0.667 0.667 0.667-0.299 0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'settings',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>settings</title>\n <path d=\"M10.667 8c0-0.736-0.299-1.404-0.781-1.885s-1.149-0.781-1.885-0.781-1.404 0.299-1.885 0.781-0.781 1.149-0.781 1.885 0.299 1.404 0.781 1.885 1.149 0.781 1.885 0.781 1.404-0.299 1.885-0.781 0.781-1.149 0.781-1.885zM9.333 8c0 0.369-0.149 0.701-0.391 0.943s-0.574 0.391-0.943 0.391-0.701-0.149-0.943-0.391-0.391-0.574-0.391-0.943 0.149-0.701 0.391-0.943 0.574-0.391 0.943-0.391 0.701 0.149 0.943 0.391 0.391 0.574 0.391 0.943zM13.543 10.269c0.031-0.070 0.075-0.127 0.128-0.171 0.075-0.061 0.167-0.097 0.269-0.098h0.060c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414-0.225-1.053-0.586-1.414-0.862-0.586-1.414-0.586h-0.106c-0.073-0.001-0.143-0.019-0.205-0.051-0.085-0.044-0.153-0.115-0.195-0.208-0.002-0.019-0.003-0.039-0.003-0.059-0.031-0.071-0.043-0.146-0.036-0.219 0.008-0.097 0.048-0.189 0.116-0.258l0.041-0.041c0.39-0.391 0.585-0.904 0.585-1.415s-0.196-1.024-0.587-1.415c-0.391-0.39-0.904-0.585-1.415-0.585s-1.024 0.196-1.413 0.586l-0.031 0.031c-0.055 0.053-0.122 0.091-0.192 0.111-0.093 0.026-0.194 0.021-0.291-0.022-0.067-0.029-0.125-0.073-0.169-0.127-0.062-0.075-0.098-0.167-0.099-0.269v-0.060c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414v0.106c-0.001 0.073-0.019 0.143-0.051 0.205-0.044 0.085-0.115 0.153-0.208 0.195-0.019 0.002-0.039 0.003-0.059 0.003-0.071 0.031-0.146 0.043-0.219 0.036-0.097-0.009-0.189-0.048-0.259-0.116l-0.041-0.041c-0.391-0.39-0.903-0.585-1.415-0.585s-1.023 0.196-1.415 0.588c-0.39 0.391-0.585 0.903-0.585 1.415s0.196 1.024 0.586 1.413l0.032 0.031c0.053 0.055 0.091 0.122 0.111 0.192 0.026 0.093 0.021 0.194-0.021 0.289-0.004 0.011-0.009 0.023-0.014 0.035-0.027 0.073-0.072 0.135-0.127 0.183-0.073 0.063-0.167 0.102-0.255 0.104h-0.060c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.863-0.586 1.415 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586h0.106c0.073 0.001 0.143 0.019 0.205 0.051 0.085 0.045 0.155 0.116 0.197 0.214 0.031 0.071 0.043 0.146 0.036 0.219-0.008 0.097-0.048 0.189-0.116 0.258l-0.041 0.041c-0.39 0.391-0.585 0.904-0.585 1.415s0.196 1.024 0.587 1.415c0.391 0.39 0.904 0.585 1.415 0.585s1.024-0.196 1.413-0.586l0.031-0.032c0.055-0.053 0.122-0.091 0.192-0.111 0.093-0.026 0.194-0.021 0.289 0.021 0.011 0.004 0.023 0.009 0.035 0.014 0.073 0.027 0.135 0.072 0.183 0.127 0.063 0.073 0.102 0.167 0.104 0.255v0.061c0 0.552 0.225 1.053 0.586 1.414s0.863 0.586 1.415 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414v-0.106c0.001-0.073 0.019-0.143 0.051-0.205 0.045-0.085 0.116-0.155 0.214-0.197 0.071-0.031 0.146-0.043 0.219-0.036 0.097 0.008 0.189 0.048 0.258 0.116l0.041 0.041c0.391 0.39 0.904 0.585 1.415 0.585s1.024-0.196 1.415-0.587c0.39-0.391 0.585-0.904 0.585-1.415s-0.196-1.024-0.586-1.413l-0.032-0.031c-0.053-0.055-0.091-0.122-0.111-0.192-0.026-0.093-0.021-0.194 0.021-0.289zM12.323 9.731c-0.171 0.388-0.192 0.807-0.085 1.188 0.079 0.282 0.227 0.543 0.435 0.758l0.048 0.049c0.131 0.131 0.196 0.3 0.196 0.471s-0.065 0.341-0.195 0.471c-0.131 0.131-0.301 0.197-0.473 0.197s-0.341-0.065-0.471-0.195l-0.041-0.041c-0.309-0.302-0.693-0.468-1.087-0.501-0.291-0.025-0.588 0.023-0.862 0.141-0.385 0.165-0.685 0.455-0.867 0.804-0.129 0.247-0.199 0.523-0.202 0.807v0.121c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.194-0.471 0.194-0.35-0.074-0.471-0.195-0.195-0.287-0.195-0.471v-0.060c-0.010-0.44-0.17-0.828-0.429-1.128-0.189-0.219-0.431-0.39-0.705-0.497-0.383-0.164-0.795-0.183-1.171-0.077-0.282 0.079-0.543 0.227-0.758 0.435l-0.049 0.048c-0.131 0.131-0.3 0.196-0.471 0.196s-0.341-0.065-0.471-0.195c-0.131-0.131-0.197-0.301-0.197-0.473s0.065-0.341 0.195-0.471l0.041-0.041c0.302-0.309 0.468-0.693 0.501-1.087 0.025-0.291-0.023-0.588-0.141-0.862-0.165-0.385-0.455-0.685-0.804-0.867-0.247-0.129-0.523-0.199-0.807-0.202l-0.119 0.001c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471 0.074-0.35 0.195-0.471 0.287-0.195 0.471-0.195h0.060c0.44-0.010 0.828-0.17 1.128-0.429 0.219-0.189 0.39-0.431 0.497-0.705 0.164-0.383 0.182-0.795 0.077-1.171-0.079-0.282-0.227-0.543-0.435-0.757l-0.049-0.049c-0.131-0.131-0.196-0.3-0.196-0.471s0.065-0.341 0.195-0.471c0.131-0.131 0.301-0.197 0.473-0.197s0.341 0.065 0.471 0.195l0.041 0.041c0.309 0.302 0.693 0.468 1.087 0.501 0.247 0.021 0.497-0.009 0.734-0.091 0.064-0.008 0.125-0.025 0.179-0.049 0.388-0.166 0.687-0.456 0.869-0.805 0.129-0.247 0.199-0.523 0.203-0.807v-0.121c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195 0.35 0.074 0.471 0.195 0.195 0.287 0.195 0.471v0.060c0.002 0.425 0.152 0.813 0.402 1.117 0.177 0.215 0.405 0.387 0.664 0.501 0.385 0.17 0.804 0.191 1.185 0.084 0.282-0.079 0.543-0.227 0.758-0.435l0.049-0.048c0.131-0.131 0.3-0.196 0.471-0.196s0.341 0.065 0.471 0.195c0.131 0.131 0.197 0.301 0.197 0.473s-0.065 0.341-0.195 0.471l-0.041 0.041c-0.302 0.309-0.468 0.693-0.501 1.087-0.021 0.247 0.009 0.497 0.091 0.734 0.008 0.064 0.025 0.125 0.049 0.179 0.166 0.388 0.456 0.687 0.805 0.869 0.247 0.129 0.523 0.199 0.807 0.202h0.12c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471-0.074 0.35-0.195 0.471-0.287 0.195-0.471 0.195h-0.060c-0.425 0.002-0.813 0.152-1.117 0.402-0.215 0.177-0.387 0.405-0.5 0.662z\"></path>\n </svg>\n `\n },\n {\n name: 'share-2',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>share-2</title>\n <path d=\"M10.809 12.065c0.017-0.022 0.032-0.045 0.047-0.069 0.013-0.023 0.025-0.047 0.036-0.071 0.049-0.072 0.104-0.139 0.165-0.201 0.242-0.242 0.574-0.391 0.943-0.391s0.701 0.149 0.943 0.391 0.391 0.574 0.391 0.943-0.149 0.701-0.391 0.943-0.574 0.391-0.943 0.391-0.701-0.149-0.943-0.391-0.391-0.574-0.391-0.943c0-0.217 0.051-0.421 0.143-0.601zM10.867 4.037c-0.006-0.011-0.012-0.023-0.019-0.034s-0.013-0.023-0.021-0.033c-0.103-0.189-0.161-0.405-0.161-0.637 0-0.369 0.149-0.701 0.391-0.943s0.574-0.391 0.943-0.391 0.701 0.149 0.943 0.391 0.391 0.574 0.391 0.943-0.149 0.701-0.391 0.943-0.574 0.391-0.943 0.391-0.701-0.149-0.943-0.391c-0.072-0.072-0.136-0.152-0.19-0.239zM5.133 7.296c0.006 0.011 0.012 0.023 0.019 0.034s0.013 0.023 0.021 0.033c0.103 0.189 0.161 0.405 0.161 0.637s-0.059 0.448-0.162 0.637c-0.007 0.011-0.014 0.022-0.021 0.033s-0.013 0.022-0.018 0.033c-0.054 0.087-0.118 0.167-0.19 0.239-0.242 0.242-0.574 0.391-0.943 0.391s-0.701-0.149-0.943-0.391-0.391-0.574-0.391-0.943 0.149-0.701 0.391-0.943 0.574-0.391 0.943-0.391 0.701 0.149 0.943 0.391c0.072 0.072 0.136 0.152 0.19 0.239zM9.433 4.059l-3.539 2.065c-0.003-0.003-0.006-0.006-0.009-0.009-0.481-0.481-1.149-0.781-1.885-0.781s-1.404 0.299-1.885 0.781-0.781 1.149-0.781 1.885 0.299 1.404 0.781 1.885 1.149 0.781 1.885 0.781 1.404-0.299 1.885-0.781c0.003-0.003 0.006-0.006 0.009-0.009l3.539 2.063c-0.065 0.231-0.101 0.476-0.101 0.728 0 0.736 0.299 1.404 0.781 1.885s1.149 0.781 1.885 0.781 1.404-0.299 1.885-0.781 0.781-1.149 0.781-1.885-0.299-1.404-0.781-1.885-1.149-0.781-1.885-0.781-1.404 0.299-1.885 0.781c-0.002 0.002-0.005 0.005-0.007 0.007l-3.541-2.063c0.065-0.231 0.1-0.473 0.1-0.725s-0.035-0.495-0.1-0.725l3.539-2.065c0.003 0.003 0.006 0.006 0.009 0.009 0.481 0.482 1.149 0.781 1.885 0.781s1.404-0.299 1.885-0.781 0.781-1.149 0.781-1.885-0.299-1.404-0.781-1.885-1.149-0.781-1.885-0.781-1.404 0.299-1.885 0.781-0.781 1.149-0.781 1.885c0 0.251 0.035 0.495 0.1 0.725z\"></path>\n </svg>\n `\n },\n {\n name: 'share',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>share</title>\n <path d=\"M2 8v5.333c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h8c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-5.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v5.333c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-8c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-5.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667zM7.333 2.943v7.057c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-7.057l1.529 1.529c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-2.667-2.667c-0.261-0.261-0.683-0.261-0.943 0l-2.667 2.667c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0z\"></path>\n </svg>\n `\n },\n {\n name: 'shield-off',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>shield-off</title>\n <path d=\"M13.763 9.531c0.161-0.517 0.239-1.045 0.237-1.533v-4.664c0-0.284-0.178-0.527-0.433-0.624l-5.333-2c-0.157-0.059-0.323-0.055-0.467 0l-2.107 0.787c-0.345 0.128-0.52 0.512-0.391 0.857s0.513 0.52 0.858 0.391l1.873-0.699 4.667 1.75v4.207c0.001 0.348-0.055 0.741-0.177 1.133-0.109 0.351 0.087 0.725 0.439 0.834s0.725-0.087 0.834-0.439zM3.333 4.276l7.487 7.487c-0.787 0.8-1.741 1.537-2.821 2.145-0.789-0.449-2.946-1.797-4.033-3.699-0.053-0.092-0.102-0.184-0.149-0.278-0.305-0.608-0.485-1.253-0.485-1.931zM0.195 1.138l1.883 1.883c-0.050 0.095-0.077 0.201-0.078 0.312v4.667c0 0.921 0.246 1.77 0.625 2.527 0.058 0.117 0.119 0.231 0.184 0.343 1.567 2.743 4.893 4.393 4.893 4.393 0.199 0.099 0.424 0.090 0.609-0.007 1.323-0.698 2.493-1.577 3.452-2.55l3.099 3.099c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-14.667-14.667c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'shield',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>shield</title>\n <path d=\"M8 13.908c-0.789-0.448-2.947-1.797-4.033-3.699-0.053-0.092-0.102-0.184-0.149-0.278-0.304-0.607-0.485-1.252-0.485-1.931v-4.205l4.667-1.75 4.667 1.75v4.205c0 0.679-0.181 1.323-0.484 1.931-0.047 0.093-0.097 0.186-0.149 0.278-1.087 1.903-3.245 3.251-4.033 3.699zM8.298 15.263c0 0 3.326-1.65 4.893-4.393 0.064-0.112 0.125-0.227 0.184-0.343 0.379-0.757 0.625-1.605 0.625-2.527v-4.667c0-0.284-0.178-0.527-0.433-0.624l-5.333-2c-0.157-0.059-0.323-0.055-0.468 0l-5.333 2c-0.266 0.099-0.431 0.351-0.433 0.624v4.667c0 0.921 0.246 1.77 0.625 2.527 0.058 0.117 0.119 0.231 0.184 0.343 1.567 2.743 4.893 4.393 4.893 4.393 0.195 0.097 0.413 0.091 0.596 0z\"></path>\n </svg>\n `\n },\n {\n name: 'shopping-bag',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>shopping-bag</title>\n <path d=\"M12.667 3.333h-9.333l1-1.333h7.333zM14.529 3.595l-1.996-2.661c-0.131-0.174-0.329-0.266-0.533-0.267h-8c-0.217 0-0.411 0.104-0.533 0.267l-1.996 2.661c-0.029 0.037-0.054 0.079-0.074 0.122-0.043 0.091-0.064 0.188-0.063 0.283v9.333c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h9.333c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-9.333c0-0.146-0.047-0.281-0.126-0.39-0.003-0.003-0.005-0.007-0.007-0.010zM2.667 4.667h10.667v8.667c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-9.333c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471zM10 6.667c0 0.553-0.223 1.051-0.586 1.414s-0.861 0.586-1.414 0.586-1.051-0.223-1.414-0.586-0.586-0.861-0.586-1.414c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667c0 0.92 0.374 1.755 0.976 2.357s1.437 0.976 2.357 0.976 1.755-0.374 2.357-0.976 0.976-1.437 0.976-2.357c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'shopping-cart',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>shopping-cart</title>\n <path d=\"M7.333 14c0-0.368-0.15-0.702-0.391-0.943s-0.575-0.391-0.943-0.391-0.702 0.15-0.943 0.391-0.391 0.575-0.391 0.943 0.15 0.702 0.391 0.943 0.575 0.391 0.943 0.391 0.702-0.15 0.943-0.391 0.391-0.575 0.391-0.943zM14.667 14c0-0.368-0.15-0.702-0.391-0.943s-0.575-0.391-0.943-0.391-0.702 0.15-0.943 0.391-0.391 0.575-0.391 0.943 0.15 0.702 0.391 0.943 0.575 0.391 0.943 0.391 0.702-0.15 0.943-0.391 0.391-0.575 0.391-0.943zM4.814 4.667h9.713l-0.914 4.794c-0.031 0.152-0.111 0.283-0.221 0.379-0.12 0.104-0.275 0.164-0.459 0.161h-6.489c-0.155 0.002-0.301-0.047-0.417-0.135-0.127-0.095-0.219-0.234-0.253-0.402zM0.667 1.333h2.12l0.565 2.826c0.072 0.291 0.335 0.507 0.648 0.507h0.814l-0.267-1.333h-0.547c-0.368 0-0.667 0.299-0.667 0.667 0 0.035 0.003 0.070 0.008 0.103 0.003 0.019 0.007 0.038 0.011 0.056l1.114 5.565c0.099 0.501 0.379 0.922 0.76 1.207 0.347 0.261 0.78 0.409 1.236 0.402h6.471c0.499 0.010 0.97-0.174 1.33-0.485 0.329-0.284 0.565-0.675 0.657-1.122l1.068-5.601c0.069-0.362-0.168-0.711-0.53-0.78-0.043-0.009-0.087-0.013-0.125-0.012h-10.787l-0.56-2.797c-0.063-0.308-0.331-0.536-0.653-0.536h-2.667c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'shuffle',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>shuffle</title>\n <path d=\"M3.138 13.805l10.195-10.195v1.724c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-3.333c0-0.091-0.018-0.177-0.051-0.255s-0.081-0.152-0.144-0.215c-0.001-0.001-0.001-0.001-0.001-0.001-0.061-0.061-0.135-0.111-0.215-0.144-0.079-0.033-0.165-0.051-0.255-0.051h-3.333c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h1.724l-10.195 10.195c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0zM9.529 10.471l2.862 2.862h-1.724c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h3.333c0.087 0 0.174-0.017 0.255-0.051s0.155-0.083 0.216-0.145c0.064-0.064 0.112-0.137 0.145-0.216s0.051-0.165 0.051-0.255v-3.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v1.724l-2.862-2.862c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943zM2.195 3.138l3.333 3.333c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-3.333-3.333c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'sidebar',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>sidebar</title>\n <path d=\"M3.333 1.333c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v9.333c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h9.333c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-9.333c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586zM6.667 13.333v-10.667h6c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v9.333c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195zM5.333 2.667v10.667h-2c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-9.333c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195z\"></path>\n </svg>\n `\n },\n {\n name: 'skip-back',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>skip-back</title>\n <path d=\"M12.25 13.854c0.113 0.091 0.259 0.146 0.417 0.146 0.368 0 0.667-0.299 0.667-0.667v-10.667c0.001-0.145-0.047-0.293-0.146-0.417-0.23-0.287-0.649-0.334-0.937-0.104l-6.667 5.333c-0.035 0.028-0.072 0.063-0.104 0.104-0.23 0.287-0.183 0.707 0.104 0.937zM12 11.946l-4.933-3.946 4.933-3.946zM4 12.667v-9.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v9.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'skip-forward',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>skip-forward</title>\n <path d=\"M3.75 2.146c-0.113-0.091-0.259-0.146-0.417-0.146-0.368 0-0.667 0.299-0.667 0.667v10.667c-0.001 0.145 0.047 0.293 0.146 0.417 0.23 0.287 0.649 0.334 0.937 0.104l6.667-5.333c0.035-0.028 0.072-0.063 0.104-0.104 0.23-0.287 0.183-0.707-0.104-0.937zM4 4.054l4.933 3.946-4.933 3.946zM12 3.333v9.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-9.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'slack',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>slack</title>\n <path d=\"M9.667 7.333c0.46 0 0.877-0.187 1.179-0.488s0.488-0.719 0.488-1.179v-3.333c0-0.46-0.187-0.877-0.488-1.179s-0.719-0.488-1.179-0.488-0.877 0.187-1.179 0.488-0.488 0.719-0.488 1.179v3.333c0 0.46 0.187 0.877 0.488 1.179s0.719 0.488 1.179 0.488zM9.667 6c-0.093 0-0.176-0.037-0.236-0.097s-0.097-0.143-0.097-0.236v-3.333c0-0.093 0.037-0.176 0.097-0.236s0.143-0.097 0.236-0.097 0.176 0.037 0.236 0.097 0.097 0.143 0.097 0.236v3.333c0 0.093-0.037 0.176-0.097 0.236s-0.143 0.097-0.236 0.097zM13.667 7.333c0.46 0 0.877-0.187 1.179-0.488s0.488-0.719 0.488-1.179-0.187-0.877-0.488-1.179-0.719-0.488-1.179-0.488-0.877 0.187-1.179 0.488-0.488 0.719-0.488 1.179v1c0 0.368 0.299 0.667 0.667 0.667zM13.667 6h-0.333v-0.333c0-0.093 0.037-0.176 0.097-0.236s0.143-0.097 0.236-0.097 0.176 0.037 0.236 0.097 0.097 0.143 0.097 0.236-0.037 0.176-0.097 0.236-0.143 0.097-0.236 0.097zM6.333 8.667c-0.46 0-0.877 0.187-1.179 0.488s-0.488 0.719-0.488 1.179v3.333c0 0.46 0.187 0.877 0.488 1.179s0.719 0.488 1.179 0.488 0.877-0.187 1.179-0.488 0.488-0.719 0.488-1.179v-3.333c0-0.46-0.187-0.877-0.488-1.179s-0.719-0.488-1.179-0.488zM6.333 10c0.093 0 0.176 0.037 0.236 0.097s0.097 0.143 0.097 0.236v3.333c0 0.093-0.037 0.176-0.097 0.236s-0.143 0.097-0.236 0.097-0.176-0.037-0.236-0.097-0.097-0.143-0.097-0.236v-3.333c0-0.093 0.037-0.176 0.097-0.236s0.143-0.097 0.236-0.097zM2.333 8.667c-0.46 0-0.877 0.187-1.179 0.488s-0.488 0.719-0.488 1.179 0.187 0.877 0.488 1.179 0.719 0.488 1.179 0.488 0.877-0.187 1.179-0.488 0.488-0.719 0.488-1.179v-1c0-0.368-0.299-0.667-0.667-0.667zM2.333 10h0.333v0.333c0 0.093-0.037 0.176-0.097 0.236s-0.143 0.097-0.236 0.097-0.176-0.037-0.236-0.097-0.097-0.143-0.097-0.236 0.037-0.176 0.097-0.236 0.143-0.097 0.236-0.097zM8.667 9.667c0 0.46 0.187 0.877 0.488 1.179s0.719 0.488 1.179 0.488h3.333c0.46 0 0.877-0.187 1.179-0.488s0.488-0.719 0.488-1.179-0.187-0.877-0.488-1.179-0.719-0.488-1.179-0.488h-3.333c-0.46 0-0.877 0.187-1.179 0.488s-0.488 0.719-0.488 1.179zM10 9.667c0-0.093 0.037-0.176 0.097-0.236s0.143-0.097 0.236-0.097h3.333c0.093 0 0.176 0.037 0.236 0.097s0.097 0.143 0.097 0.236-0.037 0.176-0.097 0.236-0.143 0.097-0.236 0.097h-3.333c-0.093 0-0.176-0.037-0.236-0.097s-0.097-0.143-0.097-0.236zM10.333 13.333c0.093 0 0.176 0.037 0.236 0.097s0.097 0.143 0.097 0.236-0.037 0.176-0.097 0.236-0.143 0.097-0.236 0.097-0.176-0.037-0.236-0.097-0.097-0.143-0.097-0.236v-0.333zM10.333 12h-1c-0.368 0-0.667 0.299-0.667 0.667v1c0 0.46 0.187 0.877 0.488 1.179s0.719 0.488 1.179 0.488 0.877-0.187 1.179-0.488 0.488-0.719 0.488-1.179-0.187-0.877-0.488-1.179-0.719-0.488-1.179-0.488zM6 6.333c0 0.093-0.037 0.176-0.097 0.236s-0.143 0.097-0.236 0.097h-3.333c-0.093 0-0.176-0.037-0.236-0.097s-0.097-0.143-0.097-0.236 0.037-0.176 0.097-0.236 0.143-0.097 0.236-0.097h3.333c0.093 0 0.176 0.037 0.236 0.097s0.097 0.143 0.097 0.236zM7.333 6.333c0-0.46-0.187-0.877-0.488-1.179s-0.719-0.488-1.179-0.488h-3.333c-0.46 0-0.877 0.187-1.179 0.488s-0.488 0.719-0.488 1.179 0.187 0.877 0.488 1.179 0.719 0.488 1.179 0.488h3.333c0.46 0 0.877-0.187 1.179-0.488s0.488-0.719 0.488-1.179zM5.667 2.667c-0.093 0-0.176-0.037-0.236-0.097s-0.097-0.143-0.097-0.236 0.037-0.176 0.097-0.236 0.143-0.097 0.236-0.097 0.176 0.037 0.236 0.097 0.097 0.143 0.097 0.236v0.333zM5.667 4h1c0.368 0 0.667-0.299 0.667-0.667v-1c0-0.46-0.187-0.877-0.488-1.179s-0.719-0.488-1.179-0.488-0.877 0.187-1.179 0.488-0.488 0.719-0.488 1.179 0.187 0.877 0.488 1.179 0.719 0.488 1.179 0.488z\"></path>\n </svg>\n `\n },\n {\n name: 'slash',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>slash</title>\n <path d=\"M15.333 8c0-2.025-0.821-3.859-2.148-5.185s-3.161-2.148-5.185-2.148-3.859 0.821-5.185 2.148-2.148 3.161-2.148 5.185 0.821 3.859 2.148 5.185 3.161 2.148 5.185 2.148 3.859-0.821 5.185-2.148 2.148-3.161 2.148-5.185zM12.688 11.745l-8.433-8.433c1.027-0.821 2.329-1.312 3.745-1.312 1.657 0 3.156 0.671 4.243 1.757s1.757 2.585 1.757 4.243c0 1.417-0.491 2.719-1.312 3.745zM3.312 4.255l8.433 8.433c-1.027 0.821-2.329 1.312-3.745 1.312-1.657 0-3.156-0.671-4.243-1.757s-1.757-2.585-1.757-4.243c0-1.417 0.491-2.719 1.312-3.745z\"></path>\n </svg>\n `\n },\n {\n name: 'sliders',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>sliders</title>\n <path d=\"M3.333 6.667v-4.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v4.667c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667zM8.667 14v-6c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v6c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667zM14 8v-6c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v6c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667zM0.667 10h1.333v4c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-4h1.333c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-4c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667zM6 6h4c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-1.333v-2.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v2.667h-1.333c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667zM11.333 11.333h1.333v2.667c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-2.667h1.333c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-4c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'smartphone',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>smartphone</title>\n <path d=\"M4.667 0.667c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v10.667c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h6.667c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-10.667c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586zM4.667 2h6.667c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v10.667c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-6.667c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-10.667c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195zM8.667 12c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667 0.299 0.667 0.667 0.667 0.667-0.299 0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'smile',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>smile</title>\n <path d=\"M15.333 8c0-2.025-0.821-3.859-2.148-5.185s-3.161-2.148-5.185-2.148-3.859 0.821-5.185 2.148-2.148 3.161-2.148 5.185 0.821 3.859 2.148 5.185 3.161 2.148 5.185 2.148 3.859-0.821 5.185-2.148 2.148-3.161 2.148-5.185zM14 8c0 1.657-0.671 3.156-1.757 4.243s-2.585 1.757-4.243 1.757-3.156-0.671-4.243-1.757-1.757-2.585-1.757-4.243 0.671-3.156 1.757-4.243 2.585-1.757 4.243-1.757 3.156 0.671 4.243 1.757 1.757 2.585 1.757 4.243zM4.8 9.733c0 0 0.087 0.115 0.221 0.255 0.097 0.102 0.225 0.227 0.385 0.36 0.225 0.187 0.515 0.393 0.865 0.569 0.47 0.235 1.053 0.416 1.73 0.416s1.26-0.181 1.73-0.416c0.35-0.175 0.64-0.381 0.865-0.569 0.159-0.133 0.288-0.258 0.385-0.36 0.133-0.14 0.221-0.255 0.221-0.255 0.221-0.295 0.161-0.713-0.133-0.933s-0.713-0.161-0.933 0.133l-0.121 0.137c-0.067 0.070-0.158 0.159-0.272 0.255-0.162 0.135-0.366 0.279-0.607 0.4-0.32 0.159-0.7 0.275-1.134 0.275s-0.814-0.115-1.134-0.275c-0.24-0.12-0.445-0.265-0.607-0.4-0.114-0.095-0.205-0.185-0.272-0.255l-0.121-0.137c-0.221-0.295-0.639-0.354-0.933-0.133s-0.354 0.639-0.133 0.933z\"></path>\n </svg>\n `\n },\n {\n name: 'speaker',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>speaker</title>\n <path d=\"M4 0.667c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v10.667c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h8c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-10.667c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586zM4 2h8c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v10.667c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-8c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-10.667c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195zM11.333 9.333c0-0.92-0.374-1.755-0.976-2.357s-1.437-0.976-2.357-0.976-1.755 0.374-2.357 0.976-0.976 1.437-0.976 2.357 0.374 1.755 0.976 2.357 1.437 0.976 2.357 0.976 1.755-0.374 2.357-0.976 0.976-1.437 0.976-2.357zM10 9.333c0 0.553-0.223 1.051-0.586 1.414s-0.861 0.586-1.414 0.586-1.051-0.223-1.414-0.586-0.586-0.861-0.586-1.414 0.223-1.051 0.586-1.414 0.861-0.586 1.414-0.586 1.051 0.223 1.414 0.586 0.586 0.861 0.586 1.414zM8.667 4c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667 0.299 0.667 0.667 0.667 0.667-0.299 0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'square',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>square</title>\n <path d=\"M3.333 1.333c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v9.333c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h9.333c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-9.333c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586zM3.333 2.667h9.333c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v9.333c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-9.333c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-9.333c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195z\"></path>\n </svg>\n `\n },\n {\n name: 'star',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>star</title>\n <path d=\"M8.598 1.038c-0.061-0.126-0.165-0.235-0.303-0.303-0.33-0.163-0.73-0.027-0.893 0.303l-1.905 3.859-4.261 0.623c-0.139 0.019-0.274 0.085-0.381 0.194-0.257 0.264-0.251 0.686 0.012 0.943l3.082 3.002-0.727 4.241c-0.024 0.138-0.004 0.287 0.067 0.423 0.171 0.326 0.575 0.451 0.901 0.28l3.809-2.003 3.81 2.003c0.124 0.066 0.272 0.093 0.423 0.067 0.363-0.062 0.607-0.407 0.545-0.77l-0.727-4.241 3.082-3.002c0.101-0.097 0.173-0.229 0.195-0.381 0.053-0.364-0.199-0.703-0.563-0.756l-4.26-0.623zM8 2.839l1.462 2.963c0.101 0.203 0.291 0.333 0.501 0.365l3.271 0.478-2.366 2.305c-0.163 0.159-0.227 0.379-0.192 0.59l0.558 3.255-2.924-1.538c-0.201-0.105-0.431-0.099-0.621 0l-2.924 1.538 0.558-3.255c0.039-0.224-0.039-0.441-0.192-0.59l-2.366-2.305 3.271-0.479c0.224-0.033 0.406-0.173 0.501-0.364z\"></path>\n </svg>\n `\n },\n {\n name: 'stop-circle',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>stop-circle</title>\n <path d=\"M15.333 8c0-2.025-0.821-3.859-2.148-5.185s-3.161-2.148-5.185-2.148-3.859 0.821-5.185 2.148-2.148 3.161-2.148 5.185 0.821 3.859 2.148 5.185 3.161 2.148 5.185 2.148 3.859-0.821 5.185-2.148 2.148-3.161 2.148-5.185zM14 8c0 1.657-0.671 3.156-1.757 4.243s-2.585 1.757-4.243 1.757-3.156-0.671-4.243-1.757-1.757-2.585-1.757-4.243 0.671-3.156 1.757-4.243 2.585-1.757 4.243-1.757 3.156 0.671 4.243 1.757 1.757 2.585 1.757 4.243zM6 5.333c-0.368 0-0.667 0.299-0.667 0.667v4c0 0.368 0.299 0.667 0.667 0.667h4c0.368 0 0.667-0.299 0.667-0.667v-4c0-0.368-0.299-0.667-0.667-0.667zM6.667 6.667h2.667v2.667h-2.667z\"></path>\n </svg>\n `\n },\n {\n name: 'sun',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>sun</title>\n <path d=\"M12 8c0-1.105-0.449-2.105-1.171-2.829s-1.724-1.171-2.829-1.171-2.105 0.449-2.829 1.171-1.171 1.724-1.171 2.829 0.449 2.105 1.171 2.829 1.724 1.171 2.829 1.171 2.105-0.449 2.829-1.171 1.171-1.724 1.171-2.829zM10.667 8c0 0.737-0.298 1.402-0.781 1.885s-1.149 0.781-1.885 0.781-1.402-0.298-1.885-0.781-0.781-1.149-0.781-1.885 0.298-1.402 0.781-1.885 1.149-0.781 1.885-0.781 1.402 0.298 1.885 0.781 0.781 1.149 0.781 1.885zM7.333 0.667v1.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-1.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667zM7.333 14v1.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-1.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667zM2.342 3.285l0.947 0.947c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-0.947-0.947c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943zM11.769 12.711l0.947 0.947c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-0.947-0.947c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943zM0.667 8.667h1.333c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-1.333c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667zM14 8.667h1.333c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-1.333c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667zM3.285 13.658l0.947-0.947c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-0.947 0.947c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0zM12.711 4.231l0.947-0.947c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-0.947 0.947c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0z\"></path>\n </svg>\n `\n },\n {\n name: 'sunrise',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>sunrise</title>\n <path d=\"M12 12c0-1.105-0.449-2.105-1.171-2.829s-1.724-1.171-2.829-1.171-2.105 0.449-2.829 1.171-1.171 1.724-1.171 2.829c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667c0-0.737 0.298-1.402 0.781-1.885s1.149-0.781 1.885-0.781 1.402 0.298 1.885 0.781 0.781 1.149 0.781 1.885c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667zM2.342 7.285l0.947 0.947c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-0.947-0.947c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943zM0.667 12.667h1.333c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-1.333c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667zM14 12.667h1.333c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-1.333c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667zM12.711 8.231l0.947-0.947c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-0.947 0.947c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0zM15.333 14h-14.667c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h14.667c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667zM5.805 4.471l1.529-1.529v3.057c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-3.057l1.529 1.529c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-2.667-2.667c-0.064-0.064-0.137-0.112-0.216-0.145s-0.165-0.051-0.255-0.051c-0.087 0-0.174 0.017-0.255 0.051-0.079 0.033-0.152 0.081-0.216 0.145l-2.667 2.667c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0z\"></path>\n </svg>\n `\n },\n {\n name: 'sunset',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>sunset</title>\n <path d=\"M12 12c0-1.105-0.449-2.105-1.171-2.829s-1.724-1.171-2.829-1.171-2.105 0.449-2.829 1.171-1.171 1.724-1.171 2.829c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667c0-0.737 0.298-1.402 0.781-1.885s1.149-0.781 1.885-0.781 1.402 0.298 1.885 0.781 0.781 1.149 0.781 1.885c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667zM2.342 7.285l0.947 0.947c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-0.947-0.947c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943zM0.667 12.667h1.333c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-1.333c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667zM14 12.667h1.333c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-1.333c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667zM12.711 8.231l0.947-0.947c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-0.947 0.947c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0zM15.333 14h-14.667c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h14.667c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667zM10.195 2.862l-1.529 1.529v-3.057c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v3.057l-1.529-1.529c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943l2.667 2.667c0.064 0.064 0.137 0.112 0.216 0.145s0.165 0.051 0.255 0.051c0.087 0 0.174-0.017 0.255-0.051 0.079-0.033 0.152-0.081 0.216-0.145l2.667-2.667c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0z\"></path>\n </svg>\n `\n },\n {\n name: 'tablet',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>tablet</title>\n <path d=\"M12 15.333c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-10.667c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586h-8c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v10.667c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586zM12 14h-8c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-10.667c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195h8c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v10.667c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195zM8.667 12c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667 0.299 0.667 0.667 0.667 0.667-0.299 0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'tag',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>tag</title>\n <path d=\"M14.198 9.411c0.389-0.391 0.583-0.901 0.583-1.41s-0.193-1.021-0.583-1.413l-5.727-5.727c-0.121-0.12-0.287-0.195-0.471-0.195h-6.667c-0.368 0-0.667 0.299-0.667 0.667v6.667c0 0.171 0.065 0.341 0.195 0.472l5.728 5.721c0.391 0.39 0.904 0.585 1.415 0.585s1.024-0.196 1.413-0.586zM13.255 8.469l-4.78 4.78c-0.131 0.131-0.3 0.196-0.471 0.196s-0.341-0.065-0.471-0.195l-5.533-5.527v-5.723h5.724l5.531 5.531c0.128 0.129 0.193 0.298 0.193 0.469s-0.065 0.339-0.193 0.468zM5.333 4.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667 0.299 0.667 0.667 0.667 0.667-0.299 0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'target',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>target</title>\n <path d=\"M15.333 8c0-2.025-0.821-3.859-2.148-5.185s-3.161-2.148-5.185-2.148-3.859 0.821-5.185 2.148-2.148 3.161-2.148 5.185 0.821 3.859 2.148 5.185 3.161 2.148 5.185 2.148 3.859-0.821 5.185-2.148 2.148-3.161 2.148-5.185zM14 8c0 1.657-0.671 3.156-1.757 4.243s-2.585 1.757-4.243 1.757-3.156-0.671-4.243-1.757-1.757-2.585-1.757-4.243 0.671-3.156 1.757-4.243 2.585-1.757 4.243-1.757 3.156 0.671 4.243 1.757 1.757 2.585 1.757 4.243zM12.667 8c0-1.289-0.523-2.456-1.367-3.3s-2.011-1.367-3.3-1.367-2.456 0.523-3.3 1.367-1.367 2.011-1.367 3.3 0.523 2.456 1.367 3.3 2.011 1.367 3.3 1.367 2.456-0.523 3.3-1.367 1.367-2.011 1.367-3.3zM11.333 8c0 0.921-0.373 1.753-0.976 2.357s-1.437 0.976-2.357 0.976-1.753-0.373-2.357-0.976-0.976-1.437-0.976-2.357 0.373-1.753 0.976-2.357 1.437-0.976 2.357-0.976 1.753 0.373 2.357 0.976 0.976 1.437 0.976 2.357zM10 8c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414zM8.667 8c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195-0.35-0.074-0.471-0.195-0.195-0.287-0.195-0.471 0.074-0.35 0.195-0.471 0.287-0.195 0.471-0.195 0.35 0.074 0.471 0.195 0.195 0.287 0.195 0.471z\"></path>\n </svg>\n `\n },\n {\n name: 'terminal',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>terminal</title>\n <path d=\"M3.138 11.805l4-4c0.261-0.261 0.261-0.683 0-0.943l-4-4c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943l3.529 3.529-3.529 3.529c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0zM8 13.333h5.333c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-5.333c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'thermometer',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>thermometer</title>\n <path d=\"M8.667 9.84c0.001 0.219 0.107 0.431 0.302 0.558 0.233 0.152 0.457 0.369 0.639 0.64 0.358 0.536 0.465 1.165 0.349 1.751s-0.456 1.127-0.992 1.485-1.165 0.465-1.751 0.349-1.127-0.456-1.485-0.992-0.465-1.165-0.349-1.751 0.456-1.127 0.992-1.485c0.179-0.121 0.295-0.325 0.295-0.555v-7.507c0-0.276 0.111-0.525 0.293-0.707s0.431-0.293 0.707-0.293 0.525 0.111 0.707 0.293 0.293 0.431 0.293 0.707zM10 9.504v-7.171c0-0.644-0.262-1.229-0.683-1.65s-1.006-0.683-1.65-0.683-1.229 0.262-1.65 0.683-0.683 1.006-0.683 1.65v7.173c-0.671 0.553-1.103 1.307-1.263 2.113-0.183 0.919-0.015 1.911 0.547 2.753s1.414 1.376 2.333 1.559 1.911 0.015 2.753-0.547 1.376-1.414 1.559-2.333 0.015-1.911-0.547-2.753c-0.205-0.306-0.449-0.573-0.715-0.793z\"></path>\n </svg>\n `\n },\n {\n name: 'thumbs-down',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>thumbs-down</title>\n <path d=\"M12 8v-6h1.113c0.241-0.004 0.449 0.079 0.607 0.221 0.142 0.127 0.243 0.3 0.279 0.497v4.525c-0.025 0.227-0.139 0.42-0.303 0.555-0.157 0.129-0.358 0.204-0.574 0.201zM6 10.667v2c0 0.736 0.299 1.404 0.781 1.885s1.149 0.781 1.885 0.781c0.27 0 0.503-0.161 0.609-0.396l2.491-5.604h1.337c0.54 0.008 1.046-0.18 1.44-0.504 0.415-0.341 0.706-0.834 0.783-1.407 0.004-0.027 0.006-0.058 0.006-0.089v-4.667c0-0.028-0.002-0.059-0.006-0.091-0.074-0.535-0.337-1.007-0.717-1.347-0.4-0.358-0.931-0.571-1.497-0.561h-9.3c-0.511-0.006-0.988 0.187-1.347 0.509-0.337 0.301-0.571 0.717-0.645 1.189l-0.92 6.001c-0.083 0.547 0.064 1.076 0.367 1.487s0.765 0.709 1.31 0.791c0.11 0.016 0.222 0.024 0.328 0.022zM7.333 10c0-0.368-0.299-0.667-0.667-0.667l-3.83-0.001-0.059-0.007c-0.182-0.027-0.335-0.125-0.437-0.264s-0.15-0.313-0.123-0.495l0.92-5.999c0.025-0.159 0.104-0.299 0.217-0.4 0.12-0.107 0.277-0.17 0.458-0.168h6.853v6.525l-2.405 5.412c-0.205-0.065-0.388-0.179-0.537-0.328-0.242-0.242-0.391-0.574-0.391-0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'thumbs-up',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>thumbs-up</title>\n <path d=\"M4 8v6h-1.333c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-4.667c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195zM10 5.333v-2c0-0.736-0.299-1.404-0.781-1.885s-1.149-0.781-1.885-0.781c-0.27 0-0.503 0.161-0.609 0.396l-2.491 5.604h-1.567c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v4.667c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h9.52c0.511 0.006 0.988-0.187 1.347-0.509 0.337-0.301 0.571-0.717 0.645-1.189l0.92-6.001c0.083-0.547-0.064-1.076-0.367-1.487s-0.765-0.709-1.31-0.791c-0.11-0.017-0.222-0.025-0.328-0.023zM8.667 6c0 0.368 0.299 0.667 0.667 0.667l3.83 0.001 0.059 0.007c0.182 0.027 0.335 0.125 0.437 0.264s0.15 0.313 0.123 0.495l-0.92 5.999c-0.025 0.159-0.104 0.299-0.217 0.4-0.12 0.107-0.277 0.171-0.457 0.169l-6.854-0.001v-6.525l2.405-5.412c0.205 0.065 0.388 0.179 0.537 0.328 0.242 0.242 0.391 0.574 0.391 0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'toggle-left',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>toggle-left</title>\n <path d=\"M5.333 2.667c-1.473 0-2.807 0.598-3.771 1.562s-1.562 2.299-1.562 3.771 0.598 2.807 1.562 3.771 2.299 1.562 3.771 1.562h5.333c1.473 0 2.807-0.598 3.771-1.562s1.562-2.299 1.562-3.771-0.598-2.807-1.562-3.771-2.299-1.562-3.771-1.562zM5.333 4h5.333c1.105 0 2.104 0.447 2.829 1.171s1.171 1.724 1.171 2.829-0.447 2.104-1.171 2.829-1.724 1.171-2.829 1.171h-5.333c-1.105 0-2.104-0.447-2.829-1.171s-1.171-1.724-1.171-2.829 0.447-2.104 1.171-2.829 1.724-1.171 2.829-1.171zM8 8c0-0.736-0.299-1.404-0.781-1.885s-1.149-0.781-1.885-0.781-1.404 0.299-1.885 0.781-0.781 1.149-0.781 1.885 0.299 1.404 0.781 1.885 1.149 0.781 1.885 0.781 1.404-0.299 1.885-0.781 0.781-1.149 0.781-1.885zM6.667 8c0 0.369-0.149 0.701-0.391 0.943s-0.574 0.391-0.943 0.391-0.701-0.149-0.943-0.391-0.391-0.574-0.391-0.943 0.149-0.701 0.391-0.943 0.574-0.391 0.943-0.391 0.701 0.149 0.943 0.391 0.391 0.574 0.391 0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'toggle-right',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>toggle-right</title>\n <path d=\"M5.333 2.667c-1.473 0-2.807 0.598-3.771 1.562s-1.562 2.299-1.562 3.771 0.598 2.807 1.562 3.771 2.299 1.562 3.771 1.562h5.333c1.473 0 2.807-0.598 3.771-1.562s1.562-2.299 1.562-3.771-0.598-2.807-1.562-3.771-2.299-1.562-3.771-1.562zM5.333 4h5.333c1.105 0 2.104 0.447 2.829 1.171s1.171 1.724 1.171 2.829-0.447 2.104-1.171 2.829-1.724 1.171-2.829 1.171h-5.333c-1.105 0-2.104-0.447-2.829-1.171s-1.171-1.724-1.171-2.829 0.447-2.104 1.171-2.829 1.724-1.171 2.829-1.171zM13.333 8c0-0.736-0.299-1.404-0.781-1.885s-1.149-0.781-1.885-0.781-1.404 0.299-1.885 0.781-0.781 1.149-0.781 1.885 0.299 1.404 0.781 1.885 1.149 0.781 1.885 0.781 1.404-0.299 1.885-0.781 0.781-1.149 0.781-1.885zM12 8c0 0.369-0.149 0.701-0.391 0.943s-0.574 0.391-0.943 0.391-0.701-0.149-0.943-0.391-0.391-0.574-0.391-0.943 0.149-0.701 0.391-0.943 0.574-0.391 0.943-0.391 0.701 0.149 0.943 0.391 0.391 0.574 0.391 0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'trash-2',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>trash-2</title>\n <path d=\"M12 4.667v8.667c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-6.667c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-8.667zM11.333 3.333v-0.667c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586h-2.667c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v0.667h-2.667c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h0.667v8.667c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h6.667c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-8.667h0.667c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667zM6 3.333v-0.667c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195h2.667c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v0.667zM6 7.333v4c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-4c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667zM8.667 7.333v4c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-4c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'trash',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>trash</title>\n <path d=\"M12 4.667v8.667c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-6.667c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-8.667zM11.333 3.333v-0.667c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586h-2.667c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v0.667h-2.667c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h0.667v8.667c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h6.667c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-8.667h0.667c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667zM6 3.333v-0.667c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195h2.667c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'trello',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>trello</title>\n <path d=\"M3.333 1.333c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v9.333c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h9.333c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-9.333c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586zM3.333 2.667h9.333c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v9.333c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-9.333c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-9.333c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195zM4.667 4c-0.368 0-0.667 0.299-0.667 0.667v6c0 0.368 0.299 0.667 0.667 0.667h2c0.368 0 0.667-0.299 0.667-0.667v-6c0-0.368-0.299-0.667-0.667-0.667zM5.333 5.333h0.667v4.667h-0.667zM9.333 4c-0.368 0-0.667 0.299-0.667 0.667v3.333c0 0.368 0.299 0.667 0.667 0.667h2c0.368 0 0.667-0.299 0.667-0.667v-3.333c0-0.368-0.299-0.667-0.667-0.667zM10 5.333h0.667v2h-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'trending-down',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>trending-down</title>\n <path d=\"M11.333 12.667h4c0.091 0 0.177-0.018 0.255-0.051s0.152-0.081 0.216-0.145 0.112-0.137 0.145-0.216c0.033-0.079 0.051-0.165 0.051-0.255v-4c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v2.391l-5.195-5.195c-0.261-0.261-0.683-0.261-0.943 0l-2.862 2.862-4.529-4.529c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943l5 5c0.261 0.261 0.683 0.261 0.943 0l2.862-2.862 4.724 4.724h-2.391c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'trending-up',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>trending-up</title>\n <path d=\"M11.333 4.667h2.391l-4.724 4.724-2.862-2.862c-0.261-0.261-0.683-0.261-0.943 0l-5 5c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0l4.529-4.529 2.862 2.862c0.261 0.261 0.683 0.261 0.943 0l5.195-5.195v2.391c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-4c0-0.091-0.018-0.177-0.051-0.255s-0.081-0.152-0.144-0.215c-0.001-0.001-0.001-0.001-0.001-0.001-0.061-0.061-0.135-0.111-0.215-0.144-0.079-0.033-0.165-0.051-0.255-0.051h-4c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'triangle',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>triangle</title>\n <path d=\"M7.432 2.916c0.049-0.082 0.123-0.161 0.223-0.221 0.157-0.095 0.337-0.119 0.504-0.077s0.316 0.144 0.409 0.299l5.644 9.422c0.051 0.087 0.085 0.199 0.087 0.321 0.002 0.184-0.070 0.351-0.19 0.473s-0.285 0.199-0.462 0.201h-11.291c-0.101-0.001-0.214-0.027-0.321-0.089-0.159-0.092-0.266-0.239-0.311-0.405s-0.025-0.346 0.061-0.497zM6.288 2.231l-5.647 9.427c-0.281 0.487-0.337 1.033-0.205 1.527s0.453 0.939 0.932 1.215c0.309 0.179 0.651 0.267 0.983 0.268h11.295c0.559-0.006 1.058-0.236 1.415-0.601s0.576-0.869 0.57-1.421c-0.004-0.357-0.102-0.696-0.271-0.983l-5.649-9.431c-0.288-0.475-0.74-0.787-1.236-0.909s-1.041-0.054-1.513 0.233c-0.286 0.173-0.517 0.41-0.675 0.676z\"></path>\n </svg>\n `\n },\n {\n name: 'truck',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>truck</title>\n <path d=\"M10 10h-8.667v-7.333h8.667v2.667zM11.333 6h1.724l1.609 1.609v2.391h-3.333zM4.667 12.333c0 0.276-0.111 0.525-0.293 0.707s-0.431 0.293-0.707 0.293-0.525-0.111-0.707-0.293-0.293-0.431-0.293-0.707 0.111-0.525 0.293-0.707 0.431-0.293 0.707-0.293 0.525 0.111 0.707 0.293 0.293 0.431 0.293 0.707zM14.667 12.333c0-0.358-0.081-0.697-0.225-1h0.891c0.368 0 0.667-0.299 0.667-0.667v-3.333c0-0.171-0.065-0.341-0.195-0.471l-2-2c-0.121-0.121-0.287-0.195-0.471-0.195h-2v-2.667c0-0.368-0.299-0.667-0.667-0.667h-10c-0.368 0-0.667 0.299-0.667 0.667v8.667c0 0.368 0.299 0.667 0.667 0.667h0.891c-0.144 0.303-0.225 0.642-0.225 1 0 0.644 0.262 1.229 0.683 1.65s1.006 0.683 1.65 0.683 1.229-0.262 1.65-0.683 0.683-1.006 0.683-1.65c0-0.358-0.081-0.697-0.225-1h4.449c-0.144 0.303-0.225 0.642-0.225 1 0 0.644 0.262 1.229 0.683 1.65s1.006 0.683 1.65 0.683 1.229-0.262 1.65-0.683 0.683-1.006 0.683-1.65zM13.333 12.333c0 0.276-0.111 0.525-0.293 0.707s-0.431 0.293-0.707 0.293-0.525-0.111-0.707-0.293-0.293-0.431-0.293-0.707 0.111-0.525 0.293-0.707 0.431-0.293 0.707-0.293 0.525 0.111 0.707 0.293 0.293 0.431 0.293 0.707z\"></path>\n </svg>\n `\n },\n {\n name: 'tv',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>tv</title>\n <path d=\"M2.667 5.333h10.667c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v7.333c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-10.667c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-7.333c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195zM10.862 0.862l-2.862 2.862-2.862-2.862c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943l2.195 2.195h-3.724c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v7.333c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h10.667c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-7.333c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586h-3.724l2.195-2.195c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0z\"></path>\n </svg>\n `\n },\n {\n name: 'twitter',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>twitter</title>\n <path d=\"M13.889 3.508c-0.124 0.161-0.261 0.317-0.411 0.464-0.155 0.155-0.231 0.378-0.185 0.605 0.025 0.121 0.040 0.269 0.041 0.423 0 3.504-1.619 5.981-3.873 7.265-1.765 1.006-3.959 1.303-6.148 0.747 0.83-0.241 1.64-0.614 2.395-1.127 0.098-0.066 0.182-0.162 0.235-0.281 0.149-0.337-0.002-0.731-0.339-0.88-1.849-0.822-2.753-1.954-3.179-3.062-0.278-0.723-0.364-1.465-0.347-2.151 0.014-0.541 0.092-1.040 0.185-1.455 0.263 0.228 0.536 0.47 0.824 0.691 1.367 1.051 3.083 1.653 4.931 1.605 0.361-0.010 0.649-0.305 0.649-0.667v-0.674c-0.001-0.119 0.006-0.238 0.023-0.356 0.075-0.537 0.336-1.046 0.775-1.427 0.483-0.421 1.091-0.605 1.684-0.564s1.169 0.309 1.589 0.792c0.168 0.191 0.433 0.277 0.689 0.203 0.154-0.045 0.309-0.095 0.463-0.152zM14.949 1.455c-0.493 0.348-1.015 0.617-1.525 0.803-0.621-0.557-1.394-0.868-2.184-0.923-0.932-0.065-1.891 0.226-2.651 0.888-0.691 0.601-1.101 1.405-1.22 2.248-0.025 0.177-0.037 0.355-0.036 0.533-1.281-0.095-2.463-0.567-3.434-1.314-0.517-0.397-0.974-0.873-1.356-1.41-0.213-0.3-0.629-0.371-0.929-0.158-0.103 0.073-0.178 0.169-0.223 0.273 0 0-0.088 0.199-0.19 0.507-0.075 0.225-0.161 0.517-0.238 0.86-0.109 0.481-0.201 1.068-0.217 1.714-0.021 0.818 0.080 1.741 0.435 2.664 0.455 1.183 1.311 2.319 2.765 3.215-1.046 0.484-2.163 0.693-3.249 0.645-0.368-0.016-0.679 0.269-0.695 0.637-0.011 0.259 0.127 0.491 0.342 0.612 3.27 1.817 6.951 1.785 9.777 0.174 2.694-1.534 4.547-4.467 4.547-8.423-0.001-0.111-0.005-0.22-0.015-0.326 0.671-0.743 1.117-1.619 1.331-2.521 0.085-0.358-0.137-0.717-0.495-0.802-0.193-0.046-0.387-0.002-0.538 0.104z\"></path>\n </svg>\n `\n },\n {\n name: 'type',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>type</title>\n <path d=\"M7.333 3.333v9.333h-1.333c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h4c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-1.333v-9.333h4v1.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-2c0-0.368-0.299-0.667-0.667-0.667h-10.667c-0.368 0-0.667 0.299-0.667 0.667v2c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-1.333z\"></path>\n </svg>\n `\n },\n {\n name: 'umbrella',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>umbrella</title>\n <path d=\"M15.997 7.937c-0.211-2.208-1.297-4.123-2.882-5.431s-3.67-2.013-5.878-1.803c-2.035 0.194-3.821 1.133-5.113 2.526-1.173 1.265-1.939 2.905-2.12 4.705-0.037 0.367 0.231 0.693 0.597 0.73 0.023 0.003 0.047 0.003 0.067 0.003h6.667v4c0 0.736 0.299 1.404 0.781 1.885s1.149 0.781 1.885 0.781 1.404-0.299 1.885-0.781 0.781-1.149 0.781-1.885c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667c0 0.369-0.149 0.701-0.391 0.943s-0.574 0.391-0.943 0.391-0.701-0.149-0.943-0.391-0.391-0.574-0.391-0.943v-4h6.667c0.368 0 0.667-0.299 0.667-0.667 0-0.022-0.001-0.045-0.003-0.063zM14.56 7.333h-13.116c0.258-1.216 0.839-2.316 1.657-3.197 1.078-1.163 2.565-1.943 4.263-2.105 1.842-0.176 3.579 0.411 4.903 1.503 1.145 0.945 1.977 2.267 2.294 3.8z\"></path>\n </svg>\n `\n },\n {\n name: 'underline',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>underline</title>\n <path d=\"M3.333 2v4.667c0 1.289 0.523 2.456 1.367 3.3s2.011 1.367 3.3 1.367 2.456-0.523 3.3-1.367 1.367-2.011 1.367-3.3v-4.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v4.667c0 0.921-0.373 1.753-0.976 2.357s-1.437 0.976-2.357 0.976-1.753-0.373-2.357-0.976-0.976-1.437-0.976-2.357v-4.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667zM2.667 14.667h10.667c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-10.667c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'unlock',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>unlock</title>\n <path d=\"M3.333 8h9.333c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v4.667c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-9.333c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-4.667c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195zM5.333 6.667v-2c-0.001-0.737 0.297-1.403 0.779-1.887s1.148-0.782 1.885-0.783c0.677-0.001 1.293 0.25 1.763 0.667 0.425 0.377 0.731 0.888 0.853 1.473 0.075 0.361 0.428 0.592 0.789 0.517s0.592-0.428 0.517-0.789c-0.181-0.871-0.639-1.636-1.275-2.199-0.707-0.625-1.635-1.003-2.649-1.002-1.105 0.001-2.105 0.451-2.827 1.175s-1.17 1.725-1.169 2.829v2h-0.667c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v4.667c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h9.333c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-4.667c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586z\"></path>\n </svg>\n `\n },\n {\n name: 'upload-cloud',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>upload-cloud</title>\n <path d=\"M7.333 9.609v4.391c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-4.391l1.529 1.529c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-2.667-2.667c-0.064-0.064-0.137-0.112-0.216-0.145-0.081-0.034-0.169-0.051-0.255-0.051-0.171 0-0.341 0.065-0.471 0.195l-2.667 2.667c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0zM13.913 12.845c0.969-0.529 1.634-1.401 1.923-2.383s0.203-2.075-0.325-3.044c-0.453-0.83-1.158-1.437-1.973-1.775-0.483-0.2-1.003-0.306-1.532-0.31h-0.351c-0.483-1.371-1.429-2.472-2.611-3.168-1.322-0.779-2.943-1.054-4.547-0.639s-2.889 1.441-3.668 2.763-1.054 2.943-0.639 4.547c0.248 0.958 0.715 1.807 1.317 2.475 0.246 0.274 0.668 0.296 0.941 0.050s0.296-0.668 0.050-0.941c-0.459-0.51-0.823-1.167-1.017-1.918-0.323-1.248-0.109-2.507 0.497-3.537s1.605-1.827 2.853-2.149 2.507-0.109 3.537 0.497 1.827 1.605 2.149 2.853c0.077 0.29 0.337 0.5 0.646 0.5h0.835c0.357 0.003 0.707 0.074 1.030 0.208 0.543 0.225 1.012 0.629 1.313 1.182 0.353 0.647 0.41 1.374 0.217 2.029s-0.635 1.236-1.282 1.588c-0.323 0.176-0.443 0.581-0.266 0.905s0.581 0.443 0.905 0.266z\"></path>\n </svg>\n `\n },\n {\n name: 'upload',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>upload</title>\n <path d=\"M13.333 10v2.667c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-9.333c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-2.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v2.667c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h9.333c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-2.667c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667zM7.333 3.609v6.391c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-6.391l2.195 2.195c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-3.333-3.333c-0.064-0.064-0.137-0.112-0.216-0.145s-0.165-0.051-0.255-0.051c-0.087 0-0.174 0.017-0.255 0.051-0.079 0.033-0.152 0.081-0.216 0.145l-3.333 3.333c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0z\"></path>\n </svg>\n `\n },\n {\n name: 'user-check',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>user-check</title>\n <path d=\"M11.333 14v-1.333c0-0.92-0.374-1.755-0.976-2.357s-1.437-0.976-2.357-0.976h-4.667c-0.92 0-1.755 0.374-2.357 0.976s-0.976 1.437-0.976 2.357v1.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-1.333c0-0.553 0.223-1.051 0.586-1.414s0.861-0.586 1.414-0.586h4.667c0.553 0 1.051 0.223 1.414 0.586s0.586 0.861 0.586 1.414v1.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667zM9 4.667c0-0.92-0.374-1.755-0.976-2.357s-1.437-0.976-2.357-0.976-1.755 0.374-2.357 0.976-0.976 1.437-0.976 2.357 0.374 1.755 0.976 2.357 1.437 0.976 2.357 0.976 1.755-0.374 2.357-0.976 0.976-1.437 0.976-2.357zM7.667 4.667c0 0.553-0.223 1.051-0.586 1.414s-0.861 0.586-1.414 0.586-1.051-0.223-1.414-0.586-0.586-0.861-0.586-1.414 0.223-1.051 0.586-1.414 0.861-0.586 1.414-0.586 1.051 0.223 1.414 0.586 0.586 0.861 0.586 1.414zM10.862 7.805l1.333 1.333c0.261 0.261 0.683 0.261 0.943 0l2.667-2.667c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-2.195 2.195-0.862-0.862c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'user-minus',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>user-minus</title>\n <path d=\"M11.333 14v-1.333c0-0.92-0.374-1.755-0.976-2.357s-1.437-0.976-2.357-0.976h-4.667c-0.92 0-1.755 0.374-2.357 0.976s-0.976 1.437-0.976 2.357v1.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-1.333c0-0.553 0.223-1.051 0.586-1.414s0.861-0.586 1.414-0.586h4.667c0.553 0 1.051 0.223 1.414 0.586s0.586 0.861 0.586 1.414v1.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667zM9 4.667c0-0.92-0.374-1.755-0.976-2.357s-1.437-0.976-2.357-0.976-1.755 0.374-2.357 0.976-0.976 1.437-0.976 2.357 0.374 1.755 0.976 2.357 1.437 0.976 2.357 0.976 1.755-0.374 2.357-0.976 0.976-1.437 0.976-2.357zM7.667 4.667c0 0.553-0.223 1.051-0.586 1.414s-0.861 0.586-1.414 0.586-1.051-0.223-1.414-0.586-0.586-0.861-0.586-1.414 0.223-1.051 0.586-1.414 0.861-0.586 1.414-0.586 1.051 0.223 1.414 0.586 0.586 0.861 0.586 1.414zM15.333 6.667h-4c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h4c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'user-plus',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>user-plus</title>\n <path d=\"M11.333 14v-1.333c0-0.92-0.374-1.755-0.976-2.357s-1.437-0.976-2.357-0.976h-4.667c-0.92 0-1.755 0.374-2.357 0.976s-0.976 1.437-0.976 2.357v1.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-1.333c0-0.553 0.223-1.051 0.586-1.414s0.861-0.586 1.414-0.586h4.667c0.553 0 1.051 0.223 1.414 0.586s0.586 0.861 0.586 1.414v1.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667zM9 4.667c0-0.92-0.374-1.755-0.976-2.357s-1.437-0.976-2.357-0.976-1.755 0.374-2.357 0.976-0.976 1.437-0.976 2.357 0.374 1.755 0.976 2.357 1.437 0.976 2.357 0.976 1.755-0.374 2.357-0.976 0.976-1.437 0.976-2.357zM7.667 4.667c0 0.553-0.223 1.051-0.586 1.414s-0.861 0.586-1.414 0.586-1.051-0.223-1.414-0.586-0.586-0.861-0.586-1.414 0.223-1.051 0.586-1.414 0.861-0.586 1.414-0.586 1.051 0.223 1.414 0.586 0.586 0.861 0.586 1.414zM15.333 6.667h-1.333v-1.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v1.333h-1.333c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h1.333v1.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-1.333h1.333c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'user-x',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>user-x</title>\n <path d=\"M11.333 14v-1.333c0-0.92-0.374-1.755-0.976-2.357s-1.437-0.976-2.357-0.976h-4.667c-0.92 0-1.755 0.374-2.357 0.976s-0.976 1.437-0.976 2.357v1.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-1.333c0-0.553 0.223-1.051 0.586-1.414s0.861-0.586 1.414-0.586h4.667c0.553 0 1.051 0.223 1.414 0.586s0.586 0.861 0.586 1.414v1.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667zM9 4.667c0-0.92-0.374-1.755-0.976-2.357s-1.437-0.976-2.357-0.976-1.755 0.374-2.357 0.976-0.976 1.437-0.976 2.357 0.374 1.755 0.976 2.357 1.437 0.976 2.357 0.976 1.755-0.374 2.357-0.976 0.976-1.437 0.976-2.357zM7.667 4.667c0 0.553-0.223 1.051-0.586 1.414s-0.861 0.586-1.414 0.586-1.051-0.223-1.414-0.586-0.586-0.861-0.586-1.414 0.223-1.051 0.586-1.414 0.861-0.586 1.414-0.586 1.051 0.223 1.414 0.586 0.586 0.861 0.586 1.414zM14.862 4.862l-1.195 1.195-1.195-1.195c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943l1.195 1.195-1.195 1.195c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0l1.195-1.195 1.195 1.195c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-1.195-1.195 1.195-1.195c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0z\"></path>\n </svg>\n `\n },\n {\n name: 'user',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>user</title>\n <path d=\"M14 14v-1.333c0-0.92-0.374-1.755-0.976-2.357s-1.437-0.976-2.357-0.976h-5.333c-0.92 0-1.755 0.374-2.357 0.976s-0.976 1.437-0.976 2.357v1.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-1.333c0-0.553 0.223-1.051 0.586-1.414s0.861-0.586 1.414-0.586h5.333c0.553 0 1.051 0.223 1.414 0.586s0.586 0.861 0.586 1.414v1.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667zM11.333 4.667c0-0.92-0.374-1.755-0.976-2.357s-1.437-0.976-2.357-0.976-1.755 0.374-2.357 0.976-0.976 1.437-0.976 2.357 0.374 1.755 0.976 2.357 1.437 0.976 2.357 0.976 1.755-0.374 2.357-0.976 0.976-1.437 0.976-2.357zM10 4.667c0 0.553-0.223 1.051-0.586 1.414s-0.861 0.586-1.414 0.586-1.051-0.223-1.414-0.586-0.586-0.861-0.586-1.414 0.223-1.051 0.586-1.414 0.861-0.586 1.414-0.586 1.051 0.223 1.414 0.586 0.586 0.861 0.586 1.414z\"></path>\n </svg>\n `\n },\n {\n name: 'users',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>users</title>\n <path d=\"M12 14v-1.333c0-0.92-0.374-1.755-0.976-2.357s-1.437-0.976-2.357-0.976h-5.333c-0.92 0-1.755 0.374-2.357 0.976s-0.976 1.437-0.976 2.357v1.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-1.333c0-0.553 0.223-1.051 0.586-1.414s0.861-0.586 1.414-0.586h5.333c0.553 0 1.051 0.223 1.414 0.586s0.586 0.861 0.586 1.414v1.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667zM9.333 4.667c0-0.92-0.374-1.755-0.976-2.357s-1.437-0.976-2.357-0.976-1.755 0.374-2.357 0.976-0.976 1.437-0.976 2.357 0.374 1.755 0.976 2.357 1.437 0.976 2.357 0.976 1.755-0.374 2.357-0.976 0.976-1.437 0.976-2.357zM8 4.667c0 0.553-0.223 1.051-0.586 1.414s-0.861 0.586-1.414 0.586-1.051-0.223-1.414-0.586-0.586-0.861-0.586-1.414 0.223-1.051 0.586-1.414 0.861-0.586 1.414-0.586 1.051 0.223 1.414 0.586 0.586 0.861 0.586 1.414zM16 14v-1.333c-0.001-0.83-0.305-1.59-0.811-2.174-0.435-0.502-1.019-0.874-1.686-1.051-0.356-0.094-0.721 0.118-0.815 0.474s0.118 0.721 0.474 0.815c0.405 0.107 0.757 0.332 1.019 0.635 0.303 0.351 0.485 0.804 0.485 1.301v1.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667zM10.501 2.733c0.535 0.137 0.963 0.477 1.225 0.918s0.354 0.98 0.217 1.515c-0.117 0.458-0.383 0.837-0.737 1.101-0.209 0.157-0.45 0.273-0.709 0.341-0.356 0.093-0.569 0.458-0.475 0.814s0.458 0.569 0.814 0.475c0.425-0.111 0.821-0.303 1.169-0.563 0.589-0.44 1.035-1.075 1.23-1.839 0.228-0.891 0.073-1.793-0.361-2.525s-1.15-1.302-2.041-1.531c-0.357-0.091-0.72 0.124-0.811 0.481s0.124 0.72 0.481 0.811z\"></path>\n </svg>\n `\n },\n {\n name: 'video-off',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>video-off</title>\n <path d=\"M7.107 4h2.227c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v2.227c0 0.184 0.075 0.351 0.195 0.471l0.667 0.667c0.234 0.234 0.599 0.258 0.862 0.069l2.943-2.128v5.361c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-6.667c0.001-0.134-0.041-0.272-0.127-0.391-0.216-0.298-0.633-0.365-0.931-0.149l-3.539 2.561-0.070-0.070v-1.951c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586h-2.227c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667zM3.057 4l6.943 6.943v0.391c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-7.333c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-6.667c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195zM0.195 1.138l1.545 1.545c-0.449 0.058-0.851 0.265-1.155 0.569-0.361 0.361-0.586 0.862-0.586 1.414v6.667c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h7.333c0.552 0 1.053-0.225 1.414-0.586 0.179-0.179 0.325-0.393 0.427-0.631l3.688 3.688c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-14.667-14.667c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'video',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>video</title>\n <path d=\"M14.667 5.962v4.076l-2.853-2.038zM2 2.667c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v6.667c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h7.333c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-2.038l3.613 2.581c0.299 0.214 0.716 0.145 0.93-0.155 0.084-0.119 0.125-0.255 0.124-0.388v-6.667c0-0.368-0.299-0.667-0.667-0.667-0.145 0-0.28 0.047-0.387 0.124l-3.613 2.581v-2.038c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586zM2 4h7.333c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v6.667c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-7.333c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-6.667c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195z\"></path>\n </svg>\n `\n },\n {\n name: 'voicemail',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>voicemail</title>\n <path d=\"M6 7.667c0 0.645-0.261 1.227-0.683 1.65s-1.005 0.683-1.65 0.683-1.227-0.261-1.65-0.683-0.683-1.005-0.683-1.65 0.261-1.227 0.683-1.65 1.005-0.683 1.65-0.683 1.227 0.261 1.65 0.683 0.683 1.005 0.683 1.65zM14.667 7.667c0 0.645-0.261 1.227-0.683 1.65s-1.005 0.683-1.65 0.683-1.227-0.261-1.65-0.683-0.683-1.005-0.683-1.65 0.261-1.227 0.683-1.65 1.005-0.683 1.65-0.683 1.227 0.261 1.65 0.683 0.683 1.005 0.683 1.65zM3.667 11.333h8.667c1.013 0 1.93-0.411 2.593-1.074s1.074-1.58 1.074-2.593-0.411-1.93-1.074-2.593-1.58-1.074-2.593-1.074-1.93 0.411-2.593 1.074-1.074 1.58-1.074 2.593c0 0.886 0.315 1.7 0.838 2.333h-3.009c0.523-0.633 0.838-1.447 0.838-2.333 0-1.013-0.411-1.93-1.074-2.593s-1.58-1.074-2.593-1.074-1.93 0.411-2.593 1.074-1.074 1.58-1.074 2.593 0.411 1.93 1.074 2.593 1.58 1.074 2.593 1.074z\"></path>\n </svg>\n `\n },\n {\n name: 'volume-1',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>volume-1</title>\n <path d=\"M6.667 4.721v6.559l-2.25-1.8c-0.113-0.091-0.259-0.147-0.417-0.147h-2v-2.667h2c0.145 0.001 0.293-0.047 0.417-0.146zM6.917 2.813l-3.151 2.521h-2.433c-0.368 0-0.667 0.299-0.667 0.667v4c0 0.368 0.299 0.667 0.667 0.667h2.433l3.151 2.521c0.287 0.23 0.707 0.183 0.937-0.104 0.099-0.123 0.147-0.271 0.146-0.417v-9.333c0-0.368-0.299-0.667-0.667-0.667-0.158 0-0.303 0.055-0.417 0.146zM9.889 6.111c0.521 0.521 0.781 1.202 0.781 1.885s-0.26 1.365-0.781 1.885c-0.26 0.261-0.26 0.683 0 0.943s0.683 0.26 0.943 0c0.781-0.781 1.171-1.805 1.171-2.828s-0.391-2.047-1.171-2.828c-0.26-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'volume-2',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>volume-2</title>\n <path d=\"M6.667 4.721v6.559l-2.25-1.8c-0.113-0.091-0.259-0.147-0.417-0.147h-2v-2.667h2c0.145 0.001 0.293-0.047 0.417-0.146zM6.917 2.813l-3.151 2.521h-2.433c-0.368 0-0.667 0.299-0.667 0.667v4c0 0.368 0.299 0.667 0.667 0.667h2.433l3.151 2.521c0.287 0.23 0.707 0.183 0.937-0.104 0.099-0.123 0.147-0.271 0.146-0.417v-9.333c0-0.368-0.299-0.667-0.667-0.667-0.158 0-0.303 0.055-0.417 0.146zM12.242 3.758c1.171 1.172 1.757 2.706 1.757 4.242s-0.585 3.070-1.757 4.242c-0.26 0.261-0.26 0.683 0 0.943s0.683 0.26 0.943 0c1.431-1.431 2.147-3.309 2.147-5.185s-0.716-3.753-2.147-5.185c-0.26-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943zM9.889 6.111c0.521 0.521 0.781 1.202 0.781 1.885s-0.26 1.365-0.781 1.885c-0.26 0.261-0.26 0.683 0 0.943s0.683 0.26 0.943 0c0.781-0.781 1.171-1.805 1.171-2.828s-0.391-2.047-1.171-2.828c-0.26-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'volume-x',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>volume-x</title>\n <path d=\"M6.667 4.721v6.559l-2.25-1.8c-0.113-0.091-0.259-0.147-0.417-0.147h-2v-2.667h2c0.145 0.001 0.293-0.047 0.417-0.146zM6.917 2.813l-3.151 2.521h-2.433c-0.368 0-0.667 0.299-0.667 0.667v4c0 0.368 0.299 0.667 0.667 0.667h2.433l3.151 2.521c0.287 0.23 0.707 0.183 0.937-0.104 0.099-0.123 0.147-0.271 0.146-0.417v-9.333c0-0.368-0.299-0.667-0.667-0.667-0.158 0-0.303 0.055-0.417 0.146zM10.862 6.471l1.529 1.529-1.529 1.529c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0l1.529-1.529 1.529 1.529c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-1.529-1.529 1.529-1.529c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-1.529 1.529-1.529-1.529c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'volume',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>volume</title>\n <path d=\"M6.667 4.721v6.559l-2.25-1.8c-0.113-0.091-0.259-0.147-0.417-0.147h-2v-2.667h2c0.145 0.001 0.293-0.047 0.417-0.146zM6.917 2.813l-3.151 2.521h-2.433c-0.368 0-0.667 0.299-0.667 0.667v4c0 0.368 0.299 0.667 0.667 0.667h2.433l3.151 2.521c0.287 0.23 0.707 0.183 0.937-0.104 0.099-0.123 0.147-0.271 0.146-0.417v-9.333c0-0.368-0.299-0.667-0.667-0.667-0.158 0-0.303 0.055-0.417 0.146z\"></path>\n </svg>\n `\n },\n {\n name: 'watch',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>watch</title>\n <path d=\"M7.333 6v2c0 0.184 0.075 0.351 0.195 0.471l1 1c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-0.805-0.805v-1.724c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667zM10.22 12.851l-0.111 1.209c-0.016 0.177-0.098 0.33-0.222 0.439-0.12 0.106-0.277 0.169-0.447 0.169h-2.887c-0.18 0.001-0.34-0.067-0.46-0.179-0.117-0.109-0.194-0.259-0.209-0.429l-0.111-1.211c0.677 0.312 1.432 0.486 2.227 0.486 0.792 0 1.544-0.173 2.22-0.483zM5.458 4.911c0.691-0.57 1.576-0.911 2.542-0.911 1.105 0 2.104 0.447 2.829 1.171s1.171 1.724 1.171 2.829-0.447 2.104-1.171 2.829c-0.069 0.069-0.141 0.136-0.215 0.2-0.023 0.021-0.047 0.041-0.071 0.060-0.691 0.57-1.576 0.911-2.542 0.911-1.105 0-2.104-0.447-2.829-1.171s-1.171-1.724-1.171-2.829 0.447-2.104 1.171-2.829c0.069-0.069 0.141-0.136 0.215-0.2 0.023-0.021 0.047-0.041 0.071-0.060zM11.661 4.121l-0.21-2.303c-0.047-0.504-0.279-0.953-0.625-1.278-0.359-0.337-0.844-0.542-1.372-0.54h-2.903c-0.503 0.002-0.969 0.191-1.323 0.505-0.368 0.325-0.617 0.788-0.665 1.315l-0.209 2.289c-0.042 0.039-0.084 0.080-0.125 0.121-0.964 0.965-1.562 2.299-1.562 3.771s0.598 2.807 1.562 3.771c0.039 0.039 0.078 0.077 0.117 0.114l0.21 2.297c0.047 0.504 0.279 0.953 0.625 1.278 0.359 0.337 0.844 0.542 1.372 0.54h2.885c0.506 0.001 0.975-0.188 1.331-0.503 0.369-0.326 0.619-0.789 0.667-1.317l0.209-2.289c0.042-0.039 0.084-0.080 0.125-0.121 0.965-0.965 1.563-2.299 1.563-3.771s-0.598-2.807-1.562-3.771c-0.036-0.036-0.073-0.072-0.11-0.107zM5.78 3.149l0.111-1.209c0.016-0.177 0.098-0.329 0.221-0.438 0.119-0.106 0.275-0.169 0.445-0.169h2.897c0.18-0.001 0.34 0.067 0.46 0.179 0.117 0.109 0.194 0.259 0.209 0.429l0.111 1.214c-0.679-0.313-1.436-0.489-2.233-0.489-0.792 0-1.544 0.173-2.22 0.483z\"></path>\n </svg>\n `\n },\n {\n name: 'wifi-off',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>wifi-off</title>\n <path d=\"M10.854 7.973c0.526 0.257 0.999 0.571 1.376 0.898 0.279 0.241 0.699 0.211 0.941-0.068s0.211-0.699-0.068-0.941c-0.469-0.406-1.039-0.783-1.664-1.089-0.331-0.161-0.73-0.024-0.891 0.307s-0.024 0.73 0.307 0.891zM7.193 4.031c2.679-0.216 5.195 0.644 7.128 2.222 0.099 0.081 0.195 0.163 0.291 0.247 0.276 0.243 0.697 0.217 0.941-0.059s0.217-0.697-0.059-0.941c-0.108-0.095-0.218-0.188-0.329-0.279-2.189-1.787-5.043-2.763-8.079-2.519-0.366 0.030-0.639 0.351-0.61 0.718s0.351 0.641 0.718 0.611zM6.073 11.283c0.66-0.469 1.431-0.663 2.183-0.604 0.594 0.047 1.177 0.252 1.682 0.606 0.155 0.109 0.341 0.142 0.513 0.108l4.411 4.411c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-8.5-8.5c-0.033-0.042-0.071-0.080-0.113-0.113l-6.054-6.054c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943l2.725 2.725c-0.838 0.419-1.66 0.969-2.415 1.637-0.276 0.244-0.302 0.665-0.058 0.941s0.665 0.302 0.941 0.058c0.794-0.702 1.666-1.251 2.535-1.634l1.549 1.549c-0.905 0.305-1.781 0.785-2.566 1.441-0.283 0.236-0.32 0.657-0.084 0.939s0.657 0.32 0.939 0.084c0.847-0.708 1.816-1.167 2.792-1.383l1.859 1.859c-0.017-0.001-0.035-0.003-0.052-0.005-1.053-0.083-2.136 0.19-3.059 0.846-0.3 0.213-0.371 0.629-0.157 0.929s0.629 0.371 0.929 0.157zM8.667 13.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667 0.299 0.667 0.667 0.667 0.667-0.299 0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'wifi',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>wifi</title>\n <path d=\"M3.76 8.879c1.308-1.089 2.907-1.593 4.489-1.537 1.445 0.051 2.873 0.571 4.047 1.539 0.284 0.234 0.704 0.194 0.939-0.090s0.194-0.704-0.090-0.939c-1.405-1.159-3.116-1.781-4.848-1.842-1.897-0.067-3.821 0.537-5.39 1.845-0.283 0.235-0.321 0.656-0.085 0.939s0.656 0.321 0.939 0.085zM1.387 6.5c1.958-1.726 4.401-2.547 6.825-2.491 2.295 0.053 4.572 0.891 6.403 2.493 0.277 0.243 0.698 0.215 0.941-0.063s0.215-0.698-0.063-0.941c-2.071-1.813-4.651-2.763-7.25-2.823-2.747-0.063-5.518 0.869-7.737 2.825-0.277 0.243-0.303 0.665-0.059 0.941s0.665 0.303 0.941 0.059zM6.073 11.283c0.66-0.469 1.431-0.663 2.183-0.604 0.594 0.047 1.177 0.252 1.682 0.606 0.301 0.211 0.717 0.138 0.929-0.163s0.138-0.717-0.163-0.929c-0.702-0.492-1.513-0.778-2.343-0.843-1.053-0.083-2.136 0.19-3.059 0.846-0.3 0.213-0.371 0.629-0.157 0.929s0.629 0.371 0.929 0.157zM8.667 13.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667 0.299 0.667 0.667 0.667 0.667-0.299 0.667-0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'wind',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>wind</title>\n <path d=\"M6.866 3.53c0.13-0.131 0.299-0.196 0.471-0.197s0.341 0.064 0.472 0.194 0.196 0.299 0.197 0.471-0.064 0.341-0.194 0.472c-0.128 0.129-0.295 0.195-0.465 0.197h-6.013c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h6.029c0.505-0.006 1.011-0.203 1.395-0.59 0.389-0.391 0.583-0.905 0.581-1.416s-0.199-1.023-0.59-1.413-0.905-0.583-1.415-0.581-1.023 0.199-1.413 0.59c-0.26 0.261-0.259 0.683 0.003 0.943s0.683 0.258 0.943-0.003zM7.921 13.41c0.389 0.391 0.901 0.589 1.413 0.59s1.025-0.193 1.416-0.581 0.589-0.901 0.59-1.413-0.193-1.025-0.581-1.416c-0.385-0.387-0.89-0.584-1.395-0.59h-8.029c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h8.013c0.17 0.002 0.337 0.067 0.465 0.197 0.13 0.131 0.195 0.301 0.194 0.472s-0.066 0.341-0.197 0.471-0.301 0.195-0.472 0.194-0.341-0.066-0.471-0.197c-0.259-0.261-0.682-0.263-0.943-0.003s-0.263 0.682-0.003 0.943zM12.291 5.625c0.196-0.195 0.451-0.292 0.707-0.292s0.511 0.098 0.707 0.294 0.292 0.451 0.292 0.707-0.098 0.511-0.294 0.707c-0.195 0.195-0.449 0.291-0.705 0.292h-11.665c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h11.668c0.594-0.001 1.189-0.228 1.644-0.681 0.456-0.455 0.685-1.053 0.685-1.649s-0.227-1.195-0.681-1.651-1.053-0.685-1.649-0.685-1.195 0.227-1.651 0.681c-0.261 0.26-0.261 0.682-0.001 0.943s0.682 0.261 0.943 0.001z\"></path>\n </svg>\n `\n },\n {\n name: 'x-circle',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>x-circle</title>\n <path d=\"M15.333 8c0-2.025-0.821-3.859-2.148-5.185s-3.161-2.148-5.185-2.148-3.859 0.821-5.185 2.148-2.148 3.161-2.148 5.185 0.821 3.859 2.148 5.185 3.161 2.148 5.185 2.148 3.859-0.821 5.185-2.148 2.148-3.161 2.148-5.185zM14 8c0 1.657-0.671 3.156-1.757 4.243s-2.585 1.757-4.243 1.757-3.156-0.671-4.243-1.757-1.757-2.585-1.757-4.243 0.671-3.156 1.757-4.243 2.585-1.757 4.243-1.757 3.156 0.671 4.243 1.757 1.757 2.585 1.757 4.243zM5.529 6.471l1.529 1.529-1.529 1.529c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0l1.529-1.529 1.529 1.529c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-1.529-1.529 1.529-1.529c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-1.529 1.529-1.529-1.529c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'x-octagon',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>x-octagon</title>\n <path d=\"M5.24 0.667c-0.171 0-0.341 0.065-0.471 0.195l-3.907 3.907c-0.121 0.121-0.195 0.287-0.195 0.471v5.52c0 0.171 0.065 0.341 0.195 0.471l3.907 3.907c0.121 0.121 0.287 0.195 0.471 0.195h5.52c0.171 0 0.341-0.065 0.471-0.195l3.907-3.907c0.121-0.121 0.195-0.287 0.195-0.471v-5.52c0-0.171-0.065-0.341-0.195-0.471l-3.907-3.907c-0.121-0.121-0.287-0.195-0.471-0.195zM5.516 2h4.968l3.516 3.516v4.968l-3.516 3.516h-4.968l-3.516-3.516v-4.968zM5.529 6.471l1.529 1.529-1.529 1.529c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0l1.529-1.529 1.529 1.529c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-1.529-1.529 1.529-1.529c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-1.529 1.529-1.529-1.529c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'x-square',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>x-square</title>\n <path d=\"M3.333 1.333c-0.552 0-1.053 0.225-1.414 0.586s-0.586 0.862-0.586 1.414v9.333c0 0.552 0.225 1.053 0.586 1.414s0.862 0.586 1.414 0.586h9.333c0.552 0 1.053-0.225 1.414-0.586s0.586-0.862 0.586-1.414v-9.333c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586zM3.333 2.667h9.333c0.184 0 0.35 0.074 0.471 0.195s0.195 0.287 0.195 0.471v9.333c0 0.184-0.074 0.35-0.195 0.471s-0.287 0.195-0.471 0.195h-9.333c-0.184 0-0.35-0.074-0.471-0.195s-0.195-0.287-0.195-0.471v-9.333c0-0.184 0.074-0.35 0.195-0.471s0.287-0.195 0.471-0.195zM9.529 5.529l-1.529 1.529-1.529-1.529c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943l1.529 1.529-1.529 1.529c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0l1.529-1.529 1.529 1.529c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-1.529-1.529 1.529-1.529c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0z\"></path>\n </svg>\n `\n },\n {\n name: 'x',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>x</title>\n <path d=\"M3.529 4.471l3.529 3.529-3.529 3.529c-0.261 0.261-0.261 0.683 0 0.943s0.683 0.261 0.943 0l3.529-3.529 3.529 3.529c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-3.529-3.529 3.529-3.529c0.261-0.261 0.261-0.683 0-0.943s-0.683-0.261-0.943 0l-3.529 3.529-3.529-3.529c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'youtube',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>youtube</title>\n <path d=\"M14.375 4.425c0.191 1.019 0.299 2.197 0.291 3.417 0.013 1.019-0.082 2.178-0.291 3.347-0.038 0.139-0.1 0.269-0.181 0.383-0.151 0.214-0.372 0.377-0.633 0.45-0.403 0.107-1.437 0.183-2.585 0.227-1.487 0.057-2.977 0.057-2.977 0.057s-1.49 0-2.977-0.057c-1.147-0.044-2.182-0.119-2.577-0.225-0.137-0.038-0.264-0.099-0.377-0.179-0.207-0.147-0.367-0.357-0.447-0.615-0.19-1.017-0.296-2.191-0.289-3.407-0.014-1.027 0.081-2.195 0.291-3.373 0.038-0.139 0.1-0.269 0.181-0.383 0.151-0.214 0.372-0.377 0.633-0.45 0.403-0.107 1.437-0.183 2.585-0.227 1.487-0.057 2.977-0.057 2.977-0.057s1.49 0 2.977 0.052c1.146 0.040 2.188 0.109 2.571 0.202 0.146 0.042 0.281 0.11 0.399 0.199 0.205 0.155 0.359 0.374 0.429 0.639zM15.673 4.118c-0.145-0.577-0.479-1.060-0.922-1.395-0.249-0.188-0.531-0.329-0.833-0.417-0.599-0.147-1.797-0.215-2.895-0.253-1.511-0.053-3.024-0.053-3.024-0.053s-1.515 0-3.027 0.058c-1.095 0.042-2.3 0.117-2.878 0.271-0.583 0.165-1.054 0.513-1.376 0.967-0.18 0.254-0.313 0.541-0.391 0.845-0.004 0.016-0.007 0.033-0.010 0.047-0.229 1.265-0.333 2.529-0.317 3.654-0.008 1.283 0.107 2.554 0.318 3.668 0.004 0.021 0.009 0.041 0.014 0.059 0.163 0.573 0.513 1.045 0.967 1.365 0.238 0.168 0.505 0.295 0.787 0.374 0.586 0.157 1.791 0.231 2.885 0.273 1.513 0.058 3.028 0.058 3.028 0.058s1.515 0 3.027-0.058c1.095-0.042 2.299-0.117 2.878-0.271 0.582-0.165 1.054-0.513 1.375-0.967 0.18-0.254 0.313-0.541 0.391-0.845 0.004-0.017 0.008-0.033 0.010-0.047 0.227-1.256 0.331-2.51 0.317-3.627 0.008-1.283-0.107-2.555-0.318-3.669-0.003-0.013-0.005-0.027-0.008-0.038zM7.167 8.867v-2.068l1.818 1.034zM6.829 10.593l3.833-2.18c0.32-0.182 0.432-0.589 0.25-0.909-0.062-0.109-0.151-0.195-0.25-0.25l-3.833-2.18c-0.32-0.182-0.727-0.070-0.909 0.25-0.060 0.105-0.088 0.22-0.087 0.329v4.36c0 0.368 0.299 0.667 0.667 0.667 0.121 0 0.235-0.033 0.329-0.087z\"></path>\n </svg>\n `\n },\n {\n name: 'zap-off',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>zap-off</title>\n <path d=\"M8.935 4.582l0.393-3.167c0.045-0.365-0.214-0.699-0.579-0.744-0.233-0.029-0.452 0.066-0.595 0.235l-1.62 1.947c-0.235 0.283-0.197 0.703 0.086 0.939s0.703 0.197 0.939-0.086l0.166-0.199-0.113 0.911c-0.045 0.365 0.214 0.699 0.579 0.744s0.699-0.214 0.744-0.579zM12.892 9.034l1.62-1.94c0.236-0.283 0.198-0.703-0.085-0.939-0.125-0.104-0.277-0.155-0.427-0.155h-3.56c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667h2.135l-0.707 0.846c-0.236 0.283-0.198 0.703 0.085 0.939s0.703 0.198 0.939-0.085zM8.641 9.583l1.124 1.124-1.488 1.785zM5.378 6.321l2.346 2.346h-4.301zM0.195 1.138l4.236 4.236-2.943 3.533c-0.236 0.283-0.197 0.703 0.085 0.939 0.125 0.105 0.277 0.155 0.427 0.155h5.245l-0.573 4.584c-0.046 0.365 0.213 0.699 0.579 0.744 0.233 0.029 0.452-0.065 0.595-0.235l2.866-3.439 4.151 4.151c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943l-14.667-14.667c-0.261-0.261-0.683-0.261-0.943 0s-0.261 0.683 0 0.943z\"></path>\n </svg>\n `\n },\n {\n name: 'zap',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>zap</title>\n <path d=\"M7.723 3.507l-0.385 3.077c-0.003 0.025-0.005 0.053-0.005 0.083 0 0.368 0.299 0.667 0.667 0.667h4.577l-4.3 5.16 0.385-3.077c0.003-0.025 0.005-0.053 0.005-0.083 0-0.368-0.299-0.667-0.667-0.667h-4.577zM8.155 0.907l-6.667 8c-0.236 0.283-0.197 0.703 0.085 0.939 0.125 0.105 0.277 0.155 0.427 0.155h5.245l-0.573 4.584c-0.046 0.365 0.213 0.699 0.579 0.744 0.233 0.029 0.452-0.065 0.595-0.235l6.667-8c0.236-0.283 0.197-0.703-0.085-0.939-0.125-0.105-0.277-0.155-0.427-0.155h-5.245l0.573-4.584c0.046-0.365-0.213-0.699-0.579-0.744-0.233-0.029-0.452 0.065-0.595 0.235z\"></path>\n </svg>\n `\n },\n {\n name: 'zoom-in',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>zoom-in</title>\n <path d=\"M10.694 10.571c-0.023 0.017-0.045 0.037-0.066 0.058s-0.040 0.043-0.058 0.066c-0.839 0.809-1.979 1.305-3.237 1.305-1.289 0-2.455-0.521-3.3-1.367s-1.367-2.011-1.367-3.3 0.521-2.455 1.367-3.3 2.011-1.367 3.3-1.367 2.455 0.521 3.3 1.367 1.367 2.011 1.367 3.3c0 1.257-0.497 2.398-1.306 3.237zM14.471 13.529l-2.45-2.45c0.821-1.027 1.312-2.329 1.312-3.745 0-1.657-0.672-3.157-1.757-4.243s-2.586-1.757-4.243-1.757-3.157 0.672-4.243 1.757-1.757 2.586-1.757 4.243 0.672 3.157 1.757 4.243 2.586 1.757 4.243 1.757c1.417 0 2.719-0.491 3.745-1.312l2.45 2.45c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943zM5.333 8h1.333v1.333c0 0.368 0.299 0.667 0.667 0.667s0.667-0.299 0.667-0.667v-1.333h1.333c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-1.333v-1.333c0-0.368-0.299-0.667-0.667-0.667s-0.667 0.299-0.667 0.667v1.333h-1.333c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667z\"></path>\n </svg>\n `\n },\n {\n name: 'zoom-out',\n template: `\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <title>zoom-out</title>\n <path d=\"M10.694 10.571c-0.023 0.017-0.045 0.037-0.066 0.058s-0.040 0.043-0.058 0.066c-0.839 0.809-1.979 1.305-3.237 1.305-1.289 0-2.455-0.521-3.3-1.367s-1.367-2.011-1.367-3.3 0.521-2.455 1.367-3.3 2.011-1.367 3.3-1.367 2.455 0.521 3.3 1.367 1.367 2.011 1.367 3.3c0 1.257-0.497 2.398-1.306 3.237zM14.471 13.529l-2.45-2.45c0.821-1.027 1.312-2.329 1.312-3.745 0-1.657-0.672-3.157-1.757-4.243s-2.586-1.757-4.243-1.757-3.157 0.672-4.243 1.757-1.757 2.586-1.757 4.243 0.672 3.157 1.757 4.243 2.586 1.757 4.243 1.757c1.417 0 2.719-0.491 3.745-1.312l2.45 2.45c0.261 0.261 0.683 0.261 0.943 0s0.261-0.683 0-0.943zM5.333 8h4c0.368 0 0.667-0.299 0.667-0.667s-0.299-0.667-0.667-0.667h-4c-0.368 0-0.667 0.299-0.667 0.667s0.299 0.667 0.667 0.667z\"></path>\n </svg>\n `\n }\n]\n","import {\n Component,\n Input,\n HostBinding\n} from '@angular/core';\n\nimport { IconType } from './icon-types';\nimport { iconDefs } from './icon-defs';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Component({\n selector: 'suka-icon',\n template: `\n <span [innerHTML]=\"content\"></span>\n `\n})\nexport class Icon {\n // tslint:disable-next-line: variable-name\n protected _icon: IconType;\n content: SafeHtml;\n\n @HostBinding('class.suka-icon') baseClass = true;\n\n /**\n * Label for accesibility applications\n */\n @HostBinding('attr.aria-label') @Input() accessibilityLabel: string;\n\n /**\n * Sets the icon.\n */\n @Input()\n set icon(value: IconType) {\n this._icon = value;\n this.getIconDef();\n }\n\n get icon(): IconType {\n return this._icon;\n }\n\n constructor(private sanitizer: DomSanitizer) {}\n\n private getIconDef(): void {\n const iconDefinition = iconDefs.filter(iconDef => iconDef.name === this._icon)[0];\n if (!iconDefinition) {\n throw new Error(`Cant find '${this._icon}' icon.`);\n }\n this.content = this.sanitizer.bypassSecurityTrustHtml(iconDefinition.template);\n }\n}\n","// modules\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n// imports\nimport { Icon } from './icon.component';\n\n// exports\nexport {\n Icon,\n};\n\n@NgModule({\n declarations: [\n Icon,\n ],\n exports: [\n Icon,\n ],\n imports: [\n CommonModule,\n ]\n})\nexport class IconModule { }\n","// tslint:disable: max-line-length\n\nimport {\n Component,\n Input,\n Output,\n ViewChild,\n ElementRef,\n HostListener,\n EventEmitter,\n TemplateRef,\n forwardRef,\n OnInit,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'suka-select',\n template: `\n <div class=\"form-item\">\n <div\n [ngClass]=\"{\n 'select--inline': display === 'inline',\n 'skeleton': skeleton\n }\"\n class=\"select\"\n >\n <label *ngIf=\"skeleton && label\" [for]=\"id\" class=\"label skeleton\"></label>\n <label *ngIf=\"!skeleton && label\" [for]=\"id\" class=\"label\">\n <ng-container *ngIf=\"!isTemplate(label)\">{{label}}</ng-container>\n <ng-template *ngIf=\"isTemplate(label)\" [ngTemplateOutlet]=\"label\"></ng-template>\n </label>\n <div *ngIf=\"helperText\" class=\"form__helper-text\">\n <ng-container *ngIf=\"!isTemplate(helperText)\">{{helperText}}</ng-container>\n <ng-template *ngIf=\"isTemplate(helperText)\" [ngTemplateOutlet]=\"helperText\"></ng-template>\n </div>\n <div class=\"select-input__wrapper\" [attr.data-invalid]=\"(invalid ? true : null)\" [attr.data-valid]=\"(valid ? true : null)\">\n <select\n #selectInput\n [attr.id]=\"id\"\n [disabled]=\"disabled\"\n (change)=\"onChange($event)\"\n [value]=\"value\"\n (blur)=\"onBlur($event)\"\n class=\"select-input\">\n <ng-content></ng-content>\n </select>\n <suka-icon *ngIf=\"invalid\" icon=\"alert-circle\" class=\"select__invalid-icon\"></suka-icon>\n <suka-icon *ngIf=\"valid\" icon=\"check\" class=\"select__valid-icon\"></suka-icon>\n <suka-icon *ngIf=\"!skeleton\" class=\"select__arrow\" icon=\"chevron-down\"></suka-icon>\n </div>\n <div *ngIf=\"invalid\" class=\"form-requirement\">\n <ng-container *ngIf=\"!isTemplate(invalidText)\">{{invalidText}}</ng-container>\n <ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\n </div>\n </div>\n </div>\n `,\n styles: [`\n [data-invalid] ~ .select__arrow {\n bottom: 2.25rem;\n }\n `],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Select),\n multi: true\n }\n ]\n})\nexport class Select implements ControlValueAccessor, OnInit {\n /**\n * Tracks the total number of selects instantiated. Used to generate unique IDs\n */\n static selectCount = 0;\n\n private _value = '';\n\n /**\n * `inline` or `default` select displays\n */\n @Input() display: 'inline' | 'default' = 'default';\n /**\n * Label for the select. Appears above the input.\n */\n @Input() label: string | TemplateRef<any>;\n /**\n * Optional helper text that appears under the label.\n */\n @Input() helperText: string | TemplateRef<any>;\n /**\n * Sets the invalid text.\n */\n @Input() invalidText: string | TemplateRef<any>;\n /**\n * Sets the unique ID. Defaults to `select-${total count of selects instantiated}`\n */\n @Input() id = `select-${Select.selectCount++}`;\n /**\n * Set to true to disable component.\n */\n @Input() disabled = false;\n /**\n * Set to true for a loading select.\n */\n @Input() skeleton = false;\n /**\n * Set to `true` for an invalid select component.\n */\n @Input() invalid = false;\n\n /**\n * Set to `true` for an valid select component.\n */\n @Input() valid = false;\n\n /**\n * emits the selected options `value`\n */\n @Output() valueChange = new EventEmitter();\n\n @ViewChild('selectInput', { static: true }) select: ElementRef;\n\n get value() {\n // return this._value;\n return this.select.nativeElement.value || this._value;\n }\n\n set value(v) {\n this._value = v;\n this.select.nativeElement.value = v;\n }\n\n /**\n * Receives a value from the model.\n */\n writeValue(obj: any) {\n this.value = obj;\n }\n\n /**\n * Registers a listener that notifies the model when the control updates\n */\n registerOnChange(fn: any) {\n this.onChangeHandler = fn;\n }\n\n /**\n * Registers a listener that notifies the model when the control is blurred\n */\n registerOnTouched(fn: any) {\n this.onTouchedHandler = fn;\n }\n\n /**\n * Sets the disabled state through the model\n */\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n /**\n * Handles the change event from the `select`.\n * Sends events to the change handler and emits a `selected` event.\n */\n onChange(event) {\n this.onChangeHandler(event.target.value);\n this.valueChange.emit(event.target.value);\n }\n\n /**\n * Listens for the host blurring, and notifies the model\n */\n @HostListener('blur', ['$event.target'])\n onBlur(target) {\n this.onTouchedHandler();\n }\n\n public isTemplate(value) {\n return value instanceof TemplateRef;\n }\n\n /**\n * placeholder declarations. Replaced by the functions provided to `registerOnChange` and `registerOnTouched`\n */\n protected onChangeHandler = (_: any) => { };\n protected onTouchedHandler = () => { };\n\n ngOnInit() {\n // console.log(this.select.nativeElement);\n this.value = this.select.nativeElement.value;\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n // tslint:disable-next-line\n selector: \"option\"\n})\nexport class Option {\n @HostBinding('class') inputClass = 'select-option';\n}\n","\nimport { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n // tslint:disable-next-line\n selector: \"optgroup\"\n})\n// tslint:disable-next-line: directive-class-suffix\nexport class OptGroup {\n @HostBinding('class') inputClass = 'select-option';\n}\n","// modules\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { IconModule } from '../icon/icon.module';\n\n// imports\nimport { Select } from './select.component';\nimport { Option } from './option.directive';\nimport { OptGroup } from './optgroup.directive';\n\n@NgModule({\n declarations: [\n Select,\n Option,\n OptGroup\n ],\n exports: [\n Select,\n Option,\n OptGroup\n ],\n imports: [\n CommonModule,\n FormsModule,\n IconModule,\n ]\n})\nclass SelectModule { }\n\nexport { Select, Option, OptGroup, SelectModule };\n","// tslint:disable: max-line-length\n\nimport {\n Component,\n Input,\n AfterContentInit,\n ElementRef,\n HostBinding,\n TemplateRef,\n ViewChild\n} from '@angular/core';\n\n@Component({\n selector: 'suka-label',\n template: `\n <label\n [for]=\"id\"\n class=\"label\"\n [ngClass]=\"{\n 'skeleton': skeleton\n }\">\n <ng-content></ng-content>\n </label>\n <div *ngIf=\"!skeleton && helperText\" class=\"form__helper-text\">{{helperText}}</div>\n <div class=\"text-input__field-wrapper\" [attr.data-invalid]=\"(invalid ? true : null)\" #wrapper>\n <suka-icon *ngIf=\"invalid\" icon=\"alert-circle\" class=\"text-input__invalid-icon text-area__invalid-icon\"></suka-icon>\n <suka-icon *ngIf=\"valid\" icon=\"check\" class=\"text-input__valid-icon text-area__valid-icon\"></suka-icon>\n <ng-content select=\"input,textarea,div\"></ng-content>\n </div>\n <div *ngIf=\"invalid\" class=\"form-requirement\">\n <ng-container *ngIf=\"!isTemplate(invalidText)\">{{invalidText}}</ng-container>\n <ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\n </div>\n `\n})\nexport class Label implements AfterContentInit {\n /**\n * Used to build the id of the input item associated with the `Label`.\n */\n static labelCounter = 0;\n /**\n * Sets the unique ID. Defaults to `input-${total count of selects instantiated}`\n */\n @Input() id = `input-${Label.labelCounter++}`;\n /**\n * Set to `true` to display a loading label.\n */\n @Input() skeleton = false;\n /**\n * Sets the label helper text.\n */\n @Input() helperText: string;\n /**\n * Sets the invalid text to display when the label is invalid.\n */\n @Input() invalidText: string | TemplateRef<any>;\n /**\n * Set to `true` to display the invalid state.\n */\n @Input() invalid = false;\n /**\n * Set to `true` to display the valid state.\n */\n @Input() valid = false;\n @ViewChild('wrapper', { static: true }) wrapper: ElementRef<HTMLDivElement>;\n @HostBinding('class.form-item') labelClass = true;\n\n constructor() {\n Label.labelCounter++;\n }\n\n ngAfterContentInit() {\n this.wrapper.nativeElement.querySelector('input,textarea,div').setAttribute('id', this.id);\n }\n\n public isTemplate(value) {\n return value instanceof TemplateRef;\n }\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[sukaText]'\n})\nexport class TextInput {\n @HostBinding('class.text-input') inputClass = true;\n /**\n * Set to `true` to display the invalid state.\n */\n @HostBinding('class.text-input--invalid') @Input() invalid = false;\n /**\n * Set to `true` to display the valid state.\n */\n @HostBinding('class.text-input--valid') @Input() valid = false;\n /**\n * Set to `true` to display a loading text input.\n */\n @HostBinding('class.skeleton') @Input() skeleton = false;\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[sukaTextArea]'\n})\n\n// tslint:disable-next-line: directive-class-suffix\nexport class TextArea {\n @HostBinding('class.text-area') baseClass = true;\n /**\n * Set to `true` to display the invalid state.\n */\n @HostBinding('class.text-area--invalid') @Input() invalid = false;\n /**\n * Set to `true` to display the valid state.\n */\n @HostBinding('class.text-area--valid') @Input() valid = false;\n /**\n * Set to `true` to display a loading text area.\n */\n @HostBinding('class.skeleton') @Input() skeleton = false;\n}\n","// modules\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { IconModule } from '../icon/icon.module';\n\n// imports\nimport { Label } from './label.component';\nimport { TextInput } from './input.directive';\nimport { TextArea } from './text-area.directive';\n\n@NgModule({\n declarations: [\n Label,\n TextInput,\n TextArea,\n ],\n exports: [\n Label,\n TextInput,\n TextArea,\n ],\n imports: [\n CommonModule,\n FormsModule,\n IconModule,\n ]\n})\nclass InputModule { }\n\nexport { TextInput, TextArea, Label, InputModule };\n","import { Directive, HostBinding, Input, OnInit, Host } from '@angular/core';\n\n@Directive({\n selector: '[sukaGrid]'\n})\nexport class GridDirective {\n @HostBinding('class.grid') baseClass = true;\n}\n\n@Directive({\n selector: '[sukaRow]'\n})\nexport class RowDirective {\n @HostBinding('class.row') baseClass = true;\n /**\n * Set to `true` for no gutters between columns.\n */\n @HostBinding('class.no-gutters') @Input() noGutters = false;\n /**\n * Set to `true` to make the columns distribute their height accordingly to the row total height.\n */\n @HostBinding('class.row-deck') @Input() rowDeck = false;\n}\n\n@Directive({\n selector: '[sukaCol]'\n})\nexport class ColumnDirective implements OnInit {\n /**\n * Sets the class\n */\n @Input() class = '';\n\n /**\n * Object that sets the column numbers according to the breakpoint.\n * Breakpoints can be:<br>\n * - xs: From 0px<br>\n * - sm: From 576px<br>\n * - md: From 768px<br>\n * - lg: From 992px<br>\n * - xl: From 1200px<br>\n * - xxl: From 1600px<br>\n * - nobreak: For all viewports.\n * <br>\n * Example:\n * ```{xs: 12, sm: 6, md: 4}```\n */\n @Input() columnNumbers = {};\n\n /**\n * Object that sets the column offset according to the breakpoint.\n * Breakpoints can be:<br>\n * - xs: From 0px<br>\n * - sm: From 576px<br>\n * - md: From 768px<br>\n * - lg: From 992px<br>\n * - xl: From 1200px<br>\n * - xxl: From 1600px<br>\n * - nobreak: For all viewports.\n * <br>\n * Example:\n * ```{xs: 12, sm: 6, md: 4}```\n */\n @Input() offsets = {};\n\n // tslint:disable-next-line: variable-name\n protected _columnClasses: string[] = [];\n\n @HostBinding('class')\n get columnClasses(): string {\n return this._columnClasses.join(' ');\n }\n\n set(classes: string) {\n this._columnClasses = classes.split(' ');\n }\n\n ngOnInit() {\n try {\n const columnKeys = Object.keys(this.columnNumbers);\n if (columnKeys.length <= 0) {\n this._columnClasses.push('col');\n }\n\n columnKeys.forEach(key => {\n if (this.columnNumbers[key] === 'nobreak') {\n this._columnClasses.push(`col-${key}`);\n } else {\n this._columnClasses.push(`col-${key}-${this.columnNumbers[key]}`);\n }\n });\n\n Object.keys(this.offsets).forEach(key => {\n this._columnClasses.push(`offset-${key}-${this.offsets[key]}`);\n });\n } catch (err) {\n console.error(`Malformed \\`offsets\\` or \\`columnNumbers\\`: ${err}`);\n }\n\n if (this.class) {\n this._columnClasses.push(this.class);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ColumnDirective, GridDirective, RowDirective } from './grid.directive';\n\n@NgModule({\n declarations: [\n ColumnDirective,\n GridDirective,\n RowDirective\n ],\n exports: [\n ColumnDirective,\n GridDirective,\n RowDirective\n ],\n imports: [CommonModule]\n})\nexport class GridModule { }\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n HostBinding\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\n\n\nexport enum ToggleState {\n Init,\n Checked,\n Unchecked\n}\n\nexport class ToggleChange {\n source: Toggle;\n checked: boolean;\n}\n\n\n@Component({\n selector: 'suka-toggle',\n template: `\n <label\n class=\"\n toggle\n toggle--distribution-{{distribution}}\n \"\n [ngClass]=\"{\n 'skeleton' : skeleton,\n 'disabled': disabled\n }\"\n >\n <ng-content></ng-content>\n <input\n type=\"checkbox\"\n [id]=\"id\"\n [value]=\"value\"\n [name]=\"name\"\n [required]=\"required\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-checked]=\"checked\"\n (change)=\"onChange($event)\"\n (click)=\"onClick($event)\"\n />\n <span class=\"toggle-body\">\n <span class=\"toggle-switch\"></span>\n <span class=\"toggle-track\">\n <span class=\"toggle-bg\"></span>\n <span class=\"toggle-bg toggle-bg_negative\"></span>\n </span>\n </span>\n </label>\n `,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: Toggle,\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n// tslint:disable-next-line: component-class-suffix\nexport class Toggle implements ControlValueAccessor {\n /**\n * Variable used for creating unique ids for toggle components.\n */\n static toggleCount = 0;\n\n /**\n * Set to `true` for toggle to be rendered with nested styles.\n */\n @Input() nested: boolean;\n /**\n * Set to `true` for toggle to be rendered without any classes on the host element.\n */\n @Input() inline = false;\n /**\n * Set to `true` for a disabled toggle.\n */\n @Input() disabled = false;\n /**\n * Set to `true` for a loading toggle.\n */\n @Input() skeleton = false;\n /**\n * Set to `true` to hide the toggle labels.\n */\n @Input() hideLabel = false;\n /**\n * Sets the name attribute on the `input` element.\n */\n @Input() name: string;\n /**\n * The unique id for the toggle component.\n */\n @Input() id = `toggle-${Toggle.toggleCount}`;\n /**\n * Reflects the required attribute of the `input` element.\n */\n @Input() required: boolean;\n /**\n * Sets the value attribute on the `input` element.\n */\n @Input() value: string;\n /**\n * Used to set the `aria-label` attribute on the input element.\n */\n // tslint:disable-next-line:no-input-rename\n @Input('aria-label') ariaLabel = '';\n /**\n * Used to set the `aria-labelledby` attribute on the input element.\n */\n // tslint:disable-next-line:no-input-rename\n @Input('aria-labelledby') ariaLabelledby: string;\n\n\n /**\n * Horizontal distribution of elements\n */\n @Input() distribution: 'leading' | 'trailing' | 'equalSpacing' | 'center' = 'equalSpacing';\n\n /**\n * Returns value `true` if state is selected for the toggle.\n */\n get checked() {\n return this._checked;\n }\n\n /**\n * Updating the state of a toggle to match the state of the parameter passed in.\n */\n @Input() set checked(checked: boolean) {\n if (checked !== this.checked) {\n this._checked = checked;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n @HostBinding('class.toggle-wrapper') get toggleWrapperClass() {\n return !this.inline;\n }\n @HostBinding('class.form-item') get formItemClass() {\n return !this.inline;\n }\n\n /**\n * Emits event notifying other classes when a change in state occurs on a toggle after a\n * click.\n */\n // tslint:disable-next-line: no-output-native\n @Output() change = new EventEmitter<ToggleChange>();\n\n /**\n * Set to `true` if the input toggle is selected (or checked).\n */\n // tslint:disable-next-line: variable-name\n _checked = false;\n\n currentToggleState: ToggleState = ToggleState.Init;\n\n /**\n * Maintains a reference to the view DOM element of the `Toggle`.\n */\n @ViewChild('inputToggle', { static: true }) inputToggle: ElementRef;\n\n /**\n * Creates an instance of `Toggle`.\n */\n constructor(protected changeDetectorRef: ChangeDetectorRef) {\n Toggle.toggleCount++;\n }\n\n /**\n * Toggle the selected state of the toggle.\n */\n public toggle() {\n this.checked = !this.checked;\n }\n\n // this is the initial value set to the component\n public writeValue(value: any) {\n this.checked = !!value;\n }\n\n /**\n * Sets a method in order to propagate changes back to the form.\n */\n public registerOnChange(fn: any) {\n this.propagateChange = fn;\n }\n\n /**\n * Registers a callback to be triggered when the control has been touched.\n * @param fn Callback to be triggered when the toggle is touched.\n */\n public registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n /**\n * Executes on the event of a change within `Toggle` to block propagation.\n */\n onChange(event) {\n event.stopPropagation();\n }\n\n /**\n * Handles click events on the `Toggle` and emits changes to other classes.\n */\n onClick(event) {\n if (!this.disabled) {\n this.toggle();\n this.transitionToggleState(this._checked ? ToggleState.Checked : ToggleState.Unchecked);\n this.emitChangeEvent();\n }\n }\n\n /**\n * Called when toggle is blurred. Needed to properly implement `ControlValueAccessor`.\n */\n onTouched: () => any = () => { };\n\n /**\n * Handles changes between toggle states.\n */\n transitionToggleState(newState: ToggleState) {\n this.currentToggleState = newState;\n }\n\n /**\n * Creates instance of `ToggleChange` used to propagate the change event.\n */\n emitChangeEvent() {\n const event = new ToggleChange();\n event.source = this;\n event.checked = this.checked;\n\n this.propagateChange(this.checked);\n this.change.emit(event);\n }\n\n /**\n * Method set in `registerOnChange` to propagate changes back to the form.\n */\n propagateChange = (_: any) => { };\n}\n","// modules\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\n// imports\nimport { Toggle } from './toggle.component';\n\n// exports\nexport { Toggle } from './toggle.component';\n\n@NgModule({\n declarations: [\n Toggle\n ],\n exports: [\n Toggle\n ],\n imports: [\n CommonModule,\n FormsModule,\n ]\n})\nexport class ToggleModule { }\n","import { Radio } from './radio.component';\n\n/**\n * Used to emit changes performed on a `Radio`.\n */\nexport class RadioChange {\n /**\n * Contains the `Radio` that has been changed.\n */\n source: Radio | null;\n /**\n * The value of the `Radio` encompassed in the `RadioChange` class.\n */\n value: string;\n\n constructor(source: Radio, value: string) {\n this.source = source;\n this.value = value;\n }\n}\n","import {\n Component,\n Input,\n HostBinding,\n Output,\n EventEmitter\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { RadioChange } from './radio-change.class';\n\n\n@Component({\n selector: 'suka-radio',\n template: `\n <input\n *ngIf=\"!skeleton\"\n class=\"radio-button\"\n type=\"radio\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [id]=\"id\"\n [required]=\"required\"\n [value]=\"value\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n (change)=\"onChange($event)\">\n <div *ngIf=\"skeleton\" class=\"radio-button skeleton\"></div>\n <label\n class=\"radio-button__label\"\n [ngClass]=\"{\n 'skeleton': skeleton\n }\"\n [for]=\"id\"\n id=\"label-{{id}}\">\n <span class=\"radio-button__appearance\"></span>\n <ng-content></ng-content>\n </label>\n `,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: Radio,\n multi: true\n }\n ]\n})\nexport class Radio {\n /**\n * Used to dynamically create unique ids for the `Radio`.\n */\n static radioCount = 0;\n\n /** Sets the checked status. */\n @Input() checked = false;\n\n /** Sets the `Radio` `<input>` name. */\n @Input() name = '';\n\n /** Set to `true` to disable the `Radio`. */\n @Input() disabled = false;\n\n /** Sets the label placement. Default to `right`. */\n @Input() labelPlacement: 'right' | 'left' = 'right';\n\n @Input() set ariaLabelledby(value: string) {\n this._labelledby = value;\n }\n\n get ariaLabelledby() {\n if (this._labelledby) {\n return this._labelledby;\n }\n return `label-${this.id}`;\n }\n /**\n * Sets the HTML required attribute\n */\n @Input() required = false;\n /**\n * The value of the `Radio`.\n */\n @Input() value = '';\n /**\n * Set to `true` for a loading radio.\n */\n @Input() skeleton = false;\n /**\n * The id for the `Radio`.\n */\n @Input() id = `radio-${Radio.radioCount++}`;\n /**\n * emits when the state of the radio changes\n */\n // tslint:disable-next-line: no-output-native\n @Output() change = new EventEmitter<RadioChange>();\n /**\n * Binds 'radio' value to the role attribute for `Radio`.\n */\n @HostBinding('attr.role') role = 'radio';\n\n @HostBinding('class.radio-button-wrapper') hostClass = true;\n\n @HostBinding('class.radio-button-wrapper--label-left') get labelLeft() {\n return this.labelPlacement === 'left';\n }\n\n // tslint:disable-next-line: variable-name\n protected _labelledby = '';\n\n /**\n * Handler provided by the `RadioGroup` to bubble events up\n */\n radioChangeHandler = (event: RadioChange) => { };\n\n /**\n * Synchronizes with the `RadioGroup` in the event of a changed `Radio`.\n * Emits the changes of both the `RadioGroup` and `Radio`.\n */\n onChange(event: Event) {\n event.stopPropagation();\n this.checked = (event.target as HTMLInputElement).checked;\n const radioEvent = new RadioChange(this, this.value);\n this.change.emit(radioEvent);\n this.radioChangeHandler(radioEvent);\n }\n\n /**\n * Method called by `RadioGroup` with a callback function to bubble `RadioChange` events\n * @param fn callback that expects a `RadioChange` as an argument\n */\n registerRadioChangeHandler(fn: (event: RadioChange) => void) {\n this.radioChangeHandler = fn;\n }\n}\n","// tslint:disable: variable-name\n\nimport {\n AfterContentInit,\n ContentChildren,\n Component,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n QueryList,\n HostBinding,\n AfterViewInit\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { Radio } from './radio.component';\nimport { RadioChange } from './radio-change.class';\n\n@Component({\n selector: 'suka-radio-group',\n template: `\n <div\n class=\"radio-button-group\"\n [ngClass]=\"{\n 'radio-button-group--vertical': orientation === 'vertical',\n 'radio-button-group--label-left': orientation === 'vertical' && radioLabelPlacement === 'left'\n }\"\n role=\"radiogroup\">\n <ng-content></ng-content>\n </div>\n `,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: RadioGroup,\n multi: true\n }\n ]\n})\n// tslint:disable-next-line: component-class-suffix\nexport class RadioGroup implements AfterContentInit, AfterViewInit, ControlValueAccessor {\n static radioGroupCount = 0;\n\n @Input() orientation: 'horizontal' | 'vertical' = 'horizontal';\n\n @Input() radioLabelPlacement: 'right' | 'left' = 'right';\n\n /**\n * Emits event notifying other classes of a change using a `RadioChange` class.\n */\n // tslint:disable-next-line: no-output-native\n @Output() change: EventEmitter<RadioChange> = new EventEmitter<RadioChange>();\n\n /**\n * The `Radio` input items in the `RadioGroup`.\n */\n @ContentChildren(forwardRef(() => Radio)) radios: QueryList<Radio>;\n\n /**\n * Sets the passed in `Radio` item as the selected input within the `RadioGroup`.\n */\n @Input()\n set selected(selected: Radio | null) {\n this._selected = selected;\n this.value = selected ? selected.value : null;\n this.checkSelectedRadio();\n }\n\n /**\n * Returns the `Radio` that is selected within the `RadioGroup`.\n */\n get selected() {\n return this._selected;\n }\n\n /**\n * Sets the value/state of the selected `Radio` within the `RadioGroup` to the passed in value.\n */\n @Input()\n set value(newValue: any) {\n if (this._value !== newValue) {\n this._value = newValue;\n\n this.updateSelectedRadioFromValue();\n this.checkSelectedRadio();\n }\n }\n\n /**\n * Returns the value/state of the selected `Radio` within the `RadioGroup`.\n */\n get value() {\n return this._value;\n }\n\n /**\n * Replaces the name associated with the `RadioGroup` with the provided parameter.\n */\n @Input()\n set name(name: string) {\n this._name = name;\n this.updateRadios();\n }\n /**\n * Returns the associated name of the `RadioGroup`.\n */\n get name() {\n return this._name;\n }\n\n /**\n * Set to true to disable the whole radio group\n */\n @Input() disabled = false;\n\n /**\n * Returns the skeleton value in the `RadioGroup` if there is one.\n */\n @Input()\n get skeleton(): any {\n return this._skeleton;\n }\n\n /**\n * Sets the skeleton value for all `Radio` to the skeleton value of `RadioGroup`.\n */\n set skeleton(value: any) {\n this._skeleton = value;\n this.updateChildren();\n }\n\n /**\n * Binds 'form-item' value to the class for `RadioGroup`.\n */\n @HostBinding('class.form-item') radioButtonGroupClass = true;\n\n /**\n * To track whether the `RadioGroup` has been initialized.\n */\n protected isInitialized = false;\n /**\n * Reflects whether or not the input is disabled and cannot be selected.\n */\n protected _disabled = false;\n /**\n * Reflects whether or not the dropdown is loading.\n */\n protected _skeleton = false;\n /**\n * The value of the selected option within the `RadioGroup`.\n */\n protected _value: any = null;\n /**\n * The `Radio` within the `RadioGroup` that is selected.\n */\n protected _selected: Radio = null;\n /**\n * The name attribute associated with the `RadioGroup`.\n */\n protected _name = `radio-group-${RadioGroup.radioGroupCount++}`;\n\n /**\n * Updates the selected `Radio` to be checked (selected).\n */\n checkSelectedRadio() {\n if (this.selected && !this._selected.checked) {\n this.selected.checked = true;\n }\n }\n\n /**\n * Use the value of the `RadioGroup` to update the selected radio to the right state (selected state).\n */\n updateSelectedRadioFromValue() {\n const alreadySelected = this._selected != null && this._selected.value === this._value;\n\n if (this.radios && !alreadySelected) {\n this._selected = null;\n this.radios.forEach(radio => {\n if (radio.checked) {\n this._selected = radio;\n }\n });\n }\n }\n\n /**\n * Creates a class of `RadioChange` to emit the change in the `RadioGroup`.\n */\n emitChangeEvent(event: RadioChange) {\n this.change.emit(event);\n this.propagateChange(event.value);\n this.onTouched();\n }\n\n /**\n * Synchronizes radio properties.\n */\n updateRadios() {\n if (this.radios) {\n setTimeout(() => {\n this.radios.forEach(radio => radio.name = this.name);\n if (this.radioLabelPlacement === 'left') {\n this.radios.forEach(radio => radio.labelPlacement = 'left');\n }\n });\n }\n }\n\n /**\n * Updates the value of the `RadioGroup` using the provided parameter.\n */\n writeValue(value: any) {\n this.value = value;\n }\n\n ngAfterContentInit() {\n this.radios.changes.subscribe(() => {\n this.updateRadios();\n this.updateRadioChangeHandler();\n });\n\n this.updateChildren();\n this.updateRadioChangeHandler();\n }\n\n ngAfterViewInit() {\n this.updateRadios();\n }\n\n /**\n * Used to set method to propagate changes back to the form.\n */\n public registerOnChange(fn: any) {\n this.propagateChange = fn;\n }\n\n /**\n * Registers a callback to be triggered when the control has been touched.\n * @param fn Callback to be triggered when the checkbox is touched.\n */\n public registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n /**\n * Needed to properly implement ControlValueAccessor.\n */\n onTouched: () => any = () => { };\n\n /**\n * Method set in registerOnChange to propagate changes back to the form.\n */\n propagateChange = (_: any) => { };\n\n protected updateChildren() {\n if (this.radios) {\n this.radios.forEach(child => child.skeleton = this.skeleton);\n }\n }\n\n protected updateRadioChangeHandler() {\n this.radios.forEach(radio => {\n radio.registerRadioChangeHandler((event: RadioChange) => {\n // update selected and value from the event\n this._selected = event.source;\n this._value = event.value;\n // bubble the event\n this.emitChangeEvent(event);\n });\n });\n }\n}\n","// modules\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\n// imports\nimport { Radio } from './radio.component';\nimport { RadioGroup } from './radio-group.component';\nimport { RadioChange } from './radio-change.class';\n\n\n// exports\nexport {\n Radio,\n RadioGroup,\n RadioChange\n};\n\n@NgModule({\n declarations: [\n Radio,\n RadioGroup\n ],\n exports: [\n Radio,\n RadioGroup\n ],\n imports: [\n CommonModule,\n FormsModule\n ]\n})\nexport class RadioModule { }\n","import { ButtonRadio } from './button-radio.component';\n\n/**\n * Used to emit changes performed on a `ButtonRadio`.\n */\nexport class ButtonRadioChange {\n /**\n * Contains the `ButtonRadio` that has been changed.\n */\n source: ButtonRadio | null;\n /**\n * The value of the `ButtonRadio` encompassed in the `ButtonRadioChange` class.\n */\n value: string;\n\n constructor(source: ButtonRadio, value: string) {\n this.source = source;\n this.value = value;\n }\n}\n","import {\n Component,\n Input,\n HostBinding,\n Output,\n EventEmitter\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ButtonRadioChange } from './button-radio-change.class';\n\n\n@Component({\n selector: 'suka-button-radio',\n template: `\n <input\n *ngIf=\"!skeleton\"\n class=\"button-radio\"\n type=\"radio\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [id]=\"id\"\n [required]=\"required\"\n [value]=\"value\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n (change)=\"onChange($event)\">\n <div *ngIf=\"skeleton\" class=\"button-radio skeleton\"></div>\n <label\n class=\"button-radio__label\"\n [ngClass]=\"{\n 'skeleton': skeleton\n }\"\n [for]=\"id\"\n id=\"label-{{id}}\">\n <ng-content></ng-content>\n </label>\n `,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: ButtonRadio,\n multi: true\n }\n ]\n})\n// tslint:disable-next-line: component-class-suffix\nexport class ButtonRadio {\n /**\n * Used to dynamically create unique ids for the `ButtonRadio`.\n */\n static buttonRadioCount = 0;\n\n /**\n * Sets the checked status\n */\n @Input() checked = false;\n\n /**\n * Sets the name of the `ButtonRadio`\n */\n @Input() name = '';\n\n /**\n * Set to `true` to disable it.\n */\n @Input() disabled = false;\n\n @Input() set ariaLabelledby(value: string) {\n this._labelledby = value;\n }\n\n get ariaLabelledby() {\n if (this._labelledby) {\n return this._labelledby;\n }\n return `label-${this.id}`;\n }\n\n /**\n * Sets the HTML required attribute\n */\n @Input() required = false;\n /**\n * The value of the `ButtonRadio`.\n */\n @Input() value = '';\n\n /**\n * Set to `true` for a loading state.\n */\n @Input() skeleton = false;\n\n /**\n * The id for the `ButtonRadio`.\n */\n @Input() id = `button-radio-${ButtonRadio.buttonRadioCount++}`;\n\n /**\n * emits when the state of the button radio changes\n */\n // tslint:disable-next-line: no-output-native\n @Output() change = new EventEmitter<ButtonRadioChange>();\n /**\n * Binds 'radio' value to the role attribute for `ButtonRadio`.\n */\n @HostBinding('attr.role') role = 'radio';\n\n @HostBinding('class.button-radio-wrapper') hostClass = true;\n\n // tslint:disable-next-line: variable-name\n protected _labelledby = '';\n\n /**\n * Handler provided by the `ButtonRadioGroup` to bubble events up\n */\n buttonRadioChangeHandler = (event: ButtonRadioChange) => { };\n\n /**\n * Synchronizes with the `ButtonRadioGroup` in the event of a changed `ButtonRadio`.\n * Emits the changes of both the `ButtonRadioGroup` and `ButtonRadio`.\n */\n onChange(event: Event) {\n event.stopPropagation();\n this.checked = (event.target as HTMLInputElement).checked;\n const ButtonRadioEvent = new ButtonRadioChange(this, this.value);\n this.change.emit(ButtonRadioEvent);\n this.buttonRadioChangeHandler(ButtonRadioEvent);\n }\n\n /**\n * Method called by `ButtonRadioGroup` with a callback function to bubble `ButtonRadioChange` events\n * @param fn callback that expects a `ButtonRadioChange` as an argument\n */\n registerButtonRadioChangeHandler(fn: (event: ButtonRadioChange) => void) {\n this.buttonRadioChangeHandler = fn;\n }\n}\n","// tslint:disable: variable-name\n\nimport {\n AfterContentInit,\n ContentChildren,\n Component,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n QueryList,\n HostBinding,\n AfterViewInit\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { ButtonRadio } from './button-radio.component';\nimport { ButtonRadioChange } from './button-radio-change.class';\n\n@Component({\n selector: 'suka-button-radio-group',\n template: `\n <div\n class=\"button-radio-group\"\n role=\"buttonRadiogroup\">\n <ng-content></ng-content>\n </div>\n `,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: ButtonRadioGroup,\n multi: true\n }\n ]\n})\n// tslint:disable-next-line: component-class-suffix\nexport class ButtonRadioGroup implements AfterContentInit, AfterViewInit, ControlValueAccessor {\n static buttonRadioGroupCount = 0;\n\n /**\n * Emits event notifying other classes of a change using a `ButtonRadioChange` class.\n */\n // tslint:disable-next-line: no-output-native\n @Output() change: EventEmitter<ButtonRadioChange> = new EventEmitter<ButtonRadioChange>();\n\n /**\n * The `ButtonRadio` input items in the `ButtonRadioGroup`.\n */\n @ContentChildren(forwardRef(() => ButtonRadio)) buttonRadios: QueryList<ButtonRadio>;\n\n /**\n * Sets the passed in `ButtonRadio` item as the selected input within the `ButtonRadioGroup`.\n */\n @Input()\n set selected(selected: ButtonRadio | null) {\n this._selected = selected;\n this.value = selected ? selected.value : null;\n this.checkSelectedButtonRadio();\n }\n\n /**\n * Returns the `ButtonRadio` that is selected within the `ButtonRadioGroup`.\n */\n get selected() {\n return this._selected;\n }\n\n /**\n * Sets the value/state of the selected `ButtonRadio` within the `ButtonRadioGroup` to the passed in value.\n */\n @Input()\n set value(newValue: any) {\n if (this._value !== newValue) {\n this._value = newValue;\n\n this.updateSelectedButtonRadioFromValue();\n this.checkSelectedButtonRadio();\n }\n }\n\n /**\n * Returns the value/state of the selected `ButtonRadio` within the `ButtonRadioGroup`.\n */\n get value() {\n return this._value;\n }\n\n /**\n * Replaces the name associated with the `ButtonRadioGroup` with the provided parameter.\n */\n @Input()\n set name(name: string) {\n this._name = name;\n this.updateButtonRadios();\n }\n /**\n * Returns the associated name of the `ButtonRadioGroup`.\n */\n get name() {\n return this._name;\n }\n\n /**\n * Set to true to disable the whole buttonRadio group\n */\n @Input() disabled = false;\n\n /**\n * Returns the skeleton value in the `ButtonRadioGroup` if there is one.\n */\n @Input()\n get skeleton(): any {\n return this._skeleton;\n }\n\n /**\n * Sets the skeleton value for all `ButtonRadio` to the skeleton value of `ButtonRadioGroup`.\n */\n set skeleton(value: any) {\n this._skeleton = value;\n this.updateChildren();\n }\n\n /**\n * Binds 'form-item' value to the class for `ButtonRadioGroup`.\n */\n @HostBinding('class.form-item') buttonRadioButtonGroupClass = true;\n\n /**\n * To track whether the `ButtonRadioGroup` has been initialized.\n */\n protected isInitialized = false;\n /**\n * Reflects whether or not the input is disabled and cannot be selected.\n */\n protected _disabled = false;\n /**\n * Reflects whether or not the dropdown is loading.\n */\n protected _skeleton = false;\n /**\n * The value of the selected option within the `ButtonRadioGroup`.\n */\n protected _value: any = null;\n /**\n * The `ButtonRadio` within the `ButtonRadioGroup` that is selected.\n */\n protected _selected: ButtonRadio = null;\n /**\n * The name attribute associated with the `ButtonRadioGroup`.\n */\n protected _name = `button-radio-group-${ButtonRadioGroup.buttonRadioGroupCount++}`;\n\n /**\n * Updates the selected `ButtonRadio` to be checked (selected).\n */\n checkSelectedButtonRadio() {\n if (this.selected && !this._selected.checked) {\n this.selected.checked = true;\n }\n }\n\n /**\n * Use the value of the `ButtonRadioGroup` to update the selected buttonRadio to the right state (selected state).\n */\n updateSelectedButtonRadioFromValue() {\n const alreadySelected = this._selected != null && this._selected.value === this._value;\n\n if (this.buttonRadios && !alreadySelected) {\n this._selected = null;\n this.buttonRadios.forEach(buttonRadio => {\n if (buttonRadio.checked) {\n this._selected = buttonRadio;\n }\n });\n }\n }\n\n /**\n * Creates a class of `ButtonRadioChange` to emit the change in the `ButtonRadioGroup`.\n */\n emitChangeEvent(event: ButtonRadioChange) {\n this.change.emit(event);\n this.propagateChange(event.value);\n this.onTouched();\n }\n\n /**\n * Synchronizes buttonRadio properties.\n */\n updateButtonRadios() {\n if (this.buttonRadios) {\n setTimeout(() => {\n this.buttonRadios.forEach(buttonRadio => buttonRadio.name = this.name);\n });\n }\n }\n\n /**\n * Updates the value of the `ButtonRadioGroup` using the provided parameter.\n */\n writeValue(value: any) {\n this.value = value;\n }\n\n ngAfterContentInit() {\n this.buttonRadios.changes.subscribe(() => {\n this.updateButtonRadios();\n this.updateButtonRadioChangeHandler();\n });\n\n this.updateChildren();\n this.updateButtonRadioChangeHandler();\n }\n\n ngAfterViewInit() {\n this.updateButtonRadios();\n }\n\n /**\n * Used to set method to propagate changes back to the form.\n */\n public registerOnChange(fn: any) {\n this.propagateChange = fn;\n }\n\n /**\n * Registers a callback to be triggered when the control has been touched.\n * @param fn Callback to be triggered when the checkbox is touched.\n */\n public registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n /**\n * Needed to properly implement ControlValueAccessor.\n */\n onTouched: () => any = () => { };\n\n /**\n * Method set in registerOnChange to propagate changes back to the form.\n */\n propagateChange = (_: any) => { };\n\n protected updateChildren() {\n if (this.buttonRadios) {\n this.buttonRadios.forEach(child => child.skeleton = this.skeleton);\n }\n }\n\n protected updateButtonRadioChangeHandler() {\n this.buttonRadios.forEach(buttonRadio => {\n buttonRadio.registerButtonRadioChangeHandler((event: ButtonRadioChange) => {\n // update selected and value from the event\n this._selected = event.source;\n this._value = event.value;\n // bubble the event\n this.emitChangeEvent(event);\n });\n });\n }\n}\n","// modules\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\n// imports\nimport { ButtonRadio } from './button-radio.component';\nimport { ButtonRadioGroup } from './button-radio-group.component';\nimport { ButtonRadioChange } from './button-radio-change.class';\n\n\n// exports\nexport {\n ButtonRadio,\n ButtonRadioGroup,\n ButtonRadioChange\n};\n\n@NgModule({\n declarations: [\n ButtonRadio,\n ButtonRadioGroup\n ],\n exports: [\n ButtonRadio,\n ButtonRadioGroup\n ],\n imports: [\n CommonModule,\n FormsModule\n ]\n})\nexport class ButtonRadioModule { }\n","import { Input, HostBinding, Directive, OnInit } from '@angular/core';\n\n@Directive({\n selector: '[sukaContainer]'\n})\nexport class Container implements OnInit {\n\n /**\n * Sets the container type. Set to `fluid` for a full width container.\n */\n @Input() sukaContainer: 'default' | 'fluid' = 'default';\n\n @HostBinding('class.container') default = true;\n @HostBinding('class.container--fluid') fluid = false;\n\n public ngOnInit() {\n if (this.sukaContainer === 'fluid') {\n this.fluid = true;\n this.default = false;\n }\n }\n}\n","// modules\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n// imports\nimport { Container } from './container.directive';\n\n// exports\nexport {\n Container\n};\n\n@NgModule({\n declarations: [\n Container,\n ],\n exports: [\n Container,\n ],\n imports: [\n CommonModule,\n ]\n})\nexport class ContainerModule { }\n","import { Directive, Input, OnInit, ElementRef } from '@angular/core';\n\n@Directive({\n // tslint:disable-next-line: directive-selector\n selector: '[m]'\n})\nexport class MarginDirective implements OnInit {\n @Input() m = {};\n\n private elementRef: ElementRef;\n\n constructor(elementRef: ElementRef) {\n this.elementRef = elementRef;\n }\n\n ngOnInit() {\n try {\n const marginKeys = Object.keys(this.m);\n\n marginKeys.forEach(key => {\n if (key === 'all') {\n this.elementRef.nativeElement.classList.add(`m-${this.m[key]}`);\n } else {\n this.elementRef.nativeElement.classList.add(`m-${key}-${this.m[key]}`);\n }\n });\n } catch (err) {\n console.error(`Malformed margins\\`: ${err}`);\n }\n }\n}\n\n@Directive({\n selector: '[mt]'\n})\nexport class MarginTopDirective implements OnInit {\n @Input() mt = {};\n\n private elementRef: ElementRef;\n\n constructor(elementRef: ElementRef) {\n this.elementRef = elementRef;\n }\n\n ngOnInit() {\n try {\n const marginKeys = Object.keys(this.mt);\n\n marginKeys.forEach(key => {\n if (key === 'all') {\n this.elementRef.nativeElement.classList.add(`mt-${this.mt[key]}`);\n } else {\n this.elementRef.nativeElement.classList.add(`mt-${key}-${this.mt[key]}`);\n }\n });\n } catch (err) {\n console.error(`Malformed margins\\`: ${err}`);\n }\n }\n}\n\n@Directive({\n // tslint:disable-next-line: directive-selector\n selector: '[mb]'\n})\nexport class MarginBottomDirective implements OnInit {\n @Input() mb = {};\n\n private elementRef: ElementRef;\n\n constructor(elementRef: ElementRef) {\n this.elementRef = elementRef;\n }\n\n ngOnInit() {\n try {\n const marginKeys = Object.keys(this.mb);\n\n marginKeys.forEach(key => {\n if (key === 'all') {\n this.elementRef.nativeElement.classList.add(`mb-${this.mb[key]}`);\n } else {\n this.elementRef.nativeElement.classList.add(`mb-${key}-${this.mb[key]}`);\n }\n });\n } catch (err) {\n console.error(`Malformed margins\\`: ${err}`);\n }\n }\n}\n\n@Directive({\n // tslint:disable-next-line: directive-selector\n selector: '[ml]'\n})\nexport class MarginLeftDirective implements OnInit {\n @Input() ml = {};\n\n private elementRef: ElementRef;\n\n constructor(elementRef: ElementRef) {\n this.elementRef = elementRef;\n }\n\n ngOnInit() {\n try {\n const marginKeys = Object.keys(this.ml);\n\n marginKeys.forEach(key => {\n if (key === 'all') {\n this.elementRef.nativeElement.classList.add(`ml-${this.ml[key]}`);\n } else {\n this.elementRef.nativeElement.classList.add(`ml-${key}-${this.ml[key]}`);\n }\n });\n } catch (err) {\n console.error(`Malformed margins\\`: ${err}`);\n }\n }\n}\n\n@Directive({\n // tslint:disable-next-line: directive-selector\n selector: '[mr]'\n})\nexport class MarginRightDirective implements OnInit {\n @Input() mr = {};\n\n private elementRef: ElementRef;\n\n constructor(elementRef: ElementRef) {\n this.elementRef = elementRef;\n }\n\n ngOnInit() {\n try {\n const marginKeys = Object.keys(this.mr);\n\n marginKeys.forEach(key => {\n if (key === 'all') {\n this.elementRef.nativeElement.classList.add(`mr-${this.mr[key]}`);\n } else {\n this.elementRef.nativeElement.classList.add(`mr-${key}-${this.mr[key]}`);\n }\n });\n } catch (err) {\n console.error(`Malformed margins\\`: ${err}`);\n }\n }\n}\n\n@Directive({\n // tslint:disable-next-line: directive-selector\n selector: '[mx]'\n})\nexport class MarginHorizontalDirective implements OnInit {\n @Input() mx = {};\n\n private elementRef: ElementRef;\n\n constructor(elementRef: ElementRef) {\n this.elementRef = elementRef;\n }\n\n ngOnInit() {\n try {\n const marginKeys = Object.keys(this.mx);\n\n marginKeys.forEach(key => {\n if (key === 'all') {\n this.elementRef.nativeElement.classList.add(`mx-${this.mx[key]}`);\n } else {\n this.elementRef.nativeElement.classList.add(`mx-${key}-${this.mx[key]}`);\n }\n });\n } catch (err) {\n console.error(`Malformed margins\\`: ${err}`);\n }\n }\n}\n\n@Directive({\n // tslint:disable-next-line: directive-selector\n selector: '[my]'\n})\nexport class MarginVerticalDirective implements OnInit {\n @Input() my = {};\n\n private elementRef: ElementRef;\n\n constructor(elementRef: ElementRef) {\n this.elementRef = elementRef;\n }\n\n ngOnInit() {\n try {\n const marginKeys = Object.keys(this.my);\n\n marginKeys.forEach(key => {\n if (key === 'all') {\n this.elementRef.nativeElement.classList.add(`my-${this.my[key]}`);\n } else {\n this.elementRef.nativeElement.classList.add(`my-${key}-${this.my[key]}`);\n }\n });\n } catch (err) {\n console.error(`Malformed margins\\`: ${err}`);\n }\n }\n}\n","import { Directive, Input, OnInit, ElementRef } from '@angular/core';\n\n@Directive({\n // tslint:disable-next-line: directive-selector\n selector: '[p]'\n})\nexport class PaddingDirective implements OnInit {\n @Input() p = {};\n\n private elementRef: ElementRef;\n\n constructor(elementRef: ElementRef) {\n this.elementRef = elementRef;\n }\n\n ngOnInit() {\n try {\n const paddingKeys = Object.keys(this.p);\n\n paddingKeys.forEach(key => {\n if (key === 'all') {\n this.elementRef.nativeElement.classList.add(`p-${this.p[key]}`);\n } else {\n this.elementRef.nativeElement.classList.add(`p-${key}-${this.p[key]}`);\n }\n });\n } catch (err) {\n console.error(`Malformed paddings\\`: ${err}`);\n }\n }\n}\n\n@Directive({\n // tslint:disable-next-line: directive-selector\n selector: '[pt]'\n})\nexport class PaddingTopDirective implements OnInit {\n @Input() pt = {};\n\n private elementRef: ElementRef;\n\n constructor(elementRef: ElementRef) {\n this.elementRef = elementRef;\n }\n\n ngOnInit() {\n try {\n const paddingKeys = Object.keys(this.pt);\n\n paddingKeys.forEach(key => {\n if (key === 'all') {\n this.elementRef.nativeElement.classList.add(`pt-${this.pt[key]}`);\n } else {\n this.elementRef.nativeElement.classList.add(`pt-${key}-${this.pt[key]}`);\n }\n });\n } catch (err) {\n console.error(`Malformed paddings\\`: ${err}`);\n }\n }\n}\n\n@Directive({\n // tslint:disable-next-line: directive-selector\n selector: '[pb]'\n})\nexport class PaddingBottomDirective implements OnInit {\n @Input() pb = {};\n\n private elementRef: ElementRef;\n\n constructor(elementRef: ElementRef) {\n this.elementRef = elementRef;\n }\n\n ngOnInit() {\n try {\n const paddingKeys = Object.keys(this.pb);\n\n paddingKeys.forEach(key => {\n if (key === 'all') {\n this.elementRef.nativeElement.classList.add(`pb-${this.pb[key]}`);\n } else {\n this.elementRef.nativeElement.classList.add(`pb-${key}-${this.pb[key]}`);\n }\n });\n } catch (err) {\n console.error(`Malformed paddings\\`: ${err}`);\n }\n }\n}\n\n@Directive({\n // tslint:disable-next-line: directive-selector\n selector: '[pl]'\n})\nexport class PaddingLeftDirective implements OnInit {\n @Input() pl = {};\n\n private elementRef: ElementRef;\n\n constructor(elementRef: ElementRef) {\n this.elementRef = elementRef;\n }\n\n ngOnInit() {\n try {\n const paddingKeys = Object.keys(this.pl);\n\n paddingKeys.forEach(key => {\n if (key === 'all') {\n this.elementRef.nativeElement.classList.add(`pl-${this.pl[key]}`);\n } else {\n this.elementRef.nativeElement.classList.add(`pl-${key}-${this.pl[key]}`);\n }\n });\n } catch (err) {\n console.error(`Malformed paddings\\`: ${err}`);\n }\n }\n}\n\n@Directive({\n // tslint:disable-next-line: directive-selector\n selector: '[pr]'\n})\nexport class PaddingRightDirective implements OnInit {\n @Input() pr = {};\n\n private elementRef: ElementRef;\n\n constructor(elementRef: ElementRef) {\n this.elementRef = elementRef;\n }\n\n ngOnInit() {\n try {\n const paddingKeys = Object.keys(this.pr);\n\n paddingKeys.forEach(key => {\n if (key === 'all') {\n this.elementRef.nativeElement.classList.add(`pr-${this.pr[key]}`);\n } else {\n this.elementRef.nativeElement.classList.add(`pr-${key}-${this.pr[key]}`);\n }\n });\n } catch (err) {\n console.error(`Malformed paddings\\`: ${err}`);\n }\n }\n}\n\n@Directive({\n // tslint:disable-next-line: directive-selector\n selector: '[px]'\n})\nexport class PaddingHorizontalDirective implements OnInit {\n @Input() px = {};\n\n private elementRef: ElementRef;\n\n constructor(elementRef: ElementRef) {\n this.elementRef = elementRef;\n }\n\n ngOnInit() {\n try {\n const paddingKeys = Object.keys(this.px);\n\n paddingKeys.forEach(key => {\n if (key === 'all') {\n this.elementRef.nativeElement.classList.add(`px-${this.px[key]}`);\n } else {\n this.elementRef.nativeElement.classList.add(`px-${key}-${this.px[key]}`);\n }\n });\n } catch (err) {\n console.error(`Malformed paddings\\`: ${err}`);\n }\n }\n}\n\n@Directive({\n // tslint:disable-next-line: directive-selector\n selector: '[py]'\n})\nexport class PaddingVerticalDirective implements OnInit {\n @Input() py = {};\n\n private elementRef: ElementRef;\n\n constructor(elementRef: ElementRef) {\n this.elementRef = elementRef;\n }\n\n ngOnInit() {\n try {\n const paddingKeys = Object.keys(this.py);\n\n paddingKeys.forEach(key => {\n if (key === 'all') {\n this.elementRef.nativeElement.classList.add(`py-${this.py[key]}`);\n } else {\n this.elementRef.nativeElement.classList.add(`py-${key}-${this.py[key]}`);\n }\n });\n } catch (err) {\n console.error(`Malformed paddings\\`: ${err}`);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport {\n MarginDirective,\n MarginTopDirective,\n MarginBottomDirective,\n MarginLeftDirective,\n MarginRightDirective,\n MarginHorizontalDirective,\n MarginVerticalDirective\n} from './margin.directive';\n\nimport {\n PaddingDirective,\n PaddingTopDirective,\n PaddingBottomDirective,\n PaddingLeftDirective,\n PaddingRightDirective,\n PaddingHorizontalDirective,\n PaddingVerticalDirective\n} from './padding.directive';\n\n@NgModule({\n declarations: [\n MarginDirective,\n MarginTopDirective,\n MarginBottomDirective,\n MarginLeftDirective,\n MarginRightDirective,\n MarginHorizontalDirective,\n MarginVerticalDirective,\n PaddingDirective,\n PaddingTopDirective,\n PaddingBottomDirective,\n PaddingLeftDirective,\n PaddingRightDirective,\n PaddingHorizontalDirective,\n PaddingVerticalDirective,\n ],\n exports: [\n MarginDirective,\n MarginTopDirective,\n MarginBottomDirective,\n MarginLeftDirective,\n MarginRightDirective,\n MarginHorizontalDirective,\n MarginVerticalDirective,\n PaddingDirective,\n PaddingTopDirective,\n PaddingBottomDirective,\n PaddingLeftDirective,\n PaddingRightDirective,\n PaddingHorizontalDirective,\n PaddingVerticalDirective,\n ],\n imports: [CommonModule]\n})\nexport class SpacingModule { }\n","import {\n Component,\n Input,\n HostBinding,\n Output,\n EventEmitter,\n OnInit,\n ViewEncapsulation\n} from '@angular/core';\n\n@Component({\n selector: 'suka-card',\n template: `\n <suka-card-header\n *ngIf=\"title\"\n (action)=\"onHeaderAction($event)\"\n [actionLabel]=\"headerActionLabel\"\n [skeleton]=\"skeleton\"\n >\n {{title}}\n </suka-card-header>\n\n <suka-card-section\n *ngIf='(sectioned !== false) else elseTpl'\n >\n <ng-container *ngTemplateOutlet=\"elseTpl\"></ng-container>\n </suka-card-section>\n\n <suka-card-footer\n *ngIf='!skeleton && showFooter'\n (primaryAction)=\"onPrimaryFooterAction($event)\"\n [primaryLabel]=\"primaryFooterActionLabel\"\n (secondaryAction)=\"onSecondaryFooterAction($event)\"\n [secondaryLabel]=\"secondaryFooterActionLabel\"\n >\n </suka-card-footer>\n\n <ng-template #elseTpl><ng-content></ng-content></ng-template>\n `,\n encapsulation: ViewEncapsulation.None,\n})\nexport class Card implements OnInit {\n /**\n * Title content for the card.\n */\n @Input() title: string;\n\n /**\n * Set to `true` to auto-wrap content in section\n */\n @Input() sectioned: boolean;\n\n /**\n * Primary action label.\n */\n @Input() primaryFooterActionLabel: string;\n /**\n * Callback for the primary action\n */\n @Output() primaryFooterAction = new EventEmitter();\n\n /**\n * Secondary action label.\n */\n @Input() secondaryFooterActionLabel: string;\n /**\n * Callback for the secondary action\n */\n @Output() secondaryFooterAction = new EventEmitter();\n\n /**\n * Card header action label\n */\n @Input() headerActionLabel: string;\n\n /**\n * Callback for the card header action\n */\n @Output() headerAction = new EventEmitter();\n\n @HostBinding('class.card') cardClass = true;\n\n /**\n * Set to `true` to display a loading card.\n */\n @Input() skeleton = false;\n\n /**\n * Display footer state.\n */\n showFooter = false;\n\n public ngOnInit() {\n this.showFooter = this.primaryFooterAction.observers.length > 0;\n }\n\n /**\n * Emits the cards primary footer action callback\n */\n public onPrimaryFooterAction($event) {\n this.primaryFooterAction.emit($event);\n }\n\n /**\n * Emits the cards secondary footer action callback\n */\n public onSecondaryFooterAction($event) {\n this.secondaryFooterAction.emit($event);\n }\n\n /**\n * Emits the cards header action callback\n */\n public onHeaderAction($event) {\n this.headerAction.emit($event);\n }\n}\n","import {\n Component,\n HostBinding,\n Input,\n Output,\n EventEmitter,\n OnInit,\n ViewEncapsulation\n} from '@angular/core';\n\n@Component({\n selector: 'suka-card-header',\n template: `\n <h5 *ngIf=\"skeleton\" class=\"skeleton__text skeleton__heading\"></h5>\n <h5 *ngIf=\"!skeleton\"><ng-content></ng-content></h5>\n <button\n *ngIf=\"!skeleton && showAction\"\n sukaButton=\"plain\"\n (click)=\"onClick($event)\"\n >\n {{actionLabel}}\n </button>\n `,\n encapsulation: ViewEncapsulation.None,\n})\nexport class CardHeader implements OnInit {\n showAction = false;\n\n @HostBinding('class.card-header') cardHeaderClass = true;\n\n @Input() skeleton = false;\n @Input() actionLabel: string;\n @Output() action = new EventEmitter();\n\n ngOnInit() {\n this.showAction = this.action.observers.length > 0;\n }\n\n onClick($event) {\n this.action.emit($event);\n }\n}\n","import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'suka-card-section',\n template: `\n <ng-content></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n})\nexport class CardSection {\n @HostBinding('class.card-section') cardSectionClass = true;\n}\n","import { Component, HostBinding, Output, EventEmitter, Input, OnInit, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'suka-card-footer',\n template: `\n <suka-button-group>\n <button\n *ngIf=\"showSecondaryButton\"\n sukaButton=\"plain\"\n (click)=\"onButtonClick('secondary')\"\n >\n {{secondaryLabel}}\n </button>\n <button\n sukaButton=\"primary\"\n (click)=\"onButtonClick('primary')\"\n >\n {{primaryLabel}}\n </button>\n </suka-button-group>\n `,\n encapsulation: ViewEncapsulation.None,\n})\nexport class CardFooter implements OnInit {\n showSecondaryButton = false;\n\n @HostBinding('class.card-footer') baseClass = true;\n\n @Input() primaryLabel: string;\n @Input() secondaryLabel: string;\n @Output() primaryAction = new EventEmitter();\n @Output() secondaryAction = new EventEmitter();\n\n ngOnInit() {\n this.showSecondaryButton = this.secondaryAction.observers.length > 0;\n }\n\n onButtonClick(buttonType: string) {\n if (buttonType === 'primary') {\n this.primaryAction.emit();\n }\n\n if (buttonType === 'secondary') {\n this.secondaryAction.emit();\n }\n }\n}\n","// modules\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ButtonModule } from '../button/button.module';\n\n// imports\nimport { Card } from './card.component';\nimport { CardHeader } from './card-header.component';\nimport { CardSection } from './card-section.component';\nimport { CardFooter } from './card-footer.component';\n\n// exports\nexport {\n Card,\n CardHeader,\n CardSection,\n CardFooter,\n};\n\n@NgModule({\n declarations: [\n Card,\n CardHeader,\n CardSection,\n CardFooter,\n ],\n exports: [\n Card,\n CardHeader,\n CardSection,\n CardFooter,\n ],\n imports: [\n CommonModule,\n ButtonModule,\n ]\n})\nexport class CardModule { }\n","import {\n Component,\n Input,\n HostBinding,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'suka-accordion',\n template: `\n <ng-content select=\"suka-accordion-item\"></ng-content>\n `,\n})\nexport class Accordion {\n protected _skeleton = false;\n\n openCloseItems = new Subject<boolean>();\n skeletons = new Subject<boolean>();\n\n /**\n * Set to `true` to allow multiple accordion items to be expanded.\n */\n @Input() multi = false;\n\n\n @HostBinding('attr.role') role = 'list';\n @HostBinding('class.accordion') baseClass = true;\n\n /**\n * Set to `true` to display a loading accordion.\n */\n @Input()\n set skeleton(value: any) {\n this._skeleton = value;\n this.updateSkeletons();\n }\n\n get skeleton(): any {\n return this._skeleton;\n }\n\n protected updateSkeletons() {\n this.skeletons.next(this._skeleton);\n }\n\n}\n","import {\n Component,\n Input,\n HostBinding,\n Output,\n EventEmitter,\n Host,\n OnInit,\n OnDestroy,\n TemplateRef\n} from '@angular/core';\nimport { Accordion } from './accordion.component';\nimport { takeWhile } from 'rxjs/operators';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'suka-accordion-item',\n template: `\n <button\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-controls]=\"id\"\n (click)=\"toggle()\"\n class=\"accordion__heading\">\n <suka-icon icon=\"chevron-down\" class=\"accordion__arrow\"></suka-icon>\n\n <div *ngIf=\"isTemplate(title) && !skeleton\" class=\"accordion__title-content\">\n <ng-template [ngTemplateOutlet]=\"title\"></ng-template>\n </div>\n\n <p\n *ngIf=\"!isTemplate(title)\"\n class=\"accordion__title\"\n [ngClass]=\"{\n 'skeleton__text': skeleton\n }\">\n {{!skeleton ? title : null}}\n </p>\n </button>\n <div [id]=\"id\" class=\"accordion__content\">\n <ng-content *ngIf=\"!skeleton; else skeletonTemplate\"></ng-content>\n <ng-template #skeletonTemplate>\n <p class=\"skeleton__text\" style=\"width: 90%\"></p>\n <p class=\"skeleton__text\" style=\"width: 80%\"></p>\n <p class=\"skeleton__text\" style=\"width: 95%\"></p>\n </ng-template>\n </div>\n `,\n})\nexport class AccordionItem implements OnInit, OnDestroy {\n static accordionItemCount = 0;\n\n /**\n * Sets the accordion title. Can be a `string` or a `TemplateRef`. Defaults to Title plus the current accordion item count.\n */\n @Input() title: string | TemplateRef<any> = `Title ${AccordionItem.accordionItemCount}`;\n\n /**\n * Used to set a custom id to the element. Defaults to a counter\n */\n @Input() id = `accordion-item-${AccordionItem.accordionItemCount}`;\n\n /**\n * Skeleton state. Set to `true` to display a skeleton accordion.\n */\n @Input() skeleton = false;\n\n /**\n * Emits an event when the accordion item is opened.\n */\n @Output() opened = new EventEmitter();\n\n /**\n * Emits an event when the accordion item is closed.\n */\n @Output() closed = new EventEmitter();\n\n @HostBinding('class.accordion__item') itemClass = true;\n\n /**\n * Sets if the item is expanded.\n */\n @HostBinding('class.accordion__item--active') @Input() expanded = false;\n @HostBinding('style.display') itemType = 'list-item';\n @HostBinding('attr.role') role = 'heading';\n @HostBinding('attr.aria-level') @Input() ariaLevel = 3;\n\n private alive = true;\n private skeletonSubscription: Subscription;\n private openSubscription: Subscription;\n\n constructor(@Host() private accordion: Accordion) {\n AccordionItem.accordionItemCount++;\n }\n\n\n /**\n * Toggles the accordion opened state.\n */\n public toggle() {\n if (!this.skeleton) {\n if (!this.expanded) {\n if (!this.accordion.multi) {\n this.accordion.openCloseItems.next(true);\n }\n\n this.open();\n } else {\n this.close();\n }\n }\n }\n\n protected open() {\n if (!this.expanded) {\n this.opened.emit({ id: this.id });\n }\n\n this.expanded = true;\n }\n\n protected close() {\n if (this.expanded) {\n this.closed.emit({ id: this.id });\n }\n\n this.expanded = false;\n }\n\n ngOnInit() {\n this.openSubscription = this.accordion.openCloseItems\n .pipe(takeWhile(() => this.alive))\n .subscribe(collapsed => {\n if (!this.skeleton) {\n collapsed ? this.close() : this.open();\n }\n });\n\n this.skeletonSubscription = this.accordion.skeletons\n .pipe(takeWhile(() => this.alive))\n .subscribe(skeletonValue => this.skeleton = skeletonValue);\n\n this.skeleton = this.accordion.skeleton;\n }\n\n ngOnDestroy() {\n this.alive = false;\n this.openSubscription.unsubscribe();\n this.skeletonSubscription.unsubscribe();\n }\n\n public isTemplate(value) {\n return value instanceof TemplateRef;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconModule } from '../icon/icon.module';\n\nimport { Accordion } from './accordion.component';\nimport { AccordionItem } from './accordion-item.component';\n\nexport { Accordion } from './accordion.component';\nexport { AccordionItem } from './accordion-item.component';\n\n@NgModule({\n declarations: [\n Accordion,\n AccordionItem\n ],\n exports: [\n Accordion,\n AccordionItem\n ],\n imports: [\n CommonModule,\n IconModule,\n ]\n})\nexport class AccordionModule { }\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[sukaListItem]'\n})\nexport class ListItemDirective {\n @HostBinding('class.list__item') wrapper = true;\n}\n","import { Directive, ElementRef, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[sukaList]'\n})\nexport class List {\n @HostBinding('class.list--ordered') get ordered() {\n if (this.nested) { return false; }\n return this.elementRef.nativeElement.tagName === 'OL';\n }\n\n @HostBinding('class.list--unordered') get unordered() {\n if (this.nested) { return false; }\n return this.elementRef.nativeElement.tagName === 'UL';\n }\n\n @HostBinding('class.list--nested') get nested() {\n return this.elementRef.nativeElement.parentElement.tagName === 'LI';\n }\n\n constructor(protected elementRef: ElementRef) { }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ListItemDirective } from './list-item.directive';\nimport { List } from './list.directive';\n\n@NgModule({\n declarations: [\n ListItemDirective,\n List\n ],\n exports: [\n ListItemDirective,\n List\n ],\n imports: [CommonModule]\n})\nclass ListModule { }\n\nexport {\n ListModule,\n ListItemDirective,\n List\n};\n","import { Number } from './number.component';\n\n/**\n * Used to emit changes performed on number input components.\n */\nexport class NumberChange {\n /**\n * Contains the `Number` that has been changed.\n */\n // tslint:disable-next-line: ban-types\n source: Number;\n /**\n * The value of the `Number` field encompassed in the `NumberChange` class.\n */\n value: number;\n}\n","import {\n Component,\n Input,\n HostBinding,\n EventEmitter,\n Output,\n TemplateRef\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { NumberChange } from './number-change.class';\n\n@Component({\n selector: 'suka-number',\n template: `\n <label *ngIf=\"skeleton && label\" class=\"label skeleton\"></label>\n <label *ngIf=\"!skeleton && label\" [for]=\"id\" class=\"label\">\n <ng-container *ngIf=\"!isTemplate(label)\">{{label}}</ng-container>\n <ng-template *ngIf=\"isTemplate(label)\" [ngTemplateOutlet]=\"label\"></ng-template>\n </label>\n <div *ngIf=\"!skeleton && helperText\" class=\"form__helper-text\">\n <ng-container *ngIf=\"!isTemplate(helperText)\">{{helperText}}</ng-container>\n <ng-template *ngIf=\"isTemplate(helperText)\" [ngTemplateOutlet]=\"helperText\"></ng-template>\n </div>\n <div\n data-numberinput\n [attr.data-invalid]=\"(invalid ? true : null)\"\n [attr.data-valid]=\"(valid ? true : null)\"\n class=\"number-input\"\n [ngClass]=\"{\n 'number-input--nolabel': !label,\n 'number-input--helpertext': helperText,\n 'skeleton' : skeleton,\n 'number-input--disabled': disabled\n }\">\n <div class=\"number-input__input-wrapper\">\n <span class=\"number-input__prefix\" *ngIf=\"!skeleton && prefix\">\n <ng-container *ngIf=\"!isTemplate(prefix)\">{{prefix}}</ng-container>\n <ng-template *ngIf=\"isTemplate(prefix)\" [ngTemplateOutlet]=\"prefix\"></ng-template>\n </span>\n <input\n type=\"number\"\n [id]=\"id\"\n [value]=\"value\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n (input)=\"onNumberInputChange($event)\"/>\n <suka-icon *ngIf=\"!skeleton && invalid\" icon=\"alert-circle\" class=\"number-input__invalid\"></suka-icon>\n <suka-icon *ngIf=\"!skeleton && valid\" icon=\"check\" class=\"number-input__valid\"></suka-icon>\n <div *ngIf=\"!skeleton\" class=\"number-input__controls\">\n <button\n class=\"number-input__control-btn up-icon\"\n type=\"button\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n (click)=\"onIncrement()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\" height=\"16\" width=\"16\"><path fill=\"currentColor\" d=\"M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z\"></path></svg>\n </button>\n <button\n class=\"number-input__control-btn down-icon\"\n type=\"button\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n (click)=\"onDecrement()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\" height=\"16\" width=\"16\"><path fill=\"currentColor\" d=\"M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z\"></path></svg>\n </button>\n </div>\n </div>\n <div *ngIf=\"invalid\" class=\"form-requirement\">\n <ng-container *ngIf=\"!isTemplate(invalidText)\">{{invalidText}}</ng-container>\n <ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\n </div>\n </div>\n `,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: Number,\n multi: true\n }\n ]\n})\n// tslint:disable-next-line: component-class-suffix\nexport class Number implements ControlValueAccessor {\n /**\n * Variable used for creating unique ids for number input components.\n */\n static numberCount = 0;\n\n @HostBinding('class.form-item') containerClass = true;\n /**\n * Set to `true` for a disabled number input.\n */\n @Input() disabled = false;\n /**\n * Set to `true` for a loading number component.\n */\n @Input() skeleton = false;\n /**\n * Set to `true` for an invalid number component.\n */\n @Input() invalid = false;\n /**\n * Set to `true` for a valid number component.\n */\n @Input() valid = false;\n /**\n * The unique id for the number component.\n */\n @Input() id = `number-input-${Number.numberCount}`;\n /**\n * Reflects the required attribute of the `input` element.\n */\n @Input() required: boolean;\n /**\n * Sets the value attribute on the `input` element.\n */\n @Input() value = 0;\n /**\n * Sets the min attribute on the `input` element.\n */\n @Input() min = null;\n /**\n * Sets the max attribute on the `input` element.\n */\n @Input() max = null;\n /**\n * Sets the text inside the `label` tag.\n */\n @Input() label: string | TemplateRef<any>;\n /**\n * Sets the a prefix for the input wrapper.\n */\n @Input() prefix: string | TemplateRef<any>;\n /**\n * Sets the optional helper text.\n */\n @Input() helperText: string | TemplateRef<any>;\n /**\n * Sets the invalid text.\n */\n @Input() invalidText: string | TemplateRef<any>;\n /**\n * Emits event notifying other classes when a change in state occurs in the input.\n */\n // tslint:disable-next-line: no-output-native\n @Output() change = new EventEmitter<NumberChange>();\n\n /**\n * Creates an instance of `Number`.\n */\n constructor() {\n Number.numberCount++;\n }\n\n /**\n * This is the initial value set to the component\n * @param value The input value.\n */\n public writeValue(value: any) {\n this.value = value;\n }\n\n /**\n * Sets a method in order to propagate changes back to the form.\n */\n public registerOnChange(fn: any) {\n this.propagateChange = fn;\n }\n\n /**\n * Registers a callback to be triggered when the control has been touched.\n * @param fn Callback to be triggered when the number input is touched.\n */\n public registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n /**\n * Sets the disabled state through the model\n */\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n /**\n * Called when number input is blurred. Needed to properly implement `ControlValueAccessor`.\n */\n onTouched: () => any = () => { };\n\n /**\n * Method set in `registerOnChange` to propagate changes back to the form.\n */\n propagateChange = (_: any) => { };\n\n /**\n * Adds 1 to the current `value`.\n */\n onIncrement(): void {\n if (this.max === null || this.value < this.max) {\n this.value++;\n this.emitChangeEvent();\n }\n }\n\n /**\n * Subtracts 1 to the current `value`.\n */\n onDecrement(): void {\n if (this.min === null || this.value > this.min) {\n this.value--;\n this.emitChangeEvent();\n }\n }\n\n /**\n * Creates a class of `NumberChange` to emit the change in the `Number`.\n */\n emitChangeEvent(): void {\n const event = new NumberChange();\n event.source = this;\n event.value = this.value;\n this.change.emit(event);\n this.propagateChange(this.value);\n }\n\n onNumberInputChange(event) {\n this.value = event.target.value;\n this.emitChangeEvent();\n }\n\n public isTemplate(value) {\n return value instanceof TemplateRef;\n }\n}\n","// modules\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { IconModule } from '../icon/icon.module';\n\n// imports\nimport { Number } from './number.component';\n\n@NgModule({\n declarations: [\n Number\n ],\n exports: [\n Number\n ],\n imports: [\n FormsModule,\n CommonModule,\n IconModule,\n ]\n})\nexport class NumberModule { }\n\nexport { Number };\n","import {\n Component,\n Input,\n EventEmitter,\n Output,\n HostBinding,\n ElementRef,\n HostListener,\n ViewChild\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\n\n@Component({\n selector: 'suka-search',\n template: `\n <div\n class=\"search\"\n [ngClass]=\"{\n 'skeleton': skeleton,\n 'toolbar-search': toolbar,\n 'toolbar-search--active': toolbar && active\n }\"\n role=\"search\"\n >\n <label class=\"label\" [for]=\"id\">{{label}}</label>\n\n <div *ngIf=\"skeleton; else enableInput\" class=\"search-input\"></div>\n <ng-template #enableInput>\n <input\n #input\n *ngIf=\"!toolbar || active || value !== ''\"\n class=\"search-input\"\n [type]=\"tableSearch || !toolbar ? 'text' : 'search'\"\n role=\"search\"\n [id]=\"id\"\n [value]=\"value\"\n [autocomplete]=\"autocomplete\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n (input)=\"onSearch($event.target.value)\"/>\n <button *ngIf=\"!tableSearch && toolbar\" class=\"toolbar-search__btn\" (click)=\"openSearch()\">\n <suka-icon icon=\"search\"></suka-icon>\n </button>\n <suka-icon icon=\"search\" *ngIf=\"tableSearch || !toolbar\" (click)=\"openSearch()\" class=\"search-magnifier\"></suka-icon>\n </ng-template>\n\n <button\n *ngIf=\"tableSearch || !toolbar\"\n class=\"search-close\"\n [ngClass]=\"{\n 'search-close--hidden': !value || value.length === 0\n }\"\n [title]=\"clearButtonTitle\"\n [attr.aria-label]=\"clearButtonTitle\"\n (click)=\"clearSearch()\"\n >\n <suka-icon icon=\"x-circle\"></suka-icon>\n </button>\n </div>\n `,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: Search,\n multi: true\n }\n ]\n})\n// tslint:disable-next-line: component-class-suffix\nexport class Search implements ControlValueAccessor {\n /**\n * Variable used for creating unique ids for search components.\n */\n static searchCount = 0;\n\n @HostBinding('class.form-item') get containerClass() { return !this.toolbar; }\n\n /**\n * Set to `true` for a disabled search input.\n */\n @Input() disabled = false;\n /**\n * Set to `true` for a toolbar search component.\n */\n @Input() toolbar = false;\n /**\n * Set to `true` for a loading search component.\n */\n @Input() skeleton = false;\n /**\n * Set to `true` to expand the toolbar search component.\n */\n @Input() active = false;\n /**\n * Specifies whether the search component is used in the table toolbar.\n */\n @Input() tableSearch = false;\n /**\n * Sets the name attribute on the `input` element.\n */\n @Input() name: string;\n /**\n * The unique id for the search component.\n */\n @Input() id = `search-${Search.searchCount}`;\n /**\n * Reflects the required attribute of the `input` element.\n */\n @Input() required: boolean;\n /**\n * Sets the value attribute on the `input` element.\n */\n @Input() value = '';\n /**\n * Sets the autocomplete attribute on the `input` element.\n * For reference: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete#Values\n */\n @Input() autocomplete = 'on';\n /**\n * Sets the text inside the `label` tag.\n */\n @Input() label = 'Búsqueda'; // TODO: i18n\n /**\n * Sets the placeholder attribute on the `input` element.\n */\n @Input() placeholder = 'Buscar'; // TODO: i18n\n /**\n * Used to set the `title` attribute of the clear button.\n */\n @Input() clearButtonTitle = 'Limpiar'; // TODO: i18n\n /**\n * Emits an event when value is changed.\n */\n @Output() valueChange = new EventEmitter<string>();\n /**\n * Emits an event when the clear button is clicked.\n */\n @Output() clear = new EventEmitter();\n\n @ViewChild('input', {static: false}) inputRef: ElementRef;\n\n /**\n * Creates an instance of `Search`.\n */\n constructor(protected elementRef: ElementRef) {\n Search.searchCount++;\n }\n\n /**\n * This is the initial value set to the component\n * @param value The input value.\n */\n public writeValue(value: any) {\n this.value = value;\n }\n\n /**\n * Sets a method in order to propagate changes back to the form.\n */\n public registerOnChange(fn: any) {\n this.propagateChange = fn;\n }\n\n /**\n * Registers a callback to be triggered when the control has been touched.\n * @param fn Callback to be triggered when the search input is touched.\n */\n public registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n /**\n * Called when search input is blurred. Needed to properly implement `ControlValueAccessor`.\n */\n onTouched: () => any = () => { };\n\n /**\n * Method set in `registerOnChange` to propagate changes back to the form.\n */\n propagateChange = (_: any) => { };\n\n /**\n * Called when text is written in the input.\n * @param search The input text.\n */\n onSearch(search: string) {\n this.value = search;\n this.doValueChange();\n }\n\n /**\n * Called when clear button is clicked.\n */\n clearSearch(): void {\n this.value = '';\n this.clear.emit();\n this.propagateChange(this.value);\n }\n\n doValueChange() {\n this.valueChange.emit(this.value);\n this.propagateChange(this.value);\n }\n\n openSearch() {\n this.active = true;\n setTimeout(() => this.inputRef.nativeElement.focus());\n }\n\n @HostListener('keydown', ['$event'])\n keyDown(event: KeyboardEvent) {\n if (this.toolbar) {\n if (event.key === 'Escape') {\n this.active = false;\n } else if (event.key === 'Enter') {\n this.openSearch();\n }\n }\n }\n\n @HostListener('focusout', ['$event'])\n focusOut(event) {\n if (this.toolbar &&\n this.inputRef.nativeElement.value === '' &&\n event.relatedTarget === null) {\n this.active = false;\n }\n }\n}\n","// modules\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { IconModule } from '../icon/icon.module';\n\n// imports\nimport { Search } from './search.component';\n\n@NgModule({\n declarations: [\n Search\n ],\n exports: [\n Search\n ],\n imports: [\n FormsModule,\n CommonModule,\n IconModule,\n ]\n})\nexport class SearchModule { }\n\nexport { Search };\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n OnChanges,\n TemplateRef,\n} from '@angular/core';\n\n@Component({\n selector: 'suka-tab',\n template: `\n <div [hidden]=\"!active\" class=\"tabs__tab-item\">\n <ng-content></ng-content>\n </div>\n `,\n})\nexport class TabItem implements OnChanges {\n /**\n * Sets the tab title.\n */\n @Input() title: string | TemplateRef<any>;\n\n /**\n * Set to `true` to activate the tab (display it).\n */\n @Input() active = false;\n\n /**\n * Callback when the tab is selected.\n */\n @Output() selected = new EventEmitter<string | TemplateRef<any>>();\n\n public ngOnChanges(): void {\n if (this.active === true) {\n this.selected.emit(this.title);\n }\n }\n}\n","import {\n Component,\n ContentChildren,\n QueryList,\n AfterContentInit,\n HostBinding,\n Input,\n TemplateRef,\n} from '@angular/core';\n\nimport { TabItem } from './tab-item.component';\n\n@Component({\n selector: 'suka-tabs',\n template: `\n <div class=\"tabs-wrapper\">\n <ul class=\"tabs\">\n <li\n *ngFor=\"let tab of tabs\"\n (click)=\"selectTab(tab)\"\n [class.tabs__tab-container--selected]=\"tab.active\"\n class=\"tabs__tab-container\"\n >\n <button class=\"tabs__tab\" type=\"button\" role=\"tab\">\n <span class=\"tabs__title\">\n <ng-container *ngIf=\"!isTemplate(tab.title)\">{{tab.title}}</ng-container>\n <ng-template *ngIf=\"isTemplate(tab.title)\" [ngTemplateOutlet]=\"tab.title\"></ng-template>\n </span>\n </button>\n </li>\n </ul>\n </div>\n <ng-content></ng-content>\n `,\n})\nexport class Tabs implements AfterContentInit {\n /**\n * Set to `true` to fit tabs to container.\n */\n @HostBinding('class.tabs-fitted') @Input() fitted = false;\n\n /**\n * List of tabs associated to the main wrapper.\n */\n @ContentChildren(TabItem) tabs: QueryList<TabItem>;\n\n ngAfterContentInit() {\n const activeTabs = this.tabs.filter((tab) => tab.active);\n\n if (activeTabs.length === 0) {\n this.selectTab(this.tabs.first);\n }\n }\n\n /**\n * Selects a particular tab and activates it.\n */\n selectTab(tabItem: TabItem) {\n this.tabs.toArray().forEach(tab => tab.active = false);\n\n tabItem.active = true;\n tabItem.ngOnChanges();\n }\n\n public isTemplate(value) {\n return value instanceof TemplateRef;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { Tabs } from './tabs.component';\nimport { TabItem } from './tab-item.component';\n\nexport { Tabs } from './tabs.component';\nexport { TabItem } from './tab-item.component';\n\n@NgModule({\n declarations: [\n Tabs,\n TabItem,\n ],\n exports: [\n Tabs,\n TabItem,\n ],\n imports: [\n CommonModule\n ]\n})\nexport class TabsModule { }\n","import { Component, Input, TemplateRef, Type, OnInit } from '@angular/core';\nimport { animate, style, transition, trigger } from '@angular/animations';\nimport { TooltipContent } from './tooltip-content.type';\n\n@Component({\n selector: 'suka-tooltip',\n template: `\n <div @tooltip class=\"tooltip tooltip-{{position}}\">\n <span class=\"tooltip__caret\"></span>\n <ng-container [ngSwitch]=\"renderMethod\">\n <div *ngSwitchCase=\"'text'\" [innerHTML]=\"content\"></div>\n <ng-container *ngSwitchCase=\"'template'\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'component'\">\n <ng-container *ngComponentOutlet=\"content\"></ng-container>\n </ng-container>\n </ng-container>\n </div>`,\n animations: [\n trigger('tooltip', [\n transition(':enter', [\n style({ opacity: 0 }),\n animate('0.2s ease-in', style({ opacity: 1 })),\n ]),\n transition(':leave', [\n animate(200, style({ opacity: 0 })),\n ]),\n ]),\n ],\n})\nexport class TooltipContainer implements OnInit {\n public renderMethod: 'template' | 'component' | 'text' = 'component';\n\n @Input() content: TooltipContent;\n @Input() position: 'top' | 'bottom' | 'right' | 'left' = 'bottom';\n\n ngOnInit() {\n if (typeof this.content === 'string') {\n this.renderMethod = 'text';\n }\n\n if (this.content instanceof TemplateRef) {\n this.renderMethod = 'template';\n }\n }\n}\n","// tslint:disable: no-input-rename\n\nimport { ComponentRef, Directive, ElementRef, HostListener, Input, OnInit } from '@angular/core';\nimport { Overlay, OverlayPositionBuilder, OverlayRef, ConnectedPosition, CloseScrollStrategy } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\n\nimport { TooltipContainer } from './tooltip-container.component';\nimport { TooltipContent } from './tooltip-content.type';\n\nconst positions = {\n top: {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: -8,\n },\n right: {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n offsetX: 8,\n },\n bottom: {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n offsetY: 8,\n },\n left: {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n offsetX: -8,\n }\n};\n\n@Directive({ selector: '[sukaTooltip]' })\nexport class Tooltip implements OnInit {\n private overlayRef: OverlayRef;\n private open = false;\n\n /**\n * The tooltip content\n */\n @Input('sukaTooltip') content: TooltipContent = '';\n /**\n * Sets the tooltip trigger behaviour. Defaults to `hover`.\n */\n @Input('tooltipTrigger') trigger: 'hover' | 'click' = 'hover';\n /**\n * Sets the tooltip position according to the trigger component.\n */\n @Input('tooltipPosition') position: 'top' | 'bottom' | 'left' | 'right' = 'bottom';\n /**\n * Sets a duration for the tooltip. If not set, it runs indefinitely.\n */\n @Input('tooltipDuration') duration: number;\n\n constructor(private overlay: Overlay,\n private overlayPositionBuilder: OverlayPositionBuilder,\n private elementRef: ElementRef) {\n }\n\n ngOnInit(): void {\n const positionStrategy = this.overlayPositionBuilder\n .flexibleConnectedTo(this.elementRef)\n .withPositions([ positions[this.position] as ConnectedPosition]);\n\n this.overlayRef = this.overlay.create({\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.close(),\n });\n }\n\n private show() {\n this.open = true;\n const tooltipRef: ComponentRef<TooltipContainer>\n = this.overlayRef.attach(new ComponentPortal(TooltipContainer));\n\n tooltipRef.instance.content = this.content;\n tooltipRef.instance.position = this.position;\n }\n\n private hide() {\n this.open = false;\n this.overlayRef.detach();\n }\n\n @HostListener('mouseenter')\n onMouseEnter() {\n if (this.trigger === 'hover') {\n this.show();\n }\n }\n\n @HostListener('mouseout')\n onMouseOut() {\n if (this.trigger === 'hover') {\n this.hide();\n }\n }\n\n @HostListener('click')\n onClick() {\n if (this.trigger === 'click') {\n this.open ? this.hide() : this.show();\n\n if (this.duration) {\n setTimeout(() => {\n this.hide();\n }, this.duration);\n }\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { TooltipContainer } from './tooltip-container.component';\nimport { Tooltip } from './tooltip.directive';\nimport { OverlayModule } from '@angular/cdk/overlay';\n\nexport { Tooltip } from './tooltip.directive';\nexport { TooltipContainer } from './tooltip-container.component';\n\n@NgModule({\n declarations: [\n TooltipContainer,\n Tooltip,\n ],\n exports: [\n TooltipContainer,\n Tooltip,\n ],\n imports: [\n CommonModule,\n OverlayModule\n ],\n entryComponents: [\n TooltipContainer\n ]\n})\nexport class TooltipModule { }\n","// tslint:disable: variable-name\nimport {\n Directive,\n HostBinding,\n Input,\n ElementRef,\n Renderer2,\n Inject,\n OnInit\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { iconDefs } from '../icon/icon-defs';\n\nconst arrowImg = iconDefs.find(iconDef => iconDef.name === 'arrow-right').template;\nconst externalImg = iconDefs.find(iconDef => iconDef.name === 'external-link').template;\n\n@Directive({\n selector: '[sukaLink]'\n})\nexport class Link implements OnInit {\n @HostBinding('class.link') baseClass = true;\n\n /**\n * Automatically set to `-1` when link is disabled.\n */\n @HostBinding('attr.tabindex') tabindex: number;\n\n /**\n * Set target and ref for external links\n */\n @HostBinding('attr.target') target: string;\n @HostBinding('attr.ref') ref: string;\n\n /**\n * Set to `true` to disable the link.\n */\n @Input()\n @HostBinding('attr.aria-disabled')\n @HostBinding('class.link--disabled')\n set disabled(disabled: boolean) {\n this._disabled = disabled;\n this.tabindex = this.disabled ? -1 : null;\n }\n\n get disabled(): boolean {\n return this._disabled;\n }\n\n private _disabled: boolean;\n\n /**\n * Set to `true` to display an arrow next to the link\n */\n @HostBinding('class.link--arrow') @Input() arrow = false;\n\n /**\n * Set to `true` to display an icon describing an external link (going to a new page)\n */\n @Input()\n @HostBinding('class.link--external')\n set external(external: boolean) {\n this._external = external;\n this.target = this.external ? '_blank' : null;\n this.ref = this.external ? 'noopener' : null;\n }\n\n get external(): boolean {\n return this._external;\n }\n\n private _external: boolean;\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2, @Inject(DOCUMENT) private document) { }\n\n ngOnInit() {\n if (this.arrow || this.external) {\n const child = document.createElement('span');\n child.className = 'link__icon';\n\n if (this.arrow) {\n child.className += ' link__icon--arrow';\n child.innerHTML = arrowImg;\n }\n\n if (this.external) {\n child.innerHTML = externalImg;\n }\n\n this.renderer.appendChild(this.elementRef.nativeElement, child);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { Link } from './link.directive';\n\nexport { Link } from './link.directive';\n\n@NgModule({\n declarations: [\n Link\n ],\n exports: [\n Link\n ],\n imports: [\n CommonModule\n ]\n})\nexport class LinkModule {}\n","import {\n Component,\n Input,\n HostBinding,\n TemplateRef,\n} from '@angular/core';\n\n@Component({\n selector: 'suka-input-group',\n template: `\n <label *ngIf=\"label\" class=\"label\">\n <ng-container *ngIf=\"!isTemplate(label)\">{{label}}</ng-container>\n <ng-template *ngIf=\"isTemplate(label)\" [ngTemplateOutlet]=\"label\"></ng-template>\n </label>\n <div *ngIf=\"helperText\" class=\"form__helper-text\">\n <ng-container *ngIf=\"!isTemplate(helperText)\">{{helperText}}</ng-container>\n <ng-template *ngIf=\"isTemplate(helperText)\" [ngTemplateOutlet]=\"helperText\"></ng-template>\n </div>\n <div class=\"input-group-wrapper\">\n <div\n class=\"input-group-content\"\n [ngClass]=\"{\n 'input-group-content--condensed': condensed\n }\"\n [attr.data-invalid]=\"(invalid ? true : null)\"\n >\n <ng-content></ng-content>\n </div>\n <div *ngIf=\"invalid\" class=\"form-requirement\">\n <ng-container *ngIf=\"!isTemplate(invalidText)\">{{invalidText}}</ng-container>\n <ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\n </div>\n </div>\n `,\n})\n// tslint:disable-next-line: component-class-suffix\nexport class InputGroup {\n @HostBinding('class.form-item') containerClass = true;\n\n /**\n * Set to `true` for an invalid input group component.\n */\n @Input() invalid = false;\n /**\n * Sets the text inside the `label` tag.\n */\n @Input() label: string | TemplateRef<any>;\n /**\n * Sets the optional helper text.\n */\n @Input() helperText: string | TemplateRef<any>;\n /**\n * Sets the invalid text.\n */\n @Input() invalidText: string | TemplateRef<any>;\n /**\n * Set to `true` for a condesned input group component;\n */\n @Input() condensed = false;\n\n public isTemplate(value) {\n return value instanceof TemplateRef;\n }\n\n}\n","import { Directive, HostBinding, Input, OnChanges } from '@angular/core';\n\n@Directive({\n selector: '[sukaInputGroupItem]'\n})\nexport class InputGroupItem implements OnChanges {\n @Input('sukaInputGroupItem') type: 'default' | 'auto' | 'full' = 'default';\n\n @HostBinding('class.input-group__item') baseClass = true;\n @HostBinding('class.input-group__item--auto') auto = false;\n @HostBinding('class.input-group__item--full') full = false;\n\n ngOnChanges() {\n this.auto = this.full = false;\n\n switch (this.type) {\n case 'auto': this.auto = true; break;\n case 'full': this.full = true; break;\n default: break;\n }\n }\n}\n","// modules\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n// imports\nimport { InputGroup } from './input-group.component';\nimport { InputGroupItem } from './input-group-item.directive';\n\n@NgModule({\n declarations: [\n InputGroup,\n InputGroupItem,\n ],\n exports: [\n InputGroup,\n InputGroupItem,\n ],\n imports: [\n CommonModule,\n ]\n})\nclass InputGroupModule { }\n\nexport { InputGroup, InputGroupItem, InputGroupModule };\n"," // tslint:disable: variable-name\n\nimport { OverlayRef } from '@angular/cdk/overlay';\nimport { ModalContainer } from './modal-container.component';\nimport { Subject, Observable } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\n\nexport class ModalRef {\n public componentInstance: ModalContainer;\n\n private _beforeClose = new Subject<any | undefined>();\n private _afterClosed = new Subject<any | undefined>();\n\n private _result: any | undefined;\n\n constructor(private overlayRef: OverlayRef) { }\n\n public close(data?: any): void {\n this._result = data;\n\n // Listen for animation 'start' events\n this.componentInstance.animationStateChanged.pipe(\n filter(event => event.phaseName === 'start'),\n take(1)\n ).subscribe(() => {\n this._beforeClose.next(this._result);\n this._beforeClose.complete();\n this.overlayRef.detachBackdrop();\n });\n\n // Listen for animation 'done' events\n this.componentInstance.animationStateChanged.pipe(\n filter(event => event.phaseName === 'done' && event.toState === 'leave'),\n take(1)\n ).subscribe(() => {\n this._afterClosed.next(this._result);\n this._afterClosed.complete();\n this.overlayRef.dispose();\n\n // Make sure to also clear the reference to the\n // component instance to avoid memory leaks\n // tslint:disable-next-line: no-non-null-assertion\n this.componentInstance = null!;\n });\n\n // Start exit animation\n this.componentInstance.startExitAnimation();\n }\n\n public afterClosed(): Observable<any | undefined> {\n return this._afterClosed.asObservable();\n }\n\n public beforeClose(): Observable<any | undefined> {\n return this._beforeClose.asObservable();\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nimport { ModalContent } from './modal.service';\n\nexport const MODAL_CONTENT_DATA = new InjectionToken<ModalContent>('MODAL_CONTENT_DATA');\n","import { Component, Inject, TemplateRef, HostListener, EventEmitter, OnInit, HostBinding } from '@angular/core';\n\nimport { ModalRef } from './modal-ref';\nimport { MODAL_CONTENT_DATA } from './modal.tokens';\nimport { AnimationEvent, trigger, state, style, transition, animate } from '@angular/animations';\n\nconst ESCAPE_KEY = 27;\nconst MODAL_ANIMATION_TIMINGS = '200ms cubic-bezier(0.64, 0, 0.35, 1)';\n\n@Component({\n selector: 'suka-modal',\n template: `\n <div class=\"modal\"\n [@slideContent]=\"animationState\"\n (@slideContent.start)=\"onAnimationStart($event)\"\n (@slideContent.done)=\"onAnimationDone($event)\"\n cdkTrapFocus\n >\n <div class=\"modal__header\">\n <h5>\n <ng-container *ngIf=\"!isTemplate(content.title)\">{{content.title}}</ng-container>\n <ng-template *ngIf=\"isTemplate(content.title)\" [ngTemplateOutlet]=\"content.title\"></ng-template>\n </h5>\n <button\n *ngIf=\"content.closeButton\"\n sukaButton=\"plain\"\n (click)=\"onClose($event)\"\n >\n <suka-icon icon=\"x\"></suka-icon>\n </button>\n </div>\n <div class=\"modal__content\">\n <ng-container *ngIf=\"!isTemplate(content.body)\">{{content.body}}</ng-container>\n <ng-container *ngIf=\"isTemplate(content.body)\">\n <ng-container\n *ngTemplateOutlet=\"content.body; context: {closeModal: closeModal.bind(this)}\"\n ></ng-container>\n </ng-container>\n </div>\n <div class=\"modal__footer\" *ngIf=\"showFooter\">\n <suka-button-group>\n <button\n *ngFor=\"let secondaryAction of secondaryActions\"\n sukaButton=\"plain\"\n (click)=\"onAction(secondaryAction.tag)\"\n >\n {{secondaryAction.label}}\n </button>\n <button\n *ngFor=\"let primaryAction of primaryActions\"\n sukaButton=\"primary\"\n (click)=\"onAction(primaryAction.tag)\"\n >\n {{primaryAction.label}}\n </button>\n </suka-button-group>\n </div>\n </div>\n `,\n animations: [\n trigger('slideContent', [\n state('void', style({ transform: 'translate3d(0, 20rem, 0)', opacity: 0 })),\n state('enter', style({ transform: 'none', opacity: 1 })),\n state('leave', style({ transform: 'translate3d(0, 20rem, 0)', opacity: 0 })),\n transition('* => *', animate(MODAL_ANIMATION_TIMINGS)),\n ])\n ]\n})\nexport class ModalContainer implements OnInit {\n public animationState: 'void' | 'enter' | 'leave' = 'enter';\n public animationStateChanged = new EventEmitter<AnimationEvent>();\n showFooter = false;\n primaryActions: [];\n secondaryActions: [];\n\n @HostBinding('class.modal--default') baseClass = true;\n\n constructor(\n public dialogRef: ModalRef,\n @Inject(MODAL_CONTENT_DATA) public content: any\n ) { }\n\n public ngOnInit() {\n if (this.content.actions && this.content.actions.length > 0) {\n this.showFooter = true;\n this.primaryActions = this.content.actions.filter((action) => action.type === 'primary');\n this.secondaryActions = this.content.actions.filter((action) => action.type === 'secondary');\n }\n }\n\n public isTemplate(value) {\n return value instanceof TemplateRef;\n }\n\n public onClose(event?: any) {\n this.dialogRef.close('cancel');\n }\n\n public onAction(tag: string) {\n this.dialogRef.close(tag);\n }\n\n @HostListener('document:keydown', ['$event']) public handleKeydown(event: KeyboardEvent) {\n // tslint:disable-next-line: deprecation\n if (event.keyCode === ESCAPE_KEY) {\n this.dialogRef.close('cancel');\n }\n }\n\n onAnimationStart(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n onAnimationDone(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n startExitAnimation() {\n this.animationState = 'leave';\n }\n\n closeModal($event: any) {\n this.dialogRef.close($event);\n }\n}\n","import { Injectable, Injector, ComponentRef, TemplateRef } from '@angular/core';\nimport { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal, PortalInjector } from '@angular/cdk/portal';\n\nimport { ModalRef } from './modal-ref';\nimport { MODAL_CONTENT_DATA } from './modal.tokens';\nimport { ModalContainer } from './modal-container.component';\n\nexport interface ModalContent {\n title?: string | TemplateRef<any>;\n body?: string | TemplateRef<any>;\n closeButton?: boolean;\n actions?: {\n label: string;\n type: 'primary' | 'secondary';\n tag?: string;\n }[];\n}\n\nexport interface ModalConfig {\n closeOnBackdropClick?: boolean;\n panelClass?: string;\n hasBackdrop?: boolean;\n backdropClass?: string;\n content?: ModalContent;\n}\n\nconst DEFAULT_CONFIG: ModalConfig = {\n closeOnBackdropClick: true,\n hasBackdrop: true,\n backdropClass: 'backdrop--dark',\n panelClass: 'modal--default',\n content: null\n};\n\n@Injectable()\nexport class ModalService {\n\n constructor(\n private injector: Injector,\n private overlay: Overlay\n ) { }\n\n open(config: ModalConfig = {}) {\n // Override default configuration\n const dialogConfig = { ...DEFAULT_CONFIG, ...config };\n\n // Returns an OverlayRef which is a PortalHost\n const overlayRef = this.createOverlay(dialogConfig);\n\n // Instantiate remote control\n const modalRef = new ModalRef(overlayRef);\n\n const overlayComponent = this.attachModalContainer(overlayRef, dialogConfig, modalRef);\n\n modalRef.componentInstance = overlayComponent;\n\n if (dialogConfig.closeOnBackdropClick) {\n overlayRef.backdropClick().subscribe(_ => modalRef.close('cancel'));\n }\n\n return modalRef;\n }\n\n private createOverlay(config: ModalConfig) {\n const overlayConfig = this.getOverlayConfig(config);\n return this.overlay.create(overlayConfig);\n }\n\n private attachModalContainer(overlayRef: OverlayRef, config: ModalConfig, modalRef: ModalRef) {\n const injector = this.createInjector(config, modalRef);\n\n const containerPortal = new ComponentPortal(ModalContainer, null, injector);\n const containerRef: ComponentRef<ModalContainer> = overlayRef.attach(containerPortal);\n\n return containerRef.instance;\n }\n\n private createInjector(config: ModalConfig, modalRef: ModalRef): PortalInjector {\n const injectionTokens = new WeakMap();\n\n injectionTokens.set(ModalRef, modalRef);\n injectionTokens.set(MODAL_CONTENT_DATA, config.content);\n\n return new PortalInjector(this.injector, injectionTokens);\n }\n\n private getOverlayConfig(config: ModalConfig): OverlayConfig {\n const positionStrategy = this.overlay.position()\n .global()\n .centerHorizontally()\n .centerVertically();\n\n const overlayConfig = new OverlayConfig({\n hasBackdrop: config.hasBackdrop,\n backdropClass: config.backdropClass,\n panelClass: config.panelClass,\n scrollStrategy: this.overlay.scrollStrategies.noop(),\n positionStrategy\n });\n\n return overlayConfig;\n }\n}\n","// tslint:disable: no-input-rename no-output-rename\n\nimport { Input, TemplateRef, Directive, HostListener, EventEmitter, Output, OnDestroy } from '@angular/core';\nimport { ModalService, ModalConfig } from './modal.service';\nimport { Subscription } from 'rxjs';\n\nconst PRIMARY_ACTION_TAG = 'primaryAction';\nconst SECONDARY_ACTION_TAG = 'secondaryAction';\n\n/**\n * Modals are overlays that prevent users from interacting with the rest of the application until a specific action is taken. They can be disruptive because they require users to take an action before they can continue interacting with the rest of the application.\n * It should be used thoughtfully and sparingly.\n */\n@Directive({\n selector: '[sukaModal]'\n})\nexport class ModalDirective {\n constructor(protected modalService: ModalService) { }\n\n /**\n * Set to `true` to show a close button on the top right corner. Defaults to `false`.\n */\n @Input('modalCloseButton') closeButton = false;\n /**\n * Sets the modal title.\n */\n @Input('modalTitle') title: string | TemplateRef<any>;\n /**\n * Sets the body of the modal.\n */\n @Input('modalBody') body: string | TemplateRef<any>;\n /**\n * Sets to `false` to stop the modal from closing when the user clicks on the backdrop. Defaults to `true`.\n */\n @Input('modalCloseOnBackdropClick') closeOnBackdropClick = true;\n\n /**\n * Callback when the modal closes.\n */\n @Output('modalClose') close = new EventEmitter();\n\n /**\n * Sets the modal secondary action button label.\n */\n @Input('modalSecondaryActionLabel') secondaryActionLabel: string;\n /**\n * Callback when the secondary action is triggered.\n */\n @Output('modalSecondaryAction') secondaryAction = new EventEmitter();\n\n /**\n * Sets the modal primary action button label.\n */\n @Input('modalPrimaryActionLabel') primaryActionLabel: string;\n /**\n * Callback when the primary action is triggered.\n */\n @Output('modalPrimaryAction') primaryAction = new EventEmitter();\n\n @HostListener('click')\n onClick() {\n this.openModal();\n }\n\n /**\n * Opens the modal.\n */\n private openModal() {\n const modalConfig: ModalConfig = {\n closeOnBackdropClick: this.closeOnBackdropClick,\n content: {\n closeButton: this.closeButton,\n title: this.title,\n body: this.body,\n }\n };\n\n if (this.primaryActionLabel || this.secondaryActionLabel) {\n modalConfig.content.actions = [];\n\n if (this.primaryActionLabel) {\n modalConfig.content.actions.push({\n label: this.primaryActionLabel,\n type: 'primary',\n tag: PRIMARY_ACTION_TAG\n });\n }\n\n if (this.secondaryActionLabel) {\n modalConfig.content.actions.push({\n label: this.secondaryActionLabel,\n type: 'secondary',\n tag: SECONDARY_ACTION_TAG\n });\n }\n }\n\n const modalRef = this.modalService.open(modalConfig);\n\n modalRef.afterClosed().subscribe((result: any) => {\n switch (result) {\n case PRIMARY_ACTION_TAG:\n if (this.primaryAction.observers.length > 0) {\n this.primaryAction.emit(result);\n }\n break;\n case SECONDARY_ACTION_TAG:\n if (this.secondaryAction.observers.length > 0) {\n this.secondaryAction.emit(result);\n }\n break;\n default:\n if (this.close.observers.length > 0) {\n this.close.emit();\n }\n break;\n }\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconModule } from '../icon/icon.module';\n\nimport { ModalContainer } from './modal-container.component';\nimport { ModalDirective } from './modal.directive';\nimport { ModalService } from './modal.service';\n\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { ButtonModule } from '../button/button.module';\n\nexport { ModalContainer } from './modal-container.component';\nexport { ModalDirective } from './modal.directive';\nexport { ModalService } from './modal.service';\nexport { ModalRef } from './modal-ref';\n\n@NgModule({\n declarations: [\n ModalContainer,\n ModalDirective,\n ],\n exports: [\n ModalContainer,\n ModalDirective,\n ],\n imports: [\n CommonModule,\n OverlayModule,\n ButtonModule,\n IconModule,\n ],\n entryComponents: [\n ModalContainer\n ],\n providers: [\n ModalService,\n ],\n})\nexport class ModalModule { }\n","import { InjectionToken } from '@angular/core';\nimport { PopoverContent } from './popover-content';\n\nexport const POPOVER_CONTENT_DATA = new InjectionToken<PopoverContent>('POPOVER_CONTENT_DATA');\n","// tslint:disable: variable-name\n\nimport { OverlayRef } from '@angular/cdk/overlay';\nimport { PopoverContainer } from './popover-container.component';\nimport { Subject, Observable } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\n\nexport class PopoverRef {\n public componentInstance: PopoverContainer;\n\n private _beforeClose = new Subject<any | undefined>();\n private _afterClosed = new Subject<any | undefined>();\n\n private _result: any | undefined;\n\n constructor(private overlayRef: OverlayRef) { }\n\n public close(data?: any): void {\n this._result = data;\n\n // Listen for animation 'start' events\n this.componentInstance.animationStateChanged.pipe(\n filter(event => event.phaseName === 'start'),\n take(1)\n ).subscribe(() => {\n this._beforeClose.next(this._result);\n this._beforeClose.complete();\n this.overlayRef.detachBackdrop();\n });\n\n // Listen for animation 'done' events\n this.componentInstance.animationStateChanged.pipe(\n filter(event => event.phaseName === 'done' && event.toState === 'leave'),\n take(1)\n ).subscribe(() => {\n this._afterClosed.next(this._result);\n this._afterClosed.complete();\n this.overlayRef.dispose();\n\n // Make sure to also clear the reference to the\n // component instance to avoid memory leaks\n // tslint:disable-next-line: no-non-null-assertion\n this.componentInstance = null!;\n });\n\n // Start exit animation\n this.componentInstance.startExitAnimation();\n }\n\n public afterClosed(): Observable<any | undefined> {\n return this._afterClosed.asObservable();\n }\n\n public beforeClose(): Observable<any | undefined> {\n return this._beforeClose.asObservable();\n }\n}\n","import { Component, Input, TemplateRef, OnInit, Inject, HostListener, EventEmitter } from '@angular/core';\nimport { AnimationEvent, animate, style, transition, trigger, state } from '@angular/animations';\nimport { PopoverContent } from './popover-content';\nimport { POPOVER_CONTENT_DATA } from './popover.tokens';\nimport { PopoverRef } from './popover-ref';\n\nconst ESCAPE_KEY = 27;\nconst POPOVER_ANIMATION_TIMINGS = '200ms cubic-bezier(0.64, 0, 0.35, 1)';\n\n@Component({\n selector: 'suka-popover',\n template: `\n <div\n [@popover]=\"animationState\"\n (@popover.start)=\"onAnimationStart($event)\"\n (@popover.done)=\"onAnimationDone($event)\"\n cdkTrapFocus\n class=\"popover popover-{{position}}\"\n role=\"dialog\"\n >\n <suka-popover-section\n *ngIf=\"(sectioned !== false)\n else elseTpl\"\n >\n <ng-container *ngTemplateOutlet=\"elseTpl\"></ng-container>\n </suka-popover-section>\n </div>\n\n <ng-template #elseTpl>\n <ng-container [ngSwitch]=\"renderMethod\">\n <div *ngSwitchCase=\"'text'\" [innerHTML]=\"content.body\"></div>\n <ng-container *ngSwitchCase=\"'template'\">\n <ng-container *ngTemplateOutlet=\"content.body; context: {closePopover: closePopover.bind(this)}\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'component'\">\n <ng-container *ngComponentOutlet=\"content.body\"></ng-container>\n </ng-container>\n </ng-container>\n </ng-template>\n `,\n animations: [\n trigger('popover', [\n state('void', style({ transform: 'scale(.9)', opacity: 0 })),\n state('enter', style({ transform: 'none', opacity: 1 })),\n state('leave', style({ transform: 'scale(.8)', opacity: 0 })),\n transition('* => *', animate(POPOVER_ANIMATION_TIMINGS)),\n ]),\n ],\n})\nexport class PopoverContainer implements OnInit {\n public animationState: 'void' | 'enter' | 'leave' = 'enter';\n public animationStateChanged = new EventEmitter<AnimationEvent>();\n\n public renderMethod: 'template' | 'component' | 'text' = 'component';\n\n @Input() position: 'top' | 'bottom' | 'right' | 'left' = 'bottom';\n @Input() sectioned = false;\n\n constructor(\n public popoverRef: PopoverRef,\n @Inject(POPOVER_CONTENT_DATA) public content: PopoverContent\n ) {}\n\n ngOnInit() {\n if (typeof this.content.body === 'string') {\n this.renderMethod = 'text';\n }\n\n if (this.content.body instanceof TemplateRef) {\n this.renderMethod = 'template';\n }\n\n if (this.content.sectioned) {\n this.sectioned = true;\n }\n }\n\n closePopover($event: any) {\n this.popoverRef.close($event);\n }\n\n @HostListener('document:keydown', ['$event']) public handleKeydown(event: KeyboardEvent) {\n // tslint:disable-next-line: deprecation\n if (event.keyCode === ESCAPE_KEY) {\n this.popoverRef.close();\n }\n }\n\n onAnimationStart(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n onAnimationDone(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n startExitAnimation() {\n this.animationState = 'leave';\n }\n}\n","import { Injectable, Injector, ComponentRef, TemplateRef, ElementRef } from '@angular/core';\nimport { Overlay, OverlayConfig, OverlayRef, OverlayPositionBuilder, ConnectedPosition } from '@angular/cdk/overlay';\nimport { ComponentPortal, PortalInjector } from '@angular/cdk/portal';\n\nimport { PopoverRef } from './popover-ref';\nimport { POPOVER_CONTENT_DATA } from './popover.tokens';\nimport { PopoverContainer } from './popover-container.component';\nimport { Subscription, fromEvent } from 'rxjs';\nimport { skip, filter, take } from 'rxjs/operators';\nimport { PopoverContent } from './popover-content';\n\nconst positions = {\n bottom: {\n originY: 'bottom',\n overlayY: 'top',\n offsetY: 4,\n },\n top: {\n originY: 'top',\n overlayY: 'bottom',\n offsetY: -4,\n }\n};\n\nconst alignments = {\n left: {\n originX: 'start',\n overlayX: 'start',\n },\n right: {\n originX: 'end',\n overlayX: 'end',\n },\n center: {\n originX: 'center',\n overlayX: 'center',\n }\n}\n\nexport interface PopoverConfig {\n content?: PopoverContent;\n position: 'top' | 'bottom';\n alignment: 'left' | 'right' | 'center';\n}\n\nconst DEFAULT_CONFIG: PopoverConfig = {\n content: null,\n position: 'bottom',\n alignment: 'left',\n};\n\n@Injectable()\nexport class PopoverService {\n constructor(\n private injector: Injector,\n private overlay: Overlay,\n private overlayPositionBuilder: OverlayPositionBuilder,\n ) { }\n\n open(config: PopoverConfig = DEFAULT_CONFIG, target: ElementRef | HTMLElement) {\n // Override default configuration\n const popoverConfig = { ...DEFAULT_CONFIG, ...config };\n\n // Returns an OverlayRef which is a PortalHost\n const overlayRef = this.createOverlay(popoverConfig, target);\n\n // Instantiate remote control\n const popoverRef = new PopoverRef(overlayRef);\n\n const overlayComponent = this.attachPopoverContainer(overlayRef, popoverConfig, popoverRef);\n\n popoverRef.componentInstance = overlayComponent;\n\n overlayRef.backdropClick().subscribe(_ => popoverRef.close());\n\n return popoverRef;\n }\n\n private createOverlay(config: PopoverConfig, target: ElementRef | HTMLElement) {\n const overlayConfig = this.getOverlayConfig(config, target);\n return this.overlay.create(overlayConfig);\n }\n\n private attachPopoverContainer(overlayRef: OverlayRef, config: PopoverConfig, popoverRef: PopoverRef) {\n const injector = this.createInjector(config, popoverRef);\n\n const containerPortal = new ComponentPortal(PopoverContainer, null, injector);\n const containerRef: ComponentRef<PopoverContainer> = overlayRef.attach(containerPortal);\n\n return containerRef.instance;\n }\n\n private createInjector(config: PopoverConfig, popoverRef: PopoverRef): PortalInjector {\n const injectionTokens = new WeakMap();\n\n injectionTokens.set(PopoverRef, popoverRef);\n injectionTokens.set(POPOVER_CONTENT_DATA, config.content);\n\n return new PortalInjector(this.injector, injectionTokens);\n }\n\n private getOverlayConfig(config: PopoverConfig, target: ElementRef | HTMLElement): OverlayConfig {\n const positionStrategy = this.overlayPositionBuilder\n .flexibleConnectedTo(target)\n .withPositions([{ ...positions[config.position], ...alignments[config.alignment] } as ConnectedPosition]);\n\n const overlayConfig = new OverlayConfig({\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop',\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n positionStrategy\n });\n\n return overlayConfig;\n }\n}\n","// tslint:disable: no-input-rename\n\nimport { Directive, ElementRef, HostListener, Input } from '@angular/core';\nimport { PopoverBody } from './popover-body.type';\nimport { PopoverService } from './popover.service';\nimport { PopoverRef } from './popover-ref';\n\n@Directive({ selector: '[sukaPopover]' })\nexport class Popover {\n private popoverRef: PopoverRef;\n private open = false;\n\n /**\n * The `Popover` body\n */\n @Input('sukaPopover') body: PopoverBody = '';\n /**\n * Sets the vertical position of the popover. Defaults to `bottom`.\n */\n @Input('popoverPosition') position: 'top' | 'bottom' = 'bottom';\n /**\n * Sets the horizontal `Popover' alignment. Defaults to `left`.\n */\n @Input('popoverAlignment') alignment: 'left' | 'right' | 'center' = 'left';\n /**\n * Set to `true` to auto-wrap content in section\n */\n @Input('popoverSectioned') sectioned = false;\n\n constructor(protected popoverService: PopoverService, private elementRef: ElementRef) { }\n\n private show() {\n this.popoverRef = this.popoverService.open(\n {\n content: {\n body: this.body,\n sectioned: this.sectioned,\n },\n position: this.position,\n alignment: this.alignment,\n },\n this.elementRef\n );\n\n this.open = true;\n\n this.popoverRef.afterClosed().subscribe((result: any) => {\n this.open = false;\n });\n }\n\n @HostListener('click')\n onClick() {\n if (!this.open) {\n this.show();\n }\n }\n}\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'suka-popover-section',\n template: `\n <ng-content></ng-content>\n `,\n})\nexport class PopoverSection {\n @HostBinding('class.popover__section') baseClass = true;\n}\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'suka-popover-action-list',\n template: `\n <ng-content></ng-content>\n `,\n})\nexport class PopoverActionList {\n @HostBinding('class.popover__action-list') baseClass = true;\n}\n","import { Component, HostBinding, EventEmitter, Output, Input } from '@angular/core';\nimport { IconType } from '../icon/icon-types';\n\n@Component({\n selector: 'suka-popover-action-item',\n template: `\n <button type=\"button\" (click)=\"onClick($event)\">\n <div class=\"action-list__item__content\">\n <suka-icon *ngIf=\"icon\" [icon]=\"icon\" class=\"popover__icon\"></suka-icon>\n <ng-content></ng-content>\n </div>\n </button>\n `,\n})\nexport class PopoverActionItem {\n @HostBinding('class.popover__action-list__item') baseClass = true;\n @HostBinding('class.action-list__item--destructive') @Input() destructive = false;\n @Input() icon: IconType;\n\n @Output() selected = new EventEmitter();\n\n onClick($event) {\n this.selected.emit($event);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { IconModule } from '../icon/icon.module';\n\nimport { PopoverContainer } from './popover-container.component';\nimport { Popover } from './popover.directive';\nimport { PopoverSection } from './popover-section.component';\nimport { PopoverActionList } from './popover-action-list.component';\nimport { PopoverActionItem } from './popover-action-item.component';\nimport { PopoverService } from './popover.service';\n\nexport { Popover } from './popover.directive';\nexport { PopoverContainer } from './popover-container.component';\nexport { PopoverSection } from './popover-section.component';\nexport { PopoverActionList } from './popover-action-list.component';\nexport { PopoverActionItem } from './popover-action-item.component';\n\n@NgModule({\n declarations: [\n PopoverContainer,\n PopoverSection,\n PopoverActionList,\n PopoverActionItem,\n Popover,\n ],\n exports: [\n PopoverContainer,\n PopoverSection,\n PopoverActionList,\n PopoverActionItem,\n Popover,\n ],\n imports: [\n CommonModule,\n OverlayModule,\n IconModule,\n ],\n entryComponents: [\n PopoverContainer,\n ],\n providers: [\n PopoverService,\n ],\n})\nexport class PopoverModule { }\n","import {\n Component,\n HostBinding,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'suka-stack',\n template: `\n <div\n class=\"\n stack__wrapper\n stack--spacing-{{spacing}}\n stack--distribution-{{distribution}}\n stack--alignment-{{alignment}}\n \"\n [ngClass]=\"{\n 'stack--vertical': vertical,\n 'stack--no-wrap': !wrap\n }\"\n >\n <ng-content></ng-content>\n </div>\n `,\n encapsulation: ViewEncapsulation.None,\n})\nexport class Stack {\n @HostBinding('class.stack') baseClass = true;\n\n /**\n * Make stack vertical (inverts axis of alignment and distribution inputs)\n */\n @HostBinding('class.stack--vertical') @Input() vertical = false;\n\n /**\n * Spacing between elements\n */\n @Input() spacing: 'tight' | 'loose' | 'default' | 'none' = 'default';\n\n /**\n * Horizontal alignment of elements (vertical alignment on vertical stack)\n */\n @Input() distribution: 'leading' | 'trailing' | 'equalSpacing' | 'center' | 'fill' | 'fillEvenly' = 'leading';\n\n /**\n * Vertical alignment of elements (horizontal alignment on vertical stack)\n */\n @Input() alignment: 'leading' | 'trailing' | 'center' | 'fill' | 'baseline' = 'leading';\n\n /**\n * Wrap stack elements to additional rows as needed on small screens.\n */\n @Input() wrap = true;\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[sukaStackItem]'\n})\nexport class StackItem {\n @HostBinding('class.stack__item') baseClass = true;\n\n /**\n * Set to `true` to make the `StackItem` fill the remaining horizontal space on the stack.\n */\n @HostBinding('class.stack__item--fill') @Input() fill = false;\n}\n","// modules\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n// imports\nimport { Stack } from './stack.component';\nimport { StackItem } from './stack-item.directive';\n\n@NgModule({\n declarations: [\n Stack,\n StackItem,\n ],\n exports: [\n Stack,\n StackItem,\n ],\n imports: [\n CommonModule,\n ]\n})\nclass StackModule { }\n\nexport { Stack, StackItem, StackModule };\n","import {\n Component,\n HostBinding,\n} from '@angular/core';\n\n@Component({\n selector: 'suka-form-layout',\n template: `\n <div class=\"form-layout__wrapper\">\n <ng-content></ng-content>\n </div>\n `\n})\nexport class FormLayout {\n @HostBinding('class.form-layout') baseClass = true;\n}\n","// modules\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n// imports\nimport { FormLayout } from './form-layout.component';\n\n@NgModule({\n declarations: [\n FormLayout,\n ],\n exports: [\n FormLayout,\n ],\n imports: [\n CommonModule,\n ]\n})\nclass FormLayoutModule { }\n\nexport { FormLayout, FormLayoutModule };\n","import { CDK_TABLE_TEMPLATE, CdkTable } from '@angular/cdk/table';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, HostBinding, Input } from '@angular/core';\n\n/**\n * Wrapper for the CdkTable with Suka design styles.\n */\n@Component({\n selector: 'suka-table, table[suka-table]',\n exportAs: 'sukaTable',\n template: CDK_TABLE_TEMPLATE,\n providers: [{ provide: CdkTable, useExisting: SukaTable }],\n encapsulation: ViewEncapsulation.None,\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class SukaTable<T> extends CdkTable<T> {\n @HostBinding('class.suka-table') baseClass = true;\n /**\n * Set to `true` to make the table full width.\n */\n @HostBinding('class.suka-table--full-width') @Input() fullWidth = false;\n /**\n * Set to `true` to apply hover styles to the table rows.\n */\n @HostBinding('class.suka-table--hover') @Input() hover = false;\n /** Overrides the sticky CSS class set by the `CdkTable`. */\n protected stickyCssClass = 'suka-table-sticky';\n}\n","// tslint:disable: no-host-metadata-property directive-selector\nimport { Directive, ElementRef, Input } from '@angular/core';\nimport {\n CdkCell,\n CdkCellDef,\n CdkColumnDef, CdkFooterCell, CdkFooterCellDef,\n CdkHeaderCell,\n CdkHeaderCellDef,\n} from '@angular/cdk/table';\n\n/**\n * Cell definition for the suka-table.\n * Captures the template of a column's data row cell as well as cell-specific properties.\n */\n@Directive({\n selector: '[sukaCellDef]',\n providers: [{ provide: CdkCellDef, useExisting: SukaCellDef }]\n})\nexport class SukaCellDef extends CdkCellDef { }\n\n/**\n * Header cell definition for the suka-table.\n * Captures the template of a column's header cell and as well as cell-specific properties.\n */\n@Directive({\n selector: '[sukaHeaderCellDef]',\n providers: [{ provide: CdkHeaderCellDef, useExisting: SukaHeaderCellDef }]\n})\nexport class SukaHeaderCellDef extends CdkHeaderCellDef { }\n\n/**\n * Footer cell definition for the suka-table.\n * Captures the template of a column's footer cell and as well as cell-specific properties.\n */\n@Directive({\n selector: '[sukaFooterCellDef]',\n providers: [{ provide: CdkFooterCellDef, useExisting: SukaFooterCellDef }]\n})\nexport class SukaFooterCellDef extends CdkFooterCellDef { }\n\n/**\n * Column definition for the suka-table.\n * Defines a set of cells available for a table column.\n */\n@Directive({\n selector: '[sukaColumnDef]',\n providers: [\n { provide: CdkColumnDef, useExisting: SukaColumnDef },\n { provide: 'SUKA_SORT_HEADER_COLUMN_DEF', useExisting: SukaColumnDef }\n ],\n})\nexport class SukaColumnDef extends CdkColumnDef {\n /** Unique name for this column. */\n @Input('sukaColumnDef') name: string;\n\n /** Whether this column should be sticky positioned at the start of the row */\n @Input() sticky: boolean;\n\n /** Whether this column should be sticky positioned on the end of the row */\n @Input() stickyEnd: boolean;\n}\n\n/** Header cell template container that adds the right classes and role. */\n@Directive({\n selector: 'suka-header-cell, th[suka-header-cell]',\n host: {\n class: 'suka-header-cell',\n role: 'columnheader',\n },\n})\nexport class SukaHeaderCell extends CdkHeaderCell {\n constructor(\n columnDef: CdkColumnDef,\n elementRef: ElementRef<HTMLElement>\n ) {\n\n super(columnDef, elementRef);\n elementRef.nativeElement.classList.add(`suka-column-${columnDef.cssClassFriendlyName}`);\n }\n}\n\n/** Footer cell template container that adds the right classes and role. */\n@Directive({\n selector: 'suka-footer-cell, td[suka-footer-cell]',\n host: {\n class: 'suka-footer-cell',\n role: 'gridcell',\n },\n})\nexport class SukaFooterCell extends CdkFooterCell {\n constructor(\n columnDef: CdkColumnDef,\n elementRef: ElementRef\n ) {\n super(columnDef, elementRef);\n elementRef.nativeElement.classList.add(`suka-column-${columnDef.cssClassFriendlyName}`);\n }\n}\n\n/** Cell template container that adds the right classes and role. */\n@Directive({\n selector: 'suka-cell, td[suka-cell]',\n host: {\n class: 'suka-cell',\n role: 'gridcell',\n },\n})\nexport class SukaCell extends CdkCell {\n constructor(\n columnDef: CdkColumnDef,\n elementRef: ElementRef<HTMLElement>\n ) {\n super(columnDef, elementRef);\n elementRef.nativeElement.classList.add(`suka-column-${columnDef.cssClassFriendlyName}`);\n }\n}\n","// tslint:disable: no-inputs-metadata-property\n\nimport {\n CDK_ROW_TEMPLATE,\n CdkFooterRow,\n CdkFooterRowDef,\n CdkHeaderRow,\n CdkHeaderRowDef,\n CdkRow,\n CdkRowDef\n} from '@angular/cdk/table';\nimport { ChangeDetectionStrategy, Component, Directive, ViewEncapsulation, HostBinding } from '@angular/core';\n\n/**\n * Header row definition for the suka-table.\n * Captures the header row's template and other header properties such as the columns to display.\n */\n@Directive({\n selector: '[sukaHeaderRowDef]',\n providers: [{ provide: CdkHeaderRowDef, useExisting: SukaHeaderRowDef }],\n inputs: ['columns: sukaHeaderRowDef', 'sticky: sukaHeaderRowDefSticky'],\n})\nexport class SukaHeaderRowDef extends CdkHeaderRowDef {\n}\n\n/**\n * Footer row definition for the suka-table.\n * Captures the footer row's template and other footer properties such as the columns to display.\n */\n@Directive({\n selector: '[sukaFooterRowDef]',\n providers: [{ provide: CdkFooterRowDef, useExisting: SukaFooterRowDef }],\n inputs: ['columns: sukaFooterRowDef', 'sticky: sukaFooterRowDefSticky'],\n})\nexport class SukaFooterRowDef extends CdkFooterRowDef {\n}\n\n/**\n * Data row definition for the suka-table.\n * Captures the data row's template and other properties such as the columns to display and\n * a when predicate that describes when this row should be used.\n */\n@Directive({\n selector: '[sukaRowDef]',\n providers: [{ provide: CdkRowDef, useExisting: SukaRowDef }],\n inputs: ['columns: sukaRowDefColumns', 'when: sukaRowDefWhen'],\n})\nexport class SukaRowDef<T> extends CdkRowDef<T> {\n}\n\n/** Footer template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n selector: 'suka-header-row, tr[suka-header-row]',\n template: CDK_ROW_TEMPLATE,\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'sukaHeaderRow',\n providers: [{ provide: CdkHeaderRow, useExisting: SukaHeaderRow }],\n})\nexport class SukaHeaderRow extends CdkHeaderRow {\n @HostBinding('class.suka-header-row') baseClass = true;\n @HostBinding('attr.role') role = 'row';\n}\n\n/** Footer template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n selector: 'suka-footer-row, tr[suka-footer-row]',\n template: CDK_ROW_TEMPLATE,\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'sukaFooterRow',\n providers: [{ provide: CdkFooterRow, useExisting: SukaFooterRow }],\n})\nexport class SukaFooterRow extends CdkFooterRow {\n @HostBinding('class.suka-footer-row') baseClass = true;\n @HostBinding('attr.role') role = 'row';\n}\n\n/** Data row template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n selector: 'suka-row, tr[suka-row]',\n template: CDK_ROW_TEMPLATE,\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'sukaRow',\n providers: [{ provide: CdkRow, useExisting: SukaRow }],\n})\nexport class SukaRow extends CdkRow {\n @HostBinding('class.suka-row') baseClass = true;\n @HostBinding('attr.role') role = 'row';\n}\n","export default function buildPaginationArray(pageNumber, currentPage, spacing) {\n const pageArray = [];\n\n const startingPosition = Math.max(currentPage - spacing, 1);\n const endPosition = Math.min(currentPage + spacing, pageNumber);\n\n for (let i = startingPosition; i <= endPosition; i++) {\n pageArray.push(i);\n }\n\n if (currentPage - spacing > 1) {\n appendFirstPages(pageArray);\n }\n\n if (currentPage + spacing < pageNumber) {\n appendLastPages(pageArray, pageNumber);\n }\n\n return pageArray;\n}\n\nfunction appendFirstPages(array) {\n const initialValue = array[0];\n\n if (initialValue - 1 > 1) {\n array.unshift('...');\n }\n\n array.unshift(1);\n}\n\nfunction appendLastPages(array, lastPageNumber) {\n if (array[array.length - 1] + 1 < lastPageNumber) {\n array.push('...');\n }\n\n array.push(lastPageNumber);\n}\n","// tslint:disable: variable-name\n\nimport { coerceNumberProperty, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewEncapsulation,\n HostBinding,\n} from '@angular/core';\nimport buildPaginationArray from './pagination-utils';\nimport { Observable, Subject } from 'rxjs';\n\n/** The default page size if there is no page size and there are no provided page size options. */\nconst DEFAULT_PAGE_SIZE = 50;\n\n/**\n * Change event object that is emitted when the user selects a\n * different page size or navigates to another page.\n */\nexport class PageEvent {\n /** The current page index. */\n pageIndex: number;\n\n /**\n * Index of the page that was selected previously.\n */\n previousPageIndex: number;\n\n /** The current page size */\n pageSize: number;\n\n /** The current total number of items being paged */\n length: number;\n}\n\n\n/**\n * Component to provide navigation between paged information. Displays the size of the current\n * page, user-selectable options to change that size, what items are being shown, and\n * navigational button to go to the previous or next page.\n */\n@Component({\n selector: 'suka-pagination',\n exportAs: 'sukaPagination',\n template: `\n <div class=\"suka-pagination-outer-container\">\n <div class=\"suka-pagination-container\">\n <div class=\"suka-pagination-results\">\n Mostrando <span class=\"suka-pagination-result\">{{getRangeLabel(pageIndex, pageSize, length)}}</span>\n </div>\n\n <div class=\"suka-pagination-actions\">\n <button\n type=\"button\" class=\"suka-pagination-navigation-first\"\n (click)=\"firstPage()\"\n [disabled]=\"_previousButtonsDisabled()\"\n *ngIf=\"showFirstLastButtons\"\n sukaButton=\"plain\"\n size=\"sm\"\n >\n <suka-icon icon=\"chevrons-left\" class=\"suka-pagination-icon\"></suka-icon>\n </button>\n <button\n type=\"button\" class=\"suka-pagination-navigation-previous\"\n (click)=\"previousPage()\"\n [disabled]=\"_previousButtonsDisabled()\"\n sukaButton=\"plain\"\n size=\"sm\"\n >\n <suka-icon icon=\"chevron-left\" class=\"suka-pagination-icon\"></suka-icon>\n Anterior\n </button>\n <button\n *ngFor=\"let pageNumber of _pagesArray\"\n type=\"button\"\n class=\"suka-pagination-navigation-page\"\n (click)=\"goToPage(pageNumber)\"\n [disabled]=\"pageNumber === '...'\"\n sukaButton=\"plain\"\n size=\"sm\"\n [ngClass]=\"{\n 'suka-pagination-navigation-page--selected': pageNumber === pageIndex + 1\n }\"\n >\n {{pageNumber}}\n </button>\n <button\n type=\"button\"\n class=\"suka-pagination-navigation-next\"\n (click)=\"nextPage()\"\n [disabled]=\"_nextButtonsDisabled()\"\n sukaButton=\"plain\"\n size=\"sm\"\n >\n Siguiente\n <suka-icon icon=\"chevron-right\" class=\"suka-pagination-icon\"></suka-icon>\n </button>\n <button\n type=\"button\" class=\"suka-pagination-navigation-last\"\n (click)=\"lastPage()\"\n [disabled]=\"_nextButtonsDisabled()\"\n *ngIf=\"showFirstLastButtons\"\n sukaButton=\"plain\"\n size=\"sm\"\n >\n <suka-icon icon=\"chevrons-right\" class=\"suka-pagination-icon\"></suka-icon>\n </button>\n </div>\n </div>\n </div>\n\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class Pagination implements OnInit {\n private _initialized: boolean;\n initialized = new Subject();\n\n /**\n * Sets to `true` to disable pagination.\n */\n @Input() disabled = false;\n @HostBinding('class.suka-pagination') baseClass = true;\n\n /** The zero-based page index of the displayed list of items. Defaulted to 0. */\n @Input()\n get pageIndex(): number { return this._pageIndex; }\n set pageIndex(value: number) {\n this._pageIndex = Math.max(coerceNumberProperty(value), 0);\n this._changeDetectorRef.markForCheck();\n }\n\n private _pageIndex = 0;\n\n /** The length of the total number of items that are being paginated. Defaulted to 0. */\n @Input()\n get length(): number { return this._length; }\n set length(value: number) {\n this._length = coerceNumberProperty(value);\n this._changeDetectorRef.markForCheck();\n this._updateDisplayedPagesArray();\n }\n private _length = 0;\n\n /** Number of items to display on a page. By default set to 20. */\n @Input()\n get pageSize(): number { return this._pageSize; }\n set pageSize(value: number) {\n this._pageSize = Math.max(coerceNumberProperty(value), 0);\n this._updateDisplayedPageSizeOptions();\n this._updateDisplayedPagesArray();\n }\n private _pageSize: number;\n\n /** The set of provided page size options to display to the user. */\n @Input()\n get pageSizeOptions(): number[] { return this._pageSizeOptions; }\n set pageSizeOptions(value: number[]) {\n this._pageSizeOptions = (value || []).map(p => coerceNumberProperty(p));\n this._updateDisplayedPageSizeOptions();\n }\n private _pageSizeOptions: number[] = [];\n\n /** Whether to hide the page size selection UI from the user. */\n @Input()\n get hidePageSize(): boolean { return this._hidePageSize; }\n set hidePageSize(value: boolean) {\n this._hidePageSize = coerceBooleanProperty(value);\n }\n private _hidePageSize = false;\n\n\n /** Whether to show the first/last buttons UI to the user. */\n @Input()\n get showFirstLastButtons(): boolean { return this._showFirstLastButtons; }\n set showFirstLastButtons(value: boolean) {\n this._showFirstLastButtons = coerceBooleanProperty(value);\n }\n private _showFirstLastButtons = false;\n\n /** Event emitted when the pagination changes the page size or page index. */\n @Output() readonly page: EventEmitter<PageEvent> = new EventEmitter<PageEvent>();\n\n /** Displayed set of page size options. Will be sorted and include current page size. */\n _displayedPageSizeOptions: number[];\n\n /** Displayed pages array */\n _pagesArray = [];\n\n constructor(private _changeDetectorRef: ChangeDetectorRef) { }\n\n ngOnInit() {\n this._initialized = true;\n this.initialized.next(true);\n this._updateDisplayedPageSizeOptions();\n }\n\n /** Advances to the next page if it exists. */\n nextPage(): void {\n if (!this.hasNextPage()) { return; }\n\n const previousPageIndex = this.pageIndex;\n this.pageIndex++;\n this._updateDisplayedPagesArray();\n this._emitPageEvent(previousPageIndex);\n }\n\n /** Move back to the previous page if it exists. */\n previousPage(): void {\n if (!this.hasPreviousPage()) { return; }\n\n const previousPageIndex = this.pageIndex;\n this.pageIndex--;\n this._updateDisplayedPagesArray();\n this._emitPageEvent(previousPageIndex);\n }\n\n /** Move to the first page if not already there. */\n firstPage(): void {\n // hasPreviousPage being false implies at the start\n if (!this.hasPreviousPage()) { return; }\n\n const previousPageIndex = this.pageIndex;\n this.pageIndex = 0;\n this._updateDisplayedPagesArray();\n this._emitPageEvent(previousPageIndex);\n }\n\n /** Move to the last page if not already there. */\n lastPage(): void {\n // hasNextPage being false implies at the end\n if (!this.hasNextPage()) { return; }\n\n const previousPageIndex = this.pageIndex;\n this.pageIndex = this.getNumberOfPages() - 1;\n this._updateDisplayedPagesArray();\n this._emitPageEvent(previousPageIndex);\n }\n\n /**\n * Move to an specific page.\n */\n goToPage(page: number): void {\n const previousPageIndex = this.pageIndex;\n\n this.pageIndex = page - 1;\n this._updateDisplayedPagesArray();\n this._emitPageEvent(previousPageIndex);\n }\n\n /** Whether there is a previous page. */\n hasPreviousPage(): boolean {\n return this.pageIndex >= 1 && this.pageSize !== 0;\n }\n\n /** Whether there is a next page. */\n hasNextPage(): boolean {\n const maxPageIndex = this.getNumberOfPages() - 1;\n return this.pageIndex < maxPageIndex && this.pageSize !== 0;\n }\n\n /** Calculate the number of pages */\n getNumberOfPages(): number {\n if (!this.pageSize) {\n return 0;\n }\n\n return Math.ceil(this.length / this.pageSize);\n }\n\n /** Calculate the page range */\n getRangeLabel = (page: number, pageSize: number, length: number) => {\n if (length === 0 || pageSize === 0) { return `0 de ${length}`; }\n\n length = Math.max(length, 0);\n\n const startIndex = page * pageSize;\n\n // If the start index exceeds the list length, do not try and fix the end index to the end.\n const endIndex = startIndex < length ?\n Math.min(startIndex + pageSize, length) :\n startIndex + pageSize;\n\n return `${startIndex + 1} – ${endIndex} de ${length}`;\n }\n\n\n /**\n * Changes the page size so that the first item displayed on the page will still be\n * displayed using the new page size.\n *\n * For example, if the page size is 10 and on the second page (items indexed 10-19) then\n * switching so that the page size is 5 will set the third page as the current page so\n * that the 10th item will still be displayed.\n */\n _changePageSize(pageSize: number) {\n // Current page needs to be updated to reflect the new page size. Navigate to the page\n // containing the previous page's first item.\n const startIndex = this.pageIndex * this.pageSize;\n const previousPageIndex = this.pageIndex;\n\n this.pageIndex = Math.floor(startIndex / pageSize) || 0;\n this.pageSize = pageSize;\n this._emitPageEvent(previousPageIndex);\n }\n\n /** Checks whether the buttons for going forwards should be disabled. */\n _nextButtonsDisabled() {\n return this.disabled || !this.hasNextPage();\n }\n\n /** Checks whether the buttons for going backwards should be disabled. */\n _previousButtonsDisabled() {\n return this.disabled || !this.hasPreviousPage();\n }\n\n /**\n * Updates the list of page size options to display to the user. Includes making sure that\n * the page size is an option and that the list is sorted.\n */\n private _updateDisplayedPageSizeOptions() {\n if (!this._initialized) { return; }\n\n // If no page size is provided, use the first page size option or the default page size.\n if (!this.pageSize) {\n this._pageSize = this.pageSizeOptions.length !== 0 ?\n this.pageSizeOptions[0] :\n DEFAULT_PAGE_SIZE;\n }\n\n this._displayedPageSizeOptions = this.pageSizeOptions.slice();\n\n if (this._displayedPageSizeOptions.indexOf(this.pageSize) === -1) {\n this._displayedPageSizeOptions.push(this.pageSize);\n }\n\n // Sort the numbers using a number-specific sort function.\n this._displayedPageSizeOptions.sort((a, b) => a - b);\n this._changeDetectorRef.markForCheck();\n }\n\n private _updateDisplayedPagesArray() {\n this._pagesArray = buildPaginationArray(this.getNumberOfPages(), this.pageIndex + 1, 3);\n }\n\n /** Emits an event notifying that a change of the pagination's properties has been triggered. */\n private _emitPageEvent(previousPageIndex: number) {\n this.page.emit({\n previousPageIndex,\n pageIndex: this.pageIndex,\n pageSize: this.pageSize,\n length: this.length\n });\n }\n}\n","// modules\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ButtonModule } from '../button/button.module';\nimport { IconModule } from '../icon/icon.module';\n\n// imports\nimport { Pagination, PageEvent } from './pagination.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ButtonModule,\n IconModule,\n ],\n exports: [\n Pagination\n ],\n declarations: [\n Pagination\n ],\n})\nclass PaginationModule { }\n\nexport { Pagination, PageEvent, PaginationModule };\n","// tslint:disable: variable-name\n\nimport { _isNumberValue } from '@angular/cdk/coercion';\nimport { DataSource } from '@angular/cdk/table';\nimport {\n BehaviorSubject,\n combineLatest,\n merge,\n Observable,\n of as observableOf,\n Subscription,\n Subject,\n} from 'rxjs';\nimport { Pagination, PageEvent } from '../pagination/pagination.module';\n// import { SukaSort, Sort } from '@angular/material/sort';\nimport { map } from 'rxjs/operators';\n\n/**\n * Corresponds to `Number.MAX_SAFE_INTEGER`. Moved out into a variable here due to\n * flaky browser support and the value not being defined in Closure's typings.\n */\nconst MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Data source that accepts a client-side data array and includes native support of filtering,\n * sorting (using SukaSort), and pagination (using SukaPaginator).\n *\n * Allows for sort customization by overriding sortingDataAccessor, which defines how data\n * properties are accessed. Also allows for filter customization by overriding filterTermAccessor,\n * which defines how row data is converted to a string for filter matching.\n *\n * **Note:** This class is meant to be a simple data source to help you get started. As such\n * it isn't equipped to handle some more advanced cases like robust i18n support or server-side\n * interactions. If your app needs to support more advanced use cases, consider implementing your\n * own `DataSource`.\n */\nexport class SukaTableDataSource<T> extends DataSource<T> {\n /** Stream that emits when a new data array is set on the data source. */\n private readonly _data: BehaviorSubject<T[]>;\n\n /** Stream emitting render data to the table (depends on ordered data changes). */\n private readonly _renderData = new BehaviorSubject<T[]>([]);\n\n /** Stream that emits when a new filter string is set on the data source. */\n private readonly _filter = new BehaviorSubject<string>('');\n\n /** Used to react to internal changes of the paginator that are made by the data source itself. */\n private readonly _internalPageChanges = new Subject<void>();\n\n /**\n * Subscription to the changes that should trigger an update to the table's rendered rows, such\n * as filtering, sorting, pagination, or base data changes.\n */\n _renderChangesSubscription = Subscription.EMPTY;\n\n /**\n * The filtered set of data that has been matched by the filter string, or all the data if there\n * is no filter. Useful for knowing the set of data the table represents.\n * For example, a 'selectAll()' function would likely want to select the set of filtered data\n * shown to the user rather than all the data.\n */\n filteredData: T[];\n\n /** Array of data that should be rendered by the table, where each object represents one row. */\n get data() { return this._data.value; }\n set data(data: T[]) { this._data.next(data); }\n\n /**\n * Filter term that should be used to filter out objects from the data array. To override how\n * data objects match to this filter string, provide a custom function for filterPredicate.\n */\n get filter(): string { return this._filter.value; }\n set filter(filter: string) { this._filter.next(filter); }\n\n /**\n * Instance of the SukaSort directive used by the table to control its sorting. Sort changes\n * emitted by the SukaSort will trigger an update to the table's rendered data.\n */\n // get sort(): SukaSort | null { return this._sort; }\n // set sort(sort: SukaSort | null) {\n // this._sort = sort;\n // this._updateChangeSubscription();\n // }\n // private _sort: SukaSort | null;\n\n /**\n * Instance of the Pagination component used by the table to control what page of the data is\n * displayed. Page changes emitted by the Pagination will trigger an update to the\n * table's rendered data.\n *\n * Note that the data source uses the pagination's properties to calculate which page of data\n * should be displayed. If the pagination receives its properties as template inputs,\n * e.g. `[pageLength]=100` or `[pageIndex]=1`, then be sure that the pagination's view has been\n * initialized before assigning it to this data source.\n */\n get paginator(): Pagination | null { return this._paginator; }\n set paginator(paginator: Pagination | null) {\n this._paginator = paginator;\n this._updateChangeSubscription();\n }\n private _paginator: Pagination | null;\n\n /**\n * Data accessor function that is used for accessing data properties for sorting through\n * the default sortData function.\n * This default function assumes that the sort header IDs (which defaults to the column name)\n * matches the data's properties (e.g. column Xyz represents data['Xyz']).\n * May be set to a custom function for different behavior.\n * @param data Data object that is being accessed.\n * @param sortHeaderId The name of the column that represents the data.\n */\n // sortingDataAccessor: ((data: T, sortHeaderId: string) => string | number) =\n // (data: T, sortHeaderId: string): string | number => {\n // const value = (data as { [key: string]: any })[sortHeaderId];\n\n // if (_isNumberValue(value)) {\n // const numberValue = Number(value);\n\n // // Numbers beyond `MAX_SAFE_INTEGER` can't be compared reliably so we\n // // leave them as strings. For more info: https://goo.gl/y5vbSg\n // return numberValue < MAX_SAFE_INTEGER ? numberValue : value;\n // }\n\n // return value;\n // }\n\n /**\n * Gets a sorted copy of the data array based on the state of the SukaSort. Called\n * after changes are made to the filtered data or when sort changes are emitted from SukaSort.\n * By default, the function retrieves the active sort and its direction and compares data\n * by retrieving data using the sortingDataAccessor. May be overridden for a custom implementation\n * of data ordering.\n * @param data The array of data that should be sorted.\n * @param sort The connected SukaSort that holds the current sort state.\n */\n // sortData: ((data: T[], sort: SukaSort) => T[]) = (data: T[], sort: SukaSort): T[] => {\n // const active = sort.active;\n // const direction = sort.direction;\n // if (!active || direction == '') { return data; }\n\n // return data.sort((a, b) => {\n // let valueA = this.sortingDataAccessor(a, active);\n // let valueB = this.sortingDataAccessor(b, active);\n\n // // If both valueA and valueB exist (truthy), then compare the two. Otherwise, check if\n // // one value exists while the other doesn't. In this case, existing value should come last.\n // // This avoids inconsistent results when comparing values to undefined/null.\n // // If neither value exists, return 0 (equal).\n // let comparatorResult = 0;\n // if (valueA != null && valueB != null) {\n // // Check if one value is greater than the other; if equal, comparatorResult should remain 0.\n // if (valueA > valueB) {\n // comparatorResult = 1;\n // } else if (valueA < valueB) {\n // comparatorResult = -1;\n // }\n // } else if (valueA != null) {\n // comparatorResult = 1;\n // } else if (valueB != null) {\n // comparatorResult = -1;\n // }\n\n // return comparatorResult * (direction == 'asc' ? 1 : -1);\n // });\n // }\n\n /**\n * Checks if a data object matches the data source's filter string. By default, each data object\n * is converted to a string of its properties and returns true if the filter has\n * at least one occurrence in that string. By default, the filter string has its whitespace\n * trimmed and the match is case-insensitive. May be overridden for a custom implementation of\n * filter matching.\n * @param data Data object used to check against the filter.\n * @param filter Filter string that has been set on the data source.\n * @returns Whether the filter matches against the data\n */\n filterPredicate: ((data: T, filter: string) => boolean) = (data: T, filter: string): boolean => {\n // Transform the data into a lowercase string of all property values.\n const dataStr = Object.keys(data).reduce((currentTerm: string, key: string) => {\n // Use an obscure Unicode character to delimit the words in the concatenated string.\n // This avoids matches where the values of two columns combined will match the user's query\n // (e.g. `Flute` and `Stop` will match `Test`). The character is intended to be something\n // that has a very low chance of being typed in by somebody in a text field. This one in\n // particular is \"White up-pointing triangle with dot\" from\n // https://en.wikipedia.org/wiki/List_of_Unicode_characters\n return currentTerm + (data as { [key: string]: any })[key] + '◬';\n }, '').toLowerCase();\n\n // Transform the filter by converting it to lowercase and removing whitespace.\n const transformedFilter = filter.trim().toLowerCase();\n\n return dataStr.indexOf(transformedFilter) !== -1;\n }\n\n constructor(initialData: T[] = []) {\n super();\n this._data = new BehaviorSubject<T[]>(initialData);\n this._updateChangeSubscription();\n }\n\n /**\n * Subscribe to changes that should trigger an update to the table's rendered rows. When the\n * changes occur, process the current state of the filter, sort, and pagination along with\n * the provided base data and send it to the table for rendering.\n */\n _updateChangeSubscription() {\n // Sorting and/or pagination should be watched if SukaSort and/or SukaPaginator are provided.\n // The events should emit whenever the component emits a change or initializes, or if no\n // component is provided, a stream with just a null event should be provided.\n // The `sortChange` and `pageChange` acts as a signal to the combineLatests below so that the\n // pipeline can progress to the next step. Note that the value from these streams are not used,\n // they purely act as a signal to progress in the pipeline.\n // const sortChange: Observable<Sort | null | void> = this._sort ?\n // merge(this._sort.sortChange, this._sort.initialized) as Observable<Sort | void> :\n // observableOf(null);\n const pageChange: Observable<PageEvent | null | void> = this._paginator ?\n merge(\n this._paginator.page,\n this._internalPageChanges,\n this._paginator.initialized\n ) as Observable<PageEvent | void> :\n observableOf(null);\n const dataStream = this._data;\n // Watch for base data or filter changes to provide a filtered set of data.\n const filteredData = combineLatest([dataStream, this._filter])\n .pipe(map(([data]) => this._filterData(data)));\n\n // Watch for filtered data or sort changes to provide an ordered set of data.\n // const orderedData = combineLatest([filteredData, sortChange])\n // .pipe(map(([data]) => this._orderData(data)));\n\n // Watch for ordered data or page changes to provide a paged set of data.\n // const paginatedData = combineLatest([orderedData, pageChange])\n // .pipe(map(([data]) => this._pageData(data)));\n const paginatedData = combineLatest([filteredData, pageChange])\n .pipe(map(([data]) => this._pageData(data)));\n\n // Watched for paged data changes and send the result to the table to render.\n this._renderChangesSubscription.unsubscribe();\n this._renderChangesSubscription = paginatedData.subscribe(data => this._renderData.next(data));\n }\n\n /**\n * Returns a filtered data array where each filter object contains the filter string within\n * the result of the filterTermAccessor function. If no filter is set, returns the data array\n * as provided.\n */\n _filterData(data: T[]) {\n // If there is a filter string, filter out data that does not contain it.\n // Each data object is converted to a string using the function defined by filterTermAccessor.\n // May be overridden for customization.\n this.filteredData =\n !this.filter ? data : data.filter(obj => this.filterPredicate(obj, this.filter));\n\n if (this.paginator) { this._updatePaginator(this.filteredData.length); }\n\n return this.filteredData;\n }\n\n /**\n * Returns a sorted copy of the data if SukaSort has a sort applied, otherwise just returns the\n * data array as provided. Uses the default data accessor for data lookup, unless a\n * sortDataAccessor function is defined.\n */\n // _orderData(data: T[]): T[] {\n // // If there is no active sort or direction, return the data without trying to sort.\n // if (!this.sort) { return data; }\n\n // return this.sortData(data.slice(), this.sort);\n // }\n\n /**\n * Returns a paged slice of the provided data array according to the provided SukaPaginator's page\n * index and length. If there is no paginator provided, returns the data array as provided.\n */\n _pageData(data: T[]): T[] {\n if (!this.paginator) { return data; }\n\n const startIndex = this.paginator.pageIndex * this.paginator.pageSize;\n return data.slice(startIndex, startIndex + this.paginator.pageSize);\n }\n\n /**\n * Updates the paginator to reflect the length of the filtered data, and makes sure that the page\n * index does not exceed the paginator's last page. Values are changed in a resolved promise to\n * guard against making property changes within a round of change detection.\n */\n _updatePaginator(filteredDataLength: number) {\n Promise.resolve().then(() => {\n const paginator = this.paginator;\n\n if (!paginator) { return; }\n\n paginator.length = filteredDataLength;\n\n // If the page index is set beyond the page, reduce it to the last page.\n if (paginator.pageIndex > 0) {\n const lastPageIndex = Math.ceil(paginator.length / paginator.pageSize) - 1 || 0;\n const newPageIndex = Math.min(paginator.pageIndex, lastPageIndex);\n\n if (newPageIndex !== paginator.pageIndex) {\n paginator.pageIndex = newPageIndex;\n\n // Since the paginator only emits after user-generated changes,\n // we need our own stream so we know to should re-render the data.\n this._internalPageChanges.next();\n }\n }\n });\n }\n\n /**\n * Used by the SukaTable. Called when it connects to the data source.\n * @docs-private\n */\n connect() { return this._renderData; }\n\n /**\n * Used by the SukaTable. Called when it is destroyed. No-op.\n * @docs-private\n */\n disconnect() { }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'suka-table-skeleton, table[suka-table-skeleton]',\n exportAs: 'sukaTableSkeleton',\n template: `\n <tr class=\"suka-header-row\">\n <th *ngFor=\"let column of columns\" class=\"suka-header-cell\"><div class=\"skeleton__text\"></div></th>\n </tr>\n <tr class=\"suka-row\" *ngFor=\"let row of rows\">\n <td *ngFor=\"let column of columns\" class=\"suka-cell\"><div class=\"skeleton__text\"></div></td>\n </tr>\n `,\n})\nexport class SukaTableSkeleton {\n @HostBinding('class.suka-table') baseClass = true;\n @HostBinding('class.suka-table--full-width') @Input() fullWidth = false;\n\n @Input() skeleton = false;\n\n @Input() columns = [];\n\n @Input() rowNumber = 5;\n\n rows = Array(this.rowNumber).fill(0).map((x, i) => i);\n}\n","import { NgModule } from '@angular/core';\nimport { CdkTableModule } from '@angular/cdk/table';\n\nimport { SukaTable } from './table.component';\nimport {\n SukaCell,\n SukaCellDef,\n SukaColumnDef,\n SukaFooterCell,\n SukaFooterCellDef,\n SukaHeaderCell,\n SukaHeaderCellDef\n} from './cell';\nimport {\n SukaFooterRow,\n SukaFooterRowDef,\n SukaHeaderRow,\n SukaHeaderRowDef,\n SukaRow,\n SukaRowDef\n} from './row';\nimport { CommonModule } from '@angular/common';\nimport { PaginationModule } from '../pagination/pagination.module';\nimport { SukaTableDataSource } from './table-data-source';\nimport { SukaTableSkeleton } from './table-skeleton.component';\n\nconst EXPORTED_DECLARATIONS = [\n // Table\n SukaTable,\n SukaTableSkeleton,\n\n // Template defs\n SukaHeaderCellDef,\n SukaHeaderRowDef,\n SukaColumnDef,\n SukaCellDef,\n SukaRowDef,\n SukaFooterCellDef,\n SukaFooterRowDef,\n\n // Cell directives\n SukaHeaderCell,\n SukaCell,\n SukaFooterCell,\n\n // Row directives\n SukaHeaderRow,\n SukaRow,\n SukaFooterRow,\n];\n\n@NgModule({\n imports: [\n CommonModule,\n CdkTableModule,\n PaginationModule,\n ],\n exports: [...EXPORTED_DECLARATIONS],\n declarations: [EXPORTED_DECLARATIONS],\n})\nclass TableModule { }\n\nexport {\n // Module\n TableModule,\n\n // Table\n SukaTable,\n\n // Template defs\n SukaHeaderCellDef,\n SukaHeaderRowDef,\n SukaColumnDef,\n SukaCellDef,\n SukaRowDef,\n SukaFooterCellDef,\n SukaFooterRowDef,\n\n // Cell directives\n SukaHeaderCell,\n SukaCell,\n SukaFooterCell,\n\n // Row directives\n SukaHeaderRow,\n SukaRow,\n SukaFooterRow,\n\n // Datasource\n SukaTableDataSource,\n};\n","import {\n Component,\n HostBinding,\n Input,\n ViewEncapsulation\n} from '@angular/core';\n\n@Component({\n selector: 'suka-navigation',\n template: `\n <nav role=\"navigation__container\">\n <ul class=\"navigation__items\">\n <ng-content></ng-content>\n </ul>\n </nav>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class Navigation {\n @HostBinding('attr.role') role = 'complementary';\n @HostBinding('class.navigation') hostClass = true;\n /**\n * Controls the expanded (`true`) or collapsed (`false`) state when on a small screen.\n */\n @HostBinding('class.navigation--expanded') @Input() expanded = true;\n /**\n * Controls the hidden (`true`) or visible (`false`) state\n */\n @HostBinding('class.navigation--hidden') @Input() hidden = false;\n\n /**\n * Toggles the `Navigation` expanded state.\n */\n toggle() {\n this.expanded = !this.expanded;\n }\n}\n","import {\n Component,\n Input,\n Optional,\n Output,\n EventEmitter,\n OnDestroy\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { Router, NavigationEnd, RouterEvent } from '@angular/router';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'suka-navigation-item',\n template: `\n <li [ngClass]=\"{\n 'navigation__item': !isSubMenu,\n 'navigation__menu-item': isSubMenu\n }\"\n [attr.role]=\"(isSubMenu ? 'none' : null)\">\n <a\n class=\"navigation__link\"\n [href]=\"href\"\n [attr.role]=\"(isSubMenu ? 'menuitem' : null)\"\n [attr.aria-current]=\"(active ? 'page' : null)\"\n (click)=\"navigate($event)\">\n <div *ngIf=\"!isSubMenu\" class=\"navigation__icon\">\n <ng-content select=\"suka-icon\"></ng-content>\n </div>\n <span class=\"navigation__link-text\">\n <ng-content></ng-content>\n </span>\n </a>\n </li>\n `\n})\nexport class NavigationItem implements OnDestroy {\n private subscription: Subscription;\n /**\n * Link for the item. NOTE: *do not* pass unsafe or untrusted values, this has the potential to open you up to XSS attacks\n */\n @Input() set href(v: string) {\n this._href = v;\n }\n\n get href() {\n return this.domSanitizer.bypassSecurityTrustUrl(this._href) as string;\n }\n\n /**\n * Toggles the active (current page) state for the link.\n */\n @Input() active = false;\n\n /**\n * Array of commands to send to the router when the link is activated\n * See: https://angular.io/api/router/Router#navigate\n */\n @Input() route: any[];\n\n /**\n * Router options. Used in conjunction with `route`\n * See: https://angular.io/api/router/Router#navigate\n */\n @Input() routeExtras: any;\n\n /**\n * Emits the navigation status promise when the link is activated\n */\n @Output() navigation = new EventEmitter<Promise<boolean>>();\n\n isSubMenu = false;\n\n protected _href = 'javascript:void(0)';\n\n constructor(protected domSanitizer: DomSanitizer, @Optional() protected router: Router) {\n if (router && this.route) {\n this.subscription = router.events.subscribe((s: RouterEvent) => {\n if (s instanceof NavigationEnd) {\n this.update();\n }\n });\n }\n }\n\n navigate(event): void {\n if (this.router && this.route) {\n event.preventDefault();\n const status = this.router.navigate(this.route, this.routeExtras);\n this.navigation.emit(status);\n }\n }\n\n ngOnDestroy(): void {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n private isActive(): boolean {\n if (this.router && this.route) {\n const itemUrl = this.router.createUrlTree(this.route, this.routeExtras);\n return this.router.isActive(itemUrl, true);\n }\n\n return false;\n }\n\n private update(): void {\n if (this.isActive()) {\n this.active = true;\n } else {\n this.active = false;\n }\n }\n}\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n Input,\n QueryList,\n ElementRef\n} from '@angular/core';\nimport { NavigationItem } from './navigation-item.component';\n\n/**\n * `SideNavMenu` provides a method to group `SideNavItem`s under a common heading.\n */\n@Component({\n selector: 'suka-navigation-menu',\n template: `\n <li class=\"navigation__item navigation__item--icon\">\n <button\n (click)=\"toggle()\"\n class=\"navigation__sub-menu\"\n aria-haspopup=\"true\"\n [attr.aria-expanded]=\"expanded\"\n type=\"button\">\n <div class=\"navigation__icon\">\n <ng-content select=\"suka-icon\"></ng-content>\n </div>\n <span class=\"navigation__sub-menu-title\">{{title}}</span>\n <suka-icon icon=\"chevron-down\" class=\"navigation__sub-menu-icon\"></suka-icon>\n </button>\n <ul class=\"navigation__menu\" role=\"menu\" [ngStyle]=\"{'max-height': expanded ? childrenHeight + 'px' : '0px'}\">\n <ng-content></ng-content>\n </ul>\n </li>\n `\n})\nexport class NavigationMenu implements AfterContentInit {\n /**\n * Heading for the gorup\n */\n @Input() title: string;\n /**\n * Controls the visibility of the child `SideNavItem`s\n */\n @Input() expanded = false;\n\n @ContentChildren(NavigationItem) navigationItems: QueryList<NavigationItem>;\n @ContentChildren(NavigationItem, { read: ElementRef }) navigationNativeItems: QueryList<ElementRef>;\n\n childrenHeight = 0;\n\n ngAfterContentInit() {\n setTimeout(() => {\n this.navigationItems.forEach(item => {\n item.isSubMenu = true;\n });\n });\n\n setTimeout(() => {\n this.navigationNativeItems.forEach(item => {\n item.nativeElement.children.forEach(children => {\n this.childrenHeight += children.offsetHeight;\n });\n });\n });\n }\n\n toggle() {\n this.expanded = !this.expanded;\n }\n}\n","import {\n Component,\n HostBinding,\n Input,\n ViewEncapsulation\n} from '@angular/core';\n\n@Component({\n selector: 'suka-mobile-navigation',\n template: `\n <button class=\"nav-toggle\" (click)=\"toggle()\"><suka-icon icon=\"menu\"></suka-icon> Navegación</button>\n <div class=\"backdrop--dark\"></div>\n <div class=\"mobile-navigation__nav-wrapper\">\n <div class=\"mobile-nav-trigger\" (click)=\"toggle()\"></div>\n <div class=\"mobile-nav\">\n <div class=\"mobile-nav__header\">\n Navegación\n <button sukaButton=\"plain\" (click)=\"toggle()\" size=\"sm\"><suka-icon icon=\"x\"></suka-icon></button>\n </div>\n <ng-content></ng-content>\n </div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class MobileNavigation {\n @HostBinding('attr.role') role = 'complementary';\n @HostBinding('class.mobile-navigation') hostClass = true;\n /**\n * Controls the expanded (`true`) or collapsed (`false`) state when on a small screen.\n */\n @HostBinding('class.mobile-navigation--expanded') @Input() expanded = false;\n /**\n * Controls the hidden (`true`) or visible (`false`) state\n */\n @HostBinding('class.mobile-navigation--hidden') @Input() hidden = false;\n\n constructor() { }\n\n toggle() {\n this.expanded = !this.expanded;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconModule } from '../icon/icon.module';\nimport { ButtonModule } from '../button/button.module';\n\nimport { Navigation } from './navigation.component';\nimport { NavigationItem } from './navigation-item.component';\nimport { NavigationMenu } from './navigation-menu.component';\nimport { MobileNavigation } from './mobile-navigation.component';\n\nexport {\n Navigation,\n NavigationItem,\n NavigationMenu,\n MobileNavigation,\n};\n\n@NgModule({\n declarations: [\n Navigation,\n NavigationItem,\n NavigationMenu,\n MobileNavigation,\n ],\n imports: [\n CommonModule,\n IconModule,\n ButtonModule,\n ],\n exports: [\n Navigation,\n NavigationItem,\n NavigationMenu,\n MobileNavigation,\n ]\n})\nexport class NavigationModule { }\n","import {\n Component,\n Input,\n HostBinding\n} from '@angular/core';\n\nexport type BadgeType = 'default' | 'info' | 'success' | 'attention' | 'alert' | 'disabled';\n\n@Component({\n selector: 'suka-badge',\n template: `<ng-content></ng-content>`\n})\nexport class Badge {\n /**\n * Sets the badge type. Can be `default`, `info`, `success`, `attention`, `alert` or `disabled`. Defaults to `default`.\n */\n @Input() type: BadgeType = 'default';\n\n /**\n * Badge size. Defaults to `md`.\n */\n @Input() size: 'sm' | 'md' = 'md';\n\n @Input() class = '';\n\n @HostBinding('attr.class') get attrClass() {\n return `badge badge--${this.type} badge--${this.size} ${this.class}`;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { Badge } from './badge.component';\n\nexport * from './badge.component';\n\n@NgModule({\n declarations: [\n Badge\n ],\n exports: [\n Badge\n ],\n imports: [\n CommonModule\n ]\n})\nexport class BadgeModule {}\n","import {\n Component,\n Input,\n Optional,\n Output,\n EventEmitter,\n TemplateRef\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'suka-topbar',\n template: `\n <header\n class=\"topbar\"\n role=\"banner\"\n [attr.aria-label]=\"brand + ' ' + productName\">\n\n <div class=\"container\" *ngIf=\"insideContainer else elseTpl\">\n <ng-container *ngTemplateOutlet=\"elseTpl\"></ng-container>\n </div>\n\n <ng-template #elseTpl>\n <ng-template\n *ngIf=\"isTemplate(brand)\"\n [ngTemplateOutlet]=\"brand\">\n </ng-template>\n <a\n *ngIf=\"!isTemplate(brand)\"\n class=\"topbar__name\"\n [href]=\"href\"\n (click)=\"navigate($event)\">\n <img *ngIf=\"logoSrc\" [src]=\"logoSrc\" class=\"topbar__logo\" [attr.alt]=\"brand\" />\n <span *ngIf=\"!logoSrc\" class=\"topbar__name--prefix\">{{brand}}</span>\n <span *ngIf=\"productName\" class=\"topbar__name--suffix\">{{productName}}</span>\n </a>\n <ng-content></ng-content>\n </ng-template>\n </header>\n `\n})\nexport class Topbar {\n /**\n * Put topbar contents inside a container. Defaults to `false`\n */\n @Input() insideContainer = false;\n /**\n * Label that shows to the right of the `brand`.\n */\n @Input() productName: string;\n /**\n * Source for the header logo.\n */\n @Input() logoSrc: string;\n /**\n * Top level branding. Defaults to \"Kushki\"\n */\n @Input() brand: string | TemplateRef<any> = 'Kushki';\n /**\n * Optional link for the header\n */\n @Input() set href(v: string) {\n this._href = v;\n }\n\n get href() {\n return this.domSanitizer.bypassSecurityTrustUrl(this._href) as string;\n }\n /**\n * Array of commands to send to the router when the link is activated\n * See: https://angular.io/api/router/Router#navigate\n */\n @Input() route: any[];\n\n /**\n * Router options. Used in conjunction with `route`\n * See: https://angular.io/api/router/Router#navigate\n */\n @Input() routeExtras: any;\n\n /**\n * Emits the navigation status promise when the link is activated\n */\n @Output() navigation = new EventEmitter<Promise<boolean>>();\n\n protected _href = 'javascript:void(0)';\n\n constructor(\n protected domSanitizer: DomSanitizer,\n @Optional() protected router: Router\n ) { }\n\n public isTemplate(value) {\n return value instanceof TemplateRef;\n }\n\n navigate(event) {\n if (this.router && this.route) {\n event.preventDefault();\n const status = this.router.navigate(this.route, this.routeExtras);\n this.navigation.emit(status);\n }\n }\n}\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'suka-topbar-global',\n template: `\n <ng-content></ng-content>\n `\n})\nexport class TopbarGlobal {\n @HostBinding('class.topbar__global') hostClass = true;\n}\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'suka-topbar-navigation',\n template: `\n <nav class=\"topbar__nav\" [attr.aria-label]=\"ariaLabel\">\n <ul class=\"topbar__menu-bar\" role=\"menubar\">\n <ng-content></ng-content>\n </ul>\n </nav>\n `\n})\nexport class TopbarNavigation {\n @Input() ariaLabel: string;\n}\n","import {\n Component,\n Input,\n Optional,\n EventEmitter,\n Output\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { Router } from '@angular/router';\nimport { IconType } from '../icon/icon-types';\n\n@Component({\n selector: 'suka-topbar-item',\n template: `\n <li style=\"height: 100%\">\n <a\n class=\"topbar__menu-item\"\n role=\"menuitem\"\n tabindex=\"0\"\n [href]=\"href\"\n (click)=\"navigate($event)\">\n <suka-icon *ngIf=\"icon\" [icon]=\"icon\" class=\"topbar__menu-item__icon\"></suka-icon>\n <ng-content></ng-content>\n </a>\n </li>\n `\n})\nexport class TopbarItem {\n @Input() set href(v: string) {\n this._href = v;\n }\n\n get href() {\n return this.domSanitizer.bypassSecurityTrustUrl(this._href) as string;\n }\n\n /**\n * Array of commands to send to the router when the link is activated\n * See: https://angular.io/api/router/Router#navigate\n */\n @Input() route: any[];\n\n /**\n * Router options. Used in conjunction with `route`\n * See: https://angular.io/api/router/Router#navigate\n */\n @Input() routeExtras: any;\n\n /**\n * Emits the navigation status promise when the link is activated\n */\n @Output() navigation = new EventEmitter<Promise<boolean>>();\n\n /**\n * Icon for topbar item.\n */\n @Input() icon: IconType;\n\n protected _href = 'javascript:void(0)';\n\n constructor(protected domSanitizer: DomSanitizer, @Optional() protected router: Router) { }\n\n navigate(event) {\n if (this.router && this.route) {\n event.preventDefault();\n const status = this.router.navigate(this.route, this.routeExtras);\n this.navigation.emit(status);\n }\n }\n}\n","import {\n Component,\n Input,\n HostListener,\n ElementRef\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n\n@Component({\n selector: 'suka-topbar-menu',\n template: `\n <li\n class=\"topbar__sub-menu\"\n style=\"height: 100%\"\n >\n <a\n class=\"topbar__menu-item topbar__menu-title\"\n [href]=\"href\"\n role=\"menuitem\"\n tabindex=\"0\"\n aria-haspopup=\"true\"\n [attr.aria-expanded]=\"expanded\">\n <ng-content></ng-content>\n <suka-icon icon=\"chevron-down\" class=\"topbar__menu-arrow\" aria-hidden=\"true\"></suka-icon>\n </a>\n <ul class=\"topbar__menu\" role=\"menu\">\n <ng-content select=\"suka-topbar-item\"></ng-content>\n </ul>\n </li>\n `\n})\nexport class TopbarMenu {\n @Input() set href(v: string) {\n this._href = v;\n }\n\n get href() {\n return this.domSanitizer.bypassSecurityTrustUrl(this._href) as string;\n }\n\n @Input() trigger: 'click' | 'mouseover' = 'click';\n\n public expanded = false;\n\n protected _href = 'javascript:void(0)';\n\n constructor(protected domSanitizer: DomSanitizer, protected elementRef: ElementRef) { }\n\n @HostListener('click')\n onClick() {\n if (this.trigger === 'click') {\n this.expanded = !this.expanded;\n }\n }\n\n @HostListener('mouseover')\n onMouseOver() {\n if (this.trigger === 'mouseover') {\n this.expanded = true;\n }\n }\n\n @HostListener('mouseout')\n onMouseOut() {\n if (this.trigger === 'mouseover') {\n this.expanded = false;\n }\n }\n\n @HostListener('focusout', ['$event'])\n onFocusOut(event) {\n if (!this.elementRef.nativeElement.contains(event.relatedTarget)) {\n this.expanded = false;\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconModule } from '../icon/icon.module';\n\nimport { Topbar } from './topbar.component';\nimport { TopbarGlobal } from './topbar-global.component';\nimport { TopbarNavigation } from './topbar-navigation.component';\nimport { TopbarItem } from './topbar-item.component';\nimport { TopbarMenu } from './topbar-menu.component';\n\n@NgModule({\n declarations: [\n Topbar,\n TopbarGlobal,\n TopbarNavigation,\n TopbarItem,\n TopbarMenu,\n ],\n imports: [\n CommonModule,\n IconModule,\n ],\n exports: [\n Topbar,\n TopbarGlobal,\n TopbarNavigation,\n TopbarItem,\n TopbarMenu,\n ]\n})\nclass TopbarModule { }\n\nexport {\n TopbarModule,\n Topbar,\n TopbarGlobal,\n TopbarNavigation,\n TopbarItem,\n TopbarMenu,\n};\n","import { Component, HostBinding } from '@angular/core';\nimport { Breakpoints, BreakpointObserver } from '@angular/cdk/layout';\n\n@Component({\n selector: 'suka-frame',\n template: `\n <div class=\"frame__header\">\n <ng-content select=\"suka-topbar\"></ng-content>\n </div>\n\n <ng-template #navigationTemplate>\n <ng-content select=\"suka-navigation\"></ng-content>\n </ng-template>\n\n <div class=\"frame__nav\" *ngIf=\"!mobile\">\n <ng-container *ngTemplateOutlet=\"navigationTemplate\"></ng-container>\n </div>\n\n <div class=\"frame__main\">\n <ng-content select=\"suka-page\"></ng-content>\n </div>\n\n <div class=\"frame__mobile-nav\" *ngIf=\"mobile\">\n <suka-mobile-navigation>\n <ng-container *ngTemplateOutlet=\"navigationTemplate\"></ng-container>\n </suka-mobile-navigation>\n </div>\n\n <ng-content></ng-content>\n `\n})\nexport class Frame {\n @HostBinding('class.frame') baseClass = true;\n @HostBinding('class.frame--mobile') mobile = false;\n\n constructor(breakpointObserver: BreakpointObserver) {\n breakpointObserver.observe('(max-width: 768px)').subscribe(result => {\n if (result.matches) {\n this.activateHandsetLayout();\n } else {\n this.activateDesktopLayout();\n }\n });\n }\n\n /**\n * Activates handset layout\n */\n activateHandsetLayout() {\n this.mobile = true;\n }\n\n /**\n * Activates desktop layout\n */\n activateDesktopLayout() {\n this.mobile = false;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { Frame } from './frame.component';\nimport { NavigationModule } from '../navigation/navigation.module';\nimport { LayoutModule } from '@angular/cdk/layout';\n\n@NgModule({\n declarations: [\n Frame,\n ],\n exports: [\n Frame,\n ],\n imports: [\n CommonModule,\n LayoutModule,\n NavigationModule,\n ]\n})\nclass FrameModule { }\n\nexport {\n FrameModule,\n Frame\n};\n","import { Component, OnInit, ViewEncapsulation, Optional } from '@angular/core';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { IBreadcrumb } from './breadcrumb.interface';\nimport { distinctUntilChanged, filter, map } from 'rxjs/operators';\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'suka-breadcrumb',\n template: `\n <ol class=\"breadcrumb\" *ngIf=\"router\">\n <li\n *ngFor=\"let breadcrumb of breadcrumbs$ | async; last as isLast;\"\n class=\"breadcrumb-item\"\n [ngClass]=\"{'active': isLast}\" aria-current=\"page\"\n >\n <a\n *ngIf=\"!isLast; else lastRoute\"\n [routerLink]=\"[breadcrumb.url]\"\n routerLinkActive=\"active\"\n >\n <suka-icon icon=\"home\" *ngIf=\"breadcrumb.label === 'Inicio'\"></suka-icon> {{ breadcrumb.label }}\n <suka-icon icon=\"chevron-right\"></suka-icon>\n </a>\n <ng-template #lastRoute>\n <suka-icon icon=\"home\" *ngIf=\"breadcrumb.label === 'Inicio'\"></suka-icon> {{ breadcrumb.label }}\n </ng-template>\n </li>\n </ol>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class Breadcrumb implements OnInit {\n /**\n * @ignore\n */\n breadcrumbs$: Observable<IBreadcrumb[]>;\n\n // Build your breadcrumb starting with the root route of your current activated route\n\n constructor(\n @Optional() private activatedRoute: ActivatedRoute,\n @Optional() public router: Router,\n ) { }\n\n ngOnInit() {\n if (this.router) {\n this.breadcrumbs$ = this.router.events.pipe(\n filter(event => event instanceof NavigationEnd),\n distinctUntilChanged(),\n map(event => this.buildBreadcrumb(this.activatedRoute.root))\n );\n }\n }\n\n buildBreadcrumb(\n route: ActivatedRoute,\n url: string = '',\n breadcrumbs: Array<IBreadcrumb> = []\n ): Array<IBreadcrumb> {\n // If no routeConfig is avalailable we are on the root path\n const label = route.routeConfig ? route.routeConfig.data['breadcrumb'] : 'Inicio';\n const path = route.routeConfig ? route.routeConfig.path : '';\n // In the routeConfig the complete path is not available,\n // so we rebuild it each time\n const nextUrl = `${url}${path}/`;\n const breadcrumb = {\n label,\n url: nextUrl,\n };\n const newBreadcrumbs = [...breadcrumbs, breadcrumb];\n if (route.firstChild) {\n // If we are not on our current path yet,\n // there will be more children to look after, to build our breadcumb\n return this.buildBreadcrumb(route.firstChild, nextUrl, newBreadcrumbs);\n }\n return newBreadcrumbs;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\n\nimport { IconModule } from '../icon/icon.module';\n\nimport { Breadcrumb } from './breadcrumb.component';\n\n\n@NgModule({\n declarations: [\n Breadcrumb,\n ],\n exports: [\n Breadcrumb,\n ],\n imports: [\n CommonModule,\n RouterModule,\n IconModule,\n ]\n})\nclass BreadcrumbModule { }\n\nexport {\n BreadcrumbModule,\n Breadcrumb\n};\n","import { Component, HostBinding, Input, OnInit, TemplateRef } from '@angular/core';\n\n@Component({\n selector: 'suka-page',\n template: `\n <suka-page-header\n [breadcrumb]=\"breadcrumb\"\n [title]=\"title\"\n [subtitle]=\"subtitle\"\n [actions]=\"actions\"\n ></suka-page-header>\n\n <ng-content></ng-content>\n `\n})\nexport class Page implements OnInit {\n @Input() fluid = false;\n @HostBinding('class.page--narrow') @Input() narrow = false;\n\n @HostBinding('class.page') default = true;\n @HostBinding('class.page--fluid') _fluid = false;\n\n @Input() title: string | TemplateRef<any>;\n\n @Input() subtitle: string;\n\n @Input() actions: TemplateRef<any>;\n\n @Input() breadcrumb = true;\n\n public ngOnInit() {\n if (this.fluid) {\n this._fluid = true;\n this.default = false;\n }\n }\n}\n","import { HostBinding, Component, Input, TemplateRef } from '@angular/core';\n\n@Component({\n selector: `suka-page-header`,\n template: `\n <suka-breadcrumb *ngIf=\"breadcrumb\"></suka-breadcrumb>\n\n <suka-stack\n alignment=\"center\"\n >\n <div sukaStackItem fill=\"true\">\n <ng-container *ngIf=\"!isTemplate(title)\">\n <h3 class=\"page__header__title\">{{title}}</h3>\n <span *ngIf=\"subtitle\" class=\"page__header__subtitle\">{{subtitle}}</span>\n </ng-container>\n\n <ng-template *ngIf=\"isTemplate(title)\" [ngTemplateOutlet]=\"title\"></ng-template>\n </div>\n\n <ng-template [ngTemplateOutlet]=\"actions\"></ng-template>\n </suka-stack>\n `\n})\nexport class PageHeader {\n @HostBinding('class.page__header') baseClass = true;\n\n @Input() title: string | TemplateRef<any>;\n\n @Input() subtitle: string;\n\n @Input() actions: TemplateRef<any>;\n\n @Input() breadcrumb = true;\n\n public isTemplate(value) {\n return value instanceof TemplateRef;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\n\nimport { BreadcrumbModule } from '../breadcrumb/breadcrumb.module';\n\nimport { Page } from './page.component';\nimport { PageHeader } from './page-header.component';\nimport { StackModule } from '../stack/stack.module';\n\n@NgModule({\n declarations: [\n Page,\n PageHeader,\n ],\n exports: [\n Page,\n PageHeader,\n ],\n imports: [\n CommonModule,\n RouterModule,\n BreadcrumbModule,\n StackModule,\n ]\n})\nclass PageModule { }\n\nexport {\n PageModule,\n Page\n};\n","import {\n Component,\n Input,\n Output,\n ViewChild,\n EventEmitter,\n HostBinding\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { FileItem } from './file-item.interface';\n\nconst noop = () => {};\n\n@Component({\n selector: 'suka-file-uploader',\n template: `\n <ng-container *ngIf=\"!skeleton; else skeletonTemplate\">\n <label class=\"label\">{{title}}</label>\n <div *ngIf=\"description\" class=\"form__helper-text\">{{description}}</div>\n <div class=\"file\">\n <button\n type=\"button\"\n [sukaButton]=\"buttonType\"\n (click)=\"fileInput.click()\"\n [attr.for]=\"fileUploaderId\"\n [size]=\"size\">\n {{buttonText}}\n </button>\n <input\n #fileInput\n type=\"file\"\n class=\"file-input\"\n [accept]=\"accept\"\n [id]=\"fileUploaderId\"\n [multiple]=\"multiple\"\n tabindex=\"-1\"\n (change)=\"onFilesAdded()\"/>\n <div class=\"file-container\">\n <div *ngFor=\"let fileItem of files\">\n <suka-file [fileItem]=\"fileItem\" (remove)=\"removeFile(fileItem)\"></suka-file>\n <div *ngIf=\"fileItem.invalid\" class=\"form-requirement\">\n {{fileItem.invalidText}}\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n <ng-template #skeletonTemplate>\n <div class=\"skeleton__text\" style=\"width: 100px\"></div>\n <div class=\"skeleton__text\" style=\"width: 225px\"></div>\n <button sukaButton skeleton=\"true\"></button>\n </ng-template>\n `,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: FileUploader,\n multi: true\n }\n ]\n})\nexport class FileUploader {\n /**\n * Counter used to create unique ids for file-uploader components\n */\n static fileUploaderCount = 0;\n /**\n * Accessible text for the button that opens the upload window.\n */\n @Input() buttonText = 'Agregar archivo(s)';\n\n /**\n * Type set for button\n */\n @Input() buttonType: 'primary' | 'basic' | 'plain' | 'destructive' | 'outline_white' = 'basic';\n\n /**\n * Text set to the title\n */\n @Input() title: string;\n\n /**\n * Text set to the description\n */\n @Input() description: string;\n\n /**\n * Specify the types of files that the input should be able to receive\n */\n @Input() accept = [];\n\n /**\n * Set to `false` to tell the component to only accept a single file on upload.\n *\n * Defaults to `true`. Accepts multiple files.\n */\n @Input() multiple = true;\n\n /**\n * Set to `true` for a loading file uploader.\n */\n @Input() skeleton = false;\n\n /**\n * Sets the size of the button.\n */\n @Input() size: 'sm' | 'normal';\n\n /**\n * Provides a unique id for the underlying `<input>` node\n */\n @Input() fileUploaderId = `file-uploader-${FileUploader.fileUploaderCount}`;\n\n /**\n * Maintains a reference to the view DOM element of the underlying `<input>` node\n */\n @ViewChild('fileInput', {static: false}) fileInput;\n\n /**\n * The list of files that have been submitted to be uploaded\n */\n @Input() files = new Set<FileItem>();\n\n /**\n * Emits an event to other classes when files change\n */\n @Output() filesChange = new EventEmitter<any>();\n\n @HostBinding('class.file-uploader') baseClass = true;\n\n protected onTouchedCallback: () => void = noop;\n protected onChangeCallback: (_: Set<FileItem>) => void = noop;\n\n constructor() {\n FileUploader.fileUploaderCount++;\n }\n\n /**\n * Specifies the property to be used as the return value to `ngModel`\n */\n get value(): Set<FileItem> {\n return this.files;\n }\n set value(v: Set<FileItem>) {\n if (v !== this.files) {\n this.files = v;\n this.onChangeCallback(v);\n }\n }\n\n onBlur() {\n this.onTouchedCallback();\n }\n\n /**\n * Propagates the injected `value`.\n */\n writeValue(value: Set<FileItem>) {\n if (value !== this.value) {\n this.files = value;\n }\n }\n\n onFilesAdded() {\n const files = this.fileInput.nativeElement.files;\n if (!this.multiple) {\n this.files.clear();\n }\n for (let file of files) {\n const fileItem: FileItem = {\n file,\n uploaded: false,\n state: 'edit',\n invalid: false,\n invalidText: '',\n };\n this.files.add(fileItem);\n this.filesChange.emit(this.files);\n }\n\n this.value = this.files;\n }\n\n removeFile(fileItem) {\n this.files.delete(fileItem);\n this.fileInput.nativeElement.value = '';\n this.filesChange.emit(this.files);\n }\n\n /**\n * Registers the injected function to control the touch use of the `FileUploader`.\n */\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n /**\n * Sets a method in order to propagate changes back to the form.\n */\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n}\n","import {\n Component,\n Input,\n Output,\n ViewChild,\n EventEmitter,\n OnInit,\n HostBinding\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { FileItem } from './file-item.interface';\n\n@Component({\n selector: 'suka-file',\n template: `\n <p class=\"file-filename\">{{fileItem.file.name}}</p>\n <span\n *ngIf=\"fileItem.state === 'edit'\"\n class=\"file__state-container\"\n (click)=\"remove.emit()\"\n (keyup.enter)=\"remove.emit()\"\n (keyup.space)=\"remove.emit()\"\n tabindex=\"0\">\n <suka-icon\n *ngIf=\"isInvalidText\"\n icon=\"alert-circle\"\n class=\"file--invalid\">\n </suka-icon>\n <suka-icon\n icon=\"x\"\n class=\"file-close\">\n </suka-icon>\n </span>\n <span *ngIf=\"fileItem.state === 'upload'\">\n <suka-loading size=\"sm\"></suka-loading>\n </span>\n <span\n *ngIf=\"fileItem.state === 'complete'\"\n class=\"file__state-container\"\n tabindex=\"0\">\n <suka-icon\n icon=\"check\"\n class=\"file-complete\">\n </suka-icon>\n </span>\n `\n})\nexport class File {\n /**\n * A single `FileItem` from the set of `FileItem`s\n */\n @Input() fileItem: FileItem;\n\n @Output() remove = new EventEmitter();\n\n @HostBinding('class.file__selected-file') selectedFile = true;\n\n @HostBinding('class.file__selected-file--invalid') get isInvalidText() {\n return this.fileItem.invalidText;\n }\n\n @HostBinding('class.file__selected-file--valid') get isValid() {\n return this.fileItem.state === 'complete';\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ButtonModule } from '../button/button.module';\nimport { IconModule } from '../icon/icon.module';\nimport { LoadingModule } from '../loading/loading.module';\n\nimport { FileUploader } from './file-uploader.component';\nimport { File } from './file.component';\n\nexport { FileUploader } from './file-uploader.component';\n\n@NgModule({\n declarations: [\n FileUploader,\n File\n ],\n exports: [\n FileUploader\n ],\n imports: [\n CommonModule,\n ButtonModule,\n IconModule,\n LoadingModule,\n ]\n})\nexport class FileUploaderModule { }\n","import { HostBinding, Component, Input, TemplateRef } from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\n\n@Component({\n selector: `suka-avatar`,\n template: `\n <ng-container *ngIf=\"!imgSrc\">{{getInitials()}}</ng-container>\n <img *ngIf=\"imgSrc\" [src]=\"imgSrc\" />\n `\n})\nexport class Avatar {\n /**\n * Sets an image url for the avatar. If it is set, it displays instead of the name initials.\n */\n @Input() imgSrc: string;\n\n /**\n * Avatar name. Used to display its initials (Max 2).\n */\n @Input() name: string;\n\n /**\n * Sets the avatar color.\n */\n @Input() color: 'blue' | 'azure' | 'indigo' | 'purple' | 'pink' | 'red' | 'orange' |\n 'yellow' | 'lime' | 'green' | 'teal' | 'cyan' | 'gray' | 'gray-dark' = 'gray';\n\n /**\n * Sets the avatar class\n */\n @Input() class = '';\n\n /**\n * Sets the avatar size.\n */\n @Input() size: 'sm' | 'md' | 'lg' | 'xl' | '2xl' = 'md';\n\n @HostBinding('attr.class') get attrClass() {\n return `avatar avatar--${this.color} avatar--${this.size} ${this.class}`;\n }\n\n /**\n * Sets the avatar initials according to the name input.\n */\n getInitials(): string {\n if (this.name === '' || !this.name) {\n return '';\n }\n\n const names = this.name.split(' ');\n let initials = names[0].substring(0, 1).toUpperCase();\n\n if (names.length > 1) {\n initials += names[names.length - 1].substring(0, 1).toUpperCase();\n }\n return initials;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { Avatar } from './avatar.component';\n\nexport { Avatar } from './avatar.component';\n\n@NgModule({\n declarations: [Avatar],\n exports: [Avatar],\n imports: [CommonModule]\n})\nexport class AvatarModule { }\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ElementRef,\n TemplateRef\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'suka-date-picker-input',\n template: `\n <div class=\"date-picker-input\"\n [ngClass]=\"{\n 'date-picker--single' : type === 'single',\n 'date-picker--range' : type === 'range',\n 'skeleton' : skeleton\n }\">\n <div class=\"date-picker-input-container\">\n <label *ngIf=\"label\" [for]=\"id\" class=\"label\">\n <ng-container *ngIf=\"!isTemplate(label)\">{{label}}</ng-container>\n <ng-template *ngIf=\"isTemplate(label)\" [ngTemplateOutlet]=\"label\"></ng-template>\n </label>\n <div class=\"date-picker-input__wrapper\">\n <input\n *ngIf=\"!skeleton\"\n autocomplete=\"off\"\n type=\"text\"\n class=\"date-picker__input\"\n [value]=\"value\"\n [pattern]=\"pattern\"\n [placeholder]=\"placeholder\"\n [id]= \"id\"\n [disabled]=\"disabled\"\n (change)=\"onChange($event)\"/>\n <suka-icon\n icon=\"calendar\"\n class=\"date-picker__icon\"\n *ngIf=\"!timePicker\"\n >\n </suka-icon>\n <suka-icon\n icon=\"clock\"\n class=\"date-picker__icon\"\n *ngIf=\"timePicker\"\n >\n </suka-icon>\n </div>\n <div *ngIf=\"invalid\" class=\"form-requirement\">\n <ng-container *ngIf=\"!isTemplate(invalidText)\">{{invalidText}}</ng-container>\n <ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\n </div>\n </div>\n </div>\n `,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: DatePickerInput,\n multi: true\n }\n ]\n})\nexport class DatePickerInput {\n private static datePickerCount = 0;\n\n /**\n * Select a calendar type for the `model`.\n */\n @Input() type: 'simple' | 'single' | 'range' = 'simple';\n\n /**\n * Sets the id for the `DatePickerInput`.\n */\n @Input() id = `datepicker-${DatePickerInput.datePickerCount++}`;\n\n /**\n * Set to `true` to display a calendar icon\n */\n @Input() hasIcon = false;\n\n /**\n * label content.\n */\n @Input() label: string | TemplateRef<any>;\n\n /**\n * Sets the input's placeholder.\n */\n @Input() placeholder = 'dd/mm/yyyy';\n\n /**\n * Sets the pattern to follow.\n */\n @Input() pattern = '^\\\\d{1,2}/\\\\d{1,2}/\\\\d{4}$';\n\n /**\n * Emits event notifying other classes of a value change.\n */\n @Output() valueChange: EventEmitter<string> = new EventEmitter();\n\n /**\n * Set to `true` to disable the input\n */\n @Input() disabled = false;\n\n /**\n * Set to `true` to display invalid state.\n */\n @Input() invalid = false;\n\n /**\n * Feedback message to display when `DatepickerInput` is invalid.\n */\n @Input() invalidText: string | TemplateRef<any>;\n\n /**\n * Sets a time picker icon for input\n */\n @Input() timePicker = false;\n\n /**\n * Skeleton state.\n */\n @Input() skeleton = false;\n\n /**\n * Sets the `DatepickerInput` value.\n */\n @Input() value = '';\n\n constructor(protected elementRef: ElementRef) { }\n\n /**\n * Sets the value, marks the input as touched and emits a value change event.\n * @param event\n */\n onChange(event) {\n this.value = event.target.value;\n this.valueChange.emit(this.value);\n this.propagateChange(this.value);\n this.onTouched();\n }\n\n public writeValue(value: any) {\n this.value = value;\n }\n\n public registerOnChange(fn: any) {\n this.propagateChange = fn;\n }\n\n public registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n onTouched: () => any = () => { };\n\n propagateChange = (_: any) => { };\n\n public isTemplate(value) {\n return value instanceof TemplateRef;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DatePickerInput } from './datepicker-input.component';\nimport { IconModule } from '../icon/icon.module';\n\n@NgModule({\n declarations: [\n DatePickerInput\n ],\n exports: [\n DatePickerInput\n ],\n imports: [\n CommonModule,\n IconModule,\n ]\n})\nexport class DatePickerInputModule { }\n","const monthToStr = (monthNumber, shorthand, locale) =>\n locale.months[shorthand ? 'shorthand' : 'longhand'][monthNumber];\n\nconst config = {\n selectorInit: '[data-date-picker]',\n selectorDatePickerInput: '[data-date-picker-input]',\n selectorDatePickerInputFrom: '[data-date-picker-input-from]',\n selectorDatePickerInputTo: '[data-date-picker-input-to]',\n selectorDatePickerIcon: '[data-date-picker-icon]',\n selectorFlatpickrMonthYearContainer: '.flatpickr-current-month',\n selectorFlatpickrYearContainer: '.numInputWrapper',\n selectorFlatpickrCurrentMonth: '.cur-month',\n classCalendarContainer: `date-picker__calendar`,\n classMonth: `date-picker__month`,\n classWeekdays: `date-picker__weekdays`,\n classDays: `date-picker__days`,\n classWeekday: `date-picker__weekday`,\n classDay: `date-picker__day`,\n classFocused: `focused`,\n classVisuallyHidden: `visually-hidden`,\n classFlatpickrCurrentMonth: 'cur-month',\n attribType: 'data-date-picker-type',\n dateFormat: 'd/m/Y',\n shorthand: false\n};\n\nexport const sukaFlatpickrMonthSelectPlugin = fp => {\n const setupElements = () => {\n if (!fp.monthElements) {\n return;\n }\n fp.monthElements.forEach(elem => {\n if (!elem.parentNode) { return; }\n elem.parentNode.removeChild(elem);\n });\n fp.monthElements.splice(\n 0,\n fp.monthElements.length,\n ...fp.monthElements.map(() => {\n const monthElement = fp._createElement(\n 'span',\n config.classFlatpickrCurrentMonth\n );\n monthElement.textContent = monthToStr(\n fp.currentMonth,\n config.shorthand === true,\n fp.l10n\n );\n fp.yearElements[0]\n .closest(config.selectorFlatpickrMonthYearContainer)\n .insertBefore(\n monthElement,\n fp.yearElements[0].closest(config.selectorFlatpickrYearContainer)\n );\n return monthElement;\n })\n );\n };\n const updateCurrentMonth = () => {\n const monthStr = monthToStr(\n fp.currentMonth,\n config.shorthand === true,\n fp.l10n\n );\n\n if (fp.yearElements) {\n fp.yearElements.forEach(elem => {\n const currentMonthContainer = elem.closest(\n config.selectorFlatpickrMonthYearContainer\n );\n Array.prototype.forEach.call(\n currentMonthContainer.querySelectorAll('.cur-month'),\n monthElement => {\n monthElement.textContent = monthStr;\n }\n );\n });\n }\n };\n\n const register = () => {\n fp.loadedPlugins.push('sukaFlatpickrMonthSelectPlugin');\n };\n\n return {\n onMonthChange: updateCurrentMonth,\n onOpen: updateCurrentMonth,\n onReady: [setupElements, updateCurrentMonth, register]\n };\n};\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ViewEncapsulation,\n ElementRef,\n OnDestroy,\n HostListener,\n TemplateRef,\n OnChanges,\n SimpleChanges,\n AfterViewChecked\n} from '@angular/core';\nimport rangePlugin from 'flatpickr/dist/plugins/rangePlugin';\nimport flatpickr from 'flatpickr';\nimport { Spanish } from 'flatpickr/dist/l10n/es.js';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { sukaFlatpickrMonthSelectPlugin } from './sukaFlatpickrMonthSelectPlugin';\n\n\n@Component({\n selector: 'suka-date-picker',\n template: `\n <div class=\"form-item\">\n <div\n class=\"date-picker\"\n [ngClass]=\"{\n 'date-picker--range' : range,\n 'date-picker--single' : !range,\n 'date-picker--range-with-time' : range && hasTime,\n 'skeleton' : skeleton\n }\">\n <div class=\"date-picker-container\">\n <suka-date-picker-input\n [label]=\"label\"\n [placeholder]=\"placeholder\"\n [pattern]=\"pattern\"\n [id]=\"id\"\n [type]=\"(range ? 'range' : 'single')\"\n [hasIcon]=\"(range ? false : true)\"\n [disabled]=\"disabled\"\n [invalid]=\"invalid\"\n [invalidText]=\"invalidText\"\n [timePicker]=\"hasTime && noCalendar\"\n [skeleton]=\"skeleton\"\n (valueChange)=\"onValueChange($event)\">\n </suka-date-picker-input>\n </div>\n <div *ngIf=\"range\" class=\"date-picker-container\">\n <suka-date-picker-input\n [label]=\"rangeLabel\"\n [placeholder]=\"placeholder\"\n [pattern]=\"pattern\"\n [id]=\"id + '-rangeInput'\"\n [type]=\"(range ? 'range' : 'single')\"\n [hasIcon]=\"(range ? true : null)\"\n [disabled]=\"disabled\"\n [invalid]=\"invalid\"\n [invalidText]=\"invalidText\"\n [timePicker]=\"hasTime && noCalendar\"\n [skeleton]=\"skeleton\"\n (valueChange)=\"onRangeValueChange($event)\">\n </suka-date-picker-input>\n </div>\n </div>\n </div>\n `,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: DatePicker,\n multi: true\n }\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class DatePicker implements OnDestroy, OnChanges, AfterViewChecked {\n private static datePickerCount = 0;\n\n /**\n * Select calendar range mode\n */\n @Input() range = false;\n\n /**\n * Format of date\n *\n * For reference: https://flatpickr.js.org/formatting/\n */\n @Input() dateFormat = 'd/m/Y';\n\n /**\n * Defines if time selector should be present. Please define dateFormat accordingly. i.e.: \"d/m/Y H:i\"\n *\n * For reference: https://flatpickr.js.org/formatting/\n */\n @Input() hasTime = false;\n\n /**\n * Disables calendar input. Useful for time picker functionality. Pair it with a time related format accordingly. i.e.: \"H:i\"\n */\n @Input() noCalendar = false;\n\n /**\n * Date picker label.\n */\n @Input() label: string | TemplateRef<any>;\n\n /**\n * Label for date range selector.\n */\n @Input() rangeLabel: string;\n\n /**\n * Sets the placeholder text.\n */\n @Input() placeholder = 'dd/mm/yyyy';\n\n /**\n * Sets the pattern to follow.\n */\n @Input() pattern = '^\\\\d{1,2}/\\\\d{1,2}/\\\\d{4}$';\n\n /**\n * Date picker id.\n */\n @Input() id = `datepicker-${DatePicker.datePickerCount++}`;\n\n /**\n * Sets the value.\n */\n @Input() set value(v: (Date | string)[]) {\n if (!v) {\n v = [];\n }\n this._value = v;\n }\n\n get value() {\n return this._value;\n }\n\n /**\n * Set to `true` to disable the `Datepicker`\n */\n @Input() disabled = false;\n\n /**\n * Set to `true` to display invalid state.\n */\n @Input() invalid = false;\n\n /**\n * Feedback message to display when `Datepicker` is invalid.\n */\n @Input() invalidText: string | TemplateRef<any>;\n\n /**\n * Skeleton state.\n */\n @Input() skeleton = false;\n\n /**\n * Array of date picker plugins.\n */\n @Input() plugins = [];\n\n /**\n * Flatpickr options\n */\n @Input()\n set flatpickrOptions(options) {\n this._flatpickrOptions = Object.assign({}, this._flatpickrOptions, options);\n }\n get flatpickrOptions() {\n const plugins = [...this.plugins, sukaFlatpickrMonthSelectPlugin];\n if (this.range) {\n plugins.push(rangePlugin({ input: `#${this.id}-rangeInput`, position: 'left' }));\n }\n return Object.assign({}, this._flatpickrOptions, this.flatpickrBaseOptions, {\n mode: this.range ? 'range' : 'single',\n plugins,\n dateFormat: this.dateFormat,\n enableTime: this.hasTime,\n noCalendar: this.noCalendar,\n });\n }\n\n /**\n * Emits event notifying other classes of a change.\n */\n @Output() valueChange: EventEmitter<any> = new EventEmitter();\n\n protected _value = [];\n\n protected _flatpickrOptions = {\n allowInput: true\n };\n\n protected flatpickrBaseOptions = {\n mode: 'single',\n dateFormat: 'd/m/Y',\n locale: Spanish,\n plugins: this.plugins,\n onOpen: () => { this.updateClassNames(); },\n value: this.value\n };\n\n protected flatpickrInstance = null;\n\n constructor(protected elementRef: ElementRef) { }\n\n ngOnChanges(changes: SimpleChanges) {\n if (this.isFlatpickrLoaded()) {\n let dates = this.flatpickrInstance.selectedDates;\n if (changes.value && this.didDateValueChange(changes.value.currentValue, changes.value.previousValue)) {\n dates = changes.value.currentValue;\n }\n // only reset the flatpickr instance on Input changes\n this.flatpickrInstance = flatpickr(`#${this.id}`, this.flatpickrOptions);\n this.setDateValues(dates);\n }\n }\n\n // because the actual view may be delayed in loading (think projection into a tab pane)\n // and because we rely on a library that operates outside the Angular view of the world\n // we need to keep trying to load the library, until the relevant DOM is actually live\n ngAfterViewChecked() {\n if (!this.isFlatpickrLoaded()) {\n this.flatpickrInstance = flatpickr(`#${this.id}`, this.flatpickrOptions);\n\n // if (and only if) the initialization succeeded, we can set the date values\n if (this.isFlatpickrLoaded()) {\n if (this.value.length > 0) {\n this.setDateValues(this.value);\n }\n }\n }\n }\n\n @HostListener('focusin')\n onFocus() {\n this.onTouched();\n }\n\n /**\n * Writes a value from the model to the component. Expects the value to be `null` or `(Date | string)[]`\n * @param value value received from the model\n */\n writeValue(value: (Date | string)[]) {\n this.value = value;\n if (this.isFlatpickrLoaded() && this.flatpickrInstance.config) {\n this.setDateValues(this.value);\n }\n }\n\n registerOnChange(fn: any) {\n this.propagateChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n onTouched: () => any = () => { };\n\n propagateChange = (_: any) => { };\n\n /**\n * Cleans up our flatpickr instance\n */\n ngOnDestroy() {\n if (!this.isFlatpickrLoaded()) { return; }\n this.flatpickrInstance.destroy();\n }\n\n /**\n * Handles the `valueChange` event from the primary/single input\n */\n onValueChange(event: string) {\n if (this.isFlatpickrLoaded()) {\n const date = this.flatpickrInstance.parseDate(event, this.dateFormat);\n if (this.range) {\n this.setDateValues([date, this.flatpickrInstance.selectedDates[1]]);\n } else {\n this.setDateValues([date]);\n }\n this.doSelect(this.flatpickrInstance.selectedDates);\n }\n }\n\n /**\n * Handles the `valueChange` event from the range input\n */\n onRangeValueChange(event: string) {\n if (this.isFlatpickrLoaded()) {\n const date = this.flatpickrInstance.parseDate(event, this.dateFormat);\n this.setDateValues([this.flatpickrInstance.selectedDates[0], date]);\n this.doSelect(this.flatpickrInstance.selectedDates);\n }\n }\n\n /**\n * Suka uses a number of specific classnames for parts of the flatpickr - this idempotent method applies them if needed.\n */\n protected updateClassNames() {\n if (!this.elementRef) { return; }\n\n // get all the possible flatpickrs in the document - we need to add classes to (potentially) all of them\n const calendarContainer = document.querySelectorAll('.flatpickr-calendar');\n const monthContainer = document.querySelectorAll('.flatpickr-month');\n const weekdaysContainer = document.querySelectorAll('.flatpickr-weekdays');\n const weekdayContainer = document.querySelectorAll('.flatpickr-weekday');\n const daysContainer = document.querySelectorAll('.flatpickr-days');\n const dayContainer = document.querySelectorAll('.flatpickr-day');\n\n // add classes to lists of elements\n const addClassIfNotExists = (classname: string, elementList: NodeListOf<Element>) => {\n Array.from(elementList).forEach(element => {\n if (!element.classList.contains(classname)) {\n element.classList.add(classname);\n }\n });\n };\n\n // add classes (but only if they don't exist, small perf win)\n addClassIfNotExists('date-picker__calendar', calendarContainer);\n addClassIfNotExists('date-picker__month', monthContainer);\n addClassIfNotExists('date-picker__weekdays', weekdaysContainer);\n addClassIfNotExists('date-picker__days', daysContainer);\n\n // add weekday classes and format the text\n Array.from(weekdayContainer).forEach(element => {\n element.innerHTML = element.innerHTML.replace(/\\s+/g, '');\n element.classList.add('date-picker__weekday');\n });\n\n // add day classes and special case the \"today\" element based on `this.value`\n Array.from(dayContainer).forEach(element => {\n element.classList.add('date-picker__day');\n if (!this.value) {\n return;\n }\n if (element.classList.contains('today') && this.value.length > 0) {\n element.classList.add('no-border');\n } else if (element.classList.contains('today') && this.value.length === 0) {\n element.classList.remove('no-border');\n }\n });\n }\n\n /**\n * Applies the given date value array to both the flatpickr instance and the `input`(s)\n * @param dates the date values to apply\n */\n protected setDateValues(dates: (Date | string)[]) {\n if (this.isFlatpickrLoaded()) {\n const singleInput = this.elementRef.nativeElement.querySelector(`#${this.id}`);\n const rangeInput = this.elementRef.nativeElement.querySelector(`#${this.id}-rangeInput`);\n\n // set the date on the instance\n this.flatpickrInstance.setDate(dates);\n\n // we can either set a date value or an empty string, so we start with an empty string\n let singleDate = '';\n // if date is a string, parse and format\n if (typeof this.flatpickrInstance.selectedDates[0] === 'string') {\n singleDate = this.flatpickrInstance.parseDate(this.flatpickrInstance.selectedDates[0], this.dateFormat);\n singleDate = this.flatpickrInstance.formatDate(singleDate, this.dateFormat);\n // if date is not a string we can assume it's a Date and we should format\n } else if (!!this.flatpickrInstance.selectedDates[0]) {\n singleDate = this.flatpickrInstance.formatDate(this.flatpickrInstance.selectedDates[0], this.dateFormat);\n }\n\n if (rangeInput) {\n // we can either set a date value or an empty string, so we start with an empty string\n let rangeDate = '';\n // if date is a string, parse and format\n if (typeof this.flatpickrInstance.selectedDates[1] === 'string') {\n rangeDate = this.flatpickrInstance.parseDate(this.flatpickrInstance.selectedDates[1].toString(), this.dateFormat);\n rangeDate = this.flatpickrInstance.formatDate(rangeDate, this.dateFormat);\n // if date is not a string we can assume it's a Date and we should format\n } else if (!!this.flatpickrInstance.selectedDates[1]) {\n rangeDate = this.flatpickrInstance.formatDate(this.flatpickrInstance.selectedDates[1], this.dateFormat);\n }\n setTimeout(() => {\n // apply the values\n rangeInput.value = rangeDate;\n singleInput.value = singleDate;\n });\n }\n }\n }\n\n protected doSelect(selectedValue: (Date | string)[]) {\n this.valueChange.emit(selectedValue);\n this.propagateChange(selectedValue);\n }\n\n protected didDateValueChange(currentValue, previousValue) {\n return currentValue[0] !== previousValue[0] || currentValue[1] !== previousValue[1];\n }\n\n /**\n * More advanced checking of the loaded state of flatpickr\n */\n protected isFlatpickrLoaded() {\n // cast the instance to a boolean, and some method that has to exist for the library to be loaded in this case `setDate`\n return !!this.flatpickrInstance && !!this.flatpickrInstance.setDate;\n }\n}\n","import { DatePickerInputModule } from './../datepicker-input/datepicker-input.module';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DatePicker } from './datepicker.component';\n\n@NgModule({\n declarations: [\n DatePicker\n ],\n exports: [\n DatePicker,\n DatePickerInputModule\n ],\n imports: [\n CommonModule,\n DatePickerInputModule\n ]\n})\nexport class DatePickerModule { }\n","import { OverlayRef } from '@angular/cdk/overlay';\nimport { ToastContainer } from './toast-container.component';\nimport { Subject, Observable } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\n\nexport class ToastRef {\n public componentInstance: ToastContainer;\n\n constructor(private readonly overlayRef: OverlayRef) { }\n\n isVisible() {\n return this.overlayRef && this.overlayRef.overlayElement;\n }\n\n getPosition() {\n return this.overlayRef.overlayElement.getBoundingClientRect();\n }\n\n public close(data?: any): void {\n this.overlayRef.dispose();\n\n // tslint:disable-next-line: no-non-null-assertion\n this.componentInstance = null!;\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nimport { ToastConfig } from './toast.service';\n\nexport const TOAST_CONFIG_DATA = new InjectionToken<ToastConfig>('TOAST_CONFIG_DATA');\n","import {\n AnimationTriggerMetadata,\n trigger,\n state,\n transition,\n style,\n animate,\n} from '@angular/animations';\n\nexport const toastAnimations: {\n readonly fadeToast: AnimationTriggerMetadata;\n} = {\n fadeToast: trigger('fadeAnimation', [\n state('default', style({ opacity: 1, transform: '*' })),\n transition('void => *', [style({ opacity: 0, transform: 'scale(.9) translate3d(0, -50%, 0)' }), animate('{{ fadeIn }}ms')]),\n transition(\n 'default => closing',\n animate('{{ fadeOut }}ms', style({ opacity: 0 })),\n ),\n ]),\n};\n\nexport type ToastAnimationState = 'default' | 'closing';\n","import { Component, Inject, TemplateRef, HostListener, EventEmitter, OnInit, HostBinding, OnDestroy } from '@angular/core';\n\nimport { ToastRef } from './toast-ref';\nimport { TOAST_CONFIG_DATA } from './toast.tokens';\nimport { AnimationEvent } from '@angular/animations';\nimport { toastAnimations, ToastAnimationState } from './toast-animations';\nimport { ToastContent, ToastConfig } from './toast.service';\n\n@Component({\n selector: 'suka-toast',\n template: `\n <div class=\"toast\"\n [@fadeAnimation]=\"{\n value: animationState,\n params: {\n fadeIn: toastConfig.animation.fadeIn,\n fadeOut: toastConfig.animation.fadeOut\n }\n }\"\n (@fadeAnimation.done)=\"onFadeFinished($event)\"\n [ngClass]=\"{\n 'toast--success': content.type === 'success',\n 'toast--alert': content.type === 'alert',\n 'toast--attention': content.type === 'attention'\n }\"\n >\n <suka-icon icon=\"check\" *ngIf=\"content.type === 'success'\" class=\"toast__icon--success\"></suka-icon>\n <suka-icon icon=\"alert-circle\" *ngIf=\"content.type === 'alert'\" class=\"toast__icon--alert\"></suka-icon>\n <suka-icon icon=\"alert-triangle\" *ngIf=\"content.type === 'attention'\" class=\"toast__icon--attention\"></suka-icon>\n <div>{{ content.body }}</div>\n <suka-icon icon=\"x\" (click)=\"close()\" class=\"toast__close\">close</suka-icon>\n </div>\n `,\n animations: [toastAnimations.fadeToast],\n})\nexport class ToastContainer implements OnInit, OnDestroy {\n private intervalId: number;\n\n public animationState: ToastAnimationState = 'default';\n public animationStateChanged = new EventEmitter<AnimationEvent>();\n showFooter = false;\n primaryActions: [];\n secondaryActions: [];\n content: ToastContent;\n\n @HostBinding('class.toast--default') baseClass = true;\n\n constructor(\n public toastRef: ToastRef,\n @Inject(TOAST_CONFIG_DATA) public toastConfig: any\n ) { }\n\n public isTemplate(value) {\n return value instanceof TemplateRef;\n }\n\n ngOnInit() {\n this.content = this.toastConfig.content;\n this.intervalId = window.setTimeout(() => this.startExitAnimation(), 5000);\n }\n\n ngOnDestroy() {\n clearTimeout(this.intervalId);\n }\n\n close() {\n this.toastRef.close();\n }\n\n onAnimationStart(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n onAnimationDone(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n closeToast($event: any) {\n this.toastRef.close();\n }\n\n onFadeFinished(event: AnimationEvent) {\n const { toState } = event;\n const isFadeOut = (toState as ToastAnimationState) === 'closing';\n const itFinished = this.animationState === 'closing';\n\n if (isFadeOut && itFinished) {\n this.close();\n }\n }\n\n startExitAnimation() {\n this.animationState = 'closing';\n }\n}\n","import { Injectable, Injector, ComponentRef, TemplateRef } from '@angular/core';\nimport { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal, PortalInjector } from '@angular/cdk/portal';\n\nimport { ToastRef } from './toast-ref';\nimport { ToastContainer } from './toast-container.component';\nimport { TOAST_CONFIG_DATA } from './toast.tokens';\n\nexport type ToastType = 'info' | 'success' | 'attention' | 'alert';\n\nexport interface ToastContent {\n type: ToastType;\n body?: string | TemplateRef<any>;\n}\n\nexport interface ToastConfig {\n content?: ToastContent;\n position?: {\n top: number;\n };\n animation?: {\n fadeOut: number;\n fadeIn: number;\n };\n}\n\nconst DEFAULT_CONFIG: ToastConfig = {\n position: {\n top: 20,\n },\n animation: {\n fadeOut: 2500,\n fadeIn: 150,\n },\n content: null,\n};\n\n@Injectable()\nexport class ToastService {\n private lastToast: ToastRef;\n\n constructor(\n private injector: Injector,\n private overlay: Overlay\n ) { }\n\n show(config: ToastConfig = {}) {\n // Override default configuration\n const dialogConfig = { ...DEFAULT_CONFIG, ...config };\n\n // Returns an OverlayRef which is a PortalHost\n const overlayRef = this.createOverlay(dialogConfig);\n\n // Instantiate remote control\n const toastRef = new ToastRef(overlayRef);\n\n this.lastToast = toastRef;\n\n const overlayComponent = this.attachToastContainer(overlayRef, dialogConfig, toastRef);\n\n toastRef.componentInstance = overlayComponent;\n\n return toastRef;\n }\n\n private createOverlay(config: ToastConfig) {\n const overlayConfig = this.getOverlayConfig(config);\n return this.overlay.create(overlayConfig);\n }\n\n private attachToastContainer(overlayRef: OverlayRef, config: ToastConfig, toastRef: ToastRef) {\n const injector = this.createInjector(config, toastRef);\n\n const containerPortal = new ComponentPortal(ToastContainer, null, injector);\n const containerRef: ComponentRef<ToastContainer> = overlayRef.attach(containerPortal);\n\n return containerRef.instance;\n }\n\n private createInjector(config: ToastConfig, toastRef: ToastRef): PortalInjector {\n const injectionTokens = new WeakMap();\n\n injectionTokens.set(ToastRef, toastRef);\n injectionTokens.set(TOAST_CONFIG_DATA, config);\n\n return new PortalInjector(this.injector, injectionTokens);\n }\n\n private getOverlayConfig(config: ToastConfig): OverlayConfig {\n const positionStrategy = this.overlay.position()\n .global()\n .centerHorizontally()\n .top(this.getPosition(config));\n\n const overlayConfig = new OverlayConfig({\n positionStrategy\n });\n\n return overlayConfig;\n }\n\n getPosition(config: ToastConfig) {\n const lastToastIsVisible = this.lastToast && this.lastToast.isVisible();\n const position = lastToastIsVisible\n ? this.lastToast.getPosition().bottom\n : config.position.top;\n\n return position + 'px';\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconModule } from '../icon/icon.module';\n\nimport { ToastContainer } from './toast-container.component';\nimport { ToastService } from './toast.service';\n\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { ButtonModule } from '../button/button.module';\n\nexport { ToastContainer } from './toast-container.component';\nexport { ToastService } from './toast.service';\nexport { ToastRef } from './toast-ref';\n\n@NgModule({\n declarations: [\n ToastContainer,\n ],\n exports: [\n ToastContainer,\n ],\n imports: [\n CommonModule,\n OverlayModule,\n ButtonModule,\n IconModule,\n ],\n entryComponents: [\n ToastContainer\n ],\n providers: [\n ToastService,\n ],\n})\nexport class ToastModule { }\n","import { Component, Input, HostBinding, Output, EventEmitter, OnInit } from '@angular/core';\nimport { ProgressStep } from './progress-step.interface';\n\n@Component({\n selector: 'suka-progress',\n template: `\n <div class=\"mobile-progress\">\n <div class=\"mobile-progress__label\">\n <h3 class=\"mobile-progress__label__current-step\">{{currentStep().label}}</h3>\n <p class=\"mobile-progress__label__next-step\" *ngIf=\"getCurrentStepIndex() + 1 < steps.length\">Próximo paso: {{nextStep().label}}</p>\n <p class=\"mobile-progress__label__next-step\" *ngIf=\"getCurrentStepIndex() + 1 >= steps.length\">Último paso</p>\n </div>\n\n <div\n class=\"mobile-progress__status\"\n [ngClass]=\"[\n 'radial-progress-' + (getCurrentStepIndex() + 1) * 100 / steps.length\n ]\"\n >\n <div class=\"mobile-progress__status-overlay\">\n {{getCurrentStepIndex() + 1}} de {{steps.length}}\n </div>\n </div>\n </div>\n <div class=\"progress__wrapper\">\n <ul class=\"progress-bar\">\n <li\n *ngFor=\"let step of steps; let i = index\"\n class=\"progress-bar__step\"\n [ngClass]=\"{\n 'progress-bar__step--complete': isComplete(step),\n 'progress-bar__step--editable': isEditable(step),\n 'progress-bar__step--error': step.state === 'error',\n 'progress-bar__step--current': step.current,\n 'progress-bar__step--unclickable': isUnclickable(step, i)\n }\"\n >\n <div class=\"step\" role=\"button\" (click)=\"select(i)\">\n <div class=\"step__indicator\">\n <ng-container *ngIf=\"step.state !== 'complete' || step.current\">{{ i + 1 }}</ng-container>\n <suka-icon icon=\"check\" *ngIf=\"isComplete(step) && !isEditable(step) && !step.current\"></suka-icon>\n <suka-icon icon=\"edit-2\" *ngIf=\"isEditable(step) && !step.current\"></suka-icon>\n </div>\n <span class=\"step__label\"> {{ step.label }}</span>\n </div>\n </li>\n </ul>\n </div>\n `\n})\nexport class Progress {\n private _steps: Array<ProgressStep>;\n\n @HostBinding('class.progress') baseClass = true;\n\n /**\n * Set to `true` to make the progress linear. This allows the user to access any of the steps at any time (like tabs).\n */\n @Input() linear = false;\n\n /**\n * Set to `true` to allow the user to edit a step after completed.\n */\n @Input() editable = false;\n\n /**\n * Emits an event when a index is selected\n */\n @Output() selected = new EventEmitter();\n\n /**\n * Emits an event when the steps change.\n */\n @Output() stepsChange = new EventEmitter();\n /**\n * Sets the steps for the `Progress` component.\n */\n @Input() get steps() {\n return this._steps;\n }\n set steps(value) {\n this._steps = value;\n\n this.stepsChange.emit(this._steps);\n }\n\n select(newIndex): void {\n this._steps.forEach((step, index) => {\n if (index === newIndex) {\n step.current = true;\n } else if (step.current) {\n delete step.current;\n }\n });\n\n this.selected.emit(newIndex);\n\n this.steps = this._steps;\n }\n\n /**\n * Step is completed.\n */\n isComplete(step: ProgressStep) {\n return step.state === 'complete';\n }\n\n /**\n * Step is editable.\n */\n isEditable(step: ProgressStep) {\n return step.state === 'complete' && this.editable;\n }\n\n /**\n * Step is unclickable.\n */\n isUnclickable(step: ProgressStep, index: number): boolean {\n if (step.state === 'complete' && !this.editable) {\n return true;\n }\n if (step.state === 'incomplete' && !this.linear && index !== this.getNextUncompletedStepIndex()) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Returns the index of the next uncompleted step.\n */\n getNextUncompletedStepIndex(): number {\n for (const [index, step] of this.steps.entries()) {\n if (step.state === 'incomplete') {\n return index;\n }\n }\n\n return -1;\n }\n\n\n /**\n * Returns the current step.\n */\n currentStep() {\n for (const [_, step] of this.steps.entries()) {\n if (step.current) {\n return step;\n }\n }\n\n return null;\n }\n\n /**\n * Returns the next step.\n */\n nextStep() {\n let currentIndex = -1;\n\n for (const [index, step] of this.steps.entries()) {\n if (step.current) {\n currentIndex = index;\n }\n if (currentIndex >= 0 && currentIndex + 1 === index) {\n return step;\n }\n }\n\n return null;\n }\n\n /**\n * Returns the current step index.\n */\n getCurrentStepIndex() {\n for (const [index, step] of this.steps.entries()) {\n if (step.current) {\n return index;\n }\n }\n\n return -1;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { Progress } from './progress.component';\nimport { IconModule } from '../icon/icon.module';\n\nexport { Progress } from './progress.component';\n\n@NgModule({\n declarations: [\n Progress\n ],\n exports: [\n Progress\n ],\n imports: [\n CommonModule,\n IconModule,\n ]\n})\nexport class ProgressModule { }\n","import { HostBinding, Component } from '@angular/core';\n\n@Component({\n selector: `suka-layout`,\n template: `\n <ng-content></ng-content>\n `\n})\nexport class Layout {\n @HostBinding('class.layout') baseClass = true;\n}\n","import { Component, HostBinding, Input, TemplateRef } from '@angular/core';\n\n@Component({\n selector: 'suka-layout-section',\n template: `\n <div *ngIf=\"annotated else elseTpl\" class=\"annotation__wrapper\">\n <div class=\"annotation\">\n <h5>{{title}}</h5>\n <p>{{description}}</p>\n </div>\n <div class=\"annotation-content\">\n <ng-content *ngTemplateOutlet=\"elseTpl\"></ng-content>\n </div>\n </div>\n\n <ng-template #elseTpl>\n <ng-content></ng-content>\n </ng-template>\n `\n})\nexport class LayoutSection {\n @HostBinding('class.layout__section') baseClass = true;\n\n @HostBinding('class.layout__section--secondary') @Input() secondary = false;\n @HostBinding('class.layout__section--one-half') @Input() oneHalf = false;\n @HostBinding('class.layout__section--one-third') @Input() oneThird = false;\n @HostBinding('class.layout__section--annotated') @Input() annotated = false;\n\n /**\n * Sets the title for an annotated layout section.\n */\n @Input() title: string | TemplateRef<any>;\n /**\n * Sets the description for an annotated layout section.\n */\n @Input() description: string | TemplateRef<any>;\n}\n","// modules\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n// imports\nimport { Layout } from './layout.component';\nimport { LayoutSection } from './layout-section.component';\n\n@NgModule({\n declarations: [\n Layout,\n LayoutSection,\n ],\n exports: [\n Layout,\n LayoutSection,\n ],\n imports: [\n CommonModule,\n ]\n})\nclass LayoutModule { }\n\nexport { Layout, LayoutSection, LayoutModule };\n","import { Input, Component, HostBinding, Output, EventEmitter, OnInit } from '@angular/core';\nimport { IconType } from '../icon/icon-types';\nimport { trigger, style, state, transition, animate } from '@angular/animations';\n\n/**\n * Informa a los usuarios sobre cambios importantes o condiciones persistentes.\n *\n * Usa este componente si necesitas comunicar a los usuarios de una manera prominente. Los Banner son ubicados en la parte superior de una página o sección al que aplican, abajo del header de los mismos.\n */\n@Component({\n selector: 'suka-banner',\n template: `\n <div\n [@fadeAnimation]=\"{\n value: animationState,\n params: {\n fadeIn: 200,\n fadeOut: 200\n }\n }\"\n (@fadeAnimation.done)=\"onFadeFinished($event)\"\n class=\"banner banner--{{status}}\"\n [ngClass]=\"{\n 'banner--hidden': hide\n }\"\n >\n <button\n *ngIf=\"dismissable\"\n sukaButton=\"plain\"\n (click)=\"onClose($event)\"\n class=\"banner__close-button\"\n >\n <suka-icon icon=\"x\"></suka-icon>\n </button>\n\n <div class=\"banner__status-icon\" *ngIf=\"status !== 'default'\">\n <div class=\"banner__status-icon__wrapper\">\n <suka-icon [icon]=\"statusIcon\"></suka-icon>\n </div>\n </div>\n\n <div class=\"banner__content\">\n <h5>{{title}}</h5>\n <div class=\"banner__description\">\n <ng-content></ng-content>\n </div>\n <button *ngIf=\"actionLabel\" sukaButton outline=\"true\" (click)=\"onAction()\">{{actionLabel}}</button>\n </div>\n </div>\n `,\n animations: [\n trigger('fadeAnimation', [\n state('default', style({ opacity: 1, transform: '*' })),\n transition('void => *', [style({ opacity: 0, transform: 'scale(.9)' }), animate('150ms cubic-bezier(.17,.67,.78,1.21)')]),\n transition(\n 'default => closing',\n animate('150ms', style({ opacity: 0, transform: 'scale(.9)' })),\n ),\n ]),\n ]\n})\nexport class Banner implements OnInit {\n statusIcon: IconType;\n hide = false;\n\n public animationState: 'default' | 'closing' = 'default';\n\n /**\n * Title content for the banner\n */\n @Input() title;\n\n /**\n * Sets the status for the banner\n */\n @Input() status: 'default' | 'info' | 'success' | 'attention' | 'alert' = 'default';\n\n /**\n * Displays a close button\n */\n @Input() dismissable = true;\n\n /**\n * Action label content\n */\n @Input() actionLabel = '';\n\n /**\n * Callback when the action\n */\n @Output() action = new EventEmitter();\n\n /**\n * Callback when the banner is dismissed.\n */\n @Output() dismiss = new EventEmitter();\n\n ngOnInit() {\n switch (this.status) {\n case 'info':\n this.statusIcon = 'info';\n break;\n case 'success':\n this.statusIcon = 'check';\n break;\n case 'attention':\n this.statusIcon = 'alert-triangle';\n break;\n case 'alert':\n this.statusIcon = 'alert-circle';\n break;\n }\n }\n\n /**\n * Emits the action callback.\n */\n onAction() {\n this.action.emit();\n }\n\n /**\n * Closes the banner.\n * Emits the dismiss callback.\n */\n onClose(event?: any) {\n this.animationState = 'closing';\n this.dismiss.emit();\n }\n\n onFadeFinished(event: AnimationEvent) {\n const itFinished = this.animationState === 'closing';\n\n if (itFinished) {\n this.hide = true;\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { Banner } from './banner.component';\nimport { IconModule } from '../icon/icon.module';\nimport { ButtonModule } from '../button/button.module';\n\nexport * from './banner.component';\n\n@NgModule({\n declarations: [\n Banner\n ],\n exports: [\n Banner\n ],\n imports: [\n CommonModule,\n IconModule,\n ButtonModule,\n ]\n})\nexport class BannerModule { }\n","import {\n Component,\n Input,\n HostBinding,\n ViewChild,\n HostListener,\n OnInit,\n SecurityContext\n} from '@angular/core';\nimport * as prism from 'prismjs';\nimport 'prismjs/components/prism-markup-templating.js';\nimport 'prismjs/components/prism-typescript';\nimport 'prismjs/components/prism-php';\nimport 'prismjs/components/prism-ruby';\nimport 'prismjs/components/prism-json';\nimport 'prismjs/components/prism-java';\nimport 'prismjs/components/prism-markdown';\nimport 'prismjs/components/prism-scss';\nimport 'prismjs/components/prism-swift';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\nexport enum SnippetType {\n single = 'single',\n multi = 'multi',\n inline = 'inline'\n}\n\nexport enum SnippetLanguage {\n javascript = 'javascript',\n json = 'json',\n typescript = 'typescript',\n markup = 'markup',\n markdown = 'markdown',\n php = 'php',\n ruby = 'ruby',\n scss = 'scss',\n css = 'css',\n html = 'html',\n xml = 'xml',\n clike = 'clike',\n java = 'java',\n swift = 'swift',\n}\n\n@Component({\n selector: 'suka-code-snippet',\n template: `\n <ng-container *ngIf=\"display === 'inline'; else notInline\">\n <span\n sukaTooltip=\"Copiado\"\n tooltipTrigger=\"click\"\n tooltipDuration=\"3000\"\n >\n <ng-container *ngTemplateOutlet=\"codeTemplate\"></ng-container>\n </span>\n </ng-container>\n\n <ng-template #notInline>\n <div class=\"snippet-container\" attr.aria-label=\"Copy code snippet\">\n <ng-container *ngIf=\"skeleton\">\n <span *ngIf=\"display === 'single'; else multiSkeleton\"></span>\n <ng-template #multiSkeleton>\n <span></span>\n <span></span>\n <span></span>\n </ng-template>\n </ng-container>\n <pre *ngIf=\"!skeleton\"><ng-container *ngTemplateOutlet=\"codeTemplate\"></ng-container></pre>\n </div>\n\n <button\n *ngIf=\"!skeleton\"\n class=\"snippet-button\"\n attr.aria-label=\"Copiar\"\n (click)=\"onCopyButtonClicked()\"\n [ngClass]=\"{\n 'snippet-button--copied': showFeedback\n }\"\n sukaTooltip=\"Copiado\"\n tooltipTrigger=\"click\"\n tooltipDuration=\"3000\"\n tabindex=\"0\">\n <suka-icon icon=\"copy\"></suka-icon>\n </button>\n\n <button\n *ngIf=\"display === 'multi' && shouldShowExpandButton\"\n class=\"btn snippet-btn--expand\"\n (click)=\"toggleSnippetExpansion()\"\n type=\"button\">\n <span class=\"snippet-btn--text\">{{expanded ? 'Mostrar menos' : 'Mostrar mas'}}\n <suka-icon icon=\"chevron-down\"></suka-icon>\n </span>\n </button>\n </ng-template>\n <ng-template #codeTemplate>\n <code #code [innerHtml]=\"codeHtml\"></code>\n </ng-template>\n `\n})\n// tslint:disable-next-line: component-class-suffix\nexport class CodeSnippet implements OnInit {\n /**\n * Variable used for creating unique ids for code-snippet components.\n */\n static codeSnippetCount = 0;\n public codeHtml: SafeHtml;\n\n /**\n * It can be `\"single\"`, `\"multi\"` or `\"inline\"`\n */\n @Input() display: SnippetType = SnippetType.single;\n /**\n * Text displayed in the tooltip when user clicks button to copy code.\n *\n */\n @Input() feedbackText = 'Copiado'; // TODO: i18n\n\n /**\n * Code content\n *\n */\n @Input() content: string;\n\n /**\n * Code highlight\n *\n */\n @Input() highlight: false;\n\n /**\n * Snippet highlight language\n *\n */\n @Input() language: SnippetLanguage = SnippetLanguage.javascript;\n\n /**\n * Time in miliseconds to keep the feedback tooltip displayed.\n *\n */\n @Input() feedbackTimeout = 3000;\n\n /**\n * Set to `true` to show an expanded code snippet.\n */\n @HostBinding('class.snippet--expand') @Input() expanded = false;\n\n /**\n * Set to `true` to show a loading code snippet.\n */\n @HostBinding('class.skeleton') @Input() skeleton = false;\n\n @HostBinding('class.snippet') snippetClass = true;\n @HostBinding('class.snippet--single') get snippetSingleClass() {\n return this.display === SnippetType.single;\n }\n @HostBinding('class.snippet--multi') get snippetMultiClass() {\n return this.display === SnippetType.multi;\n }\n @HostBinding('class.snippet--inline') get snippetInlineClass() {\n return this.display === SnippetType.inline;\n }\n @HostBinding('class.btn--copy') get btnCopyClass() {\n return this.display === SnippetType.inline;\n }\n\n @HostBinding('style.display') get displayStyle() {\n return this.display !== SnippetType.inline ? 'block' : null;\n }\n @HostBinding('attr.type') get attrType() {\n return this.display === SnippetType.inline ? 'button' : null;\n }\n\n @ViewChild('code', { static: false }) code;\n\n get shouldShowExpandButton() {\n return this.code ? this.code.nativeElement.getBoundingClientRect().height > 255 : false;\n }\n\n showFeedback = false;\n\n /**\n * Creates an instance of CodeSnippet.\n */\n constructor(private sanitizer: DomSanitizer) {\n CodeSnippet.codeSnippetCount++;\n }\n\n ngOnInit() {\n if (this.highlight) {\n this.content = prism.highlight(this.content, prism.languages[this.language], this.language);\n }\n\n this.codeHtml = this.sanitizer.sanitize(SecurityContext.HTML, this.content);\n }\n\n toggleSnippetExpansion() {\n this.expanded = !this.expanded;\n }\n\n /**\n * Copies the code from the `<code>` block to clipboard.\n */\n public copyCode() {\n // create invisible, uneditable textarea with our code in it\n const textarea = document.createElement('textarea');\n textarea.value = this.code.nativeElement.innerText || this.code.nativeElement.textContent;\n textarea.setAttribute('readonly', '');\n textarea.style.position = 'absolute';\n textarea.style.right = '-99999px';\n document.body.appendChild(textarea);\n\n // save user selection\n const selected = document.getSelection().rangeCount ? document.getSelection().getRangeAt(0) : null;\n\n // copy to clipboard\n textarea.select();\n document.execCommand('copy');\n\n // remove textarea\n document.body.removeChild(textarea);\n\n // restore user selection\n if (selected) {\n document.getSelection().removeAllRanges();\n document.getSelection().addRange(selected);\n }\n }\n\n /**\n * On copy button click, copies the code and shows feedback.\n */\n onCopyButtonClicked() {\n this.copyCode();\n\n this.showFeedback = true;\n\n setTimeout(() => {\n this.showFeedback = false;\n }, this.feedbackTimeout);\n }\n\n /**\n * Inline code snippet acts as button and makes the whole component clickable.\n *\n * This handles clicks in that case.\n */\n @HostListener('click')\n hostClick() {\n if (this.display !== SnippetType.inline) {\n return;\n }\n\n this.onCopyButtonClicked();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { TooltipModule } from '../tooltip/tooltip.module';\nimport { IconModule } from '../icon/icon.module';\n\n// imports\nimport { CodeSnippet } from './code-snippet.component';\n\n// exports\nexport {\n CodeSnippet,\n SnippetLanguage,\n SnippetType,\n} from './code-snippet.component';\n\n@NgModule({\n declarations: [\n CodeSnippet,\n ],\n exports: [\n CodeSnippet,\n ],\n imports: [\n CommonModule,\n FormsModule,\n TooltipModule,\n IconModule,\n ]\n})\nexport class CodeSnippetModule { }\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'suka-empty-state',\n template: `\n <div class=\"empty-state\">\n <div class=\"empty-state__description\">\n <h3 class=\"empty-state__heading\">{{heading}}</h3>\n\n <div class=\"empty-state__content\">\n <ng-content></ng-content>\n </div>\n <div\n *ngIf=\"primaryActionLabel\"\n class=\"empty-state__actions\"\n >\n <suka-button-group>\n <button\n sukaButton=\"primary\"\n (click)=\"onClick('primary')\"\n >\n {{primaryActionLabel}}\n </button>\n <button\n *ngIf=\"secondaryActionLabel\"\n sukaButton=\"plain\"\n (click)=\"onClick('secondary')\"\n >\n {{secondaryActionLabel}}\n </button>\n </suka-button-group>\n </div>\n </div>\n\n <div class=\"empty-state__image\">\n <img *ngIf=\"imgSrc\" [src]=\"imgSrc\" />\n <suka-icon *ngIf=\"!imgSrc\" icon=\"inbox\"></suka-icon>\n </div>\n </div>\n `\n})\nexport class EmptyState {\n /**\n * Heading content.\n */\n @Input() heading = '';\n\n /**\n * Sets an image url for the avatar. If it is set, it displays instead of the empty icon.\n */\n @Input() imgSrc: string;\n\n /**\n * Primary action label content\n */\n @Input() primaryActionLabel: string;\n /**\n * Emits the primary action event.\n */\n @Output() primaryAction = new EventEmitter();\n\n /**\n * Secondary action label content\n */\n @Input() secondaryActionLabel: string;\n /**\n * Emits the secondary action event.\n */\n @Output() secondaryAction = new EventEmitter();\n\n /**\n * On button click, emits a primary o secondary action event accordingly\n */\n onClick(type: string) {\n if (type === 'primary') {\n this.primaryAction.emit('primary');\n }\n\n if (type === 'secondary') {\n this.secondaryAction.emit('secondary');\n }\n }\n}\n","// modules\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n// imports\nimport { EmptyState } from './empty-state.component';\nimport { IconModule } from '../icon/icon.module';\nimport { ButtonModule } from '../button/button.module';\n\n@NgModule({\n declarations: [\n EmptyState,\n ],\n exports: [\n EmptyState,\n ],\n imports: [\n CommonModule,\n IconModule,\n ButtonModule,\n ]\n})\nclass EmptyStateModule { }\n\nexport { EmptyState, EmptyStateModule };\n","export function rgbToHsv(r, g, b) {\n let h;\n let s;\n\n const rabs = r / 255;\n const gabs = g / 255;\n const babs = b / 255;\n const v = Math.max(rabs, gabs, babs);\n const diff = v - Math.min(rabs, gabs, babs);\n const diffc = c => (v - c) / 6 / diff + 1 / 2;\n const percentRoundFn = num => Math.round(num * 100) / 100;\n if (diff === 0) {\n h = s = 0;\n } else {\n s = diff / v;\n const rr = diffc(rabs);\n const gg = diffc(gabs);\n const bb = diffc(babs);\n\n if (rabs === v) {\n h = bb - gg;\n } else if (gabs === v) {\n h = (1 / 3) + rr - bb;\n } else if (babs === v) {\n h = (2 / 3) + gg - rr;\n }\n if (h < 0) {\n h += 1;\n } else if (h > 1) {\n h -= 1;\n }\n }\n return {\n h: Math.round(h * 360),\n s: percentRoundFn(s * 100),\n v: percentRoundFn(v * 100)\n };\n}\n\nexport function hexToRgb(hex) {\n // Expand shorthand form (e.g. \"03F\") to full form (e.g. \"0033FF\")\n const shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n hex = hex.replace(shorthandRegex, (m, r, g, b) => {\n return r + r + g + g + b + b;\n });\n\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16)\n } : null;\n}\n\nexport function rgbToHex(r, g, b) {\n function hex(x) {\n return ('0' + parseInt(x).toString(16)).slice(-2);\n }\n return '#' + hex(r) + hex(g) + hex(b);\n}\n\nexport function hsvToRgb(hue, saturation, value) {\n const h = hue / 60;\n const s = saturation / 100;\n let v = value / 100;\n const hi = Math.floor(h) % 6;\n\n const f = h - Math.floor(h);\n const p = 255 * v * (1 - s);\n const q = 255 * v * (1 - (s * f));\n const t = 255 * v * (1 - (s * (1 - f)));\n v *= 255;\n\n let rgbArray;\n switch (hi) {\n case 0:\n rgbArray = [v, t, p];\n break;\n case 1:\n rgbArray = [q, v, p];\n break;\n case 2:\n rgbArray = [p, v, t];\n break;\n case 3:\n rgbArray = [p, q, v];\n break;\n case 4:\n rgbArray = [t, p, v];\n break;\n case 5:\n rgbArray = [v, p, q];\n break;\n }\n\n return {\n r: rgbArray[0],\n g: rgbArray[1],\n b: rgbArray[2],\n };\n}\n\nexport function hsvToHex(h, s, v) {\n const rgbColor = hsvToRgb(h, s, v);\n return rgbToHex(rgbColor.r, rgbColor.g, rgbColor.b);\n}\n","import { Component, HostBinding, Input, OnInit, Output, EventEmitter, SimpleChanges, OnChanges } from '@angular/core';\nimport { hexToRgb, rgbToHsv, hsvToHex } from './color-utils';\n\n@Component({\n selector: 'suka-color-picker',\n template: `\n <div class=\"input-wrapper\" *ngIf=\"showInput\">\n <input\n [ngModel]=\"color\"\n (ngModelChange)=\"onColorChange($event)\"\n />\n <div\n class=\"color-div\"\n [ngStyle]=\"{'background-color': color || 'white'}\"\n ></div>\n </div>\n <div class=\"color-wrapper\">\n <suka-color-palette\n [hue]=\"hue\"\n [color]=\"color\"\n (colorChange)=\"onColorSelect($event)\"\n ></suka-color-palette>\n <suka-color-slider\n [(hue)]=\"hue\"\n ></suka-color-slider>\n </div>\n `\n})\nexport class ColorPicker implements OnInit {\n @HostBinding('class.color-picker') baseClass = true;\n\n @Input() color: string;\n @Output() colorChange = new EventEmitter();\n @Input() showInput = true;\n\n public hue: string;\n public globalHue: string;\n\n ngOnInit() {\n const rgbColor = hexToRgb(this.color);\n if (rgbColor) {\n const hsv = rgbToHsv(rgbColor.r, rgbColor.g, rgbColor.b);\n this.hue = hsvToHex(hsv.h, 100, 100);\n }\n }\n\n onColorChange(event) {\n const rgbColor = hexToRgb(event);\n\n if (rgbColor) {\n const hsv = rgbToHsv(rgbColor.r, rgbColor.g, rgbColor.b);\n this.hue = hsvToHex(hsv.h, 100, 100);\n this.color = event;\n }\n\n this.emitColorChange(this.color);\n }\n\n onColorSelect(event) {\n this.color = event;\n this.emitColorChange(this.color);\n }\n\n private emitColorChange(color) {\n this.colorChange.emit(color);\n }\n}\n","import {\n Component,\n HostBinding,\n ViewChild,\n ElementRef,\n AfterViewInit,\n HostListener,\n Output,\n EventEmitter,\n Input,\n OnChanges,\n SimpleChanges\n} from '@angular/core';\n\nimport { hexToRgb, rgbToHsv, rgbToHex } from './color-utils';\n\n@Component({\n selector: 'suka-color-slider',\n template: `\n <canvas\n #canvas\n class=\"color-slider\"\n width=\"20\"\n height=\"250\"\n (mousedown)=\"onMouseDown($event)\"\n (mousemove)=\"onMouseMove($event)\"\n >\n </canvas>\n `\n})\nexport class ColorSlider implements OnChanges, AfterViewInit {\n @HostBinding('class.color-slider-wrapper') baseClass = true;\n private ctx: CanvasRenderingContext2D;\n private mousedown = false;\n private selectedHeight: number;\n\n @Input() hue: string;\n @Output() hueChange: EventEmitter<string> = new EventEmitter();\n\n @ViewChild('canvas', {static: false}) canvas: ElementRef<HTMLCanvasElement>;\n\n @HostListener('window:mouseup', ['$event'])\n onMouseUp(evt: MouseEvent) {\n this.mousedown = false;\n }\n\n draw() {\n if (!this.ctx) {\n this.ctx = this.canvas.nativeElement.getContext('2d');\n }\n\n const width = this.canvas.nativeElement.width;\n const height = this.canvas.nativeElement.height;\n this.ctx.clearRect(0, 0, width, height);\n\n const gradient = this.ctx.createLinearGradient(0, 0, 0, height);\n gradient.addColorStop(0, 'rgba(255, 0, 0, 1)');\n gradient.addColorStop(0.17, 'rgba(255, 255, 0, 1)');\n gradient.addColorStop(0.34, 'rgba(0, 255, 0, 1)');\n gradient.addColorStop(0.51, 'rgba(0, 255, 255, 1)');\n gradient.addColorStop(0.68, 'rgba(0, 0, 255, 1)');\n gradient.addColorStop(0.85, 'rgba(255, 0, 255, 1)');\n gradient.addColorStop(1, 'rgba(255, 0, 0, 1)');\n\n this.ctx.beginPath();\n this.ctx.rect(0, 0, width, height);\n this.ctx.fillStyle = gradient;\n this.ctx.fill();\n this.ctx.closePath();\n\n if (this.selectedHeight) {\n this.ctx.beginPath();\n this.ctx.strokeStyle = 'white';\n this.ctx.lineWidth = 4;\n this.ctx.rect(0, this.selectedHeight - 5, width, 10);\n this.ctx.stroke();\n this.ctx.closePath();\n }\n }\n\n onMouseDown(evt: MouseEvent) {\n this.mousedown = true;\n this.selectedHeight = evt.offsetY;\n this.draw();\n this.emitHue(evt.offsetY);\n }\n\n onMouseMove(evt: MouseEvent) {\n if (this.mousedown) {\n this.selectedHeight = evt.offsetY;\n this.draw();\n this.emitHue(evt.offsetY);\n }\n }\n\n emitHue(y: number) {\n if (y < 0) {\n y = 0;\n } else if (y >= 250) {\n y = 249;\n }\n const color = this.getColorAtPosition(y);\n this.hueChange.emit(rgbToHex(color.r, color.g, color.b));\n }\n\n getColorAtPosition(y: number) {\n const imageData = this.ctx.getImageData(5, y, 1, 1).data;\n return {\n r: imageData[0],\n g: imageData[1],\n b: imageData[2],\n };\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.hue && !changes.hue.isFirstChange()) {\n const rgbColor = hexToRgb(this.hue);\n if (rgbColor) {\n const hsvColor = rgbToHsv(rgbColor.r, rgbColor.g, rgbColor.b);\n const hueFactor = hsvColor.h / 360;\n this.selectedHeight = hueFactor * 250;\n this.draw();\n }\n }\n }\n\n ngAfterViewInit() {\n if (this.hue) {\n const rgbColor = hexToRgb(this.hue);\n const hsvColor = rgbToHsv(rgbColor.r, rgbColor.g, rgbColor.b);\n const hueFactor = hsvColor.h / 360;\n this.selectedHeight = hueFactor * 250;\n }\n\n this.draw();\n }\n}\n","import {\n Component,\n HostBinding,\n ViewChild,\n ElementRef,\n AfterViewInit,\n HostListener,\n Output,\n EventEmitter,\n OnChanges,\n Input,\n SimpleChanges\n} from '@angular/core';\nimport { hexToRgb, rgbToHex, rgbToHsv, hsvToHex } from './color-utils';\n\n@Component({\n selector: 'suka-color-palette',\n template: `\n <canvas\n #canvas\n class=\"color-palette\"\n width=\"250\"\n height=\"250\"\n (mousedown)=\"onMouseDown($event)\"\n (mousemove)=\"onMouseMove($event)\"\n >\n </canvas>\n `\n})\nexport class ColorPalette implements AfterViewInit, OnChanges {\n @HostBinding('class.color-palette-container') baseClass = true;\n\n @Input() hue: string;\n\n @Input() color: string;\n @Output() colorChange: EventEmitter<string> = new EventEmitter(true);\n\n @ViewChild('canvas', {static: false}) canvas: ElementRef<HTMLCanvasElement>;\n\n private ctx: CanvasRenderingContext2D;\n\n private mousedown = false;\n\n public selectedPosition: { x: number; y: number };\n\n draw() {\n if (!this.ctx) {\n this.ctx = this.canvas.nativeElement.getContext('2d');\n }\n\n const width = this.canvas.nativeElement.width;\n const height = this.canvas.nativeElement.height;\n\n if (this.hue) {\n this.ctx.fillStyle = this.hue;\n } else {\n this.ctx.fillStyle = '#ff0000';\n }\n\n this.ctx.fillRect(0, 0, width, height);\n\n const whiteGrad = this.ctx.createLinearGradient(0, 0, width, 0);\n whiteGrad.addColorStop(0, 'rgba(255,255,255,1)');\n whiteGrad.addColorStop(1, 'rgba(255,255,255,0)');\n\n this.ctx.fillStyle = whiteGrad;\n this.ctx.fillRect(0, 0, width, height);\n\n const blackGrad = this.ctx.createLinearGradient(0, 0, 0, height);\n blackGrad.addColorStop(0, 'rgba(0,0,0,0)');\n blackGrad.addColorStop(1, 'rgba(0,0,0,1)');\n\n this.ctx.fillStyle = blackGrad;\n this.ctx.fillRect(0, 0, width, height);\n\n if (this.selectedPosition) {\n this.ctx.strokeStyle = 'white';\n this.ctx.fillStyle = 'white';\n this.ctx.beginPath();\n this.ctx.arc(\n this.selectedPosition.x,\n this.selectedPosition.y,\n 5,\n 0,\n 2 * Math.PI\n );\n this.ctx.lineWidth = 3;\n this.ctx.stroke();\n this.ctx.closePath();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.color && !changes.color.isFirstChange()) {\n const rgbColor = hexToRgb(this.color);\n\n if (rgbColor) {\n const hsv = rgbToHsv(rgbColor.r, rgbColor.g, rgbColor.b);\n this.selectedPosition = {\n x: (hsv.s * 250) / 100,\n y: 250 - (hsv.v * 250) / 100\n };\n this.draw();\n }\n } else if (changes.hue && !changes.hue.isFirstChange()) {\n this.draw();\n\n const pos = this.selectedPosition;\n\n if (pos) {\n this.colorChange.emit(this.getColorAtPosition(pos.x, pos.y));\n }\n }\n }\n\n ngAfterViewInit() {\n if (this.color) {\n const rgbColor = hexToRgb(this.color);\n\n if (rgbColor) {\n const hsv = rgbToHsv(rgbColor.r, rgbColor.g, rgbColor.b);\n this.selectedPosition = {\n x: (hsv.s * 250) / 100,\n y: 250 - (hsv.v * 250) / 100\n };\n }\n }\n this.draw();\n }\n\n @HostListener('window:mouseup', ['$event'])\n onMouseUp(evt: MouseEvent) {\n this.mousedown = false;\n }\n\n onMouseDown(evt: MouseEvent) {\n this.mousedown = true;\n const xPos = evt.offsetX < 0 ? 0 : evt.offsetX >= 250 ? 249 : evt.offsetX;\n const yPos = evt.offsetY < 0 ? 0 : evt.offsetY >= 250 ? 249 : evt.offsetY;\n\n this.selectedPosition = {\n x: xPos,\n y: yPos,\n };\n this.draw();\n this.emitColor(xPos, yPos);\n }\n\n onMouseMove(evt: MouseEvent) {\n if (this.mousedown) {\n const xPos = evt.offsetX < 0 ? 0 : evt.offsetX >= 250 ? 249 : evt.offsetX;\n const yPos = evt.offsetY < 0 ? 0 : evt.offsetY >= 250 ? 249 : evt.offsetY;\n\n this.selectedPosition = {\n x: xPos,\n y: yPos,\n };\n this.draw();\n this.emitColor(xPos, yPos);\n }\n }\n\n emitColor(x: number, y: number) {\n const rgbaColor = this.getColorAtPosition(x, y);\n this.colorChange.emit(rgbaColor);\n }\n\n getColorAtPosition(x: number, y: number) {\n const imageData = this.ctx.getImageData(x, y, 1, 1).data;\n return rgbToHex(imageData[0], imageData[1], imageData[2]);\n }\n}\n","import {\n Component,\n Input,\n HostBinding,\n EventEmitter,\n Output,\n TemplateRef,\n ViewChild,\n ElementRef,\n ViewContainerRef\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { OverlayRef, Overlay } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\n\n@Component({\n selector: 'suka-color-input',\n template: `\n <label *ngIf=\"skeleton && label\" class=\"label skeleton\"></label>\n <label *ngIf=\"!skeleton && label\" [for]=\"id\" class=\"label\">\n <ng-container *ngIf=\"!isTemplate(label)\">{{label}}</ng-container>\n <ng-template *ngIf=\"isTemplate(label)\" [ngTemplateOutlet]=\"label\"></ng-template>\n </label>\n <div *ngIf=\"!skeleton && helperText\" class=\"form__helper-text\">\n <ng-container *ngIf=\"!isTemplate(helperText)\">{{helperText}}</ng-container>\n <ng-template *ngIf=\"isTemplate(helperText)\" [ngTemplateOutlet]=\"helperText\"></ng-template>\n </div>\n <div\n data-color-input\n [attr.data-invalid]=\"(invalid ? true : null)\"\n [attr.data-valid]=\"(valid ? true : null)\"\n class=\"color-input\"\n [ngClass]=\"{\n 'color-input--nolabel': !label,\n 'color-input--helpertext': helperText,\n 'skeleton' : skeleton,\n 'color-input--disabled': disabled\n }\">\n <div class=\"color-input__input-wrapper\">\n <div\n class=\"color-input__color-preview\"\n *ngIf=\"value\"\n [ngStyle]=\"{'background-color': value || 'white'}\"\n (click)=\"openColorDialog()\"\n ></div>\n <svg\n class=\"color-input__color-preview-icon\"\n *ngIf=\"!value\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n (click)=\"openColorDialog()\"\n >\n <path d=\"M8 0C3.55556 0 0 3.55556 0 8C0 12.4444 3.55556 16 8 16C8.71111 16 9.33333 15.3778 9.33333 14.6667C9.33333 14.3111 9.24444 14.0444 8.97778 13.7778C8.8 13.5111 8.62222 13.2444 8.62222 12.8889C8.62222 12.1778 9.24448 11.5556 9.95556 11.5556H11.5556C14.0444 11.5556 16 9.6 16 7.11111C16 3.2 12.4444 0 8 0ZM3.11111 8C2.4 8 1.77778 7.37778 1.77778 6.66667C1.77778 5.95556 2.4 5.33333 3.11111 5.33333C3.82222 5.33333 4.44444 5.95556 4.44444 6.66667C4.44444 7.37778 3.82222 8 3.11111 8ZM5.77778 4.44444C5.06667 4.44444 4.44444 3.82222 4.44444 3.11111C4.44444 2.4 5.06667 1.77778 5.77778 1.77778C6.48889 1.77778 7.11111 2.4 7.11111 3.11111C7.11111 3.82222 6.48889 4.44444 5.77778 4.44444ZM10.2222 4.44444C9.51111 4.44444 8.88889 3.82222 8.88889 3.11111C8.88889 2.4 9.51111 1.77778 10.2222 1.77778C10.9333 1.77778 11.5556 2.4 11.5556 3.11111C11.5556 3.82222 10.9333 4.44444 10.2222 4.44444ZM12.8889 8C12.1778 8 11.5556 7.37778 11.5556 6.66667C11.5556 5.95556 12.1778 5.33333 12.8889 5.33333C13.6 5.33333 14.2222 5.95556 14.2222 6.66667C14.2222 7.37778 13.6 8 12.8889 8Z\" fill=\"#677784\"/>\n </svg>\n\n <input\n #origin\n type=\"text\"\n [id]=\"id\"\n [placeholder]=\"placeholder\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n (focus)=\"openColorDialog()\"\n (change)=\"onColorInputChange($event)\"/>\n\n <suka-icon *ngIf=\"!skeleton && invalid\" icon=\"alert-circle\" class=\"color-input__invalid\"></suka-icon>\n <suka-icon *ngIf=\"!skeleton && valid\" icon=\"check\" class=\"color-input__valid\"></suka-icon>\n </div>\n <div *ngIf=\"invalid\" class=\"form-requirement\">\n <ng-container *ngIf=\"!isTemplate(invalidText)\">{{invalidText}}</ng-container>\n <ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\n </div>\n </div>\n\n <ng-template #colorPickerDialog>\n <div class=\"color-picker-dialog\">\n <suka-color-picker [color]=\"value\" (colorChange)=\"onColorChange($event)\">\n </suka-color-picker>\n </div>\n </ng-template>\n `,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: ColorInput,\n multi: true\n }\n ]\n})\nexport class ColorInput implements ControlValueAccessor {\n /**\n * Variable used for creating unique ids for color input components.\n */\n static colorInputCount = 0;\n private _overlayRef: OverlayRef;\n private _portal: TemplatePortal<any>;\n\n @HostBinding('class.form-item') containerClass = true;\n /**\n * Set to `true` for a disabled color input.\n */\n @Input() disabled = false;\n /**\n * Set to `true` for a loading color input component.\n */\n @Input() skeleton = false;\n /**\n * Set to `true` for an invalid color input component.\n */\n @Input() invalid = false;\n /**\n * Set to `true` for a valid color input component.\n */\n @Input() valid = false;\n /**\n * The unique id for the color input component.\n */\n @Input() id = `color-input-${ColorInput.colorInputCount}`;\n /**\n * Reflects the required attribute of the `input` element.\n */\n @Input() required: boolean;\n /**\n * Sets the value attribute on the `input` element.\n */\n @Input() value = '';\n /**\n * Sets the placeholder on the `input` element.\n */\n @Input() placeholder = '';\n /**\n * Sets the text inside the `label` tag.\n */\n @Input() label: string | TemplateRef<any>;\n /**\n * Sets the optional helper text.\n */\n @Input() helperText: string | TemplateRef<any>;\n /**\n * Sets the invalid text.\n */\n @Input() invalidText: string | TemplateRef<any>;\n /**\n * Emits event notifying other classes when a change in state occurs in the input.\n */\n // tslint:disable-next-line: no-output-native\n @Output() change = new EventEmitter();\n\n @ViewChild('origin', { static: false }) origin: ElementRef;\n @ViewChild('colorPickerDialog', { static: false }) dialog: TemplateRef<any>;\n\n /**\n * Creates an instance of `ColorInput`.\n */\n constructor(\n private _overlay: Overlay,\n private _viewContainerRef: ViewContainerRef\n ) {\n ColorInput.colorInputCount++;\n }\n\n /**\n * This is the initial value set to the component\n * @param value The input value.\n */\n public writeValue(value: any) {\n this.value = value;\n }\n\n /**\n * Sets a method in order to propagate changes back to the form.\n */\n public registerOnChange(fn: any) {\n this.propagateChange = fn;\n }\n\n /**\n * Registers a callback to be triggered when the control has been touched.\n * @param fn Callback to be triggered when the number input is touched.\n */\n public registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n /**\n * Sets the disabled state through the model\n */\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n /**\n * Called when number input is blurred. Needed to properly implement `ControlValueAccessor`.\n */\n onTouched: () => any = () => { };\n\n /**\n * Method set in `registerOnChange` to propagate changes back to the form.\n */\n propagateChange = (_: any) => { };\n\n /**\n * Creates a class of `NumberChange` to emit the change in the `Number`.\n */\n emitChangeEvent(): void {\n this.change.emit(this.value);\n this.propagateChange(this.value);\n }\n\n onColorChange(value) {\n this.value = value;\n this.emitChangeEvent();\n }\n\n onColorInputChange(event) {\n this.value = event.target.value;\n this.emitChangeEvent();\n }\n\n /**\n * Opens the color picker dialog\n */\n openColorDialog() {\n if (!this._overlayRef) {\n const positionStrategy = this._overlay\n .position()\n .flexibleConnectedTo(this.origin)\n .withPositions([{\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: 8,\n }]);\n\n this._overlayRef = this._overlay.create({\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop',\n positionStrategy,\n });\n\n this._overlayRef.backdropClick().subscribe(() => this._overlayRef.detach());\n this._portal = new TemplatePortal(this.dialog, this._viewContainerRef);\n\n }\n\n this._overlayRef.attach(this._portal);\n }\n\n /**\n * Closes the color picker dialog\n */\n closeColorDialog() {\n this._overlayRef.detach();\n }\n\n /**\n * Checks if it is a template\n */\n public isTemplate(value) {\n return value instanceof TemplateRef;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { ColorPicker } from './color-picker.component';\nimport { ColorSlider } from './color-slider.component';\nimport { ColorPalette } from './color-palette.component';\nimport { ColorInput } from './color-picker-input.component';\nimport { IconModule } from '../icon/icon.module';\nimport { OverlayModule } from '@angular/cdk/overlay';\n\n@NgModule({\n declarations: [\n ColorPicker,\n ColorSlider,\n ColorPalette,\n ColorInput,\n ],\n exports: [\n ColorPicker,\n ColorSlider,\n ColorPalette,\n ColorInput,\n ],\n imports: [\n CommonModule,\n OverlayModule,\n FormsModule,\n IconModule,\n ],\n entryComponents: [\n ColorPicker,\n ],\n})\nclass ColorPickerModule { }\n\nexport {\n ColorPickerModule,\n ColorPicker,\n ColorSlider,\n ColorPalette,\n ColorInput,\n};\n"," // tslint:disable: variable-name\n\nimport { OverlayRef } from '@angular/cdk/overlay';\nimport { SheetContainer } from './sheet-container.component';\nimport { Subject, Observable } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\n\nexport class SheetRef {\n public componentInstance: SheetContainer;\n\n private _beforeClose = new Subject<any | undefined>();\n private _afterClosed = new Subject<any | undefined>();\n\n private _result: any | undefined;\n\n constructor(private overlayRef: OverlayRef) { }\n\n public close(data?: any): void {\n this._result = data;\n\n // Listen for animation 'start' events\n this.componentInstance.animationStateChanged.pipe(\n filter(event => event.phaseName === 'start'),\n take(1)\n ).subscribe(() => {\n this._beforeClose.next(this._result);\n this._beforeClose.complete();\n this.overlayRef.detachBackdrop();\n });\n\n // Listen for animation 'done' events\n this.componentInstance.animationStateChanged.pipe(\n filter(event => event.phaseName === 'done' && event.toState === 'leave'),\n take(1)\n ).subscribe(() => {\n this._afterClosed.next(this._result);\n this._afterClosed.complete();\n this.overlayRef.dispose();\n\n // Make sure to also clear the reference to the\n // component instance to avoid memory leaks\n // tslint:disable-next-line: no-non-null-assertion\n this.componentInstance = null!;\n });\n\n // Start exit animation\n this.componentInstance.startExitAnimation();\n }\n\n public afterClosed(): Observable<any | undefined> {\n return this._afterClosed.asObservable();\n }\n\n public beforeClose(): Observable<any | undefined> {\n return this._beforeClose.asObservable();\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nimport { SheetContent } from './sheet.service';\n\nexport const SHEET_CONTENT_DATA = new InjectionToken<SheetContent>('SHEET_CONTENT_DATA');\n","import { Component, Inject, TemplateRef, HostListener, EventEmitter, OnInit, HostBinding } from '@angular/core';\n\nimport { SheetRef } from './sheet-ref';\nimport { SHEET_CONTENT_DATA } from './sheet.tokens';\nimport { AnimationEvent, trigger, state, style, transition, animate } from '@angular/animations';\n\nconst ESCAPE_KEY = 27;\nconst SHEET_ANIMATION_TIMINGS = '200ms cubic-bezier(0.64, 0, 0.35, 1)';\n\n@Component({\n selector: 'suka-sheet',\n template: `\n <div class=\"sheet\"\n [@slideContent]=\"animationState\"\n (@slideContent.start)=\"onAnimationStart($event)\"\n (@slideContent.done)=\"onAnimationDone($event)\"\n cdkTrapFocus\n >\n <div class=\"sheet__header\">\n <h5>\n <ng-container *ngIf=\"!isTemplate(content.title)\">{{content.title}}</ng-container>\n <ng-template *ngIf=\"isTemplate(content.title)\" [ngTemplateOutlet]=\"content.title\"></ng-template>\n </h5>\n <button\n sukaButton=\"plain\"\n (click)=\"onClose($event)\"\n >\n <suka-icon icon=\"x\"></suka-icon>\n </button>\n </div>\n <div class=\"sheet__content\">\n <ng-container *ngIf=\"!isTemplate(content.body)\">{{content.body}}</ng-container>\n <ng-container *ngIf=\"isTemplate(content.body)\">\n <ng-container\n *ngTemplateOutlet=\"content.body; context: {closeSheet: closeSheet.bind(this)}\"\n ></ng-container>\n </ng-container>\n </div>\n <div class=\"sheet__footer\" *ngIf=\"showFooter\">\n <button\n *ngFor=\"let secondaryAction of secondaryActions\"\n sukaButton=\"plain\"\n (click)=\"onAction(secondaryAction.tag)\"\n >\n {{secondaryAction.label}}\n </button>\n\n <button\n *ngFor=\"let primaryAction of primaryActions\"\n sukaButton=\"primary\"\n (click)=\"onAction(primaryAction.tag)\"\n >\n {{primaryAction.label}}\n </button>\n </div>\n </div>\n `,\n animations: [\n trigger('slideContent', [\n state('void', style({ transform: 'translate3d(20rem, 0, 0)', opacity: 0 })),\n state('enter', style({ transform: 'none', opacity: 1 })),\n state('leave', style({ transform: 'translate3d(20rem, 0, 0)', opacity: 0 })),\n transition('* => *', animate(SHEET_ANIMATION_TIMINGS)),\n ])\n ]\n})\nexport class SheetContainer implements OnInit {\n public animationState: 'void' | 'enter' | 'leave' = 'enter';\n public animationStateChanged = new EventEmitter<AnimationEvent>();\n showFooter = false;\n primaryActions: [];\n secondaryActions: [];\n\n @HostBinding('class.sheet--default') baseClass = true;\n\n constructor(\n public dialogRef: SheetRef,\n @Inject(SHEET_CONTENT_DATA) public content: any\n ) { }\n\n public ngOnInit() {\n if (this.content.actions && this.content.actions.length > 0) {\n this.showFooter = true;\n this.primaryActions = this.content.actions.filter((action) => action.type === 'primary');\n this.secondaryActions = this.content.actions.filter((action) => action.type === 'secondary');\n }\n }\n\n public isTemplate(value) {\n return value instanceof TemplateRef;\n }\n\n public onClose(event?: any) {\n this.dialogRef.close('cancel');\n }\n\n public onAction(tag: string) {\n this.dialogRef.close(tag);\n }\n\n @HostListener('document:keydown', ['$event']) public handleKeydown(event: KeyboardEvent) {\n // tslint:disable-next-line: deprecation\n if (event.keyCode === ESCAPE_KEY) {\n this.dialogRef.close('cancel');\n }\n }\n\n onAnimationStart(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n onAnimationDone(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n startExitAnimation() {\n this.animationState = 'leave';\n }\n\n closeSheet($event: any) {\n this.dialogRef.close($event);\n }\n}\n","import { Injectable, Injector, ComponentRef, TemplateRef } from '@angular/core';\nimport { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal, PortalInjector } from '@angular/cdk/portal';\n\nimport { SheetRef } from './sheet-ref';\nimport { SHEET_CONTENT_DATA } from './sheet.tokens';\nimport { SheetContainer } from './sheet-container.component';\n\nexport interface SheetContent {\n title?: string | TemplateRef<any>;\n body?: string | TemplateRef<any>;\n closeButton?: boolean;\n actions?: {\n label: string;\n type: 'primary' | 'secondary';\n tag?: string;\n }[];\n}\n\nexport interface SheetConfig {\n closeOnBackdropClick?: boolean;\n panelClass?: string;\n hasBackdrop?: boolean;\n backdropClass?: string;\n content?: SheetContent;\n}\n\nconst DEFAULT_CONFIG: SheetConfig = {\n closeOnBackdropClick: true,\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop',\n panelClass: 'modal--default',\n content: null\n};\n\n@Injectable()\nexport class SheetService {\n\n constructor(\n private injector: Injector,\n private overlay: Overlay\n ) { }\n\n open(config: SheetConfig = {}) {\n // Override default configuration\n const dialogConfig = { ...DEFAULT_CONFIG, ...config };\n\n // Returns an OverlayRef which is a PortalHost\n const overlayRef = this.createOverlay(dialogConfig);\n\n // Instantiate remote control\n const modalRef = new SheetRef(overlayRef);\n\n const overlayComponent = this.attachSheetContainer(overlayRef, dialogConfig, modalRef);\n\n modalRef.componentInstance = overlayComponent;\n\n if (dialogConfig.closeOnBackdropClick) {\n overlayRef.backdropClick().subscribe(_ => modalRef.close('cancel'));\n }\n\n return modalRef;\n }\n\n private createOverlay(config: SheetConfig) {\n const overlayConfig = this.getOverlayConfig(config);\n return this.overlay.create(overlayConfig);\n }\n\n private attachSheetContainer(overlayRef: OverlayRef, config: SheetConfig, modalRef: SheetRef) {\n const injector = this.createInjector(config, modalRef);\n\n const containerPortal = new ComponentPortal(SheetContainer, null, injector);\n const containerRef: ComponentRef<SheetContainer> = overlayRef.attach(containerPortal);\n\n return containerRef.instance;\n }\n\n private createInjector(config: SheetConfig, modalRef: SheetRef): PortalInjector {\n const injectionTokens = new WeakMap();\n\n injectionTokens.set(SheetRef, modalRef);\n injectionTokens.set(SHEET_CONTENT_DATA, config.content);\n\n return new PortalInjector(this.injector, injectionTokens);\n }\n\n private getOverlayConfig(config: SheetConfig): OverlayConfig {\n const positionStrategy = this.overlay.position()\n .global();\n\n const overlayConfig = new OverlayConfig({\n hasBackdrop: config.hasBackdrop,\n backdropClass: config.backdropClass,\n panelClass: config.panelClass,\n scrollStrategy: this.overlay.scrollStrategies.noop(),\n positionStrategy\n });\n\n return overlayConfig;\n }\n}\n","// tslint:disable: no-input-rename no-output-rename\n\nimport { Input, TemplateRef, Directive, HostListener, EventEmitter, Output, OnDestroy } from '@angular/core';\nimport { SheetService, SheetConfig } from './sheet.service';\nimport { Subscription } from 'rxjs';\n\nconst PRIMARY_ACTION_TAG = 'primaryAction';\nconst SECONDARY_ACTION_TAG = 'secondaryAction';\n\n/**\n * Sheets are overlays that prevent users from interacting with the rest of the application until a specific action is taken. They can be disruptive because they require users to take an action before they can continue interacting with the rest of the application.\n * It should be used thoughtfully and sparingly.\n */\n@Directive({\n selector: '[sukaSheet]'\n})\nexport class SheetDirective {\n constructor(protected sheetService: SheetService) { }\n\n /**\n * Set to `true` to show a close button on the top right corner. Defaults to `false`.\n */\n @Input('sheetCloseButton') closeButton = false;\n /**\n * Sets the sheet title.\n */\n @Input('sheetTitle') title: string | TemplateRef<any>;\n /**\n * Sets the body of the sheet.\n */\n @Input('sheetBody') body: string | TemplateRef<any>;\n /**\n * Sets to `false` to stop the sheet from closing when the user clicks on the backdrop. Defaults to `true`.\n */\n @Input('sheetCloseOnBackdropClick') closeOnBackdropClick = true;\n\n /**\n * Callback when the sheet closes.\n */\n @Output('sheetClose') close = new EventEmitter();\n\n /**\n * Sets the sheet secondary action button label.\n */\n @Input('sheetSecondaryActionLabel') secondaryActionLabel: string;\n /**\n * Callback when the secondary action is triggered.\n */\n @Output('sheetSecondaryAction') secondaryAction = new EventEmitter();\n\n /**\n * Sets the sheet primary action button label.\n */\n @Input('sheetPrimaryActionLabel') primaryActionLabel: string;\n /**\n * Callback when the primary action is triggered.\n */\n @Output('sheetPrimaryAction') primaryAction = new EventEmitter();\n\n @HostListener('click')\n onClick() {\n this.openSheet();\n }\n\n /**\n * Opens the sheet.\n */\n private openSheet() {\n const sheetConfig: SheetConfig = {\n closeOnBackdropClick: this.closeOnBackdropClick,\n content: {\n closeButton: this.closeButton,\n title: this.title,\n body: this.body,\n }\n };\n\n if (this.primaryActionLabel || this.secondaryActionLabel) {\n sheetConfig.content.actions = [];\n\n if (this.primaryActionLabel) {\n sheetConfig.content.actions.push({\n label: this.primaryActionLabel,\n type: 'primary',\n tag: PRIMARY_ACTION_TAG\n });\n }\n\n if (this.secondaryActionLabel) {\n sheetConfig.content.actions.push({\n label: this.secondaryActionLabel,\n type: 'secondary',\n tag: SECONDARY_ACTION_TAG\n });\n }\n }\n\n const sheetRef = this.sheetService.open(sheetConfig);\n\n sheetRef.afterClosed().subscribe((result: any) => {\n switch (result) {\n case PRIMARY_ACTION_TAG:\n if (this.primaryAction.observers.length > 0) {\n this.primaryAction.emit(result);\n }\n break;\n case SECONDARY_ACTION_TAG:\n if (this.secondaryAction.observers.length > 0) {\n this.secondaryAction.emit(result);\n }\n break;\n default:\n if (this.close.observers.length > 0) {\n this.close.emit();\n }\n break;\n }\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconModule } from '../icon/icon.module';\n\nimport { SheetContainer } from './sheet-container.component';\nimport { SheetDirective } from './sheet.directive';\nimport { SheetService } from './sheet.service';\n\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { ButtonModule } from '../button/button.module';\n\nexport { SheetContainer } from './sheet-container.component';\nexport { SheetDirective } from './sheet.directive';\nexport { SheetService } from './sheet.service';\nexport { SheetRef } from './sheet-ref';\n\n@NgModule({\n declarations: [\n SheetContainer,\n SheetDirective,\n ],\n exports: [\n SheetContainer,\n SheetDirective,\n ],\n imports: [\n CommonModule,\n OverlayModule,\n ButtonModule,\n IconModule,\n ],\n entryComponents: [\n SheetContainer\n ],\n providers: [\n SheetService,\n ],\n})\nexport class SheetModule { }\n","import { Component, HostBinding, Input, OnInit, Output, EventEmitter, SimpleChanges, OnChanges, TemplateRef, ViewChild, ElementRef, ViewContainerRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { OverlayRef, Overlay } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\n\n@Component({\n selector: 'suka-calendar-day-picker',\n template: `\n <label *ngIf=\"skeleton && label\" class=\"label skeleton\"></label>\n <label *ngIf=\"!skeleton && label\" [for]=\"id\" class=\"label\">\n <ng-container *ngIf=\"!isTemplate(label)\">{{label}}</ng-container>\n <ng-template *ngIf=\"isTemplate(label)\" [ngTemplateOutlet]=\"label\"></ng-template>\n </label>\n <div *ngIf=\"!skeleton && helperText\" class=\"form__helper-text\">\n <ng-container *ngIf=\"!isTemplate(helperText)\">{{helperText}}</ng-container>\n <ng-template *ngIf=\"isTemplate(helperText)\" [ngTemplateOutlet]=\"helperText\"></ng-template>\n </div>\n <div\n [attr.data-invalid]=\"(invalid ? true : null)\"\n [attr.data-valid]=\"(valid ? true : null)\"\n class=\"calendar-day-picker\"\n [ngClass]=\"{\n 'calendar-day-picker--nolabel': !label,\n 'calendar-day-picker--helpertext': helperText,\n 'skeleton' : skeleton,\n 'calendar-day-picker--disabled': disabled\n }\">\n <div class=\"calendar-day-picker__input-wrapper\">\n <input\n #origin\n type=\"text\"\n [id]=\"id\"\n [placeholder]=\"placeholder\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n (focus)=\"openCalendarDayOverlay()\"\n (change)=\"onInputChange($event)\"/>\n\n <suka-icon *ngIf=\"!skeleton && invalid\" icon=\"alert-circle\" class=\"calendar-day-picker__invalid\"></suka-icon>\n <suka-icon *ngIf=\"!skeleton && valid\" icon=\"check\" class=\"calendar-day-picker__valid\"></suka-icon>\n </div>\n <div *ngIf=\"invalid\" class=\"form-requirement\">\n <ng-container *ngIf=\"!isTemplate(invalidText)\">{{invalidText}}</ng-container>\n <ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\n </div>\n </div>\n\n <ng-template #calendarDayOverlay>\n <suka-calendar-day-overlay\n [days]=\"_selectedDays\"\n (daysChange)=\"onDaysChange($event)\"\n >\n </suka-calendar-day-overlay>\n </ng-template>\n `,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: CalendarDayPicker,\n multi: true\n }\n ]\n})\nexport class CalendarDayPicker implements ControlValueAccessor {\n /**\n * Variable used for creating unique ids for color input components.\n */\n static calendarDayPickerCount = 0;\n private _overlayRef: OverlayRef;\n private _portal: TemplatePortal<any>;\n\n _selectedDays: number[] = [];\n\n @HostBinding('class.calendar-day-picker') baseClass = true;\n\n @HostBinding('class.form-item') containerClass = true;\n /**\n * Set to `true` for a disabled color input.\n */\n @Input() disabled = false;\n /**\n * Set to `true` for a loading color input component.\n */\n @Input() skeleton = false;\n /**\n * Set to `true` for an invalid color input component.\n */\n @Input() invalid = false;\n /**\n * Set to `true` for a valid color input component.\n */\n @Input() valid = false;\n /**\n * The unique id for the color input component.\n */\n @Input() id = `calendar-day-picker-${CalendarDayPicker.calendarDayPickerCount}`;\n /**\n * Reflects the required attribute of the `input` element.\n */\n @Input() required: boolean;\n /**\n * Sets the value attribute on the `input` element.\n */\n @Input() value = '';\n /**\n * Sets the placeholder on the `input` element.\n */\n @Input() placeholder = '';\n /**\n * Sets the text inside the `label` tag.\n */\n @Input() label: string | TemplateRef<any>;\n /**\n * Sets the optional helper text.\n */\n @Input() helperText: string | TemplateRef<any>;\n /**\n * Sets the invalid text.\n */\n @Input() invalidText: string | TemplateRef<any>;\n /**\n * Emits event notifying other classes when a change in state occurs in the input.\n */\n // tslint:disable-next-line: no-output-native\n @Output() change = new EventEmitter();\n\n @ViewChild('origin', { static: false }) origin: ElementRef;\n @ViewChild('calendarDayOverlay', { static: false }) dialog: TemplateRef<any>;\n\n /**\n * Creates an instance of `CalendarDayPicker`.\n */\n constructor(\n private _overlay: Overlay,\n private _viewContainerRef: ViewContainerRef\n ) {\n CalendarDayPicker.calendarDayPickerCount++;\n }\n\n /**\n * This is the initial value set to the component\n * @param value The input value.\n */\n public writeValue(value: any) {\n this.value = value || '';\n\n if (value) {\n this._selectedDays = JSON.parse('[' + value + ']');\n }\n }\n\n /**\n * Sets a method in order to propagate changes back to the form.\n */\n public registerOnChange(fn: any) {\n this.propagateChange = fn;\n }\n\n /**\n * Registers a callback to be triggered when the control has been touched.\n * @param fn Callback to be triggered when the number input is touched.\n */\n public registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n /**\n * Sets the disabled state through the model\n */\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n /**\n * Called when number input is blurred. Needed to properly implement `ControlValueAccessor`.\n */\n onTouched: () => any = () => { };\n\n /**\n * Method set in `registerOnChange` to propagate changes back to the form.\n */\n propagateChange = (_: any) => { };\n\n /**\n * Creates a class of `NumberChange` to emit the change in the `Number`.\n */\n emitChangeEvent(): void {\n this.change.emit(this.value);\n this.propagateChange(this.value);\n }\n\n onInputChange(days: string) {\n this.value = JSON.parse('[' + days + ']');\n this.emitChangeEvent();\n }\n\n onDaysChange(days: number[]) {\n this.value = days.toString();\n this._selectedDays = days;\n this.emitChangeEvent();\n }\n\n /**\n * Opens the color picker dialog\n */\n openCalendarDayOverlay() {\n if (!this._overlayRef) {\n const positionStrategy = this._overlay\n .position()\n .flexibleConnectedTo(this.origin)\n .withPositions([{\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: 8,\n }]);\n\n this._overlayRef = this._overlay.create({\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop',\n positionStrategy,\n });\n\n this._overlayRef.backdropClick().subscribe(() => this._overlayRef.detach());\n this._portal = new TemplatePortal(this.dialog, this._viewContainerRef);\n\n }\n\n this._overlayRef.attach(this._portal);\n }\n\n /**\n * Closes the calendar day dialog\n */\n closeCalendarDayOverlay() {\n this._overlayRef.detach();\n }\n\n /**\n * Checks if it is a template\n */\n public isTemplate(value) {\n return value instanceof TemplateRef;\n }\n}\n","import { Component, HostBinding, Input, Output, EventEmitter, OnInit } from '@angular/core';\n\n@Component({\n selector: 'suka-calendar-day-overlay',\n template: `\n <div\n *ngFor=\"let day of range(numberOfDays,1)\"\n class=\"calendar-day\"\n (click)=\"toggleDay(day)\"\n [ngClass]=\"{\n 'calendar-day--selected': days.indexOf(day) >= 0\n }\"\n >\n <span class=\"calendar-day__number\">\n {{day}}\n </span>\n </div>\n `\n})\nexport class CalendarDayOverlay {\n @HostBinding('class.calendar-day-picker__overlay') baseClass = true;\n @Input() days: number[] = [];\n @Output() daysChange = new EventEmitter<number[]>();\n numberOfDays = 31;\n\n range(size, startAt = 0) {\n return [...Array(size).keys()].map(i => i + startAt);\n }\n\n toggleDay(day: number) {\n const indexOfDay = this.days.indexOf(day);\n\n if (indexOfDay < 0) {\n this.days.push(day);\n } else {\n this.days.splice(indexOfDay, 1);\n }\n\n this.days.sort((a, b) => {\n return a - b;\n });\n\n this.daysChange.emit(this.days);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { IconModule } from '../icon/icon.module';\nimport { OverlayModule } from '@angular/cdk/overlay';\n\nimport { CalendarDayPicker } from './calendar-day-picker.component';\nimport { CalendarDayOverlay } from './calendar-day-overlay.component';\n\n@NgModule({\n declarations: [\n CalendarDayPicker,\n CalendarDayOverlay,\n ],\n exports: [\n CalendarDayPicker,\n CalendarDayOverlay\n ],\n imports: [\n CommonModule,\n OverlayModule,\n FormsModule,\n IconModule,\n ],\n entryComponents: [\n CalendarDayOverlay,\n ],\n})\nclass CalendarDayPickerModule { }\n\nexport {\n CalendarDayPickerModule,\n CalendarDayPicker,\n CalendarDayOverlay,\n};\n"],"names":["Component","ElementRef","Input","HostBinding","NgModule","CommonModule","Directive","ChangeDetectorRef","Renderer2","ViewContainerRef","ComponentFactoryResolver","ContentChildren","EventEmitter","NG_VALUE_ACCESSOR","ChangeDetectionStrategy","Output","ViewChild","FormsModule","DomSanitizer","TemplateRef","forwardRef","HostListener","ViewEncapsulation","Subject","takeWhile","Host","trigger","transition","style","animate","ComponentPortal","Overlay","OverlayPositionBuilder","OverlayModule","Inject","DOCUMENT","filter","take","InjectionToken","state","PortalInjector","OverlayConfig","Injectable","Injector","ESCAPE_KEY","positions","DEFAULT_CONFIG","tslib_1.__extends","CDK_TABLE_TEMPLATE","CdkTable","CdkCellDef","CdkHeaderCellDef","CdkFooterCellDef","CdkColumnDef","CdkHeaderCell","CdkFooterCell","CdkCell","CdkHeaderRowDef","CdkFooterRowDef","CdkRowDef","CDK_ROW_TEMPLATE","CdkHeaderRow","CdkFooterRow","CdkRow","coerceNumberProperty","coerceBooleanProperty","BehaviorSubject","Subscription","merge","observableOf","combineLatest","map","DataSource","CdkTableModule","router","NavigationEnd","Router","Optional","BreakpointObserver","LayoutModule","distinctUntilChanged","ActivatedRoute","RouterModule","tslib_1.__values","Spanish","prism.highlight","prism.languages","SecurityContext","TemplatePortal","PRIMARY_ACTION_TAG","SECONDARY_ACTION_TAG","tslib_1.__spread"],"mappings":"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"}
\No newline at end of file