UNPKG

965 kBJavaScriptView Raw
1(function (global, factory) {
2 typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms'), require('@angular/platform-browser'), require('rxjs'), require('rxjs/operators'), require('@angular/animations'), require('@angular/cdk/overlay'), require('@angular/cdk/portal'), require('@angular/cdk/table'), require('@angular/cdk/coercion'), require('@angular/router'), require('@angular/cdk/layout'), require('flatpickr/dist/plugins/rangePlugin'), require('flatpickr'), require('flatpickr/dist/l10n/es.js'), require('prismjs'), require('prismjs/components/prism-markup-templating.js'), require('prismjs/components/prism-typescript'), require('prismjs/components/prism-php'), require('prismjs/components/prism-ruby'), require('prismjs/components/prism-json'), require('prismjs/components/prism-java'), require('prismjs/components/prism-markdown'), require('prismjs/components/prism-scss'), require('prismjs/components/prism-swift')) :
3 typeof define === 'function' && define.amd ? define('@kushki/ng-suka', ['exports', '@angular/core', '@angular/common', '@angular/forms', '@angular/platform-browser', 'rxjs', 'rxjs/operators', '@angular/animations', '@angular/cdk/overlay', '@angular/cdk/portal', '@angular/cdk/table', '@angular/cdk/coercion', '@angular/router', '@angular/cdk/layout', 'flatpickr/dist/plugins/rangePlugin', 'flatpickr', 'flatpickr/dist/l10n/es.js', 'prismjs', 'prismjs/components/prism-markup-templating.js', 'prismjs/components/prism-typescript', 'prismjs/components/prism-php', 'prismjs/components/prism-ruby', 'prismjs/components/prism-json', 'prismjs/components/prism-java', 'prismjs/components/prism-markdown', 'prismjs/components/prism-scss', 'prismjs/components/prism-swift'], factory) :
4 (global = global || self, factory((global.kushki = global.kushki || {}, global.kushki['ng-suka'] = {}), global.ng.core, global.ng.common, global.ng.forms, global.ng.platformBrowser, global.rxjs, global.rxjs.operators, global.ng.animations, global.ng.cdk.overlay, global.ng.cdk.portal, global.ng.cdk.table, global.ng.cdk.coercion, global.ng.router, global.ng.cdk.layout, global.rangePlugin, global.flatpickr, global.es_js, global.prismjs));
5}(this, (function (exports, core, common, forms, platformBrowser, rxjs, operators, animations, overlay, portal, table, coercion, router, layout, rangePlugin, flatpickr, es_js, prismjs) { 'use strict';
6
7 rangePlugin = rangePlugin && rangePlugin.hasOwnProperty('default') ? rangePlugin['default'] : rangePlugin;
8 flatpickr = flatpickr && flatpickr.hasOwnProperty('default') ? flatpickr['default'] : flatpickr;
9
10 /*! *****************************************************************************
11 Copyright (c) Microsoft Corporation. All rights reserved.
12 Licensed under the Apache License, Version 2.0 (the "License"); you may not use
13 this file except in compliance with the License. You may obtain a copy of the
14 License at http://www.apache.org/licenses/LICENSE-2.0
15
16 THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17 KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
18 WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
19 MERCHANTABLITY OR NON-INFRINGEMENT.
20
21 See the Apache Version 2.0 License for specific language governing permissions
22 and limitations under the License.
23 ***************************************************************************** */
24 /* global Reflect, Promise */
25
26 var extendStatics = function(d, b) {
27 extendStatics = Object.setPrototypeOf ||
28 ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
29 function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
30 return extendStatics(d, b);
31 };
32
33 function __extends(d, b) {
34 extendStatics(d, b);
35 function __() { this.constructor = d; }
36 d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
37 }
38
39 var __assign = function() {
40 __assign = Object.assign || function __assign(t) {
41 for (var s, i = 1, n = arguments.length; i < n; i++) {
42 s = arguments[i];
43 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
44 }
45 return t;
46 };
47 return __assign.apply(this, arguments);
48 };
49
50 function __rest(s, e) {
51 var t = {};
52 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
53 t[p] = s[p];
54 if (s != null && typeof Object.getOwnPropertySymbols === "function")
55 for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
56 if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
57 t[p[i]] = s[p[i]];
58 }
59 return t;
60 }
61
62 function __decorate(decorators, target, key, desc) {
63 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
64 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
65 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;
66 return c > 3 && r && Object.defineProperty(target, key, r), r;
67 }
68
69 function __param(paramIndex, decorator) {
70 return function (target, key) { decorator(target, key, paramIndex); }
71 }
72
73 function __metadata(metadataKey, metadataValue) {
74 if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
75 }
76
77 function __awaiter(thisArg, _arguments, P, generator) {
78 return new (P || (P = Promise))(function (resolve, reject) {
79 function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
80 function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
81 function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
82 step((generator = generator.apply(thisArg, _arguments || [])).next());
83 });
84 }
85
86 function __generator(thisArg, body) {
87 var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
88 return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
89 function verb(n) { return function (v) { return step([n, v]); }; }
90 function step(op) {
91 if (f) throw new TypeError("Generator is already executing.");
92 while (_) try {
93 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;
94 if (y = 0, t) op = [op[0] & 2, t.value];
95 switch (op[0]) {
96 case 0: case 1: t = op; break;
97 case 4: _.label++; return { value: op[1], done: false };
98 case 5: _.label++; y = op[1]; op = [0]; continue;
99 case 7: op = _.ops.pop(); _.trys.pop(); continue;
100 default:
101 if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
102 if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
103 if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
104 if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
105 if (t[2]) _.ops.pop();
106 _.trys.pop(); continue;
107 }
108 op = body.call(thisArg, _);
109 } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
110 if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
111 }
112 }
113
114 function __exportStar(m, exports) {
115 for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
116 }
117
118 function __values(o) {
119 var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
120 if (m) return m.call(o);
121 return {
122 next: function () {
123 if (o && i >= o.length) o = void 0;
124 return { value: o && o[i++], done: !o };
125 }
126 };
127 }
128
129 function __read(o, n) {
130 var m = typeof Symbol === "function" && o[Symbol.iterator];
131 if (!m) return o;
132 var i = m.call(o), r, ar = [], e;
133 try {
134 while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
135 }
136 catch (error) { e = { error: error }; }
137 finally {
138 try {
139 if (r && !r.done && (m = i["return"])) m.call(i);
140 }
141 finally { if (e) throw e.error; }
142 }
143 return ar;
144 }
145
146 function __spread() {
147 for (var ar = [], i = 0; i < arguments.length; i++)
148 ar = ar.concat(__read(arguments[i]));
149 return ar;
150 }
151
152 function __spreadArrays() {
153 for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
154 for (var r = Array(s), k = 0, i = 0; i < il; i++)
155 for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
156 r[k] = a[j];
157 return r;
158 };
159
160 function __await(v) {
161 return this instanceof __await ? (this.v = v, this) : new __await(v);
162 }
163
164 function __asyncGenerator(thisArg, _arguments, generator) {
165 if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
166 var g = generator.apply(thisArg, _arguments || []), i, q = [];
167 return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
168 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); }); }; }
169 function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
170 function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
171 function fulfill(value) { resume("next", value); }
172 function reject(value) { resume("throw", value); }
173 function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
174 }
175
176 function __asyncDelegator(o) {
177 var i, p;
178 return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
179 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; }
180 }
181
182 function __asyncValues(o) {
183 if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
184 var m = o[Symbol.asyncIterator], i;
185 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);
186 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); }); }; }
187 function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
188 }
189
190 function __makeTemplateObject(cooked, raw) {
191 if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
192 return cooked;
193 };
194
195 function __importStar(mod) {
196 if (mod && mod.__esModule) return mod;
197 var result = {};
198 if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
199 result.default = mod;
200 return result;
201 }
202
203 function __importDefault(mod) {
204 return (mod && mod.__esModule) ? mod : { default: mod };
205 }
206
207 /**
208 * @fileoverview added by tsickle
209 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
210 */
211 var Loading = /** @class */ (function () {
212 function Loading(elementRef) {
213 this.elementRef = elementRef;
214 this.title = 'Loading';
215 /**
216 * set to `false` to stop the loading animation
217 */
218 this.isActive = true;
219 /**
220 * Specify the size of the button
221 */
222 this.size = 'normal';
223 /**
224 * Set to `true` to make loader with an overlay.
225 */
226 this.overlay = false;
227 }
228 Loading.decorators = [
229 { type: core.Component, args: [{
230 selector: 'suka-loading',
231 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 "
232 }] }
233 ];
234 /** @nocollapse */
235 Loading.ctorParameters = function () { return [
236 { type: core.ElementRef }
237 ]; };
238 Loading.propDecorators = {
239 title: [{ type: core.Input }],
240 isActive: [{ type: core.Input }],
241 size: [{ type: core.Input }],
242 overlay: [{ type: core.Input }, { type: core.HostBinding, args: ['class.loading-overlay',] }]
243 };
244 return Loading;
245 }());
246 if (false) {
247 /** @type {?} */
248 Loading.prototype.title;
249 /**
250 * set to `false` to stop the loading animation
251 * @type {?}
252 */
253 Loading.prototype.isActive;
254 /**
255 * Specify the size of the button
256 * @type {?}
257 */
258 Loading.prototype.size;
259 /**
260 * Set to `true` to make loader with an overlay.
261 * @type {?}
262 */
263 Loading.prototype.overlay;
264 /** @type {?} */
265 Loading.prototype.elementRef;
266 }
267
268 /**
269 * @fileoverview added by tsickle
270 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
271 */
272 var LoadingModule = /** @class */ (function () {
273 function LoadingModule() {
274 }
275 LoadingModule.decorators = [
276 { type: core.NgModule, args: [{
277 declarations: [
278 Loading
279 ],
280 exports: [
281 Loading
282 ],
283 imports: [
284 common.CommonModule
285 ]
286 },] }
287 ];
288 return LoadingModule;
289 }());
290
291 /**
292 * @fileoverview added by tsickle
293 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
294 */
295 /**
296 * Buttons are used primarily for actions, such as “Add”, “Close”, “Cancel”, or “Save”.
297 * Plain buttons, which look similar to links, are used for less important or less commonly used actions, such as “view shipping settings”.
298 *
299 * For navigational actions that appear within or directly following a sentence, use the link component.
300 */
301 var Button = /** @class */ (function () {
302 function Button(ref, el, renderer, viewContainerRef, componentFactoryResolver) {
303 this.ref = ref;
304 this.el = el;
305 this.renderer = renderer;
306 this.viewContainerRef = viewContainerRef;
307 this.componentFactoryResolver = componentFactoryResolver;
308 /**
309 * Sets the button type. Can be `primary`, `basic`, `plain`, `destructive` or `outline_white`.
310 */
311 this.sukaButton = 'basic';
312 /**
313 * Button size. Can be `md` (Medium), `sm` (Small) or `lg` (Large).
314 */
315 this.size = 'md';
316 /**
317 * Set to `true` for a skeleton state button.
318 */
319 this.skeleton = false;
320 /**
321 * Set to `true` to display the outline version of the button.
322 */
323 this.outline = false;
324 /**
325 * Set to `true` for a hover effect.
326 */
327 this.hover = false;
328 /**
329 * Set to `true` for a button that uses the full horizontal width;
330 */
331 this.fullWidth = false;
332 /**
333 * Sets to `true` when the button is on a button group.
334 */
335 this.inGroup = false;
336 /**
337 * Set to `true` for a loading button.
338 */
339 this.loading = false;
340 }
341 Object.defineProperty(Button.prototype, "basic", {
342 get: /**
343 * @return {?}
344 */
345 function () {
346 return this.getType('basic');
347 },
348 enumerable: true,
349 configurable: true
350 });
351 Object.defineProperty(Button.prototype, "primary", {
352 get: /**
353 * @return {?}
354 */
355 function () {
356 return this.getType('primary');
357 },
358 enumerable: true,
359 configurable: true
360 });
361 Object.defineProperty(Button.prototype, "plain", {
362 get: /**
363 * @return {?}
364 */
365 function () {
366 return this.getType('plain');
367 },
368 enumerable: true,
369 configurable: true
370 });
371 Object.defineProperty(Button.prototype, "destructive", {
372 get: /**
373 * @return {?}
374 */
375 function () {
376 return this.getType('destructive');
377 },
378 enumerable: true,
379 configurable: true
380 });
381 Object.defineProperty(Button.prototype, "outline_white", {
382 get: /**
383 * @return {?}
384 */
385 function () {
386 return this.getType('outline_white');
387 },
388 enumerable: true,
389 configurable: true
390 });
391 Object.defineProperty(Button.prototype, "buttonSmall", {
392 get: /**
393 * @return {?}
394 */
395 function () {
396 return this.size === 'sm';
397 },
398 enumerable: true,
399 configurable: true
400 });
401 Object.defineProperty(Button.prototype, "buttonLarge", {
402 get: /**
403 * @return {?}
404 */
405 function () {
406 return this.size === 'lg';
407 },
408 enumerable: true,
409 configurable: true
410 });
411 /**
412 * @private
413 * @param {?} type
414 * @return {?}
415 */
416 Button.prototype.getType = /**
417 * @private
418 * @param {?} type
419 * @return {?}
420 */
421 function (type) {
422 return this.sukaButton === type;
423 };
424 /**
425 * @return {?}
426 */
427 Button.prototype.ngOnInit = /**
428 * @return {?}
429 */
430 function () {
431 if (!this.sukaButton) {
432 this.sukaButton = 'basic';
433 }
434 // Create the spinner
435 /** @type {?} */
436 var factory = this.componentFactoryResolver.resolveComponentFactory(Loading);
437 /** @type {?} */
438 var componentRef = this.viewContainerRef.createComponent(factory);
439 this.loadingSpinner = componentRef.instance;
440 this.loadingSpinner.size = 'sm';
441 this.renderer.setStyle(this.loadingSpinner.elementRef.nativeElement, 'display', 'none');
442 this.renderer.appendChild(this.el.nativeElement, this.loadingSpinner.elementRef.nativeElement);
443 if (this.loading) {
444 this.renderer.setStyle(this.loadingSpinner.elementRef.nativeElement, 'display', 'inherit');
445 this.el.nativeElement.disabled = true;
446 }
447 };
448 /**
449 * @param {?} changes
450 * @return {?}
451 */
452 Button.prototype.ngOnChanges = /**
453 * @param {?} changes
454 * @return {?}
455 */
456 function (changes) {
457 if (changes.loading && this.loadingSpinner) {
458 if (this.loading) {
459 this.renderer.setStyle(this.loadingSpinner.elementRef.nativeElement, 'display', 'inherit');
460 }
461 else {
462 this.renderer.setStyle(this.loadingSpinner.elementRef.nativeElement, 'display', 'none');
463 }
464 this.el.nativeElement.disabled = changes.loading.currentValue;
465 }
466 };
467 /**
468 * @return {?}
469 */
470 Button.prototype.ngAfterViewInit = /**
471 * @return {?}
472 */
473 function () {
474 this.ref.detectChanges();
475 };
476 Button.decorators = [
477 { type: core.Directive, args: [{
478 selector: '[sukaButton]'
479 },] }
480 ];
481 /** @nocollapse */
482 Button.ctorParameters = function () { return [
483 { type: core.ChangeDetectorRef },
484 { type: core.ElementRef },
485 { type: core.Renderer2 },
486 { type: core.ViewContainerRef },
487 { type: core.ComponentFactoryResolver }
488 ]; };
489 Button.propDecorators = {
490 sukaButton: [{ type: core.Input }],
491 size: [{ type: core.Input }],
492 basic: [{ type: core.HostBinding, args: ['class.btn--basic',] }],
493 primary: [{ type: core.HostBinding, args: ['class.btn--primary',] }],
494 plain: [{ type: core.HostBinding, args: ['class.btn--plain',] }],
495 destructive: [{ type: core.HostBinding, args: ['class.btn--destructive',] }],
496 outline_white: [{ type: core.HostBinding, args: ['class.btn--outline_white',] }],
497 skeleton: [{ type: core.HostBinding, args: ['class.skeleton',] }, { type: core.Input }],
498 outline: [{ type: core.HostBinding, args: ['class.btn--outline',] }, { type: core.Input }],
499 hover: [{ type: core.HostBinding, args: ['class.btn--hover',] }, { type: core.Input }],
500 fullWidth: [{ type: core.HostBinding, args: ['class.btn--full_width',] }, { type: core.Input }],
501 inGroup: [{ type: core.HostBinding, args: ['class.btn--group_item',] }, { type: core.Input }],
502 loading: [{ type: core.HostBinding, args: ['class.btn--loading',] }, { type: core.Input }],
503 buttonSmall: [{ type: core.HostBinding, args: ['class.btn--sm',] }],
504 buttonLarge: [{ type: core.HostBinding, args: ['class.btn--lg',] }]
505 };
506 return Button;
507 }());
508 if (false) {
509 /**
510 * Sets the button type. Can be `primary`, `basic`, `plain`, `destructive` or `outline_white`.
511 * @type {?}
512 */
513 Button.prototype.sukaButton;
514 /**
515 * Button size. Can be `md` (Medium), `sm` (Small) or `lg` (Large).
516 * @type {?}
517 */
518 Button.prototype.size;
519 /**
520 * Set to `true` for a skeleton state button.
521 * @type {?}
522 */
523 Button.prototype.skeleton;
524 /**
525 * Set to `true` to display the outline version of the button.
526 * @type {?}
527 */
528 Button.prototype.outline;
529 /**
530 * Set to `true` for a hover effect.
531 * @type {?}
532 */
533 Button.prototype.hover;
534 /**
535 * Set to `true` for a button that uses the full horizontal width;
536 * @type {?}
537 */
538 Button.prototype.fullWidth;
539 /**
540 * Sets to `true` when the button is on a button group.
541 * @type {?}
542 */
543 Button.prototype.inGroup;
544 /**
545 * Set to `true` for a loading button.
546 * @type {?}
547 */
548 Button.prototype.loading;
549 /**
550 * @ignore
551 * @type {?}
552 */
553 Button.prototype.loadingSpinner;
554 /**
555 * @type {?}
556 * @private
557 */
558 Button.prototype.ref;
559 /**
560 * @type {?}
561 * @private
562 */
563 Button.prototype.el;
564 /**
565 * @type {?}
566 * @private
567 */
568 Button.prototype.renderer;
569 /**
570 * @type {?}
571 * @private
572 */
573 Button.prototype.viewContainerRef;
574 /**
575 * @type {?}
576 * @private
577 */
578 Button.prototype.componentFactoryResolver;
579 }
580
581 /**
582 * @fileoverview added by tsickle
583 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
584 */
585 var ButtonGroup = /** @class */ (function () {
586 function ButtonGroup() {
587 this.baseClass = true;
588 }
589 /**
590 * @return {?}
591 */
592 ButtonGroup.prototype.ngAfterContentInit = /**
593 * @return {?}
594 */
595 function () {
596 this.buttons.toArray().forEach((/**
597 * @param {?} button
598 * @return {?}
599 */
600 function (button) {
601 button.inGroup = true;
602 }));
603 };
604 ButtonGroup.decorators = [
605 { type: core.Component, args: [{
606 selector: 'suka-button-group',
607 template: "<div class=\"btn-group__wrapper\"><ng-content></ng-content></div>"
608 }] }
609 ];
610 ButtonGroup.propDecorators = {
611 baseClass: [{ type: core.HostBinding, args: ['class.btn-group',] }],
612 segmented: [{ type: core.HostBinding, args: ['class.btn-group--segmented',] }, { type: core.Input }],
613 buttons: [{ type: core.ContentChildren, args: [Button,] }]
614 };
615 return ButtonGroup;
616 }());
617 if (false) {
618 /** @type {?} */
619 ButtonGroup.prototype.baseClass;
620 /**
621 * Join buttons as segmented group
622 * @type {?}
623 */
624 ButtonGroup.prototype.segmented;
625 /** @type {?} */
626 ButtonGroup.prototype.buttons;
627 }
628
629 /**
630 * @fileoverview added by tsickle
631 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
632 */
633 var ButtonModule = /** @class */ (function () {
634 function ButtonModule() {
635 }
636 ButtonModule.decorators = [
637 { type: core.NgModule, args: [{
638 declarations: [Button, ButtonGroup],
639 exports: [Button, ButtonGroup],
640 imports: [common.CommonModule, LoadingModule],
641 entryComponents: [Loading],
642 },] }
643 ];
644 return ButtonModule;
645 }());
646
647 /**
648 * @fileoverview added by tsickle
649 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
650 */
651 /** @enum {number} */
652 var CheckboxState = {
653 Init: 0,
654 Indeterminate: 1,
655 Checked: 2,
656 Unchecked: 3,
657 };
658 CheckboxState[CheckboxState.Init] = 'Init';
659 CheckboxState[CheckboxState.Indeterminate] = 'Indeterminate';
660 CheckboxState[CheckboxState.Checked] = 'Checked';
661 CheckboxState[CheckboxState.Unchecked] = 'Unchecked';
662 /**
663 * Used to emit changes performed on checkbox components.
664 */
665 var /**
666 * Used to emit changes performed on checkbox components.
667 */
668 CheckboxChange = /** @class */ (function () {
669 function CheckboxChange() {
670 }
671 return CheckboxChange;
672 }());
673 if (false) {
674 /** @type {?} */
675 CheckboxChange.prototype.source;
676 /** @type {?} */
677 CheckboxChange.prototype.checked;
678 }
679 var Checkbox = /** @class */ (function () {
680 /**
681 * Creates an instance of `Checkbox`.
682 */
683 function Checkbox(changeDetectorRef) {
684 this.changeDetectorRef = changeDetectorRef;
685 /**
686 * Size of the checkbox.
687 */
688 this.size = 'md';
689 /**
690 * Set to `true` for checkbox to be rendered without any classes on the host element.
691 */
692 this.inline = false;
693 /**
694 * Set to `true` for a disabled checkbox.
695 */
696 this.disabled = false;
697 /**
698 * Set to `true` for a loading checkbox.
699 */
700 this.skeleton = false;
701 /**
702 * Set to `true` to hide the checkbox labels.
703 */
704 this.hideLabel = false;
705 /**
706 * The unique id for the checkbox component.
707 */
708 this.id = "checkbox-" + Checkbox.checkboxCount;
709 /**
710 * Used to set the `aria-label` attribute on the input element.
711 */
712 // tslint:disable-next-line:no-input-rename
713 this.ariaLabel = '';
714 /**
715 * Emits event notifying other classes when a change in state occurs on a checkbox after a
716 * click.
717 */
718 // tslint:disable-next-line: no-output-native
719 this.change = new core.EventEmitter();
720 /**
721 * Emits event notifying other classes when a change in state occurs specifically
722 * on an indeterminate checkbox.
723 */
724 this.indeterminateChange = new core.EventEmitter();
725 /**
726 * Set to `true` if the input checkbox is selected (or checked).
727 */
728 // tslint:disable-next-line: variable-name
729 this._checked = false;
730 /**
731 * Set to `true` if the input checkbox is in state indeterminate.
732 */
733 // tslint:disable-next-line: variable-name
734 this._indeterminate = false;
735 this.currentCheckboxState = CheckboxState.Init;
736 /**
737 * Called when checkbox is blurred. Needed to properly implement `ControlValueAccessor`.
738 */
739 this.onTouched = (/**
740 * @return {?}
741 */
742 function () { });
743 /**
744 * Method set in `registerOnChange` to propagate changes back to the form.
745 */
746 this.propagateChange = (/**
747 * @param {?} _
748 * @return {?}
749 */
750 function (_) { });
751 Checkbox.checkboxCount++;
752 }
753 Object.defineProperty(Checkbox.prototype, "indeterminate", {
754 /**
755 * Reflects whether the checkbox state is indeterminate.
756 */
757 get: /**
758 * Reflects whether the checkbox state is indeterminate.
759 * @return {?}
760 */
761 function () {
762 return this._indeterminate;
763 },
764 /**
765 * Set the checkbox's indeterminate state to match the parameter and transition the view to reflect the change.
766 */
767 set: /**
768 * Set the checkbox's indeterminate state to match the parameter and transition the view to reflect the change.
769 * @param {?} indeterminate
770 * @return {?}
771 */
772 function (indeterminate) {
773 /** @type {?} */
774 var changed = this._indeterminate !== indeterminate;
775 this._indeterminate = indeterminate;
776 if (changed) {
777 this.transitionCheckboxState(CheckboxState.Indeterminate);
778 }
779 else {
780 this.transitionCheckboxState(this.checked ? CheckboxState.Checked : CheckboxState.Unchecked);
781 }
782 this.indeterminateChange.emit(this._indeterminate);
783 },
784 enumerable: true,
785 configurable: true
786 });
787 Object.defineProperty(Checkbox.prototype, "checked", {
788 /**
789 * Returns value `true` if state is selected for the checkbox.
790 */
791 get: /**
792 * Returns value `true` if state is selected for the checkbox.
793 * @return {?}
794 */
795 function () {
796 return this._checked;
797 },
798 /**
799 * Updating the state of a checkbox to match the state of the parameter passed in.
800 */
801 set: /**
802 * Updating the state of a checkbox to match the state of the parameter passed in.
803 * @param {?} checked
804 * @return {?}
805 */
806 function (checked) {
807 var _this = this;
808 if (checked !== this.checked) {
809 if (this._indeterminate) {
810 Promise.resolve().then((/**
811 * @return {?}
812 */
813 function () {
814 _this._indeterminate = false;
815 _this.indeterminateChange.emit(_this._indeterminate);
816 }));
817 }
818 this._checked = checked;
819 this.changeDetectorRef.markForCheck();
820 }
821 },
822 enumerable: true,
823 configurable: true
824 });
825 Object.defineProperty(Checkbox.prototype, "checkboxWrapperClass", {
826 get: /**
827 * @return {?}
828 */
829 function () {
830 return !this.inline;
831 },
832 enumerable: true,
833 configurable: true
834 });
835 Object.defineProperty(Checkbox.prototype, "formItemClass", {
836 get: /**
837 * @return {?}
838 */
839 function () {
840 return !this.inline;
841 },
842 enumerable: true,
843 configurable: true
844 });
845 /**
846 * Toggle the selected state of the checkbox.
847 */
848 /**
849 * Toggle the selected state of the checkbox.
850 * @return {?}
851 */
852 Checkbox.prototype.toggle = /**
853 * Toggle the selected state of the checkbox.
854 * @return {?}
855 */
856 function () {
857 this.checked = !this.checked;
858 };
859 // this is the initial value set to the component
860 // this is the initial value set to the component
861 /**
862 * @param {?} value
863 * @return {?}
864 */
865 Checkbox.prototype.writeValue =
866 // this is the initial value set to the component
867 /**
868 * @param {?} value
869 * @return {?}
870 */
871 function (value) {
872 this.checked = !!value;
873 };
874 /**
875 * Sets a method in order to propagate changes back to the form.
876 */
877 /**
878 * Sets a method in order to propagate changes back to the form.
879 * @param {?} fn
880 * @return {?}
881 */
882 Checkbox.prototype.registerOnChange = /**
883 * Sets a method in order to propagate changes back to the form.
884 * @param {?} fn
885 * @return {?}
886 */
887 function (fn) {
888 this.propagateChange = fn;
889 };
890 /**
891 * Registers a callback to be triggered when the control has been touched.
892 * @param fn Callback to be triggered when the checkbox is touched.
893 */
894 /**
895 * Registers a callback to be triggered when the control has been touched.
896 * @param {?} fn Callback to be triggered when the checkbox is touched.
897 * @return {?}
898 */
899 Checkbox.prototype.registerOnTouched = /**
900 * Registers a callback to be triggered when the control has been touched.
901 * @param {?} fn Callback to be triggered when the checkbox is touched.
902 * @return {?}
903 */
904 function (fn) {
905 this.onTouched = fn;
906 };
907 /**
908 * Executes on the event of a change within `Checkbox` to block propagation.
909 */
910 /**
911 * Executes on the event of a change within `Checkbox` to block propagation.
912 * @param {?} event
913 * @return {?}
914 */
915 Checkbox.prototype.onChange = /**
916 * Executes on the event of a change within `Checkbox` to block propagation.
917 * @param {?} event
918 * @return {?}
919 */
920 function (event) {
921 event.stopPropagation();
922 };
923 /**
924 * Handles click events on the `Checkbox` and emits changes to other classes.
925 */
926 /**
927 * Handles click events on the `Checkbox` and emits changes to other classes.
928 * @param {?} event
929 * @return {?}
930 */
931 Checkbox.prototype.onClick = /**
932 * Handles click events on the `Checkbox` and emits changes to other classes.
933 * @param {?} event
934 * @return {?}
935 */
936 function (event) {
937 if (!this.disabled) {
938 this.toggle();
939 this.transitionCheckboxState(this._checked ? CheckboxState.Checked : CheckboxState.Unchecked);
940 this.emitChangeEvent();
941 }
942 };
943 /**
944 * Handles changes between checkbox states.
945 */
946 /**
947 * Handles changes between checkbox states.
948 * @param {?} newState
949 * @return {?}
950 */
951 Checkbox.prototype.transitionCheckboxState = /**
952 * Handles changes between checkbox states.
953 * @param {?} newState
954 * @return {?}
955 */
956 function (newState) {
957 /** @type {?} */
958 var oldState = this.currentCheckboxState;
959 // Indeterminate has to be set always if it's transitioned to
960 // checked has to be set before indeterminate or it overrides
961 // indeterminate's dash
962 if (newState === CheckboxState.Indeterminate) {
963 this.checked = false;
964 this.inputCheckbox.nativeElement.indeterminate = true;
965 }
966 if (oldState === newState) {
967 return;
968 }
969 this.currentCheckboxState = newState;
970 };
971 /**
972 * Creates instance of `CheckboxChange` used to propagate the change event.
973 */
974 /**
975 * Creates instance of `CheckboxChange` used to propagate the change event.
976 * @return {?}
977 */
978 Checkbox.prototype.emitChangeEvent = /**
979 * Creates instance of `CheckboxChange` used to propagate the change event.
980 * @return {?}
981 */
982 function () {
983 /** @type {?} */
984 var event = new CheckboxChange();
985 event.source = this;
986 event.checked = this.checked;
987 this.propagateChange(this.checked);
988 this.change.emit(event);
989 };
990 /**
991 * Updates the checkbox if it is in the indeterminate state.
992 */
993 /**
994 * Updates the checkbox if it is in the indeterminate state.
995 * @return {?}
996 */
997 Checkbox.prototype.ngAfterViewInit = /**
998 * Updates the checkbox if it is in the indeterminate state.
999 * @return {?}
1000 */
1001 function () {
1002 if (this.indeterminate) {
1003 this.inputCheckbox.nativeElement.indeterminate = true;
1004 this.checked = false;
1005 }
1006 };
1007 /**
1008 * Variable used for creating unique ids for checkbox components.
1009 */
1010 Checkbox.checkboxCount = 0;
1011 Checkbox.decorators = [
1012 { type: core.Component, args: [{
1013 selector: 'suka-checkbox',
1014 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 ",
1015 providers: [
1016 {
1017 provide: forms.NG_VALUE_ACCESSOR,
1018 useExisting: Checkbox,
1019 multi: true
1020 }
1021 ],
1022 changeDetection: core.ChangeDetectionStrategy.OnPush
1023 }] }
1024 ];
1025 /** @nocollapse */
1026 Checkbox.ctorParameters = function () { return [
1027 { type: core.ChangeDetectorRef }
1028 ]; };
1029 Checkbox.propDecorators = {
1030 size: [{ type: core.Input }],
1031 nested: [{ type: core.Input }],
1032 inline: [{ type: core.Input }],
1033 disabled: [{ type: core.Input }],
1034 skeleton: [{ type: core.Input }],
1035 hideLabel: [{ type: core.Input }],
1036 name: [{ type: core.Input }],
1037 id: [{ type: core.Input }],
1038 required: [{ type: core.Input }],
1039 value: [{ type: core.Input }],
1040 ariaLabel: [{ type: core.Input, args: ['aria-label',] }],
1041 ariaLabelledby: [{ type: core.Input, args: ['aria-labelledby',] }],
1042 indeterminate: [{ type: core.Input }],
1043 checked: [{ type: core.Input }],
1044 checkboxWrapperClass: [{ type: core.HostBinding, args: ['class.checkbox-wrapper',] }],
1045 formItemClass: [{ type: core.HostBinding, args: ['class.form-item',] }],
1046 change: [{ type: core.Output }],
1047 indeterminateChange: [{ type: core.Output }],
1048 inputCheckbox: [{ type: core.ViewChild, args: ['inputCheckbox', { static: true },] }]
1049 };
1050 return Checkbox;
1051 }());
1052 if (false) {
1053 /**
1054 * Variable used for creating unique ids for checkbox components.
1055 * @type {?}
1056 */
1057 Checkbox.checkboxCount;
1058 /**
1059 * Size of the checkbox.
1060 * @type {?}
1061 */
1062 Checkbox.prototype.size;
1063 /**
1064 * Set to `true` for checkbox to be rendered with nested styles.
1065 * @type {?}
1066 */
1067 Checkbox.prototype.nested;
1068 /**
1069 * Set to `true` for checkbox to be rendered without any classes on the host element.
1070 * @type {?}
1071 */
1072 Checkbox.prototype.inline;
1073 /**
1074 * Set to `true` for a disabled checkbox.
1075 * @type {?}
1076 */
1077 Checkbox.prototype.disabled;
1078 /**
1079 * Set to `true` for a loading checkbox.
1080 * @type {?}
1081 */
1082 Checkbox.prototype.skeleton;
1083 /**
1084 * Set to `true` to hide the checkbox labels.
1085 * @type {?}
1086 */
1087 Checkbox.prototype.hideLabel;
1088 /**
1089 * Sets the name attribute on the `input` element.
1090 * @type {?}
1091 */
1092 Checkbox.prototype.name;
1093 /**
1094 * The unique id for the checkbox component.
1095 * @type {?}
1096 */
1097 Checkbox.prototype.id;
1098 /**
1099 * Reflects the required attribute of the `input` element.
1100 * @type {?}
1101 */
1102 Checkbox.prototype.required;
1103 /**
1104 * Sets the value attribute on the `input` element.
1105 * @type {?}
1106 */
1107 Checkbox.prototype.value;
1108 /**
1109 * Used to set the `aria-label` attribute on the input element.
1110 * @type {?}
1111 */
1112 Checkbox.prototype.ariaLabel;
1113 /**
1114 * Used to set the `aria-labelledby` attribute on the input element.
1115 * @type {?}
1116 */
1117 Checkbox.prototype.ariaLabelledby;
1118 /**
1119 * Emits event notifying other classes when a change in state occurs on a checkbox after a
1120 * click.
1121 * @type {?}
1122 */
1123 Checkbox.prototype.change;
1124 /**
1125 * Emits event notifying other classes when a change in state occurs specifically
1126 * on an indeterminate checkbox.
1127 * @type {?}
1128 */
1129 Checkbox.prototype.indeterminateChange;
1130 /**
1131 * Set to `true` if the input checkbox is selected (or checked).
1132 * @type {?}
1133 */
1134 Checkbox.prototype._checked;
1135 /**
1136 * Set to `true` if the input checkbox is in state indeterminate.
1137 * @type {?}
1138 */
1139 Checkbox.prototype._indeterminate;
1140 /** @type {?} */
1141 Checkbox.prototype.currentCheckboxState;
1142 /**
1143 * Maintains a reference to the view DOM element of the `Checkbox`.
1144 * @type {?}
1145 */
1146 Checkbox.prototype.inputCheckbox;
1147 /**
1148 * Called when checkbox is blurred. Needed to properly implement `ControlValueAccessor`.
1149 * @type {?}
1150 */
1151 Checkbox.prototype.onTouched;
1152 /**
1153 * Method set in `registerOnChange` to propagate changes back to the form.
1154 * @type {?}
1155 */
1156 Checkbox.prototype.propagateChange;
1157 /**
1158 * @type {?}
1159 * @protected
1160 */
1161 Checkbox.prototype.changeDetectorRef;
1162 }
1163
1164 /**
1165 * @fileoverview added by tsickle
1166 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1167 */
1168 var CheckboxModule = /** @class */ (function () {
1169 function CheckboxModule() {
1170 }
1171 CheckboxModule.decorators = [
1172 { type: core.NgModule, args: [{
1173 declarations: [
1174 Checkbox
1175 ],
1176 exports: [
1177 Checkbox
1178 ],
1179 imports: [
1180 common.CommonModule,
1181 forms.FormsModule
1182 ]
1183 },] }
1184 ];
1185 return CheckboxModule;
1186 }());
1187
1188 /**
1189 * @fileoverview added by tsickle
1190 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1191 */
1192 // tslint:disable: max-line-length
1193 /**
1194 * @record
1195 */
1196 function IconDef() { }
1197 if (false) {
1198 /** @type {?} */
1199 IconDef.prototype.name;
1200 /** @type {?} */
1201 IconDef.prototype.template;
1202 }
1203 /** @type {?} */
1204 var iconDefs = [
1205 {
1206 name: 'activity',
1207 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 "
1208 },
1209 {
1210 name: 'airplay',
1211 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 "
1212 },
1213 {
1214 name: 'alert-circle',
1215 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 "
1216 },
1217 {
1218 name: 'alert-octagon',
1219 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 "
1220 },
1221 {
1222 name: 'alert-triangle',
1223 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 "
1224 },
1225 {
1226 name: 'align-center',
1227 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 "
1228 },
1229 {
1230 name: 'align-justify',
1231 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 "
1232 },
1233 {
1234 name: 'align-left',
1235 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 "
1236 },
1237 {
1238 name: 'align-right',
1239 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 "
1240 },
1241 {
1242 name: 'anchor',
1243 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 "
1244 },
1245 {
1246 name: 'aperture',
1247 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 "
1248 },
1249 {
1250 name: 'archive',
1251 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 "
1252 },
1253 {
1254 name: 'arrow-down-circle',
1255 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 "
1256 },
1257 {
1258 name: 'arrow-down-left',
1259 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 "
1260 },
1261 {
1262 name: 'arrow-down-right',
1263 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 "
1264 },
1265 {
1266 name: 'arrow-down',
1267 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 "
1268 },
1269 {
1270 name: 'arrow-left-circle',
1271 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 "
1272 },
1273 {
1274 name: 'arrow-left',
1275 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 "
1276 },
1277 {
1278 name: 'arrow-right-circle',
1279 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 "
1280 },
1281 {
1282 name: 'arrow-right',
1283 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 "
1284 },
1285 {
1286 name: 'arrow-up-circle',
1287 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 "
1288 },
1289 {
1290 name: 'arrow-up-left',
1291 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 "
1292 },
1293 {
1294 name: 'arrow-up-right',
1295 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 "
1296 },
1297 {
1298 name: 'arrow-up',
1299 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 "
1300 },
1301 {
1302 name: 'at-sign',
1303 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 "
1304 },
1305 {
1306 name: 'award',
1307 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 "
1308 },
1309 {
1310 name: 'bar-chart-2',
1311 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 "
1312 },
1313 {
1314 name: 'bar-chart',
1315 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 "
1316 },
1317 {
1318 name: 'battery-charging',
1319 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 "
1320 },
1321 {
1322 name: 'battery',
1323 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 "
1324 },
1325 {
1326 name: 'bell-off',
1327 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 "
1328 },
1329 {
1330 name: 'bell',
1331 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 "
1332 },
1333 {
1334 name: 'bluetooth',
1335 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 "
1336 },
1337 {
1338 name: 'bold',
1339 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 "
1340 },
1341 {
1342 name: 'book-open',
1343 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 "
1344 },
1345 {
1346 name: 'book',
1347 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 "
1348 },
1349 {
1350 name: 'bookmark',
1351 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 "
1352 },
1353 {
1354 name: 'box',
1355 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 "
1356 },
1357 {
1358 name: 'briefcase',
1359 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 "
1360 },
1361 {
1362 name: 'calendar',
1363 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 "
1364 },
1365 {
1366 name: 'camera-off',
1367 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 "
1368 },
1369 {
1370 name: 'camera',
1371 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 "
1372 },
1373 {
1374 name: 'cast',
1375 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 "
1376 },
1377 {
1378 name: 'check-circle',
1379 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 "
1380 },
1381 {
1382 name: 'check-square',
1383 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 "
1384 },
1385 {
1386 name: 'check',
1387 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 "
1388 },
1389 {
1390 name: 'chevron-down',
1391 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 "
1392 },
1393 {
1394 name: 'chevron-left',
1395 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 "
1396 },
1397 {
1398 name: 'chevron-right',
1399 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 "
1400 },
1401 {
1402 name: 'chevron-up',
1403 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 "
1404 },
1405 {
1406 name: 'chevrons-down',
1407 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 "
1408 },
1409 {
1410 name: 'chevrons-left',
1411 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 "
1412 },
1413 {
1414 name: 'chevrons-right',
1415 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 "
1416 },
1417 {
1418 name: 'chevrons-up',
1419 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 "
1420 },
1421 {
1422 name: 'chrome',
1423 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 "
1424 },
1425 {
1426 name: 'circle',
1427 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 "
1428 },
1429 {
1430 name: 'clipboard',
1431 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 "
1432 },
1433 {
1434 name: 'clock',
1435 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 "
1436 },
1437 {
1438 name: 'cloud-drizzle',
1439 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 "
1440 },
1441 {
1442 name: 'cloud-lightning',
1443 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 "
1444 },
1445 {
1446 name: 'cloud-off',
1447 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 "
1448 },
1449 {
1450 name: 'cloud-rain',
1451 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 "
1452 },
1453 {
1454 name: 'cloud-snow',
1455 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 "
1456 },
1457 {
1458 name: 'cloud',
1459 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 "
1460 },
1461 {
1462 name: 'code',
1463 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 "
1464 },
1465 {
1466 name: 'codepen',
1467 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 "
1468 },
1469 {
1470 name: 'codesandbox',
1471 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 "
1472 },
1473 {
1474 name: 'coffee',
1475 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 "
1476 },
1477 {
1478 name: 'columns',
1479 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 "
1480 },
1481 {
1482 name: 'command',
1483 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 "
1484 },
1485 {
1486 name: 'compass',
1487 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 "
1488 },
1489 {
1490 name: 'copy',
1491 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 "
1492 },
1493 {
1494 name: 'corner-down-left',
1495 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 "
1496 },
1497 {
1498 name: 'corner-down-right',
1499 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 "
1500 },
1501 {
1502 name: 'corner-left-down',
1503 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 "
1504 },
1505 {
1506 name: 'corner-left-up',
1507 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 "
1508 },
1509 {
1510 name: 'corner-right-down',
1511 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 "
1512 },
1513 {
1514 name: 'corner-right-up',
1515 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 "
1516 },
1517 {
1518 name: 'corner-up-left',
1519 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 "
1520 },
1521 {
1522 name: 'corner-up-right',
1523 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 "
1524 },
1525 {
1526 name: 'cpu',
1527 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 "
1528 },
1529 {
1530 name: 'credit-card',
1531 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 "
1532 },
1533 {
1534 name: 'crop',
1535 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 "
1536 },
1537 {
1538 name: 'crosshair',
1539 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 "
1540 },
1541 {
1542 name: 'database',
1543 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 "
1544 },
1545 {
1546 name: 'delete',
1547 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 "
1548 },
1549 {
1550 name: 'disc',
1551 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 "
1552 },
1553 {
1554 name: 'dollar-sign',
1555 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 "
1556 },
1557 {
1558 name: 'download-cloud',
1559 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 "
1560 },
1561 {
1562 name: 'download',
1563 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 "
1564 },
1565 {
1566 name: 'droplet',
1567 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 "
1568 },
1569 {
1570 name: 'edit-2',
1571 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 "
1572 },
1573 {
1574 name: 'edit-3',
1575 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 "
1576 },
1577 {
1578 name: 'edit',
1579 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 "
1580 },
1581 {
1582 name: 'external-link',
1583 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 "
1584 },
1585 {
1586 name: 'eye-off',
1587 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 "
1588 },
1589 {
1590 name: 'eye',
1591 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 "
1592 },
1593 {
1594 name: 'facebook',
1595 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 "
1596 },
1597 {
1598 name: 'fast-forward',
1599 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 "
1600 },
1601 {
1602 name: 'feather',
1603 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 "
1604 },
1605 {
1606 name: 'figma',
1607 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 "
1608 },
1609 {
1610 name: 'file-minus',
1611 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 "
1612 },
1613 {
1614 name: 'file-plus',
1615 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 "
1616 },
1617 {
1618 name: 'file-text',
1619 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 "
1620 },
1621 {
1622 name: 'file',
1623 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 "
1624 },
1625 {
1626 name: 'film',
1627 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 "
1628 },
1629 {
1630 name: 'filter',
1631 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 "
1632 },
1633 {
1634 name: 'flag',
1635 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 "
1636 },
1637 {
1638 name: 'folder-minus',
1639 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 "
1640 },
1641 {
1642 name: 'folder-plus',
1643 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 "
1644 },
1645 {
1646 name: 'folder',
1647 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 "
1648 },
1649 {
1650 name: 'framer',
1651 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 "
1652 },
1653 {
1654 name: 'frown',
1655 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 "
1656 },
1657 {
1658 name: 'gift',
1659 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 "
1660 },
1661 {
1662 name: 'git-branch',
1663 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 "
1664 },
1665 {
1666 name: 'git-commit',
1667 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 "
1668 },
1669 {
1670 name: 'git-merge',
1671 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 "
1672 },
1673 {
1674 name: 'git-pull-request',
1675 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 "
1676 },
1677 {
1678 name: 'github',
1679 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 "
1680 },
1681 {
1682 name: 'gitlab',
1683 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 "
1684 },
1685 {
1686 name: 'globe',
1687 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 "
1688 },
1689 {
1690 name: 'grid',
1691 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 "
1692 },
1693 {
1694 name: 'hard-drive',
1695 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 "
1696 },
1697 {
1698 name: 'hash',
1699 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 "
1700 },
1701 {
1702 name: 'headphones',
1703 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 "
1704 },
1705 {
1706 name: 'heart',
1707 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 "
1708 },
1709 {
1710 name: 'help-circle',
1711 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 "
1712 },
1713 {
1714 name: 'hexagon',
1715 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 "
1716 },
1717 {
1718 name: 'home',
1719 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 "
1720 },
1721 {
1722 name: 'image',
1723 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 "
1724 },
1725 {
1726 name: 'inbox',
1727 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 "
1728 },
1729 {
1730 name: 'info',
1731 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 "
1732 },
1733 {
1734 name: 'instagram',
1735 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 "
1736 },
1737 {
1738 name: 'italic',
1739 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 "
1740 },
1741 {
1742 name: 'key',
1743 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 "
1744 },
1745 {
1746 name: 'layers',
1747 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 "
1748 },
1749 {
1750 name: 'layout',
1751 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 "
1752 },
1753 {
1754 name: 'life-buoy',
1755 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 "
1756 },
1757 {
1758 name: 'link-2',
1759 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 "
1760 },
1761 {
1762 name: 'link',
1763 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 "
1764 },
1765 {
1766 name: 'linkedin',
1767 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 "
1768 },
1769 {
1770 name: 'list',
1771 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 "
1772 },
1773 {
1774 name: 'loader',
1775 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 "
1776 },
1777 {
1778 name: 'lock',
1779 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 "
1780 },
1781 {
1782 name: 'log-in',
1783 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 "
1784 },
1785 {
1786 name: 'log-out',
1787 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 "
1788 },
1789 {
1790 name: 'mail',
1791 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 "
1792 },
1793 {
1794 name: 'map-pin',
1795 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 "
1796 },
1797 {
1798 name: 'map',
1799 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 "
1800 },
1801 {
1802 name: 'maximize-2',
1803 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 "
1804 },
1805 {
1806 name: 'maximize',
1807 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 "
1808 },
1809 {
1810 name: 'meh',
1811 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 "
1812 },
1813 {
1814 name: 'menu',
1815 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 "
1816 },
1817 {
1818 name: 'message-circle',
1819 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 "
1820 },
1821 {
1822 name: 'message-square',
1823 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 "
1824 },
1825 {
1826 name: 'mic-off',
1827 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 "
1828 },
1829 {
1830 name: 'mic',
1831 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 "
1832 },
1833 {
1834 name: 'minimize-2',
1835 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 "
1836 },
1837 {
1838 name: 'minimize',
1839 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 "
1840 },
1841 {
1842 name: 'minus-circle',
1843 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 "
1844 },
1845 {
1846 name: 'minus-square',
1847 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 "
1848 },
1849 {
1850 name: 'minus',
1851 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 "
1852 },
1853 {
1854 name: 'monitor',
1855 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 "
1856 },
1857 {
1858 name: 'moon',
1859 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 "
1860 },
1861 {
1862 name: 'more-horizontal',
1863 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 "
1864 },
1865 {
1866 name: 'more-vertical',
1867 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 "
1868 },
1869 {
1870 name: 'mouse-pointer',
1871 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 "
1872 },
1873 {
1874 name: 'move',
1875 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 "
1876 },
1877 {
1878 name: 'music',
1879 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 "
1880 },
1881 {
1882 name: 'navigation-2',
1883 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 "
1884 },
1885 {
1886 name: 'navigation',
1887 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 "
1888 },
1889 {
1890 name: 'octagon',
1891 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 "
1892 },
1893 {
1894 name: 'package',
1895 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 "
1896 },
1897 {
1898 name: 'paperclip',
1899 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 "
1900 },
1901 {
1902 name: 'pause-circle',
1903 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 "
1904 },
1905 {
1906 name: 'pause',
1907 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 "
1908 },
1909 {
1910 name: 'pen-tool',
1911 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 "
1912 },
1913 {
1914 name: 'percent',
1915 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 "
1916 },
1917 {
1918 name: 'phone-call',
1919 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 "
1920 },
1921 {
1922 name: 'phone-forwarded',
1923 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 "
1924 },
1925 {
1926 name: 'phone-incoming',
1927 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 "
1928 },
1929 {
1930 name: 'phone-missed',
1931 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 "
1932 },
1933 {
1934 name: 'phone-off',
1935 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 "
1936 },
1937 {
1938 name: 'phone-outgoing',
1939 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 "
1940 },
1941 {
1942 name: 'phone',
1943 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 "
1944 },
1945 {
1946 name: 'pie-chart',
1947 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 "
1948 },
1949 {
1950 name: 'play-circle',
1951 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 "
1952 },
1953 {
1954 name: 'play',
1955 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 "
1956 },
1957 {
1958 name: 'plus-circle',
1959 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 "
1960 },
1961 {
1962 name: 'plus-square',
1963 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 "
1964 },
1965 {
1966 name: 'plus',
1967 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 "
1968 },
1969 {
1970 name: 'pocket',
1971 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 "
1972 },
1973 {
1974 name: 'power',
1975 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 "
1976 },
1977 {
1978 name: 'printer',
1979 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 "
1980 },
1981 {
1982 name: 'radio',
1983 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 "
1984 },
1985 {
1986 name: 'refresh-ccw',
1987 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 "
1988 },
1989 {
1990 name: 'refresh-cw',
1991 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 "
1992 },
1993 {
1994 name: 'repeat',
1995 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 "
1996 },
1997 {
1998 name: 'rewind',
1999 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 "
2000 },
2001 {
2002 name: 'rotate-ccw',
2003 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 "
2004 },
2005 {
2006 name: 'rotate-cw',
2007 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 "
2008 },
2009 {
2010 name: 'rss',
2011 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 "
2012 },
2013 {
2014 name: 'save',
2015 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 "
2016 },
2017 {
2018 name: 'scissors',
2019 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 "
2020 },
2021 {
2022 name: 'search',
2023 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 "
2024 },
2025 {
2026 name: 'send',
2027 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 "
2028 },
2029 {
2030 name: 'server',
2031 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 "
2032 },
2033 {
2034 name: 'settings',
2035 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 "
2036 },
2037 {
2038 name: 'share-2',
2039 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 "
2040 },
2041 {
2042 name: 'share',
2043 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 "
2044 },
2045 {
2046 name: 'shield-off',
2047 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 "
2048 },
2049 {
2050 name: 'shield',
2051 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 "
2052 },
2053 {
2054 name: 'shopping-bag',
2055 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 "
2056 },
2057 {
2058 name: 'shopping-cart',
2059 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 "
2060 },
2061 {
2062 name: 'shuffle',
2063 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 "
2064 },
2065 {
2066 name: 'sidebar',
2067 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 "
2068 },
2069 {
2070 name: 'skip-back',
2071 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 "
2072 },
2073 {
2074 name: 'skip-forward',
2075 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 "
2076 },
2077 {
2078 name: 'slack',
2079 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 "
2080 },
2081 {
2082 name: 'slash',
2083 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 "
2084 },
2085 {
2086 name: 'sliders',
2087 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 "
2088 },
2089 {
2090 name: 'smartphone',
2091 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 "
2092 },
2093 {
2094 name: 'smile',
2095 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 "
2096 },
2097 {
2098 name: 'speaker',
2099 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 "
2100 },
2101 {
2102 name: 'square',
2103 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 "
2104 },
2105 {
2106 name: 'star',
2107 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 "
2108 },
2109 {
2110 name: 'stop-circle',
2111 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 "
2112 },
2113 {
2114 name: 'sun',
2115 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 "
2116 },
2117 {
2118 name: 'sunrise',
2119 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 "
2120 },
2121 {
2122 name: 'sunset',
2123 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 "
2124 },
2125 {
2126 name: 'tablet',
2127 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 "
2128 },
2129 {
2130 name: 'tag',
2131 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 "
2132 },
2133 {
2134 name: 'target',
2135 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 "
2136 },
2137 {
2138 name: 'terminal',
2139 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 "
2140 },
2141 {
2142 name: 'thermometer',
2143 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 "
2144 },
2145 {
2146 name: 'thumbs-down',
2147 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 "
2148 },
2149 {
2150 name: 'thumbs-up',
2151 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 "
2152 },
2153 {
2154 name: 'toggle-left',
2155 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 "
2156 },
2157 {
2158 name: 'toggle-right',
2159 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 "
2160 },
2161 {
2162 name: 'trash-2',
2163 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 "
2164 },
2165 {
2166 name: 'trash',
2167 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 "
2168 },
2169 {
2170 name: 'trello',
2171 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 "
2172 },
2173 {
2174 name: 'trending-down',
2175 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 "
2176 },
2177 {
2178 name: 'trending-up',
2179 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 "
2180 },
2181 {
2182 name: 'triangle',
2183 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 "
2184 },
2185 {
2186 name: 'truck',
2187 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 "
2188 },
2189 {
2190 name: 'tv',
2191 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 "
2192 },
2193 {
2194 name: 'twitter',
2195 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 "
2196 },
2197 {
2198 name: 'type',
2199 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 "
2200 },
2201 {
2202 name: 'umbrella',
2203 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 "
2204 },
2205 {
2206 name: 'underline',
2207 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 "
2208 },
2209 {
2210 name: 'unlock',
2211 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 "
2212 },
2213 {
2214 name: 'upload-cloud',
2215 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 "
2216 },
2217 {
2218 name: 'upload',
2219 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 "
2220 },
2221 {
2222 name: 'user-check',
2223 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 "
2224 },
2225 {
2226 name: 'user-minus',
2227 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 "
2228 },
2229 {
2230 name: 'user-plus',
2231 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 "
2232 },
2233 {
2234 name: 'user-x',
2235 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 "
2236 },
2237 {
2238 name: 'user',
2239 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 "
2240 },
2241 {
2242 name: 'users',
2243 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 "
2244 },
2245 {
2246 name: 'video-off',
2247 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 "
2248 },
2249 {
2250 name: 'video',
2251 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 "
2252 },
2253 {
2254 name: 'voicemail',
2255 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 "
2256 },
2257 {
2258 name: 'volume-1',
2259 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 "
2260 },
2261 {
2262 name: 'volume-2',
2263 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 "
2264 },
2265 {
2266 name: 'volume-x',
2267 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 "
2268 },
2269 {
2270 name: 'volume',
2271 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 "
2272 },
2273 {
2274 name: 'watch',
2275 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 "
2276 },
2277 {
2278 name: 'wifi-off',
2279 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 "
2280 },
2281 {
2282 name: 'wifi',
2283 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 "
2284 },
2285 {
2286 name: 'wind',
2287 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 "
2288 },
2289 {
2290 name: 'x-circle',
2291 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 "
2292 },
2293 {
2294 name: 'x-octagon',
2295 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 "
2296 },
2297 {
2298 name: 'x-square',
2299 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 "
2300 },
2301 {
2302 name: 'x',
2303 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 "
2304 },
2305 {
2306 name: 'youtube',
2307 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 "
2308 },
2309 {
2310 name: 'zap-off',
2311 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 "
2312 },
2313 {
2314 name: 'zap',
2315 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 "
2316 },
2317 {
2318 name: 'zoom-in',
2319 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 "
2320 },
2321 {
2322 name: 'zoom-out',
2323 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 "
2324 }
2325 ];
2326
2327 /**
2328 * @fileoverview added by tsickle
2329 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2330 */
2331 var Icon = /** @class */ (function () {
2332 function Icon(sanitizer) {
2333 this.sanitizer = sanitizer;
2334 this.baseClass = true;
2335 }
2336 Object.defineProperty(Icon.prototype, "icon", {
2337 get: /**
2338 * @return {?}
2339 */
2340 function () {
2341 return this._icon;
2342 },
2343 /**
2344 * Sets the icon.
2345 */
2346 set: /**
2347 * Sets the icon.
2348 * @param {?} value
2349 * @return {?}
2350 */
2351 function (value) {
2352 this._icon = value;
2353 this.getIconDef();
2354 },
2355 enumerable: true,
2356 configurable: true
2357 });
2358 /**
2359 * @private
2360 * @return {?}
2361 */
2362 Icon.prototype.getIconDef = /**
2363 * @private
2364 * @return {?}
2365 */
2366 function () {
2367 var _this = this;
2368 /** @type {?} */
2369 var iconDefinition = iconDefs.filter((/**
2370 * @param {?} iconDef
2371 * @return {?}
2372 */
2373 function (iconDef) { return iconDef.name === _this._icon; }))[0];
2374 if (!iconDefinition) {
2375 throw new Error("Cant find '" + this._icon + "' icon.");
2376 }
2377 this.content = this.sanitizer.bypassSecurityTrustHtml(iconDefinition.template);
2378 };
2379 Icon.decorators = [
2380 { type: core.Component, args: [{
2381 selector: 'suka-icon',
2382 template: "\n <span [innerHTML]=\"content\"></span>\n "
2383 }] }
2384 ];
2385 /** @nocollapse */
2386 Icon.ctorParameters = function () { return [
2387 { type: platformBrowser.DomSanitizer }
2388 ]; };
2389 Icon.propDecorators = {
2390 baseClass: [{ type: core.HostBinding, args: ['class.suka-icon',] }],
2391 accessibilityLabel: [{ type: core.HostBinding, args: ['attr.aria-label',] }, { type: core.Input }],
2392 icon: [{ type: core.Input }]
2393 };
2394 return Icon;
2395 }());
2396 if (false) {
2397 /**
2398 * @type {?}
2399 * @protected
2400 */
2401 Icon.prototype._icon;
2402 /** @type {?} */
2403 Icon.prototype.content;
2404 /** @type {?} */
2405 Icon.prototype.baseClass;
2406 /**
2407 * Label for accesibility applications
2408 * @type {?}
2409 */
2410 Icon.prototype.accessibilityLabel;
2411 /**
2412 * @type {?}
2413 * @private
2414 */
2415 Icon.prototype.sanitizer;
2416 }
2417
2418 /**
2419 * @fileoverview added by tsickle
2420 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2421 */
2422 var IconModule = /** @class */ (function () {
2423 function IconModule() {
2424 }
2425 IconModule.decorators = [
2426 { type: core.NgModule, args: [{
2427 declarations: [
2428 Icon,
2429 ],
2430 exports: [
2431 Icon,
2432 ],
2433 imports: [
2434 common.CommonModule,
2435 ]
2436 },] }
2437 ];
2438 return IconModule;
2439 }());
2440
2441 /**
2442 * @fileoverview added by tsickle
2443 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2444 */
2445 var Select = /** @class */ (function () {
2446 function Select() {
2447 this._value = '';
2448 /**
2449 * `inline` or `default` select displays
2450 */
2451 this.display = 'default';
2452 /**
2453 * Sets the unique ID. Defaults to `select-${total count of selects instantiated}`
2454 */
2455 this.id = "select-" + Select.selectCount++;
2456 /**
2457 * Set to true to disable component.
2458 */
2459 this.disabled = false;
2460 /**
2461 * Set to true for a loading select.
2462 */
2463 this.skeleton = false;
2464 /**
2465 * Set to `true` for an invalid select component.
2466 */
2467 this.invalid = false;
2468 /**
2469 * Set to `true` for an valid select component.
2470 */
2471 this.valid = false;
2472 /**
2473 * emits the selected options `value`
2474 */
2475 this.valueChange = new core.EventEmitter();
2476 /**
2477 * placeholder declarations. Replaced by the functions provided to `registerOnChange` and `registerOnTouched`
2478 */
2479 this.onChangeHandler = (/**
2480 * @param {?} _
2481 * @return {?}
2482 */
2483 function (_) { });
2484 this.onTouchedHandler = (/**
2485 * @return {?}
2486 */
2487 function () { });
2488 }
2489 Object.defineProperty(Select.prototype, "value", {
2490 get: /**
2491 * @return {?}
2492 */
2493 function () {
2494 // return this._value;
2495 return this.select.nativeElement.value || this._value;
2496 },
2497 set: /**
2498 * @param {?} v
2499 * @return {?}
2500 */
2501 function (v) {
2502 this._value = v;
2503 this.select.nativeElement.value = v;
2504 },
2505 enumerable: true,
2506 configurable: true
2507 });
2508 /**
2509 * Receives a value from the model.
2510 */
2511 /**
2512 * Receives a value from the model.
2513 * @param {?} obj
2514 * @return {?}
2515 */
2516 Select.prototype.writeValue = /**
2517 * Receives a value from the model.
2518 * @param {?} obj
2519 * @return {?}
2520 */
2521 function (obj) {
2522 this.value = obj;
2523 };
2524 /**
2525 * Registers a listener that notifies the model when the control updates
2526 */
2527 /**
2528 * Registers a listener that notifies the model when the control updates
2529 * @param {?} fn
2530 * @return {?}
2531 */
2532 Select.prototype.registerOnChange = /**
2533 * Registers a listener that notifies the model when the control updates
2534 * @param {?} fn
2535 * @return {?}
2536 */
2537 function (fn) {
2538 this.onChangeHandler = fn;
2539 };
2540 /**
2541 * Registers a listener that notifies the model when the control is blurred
2542 */
2543 /**
2544 * Registers a listener that notifies the model when the control is blurred
2545 * @param {?} fn
2546 * @return {?}
2547 */
2548 Select.prototype.registerOnTouched = /**
2549 * Registers a listener that notifies the model when the control is blurred
2550 * @param {?} fn
2551 * @return {?}
2552 */
2553 function (fn) {
2554 this.onTouchedHandler = fn;
2555 };
2556 /**
2557 * Sets the disabled state through the model
2558 */
2559 /**
2560 * Sets the disabled state through the model
2561 * @param {?} isDisabled
2562 * @return {?}
2563 */
2564 Select.prototype.setDisabledState = /**
2565 * Sets the disabled state through the model
2566 * @param {?} isDisabled
2567 * @return {?}
2568 */
2569 function (isDisabled) {
2570 this.disabled = isDisabled;
2571 };
2572 /**
2573 * Handles the change event from the `select`.
2574 * Sends events to the change handler and emits a `selected` event.
2575 */
2576 /**
2577 * Handles the change event from the `select`.
2578 * Sends events to the change handler and emits a `selected` event.
2579 * @param {?} event
2580 * @return {?}
2581 */
2582 Select.prototype.onChange = /**
2583 * Handles the change event from the `select`.
2584 * Sends events to the change handler and emits a `selected` event.
2585 * @param {?} event
2586 * @return {?}
2587 */
2588 function (event) {
2589 this.onChangeHandler(event.target.value);
2590 this.valueChange.emit(event.target.value);
2591 };
2592 /**
2593 * Listens for the host blurring, and notifies the model
2594 */
2595 /**
2596 * Listens for the host blurring, and notifies the model
2597 * @param {?} target
2598 * @return {?}
2599 */
2600 Select.prototype.onBlur = /**
2601 * Listens for the host blurring, and notifies the model
2602 * @param {?} target
2603 * @return {?}
2604 */
2605 function (target) {
2606 this.onTouchedHandler();
2607 };
2608 /**
2609 * @param {?} value
2610 * @return {?}
2611 */
2612 Select.prototype.isTemplate = /**
2613 * @param {?} value
2614 * @return {?}
2615 */
2616 function (value) {
2617 return value instanceof core.TemplateRef;
2618 };
2619 /**
2620 * @return {?}
2621 */
2622 Select.prototype.ngOnInit = /**
2623 * @return {?}
2624 */
2625 function () {
2626 // console.log(this.select.nativeElement);
2627 this.value = this.select.nativeElement.value;
2628 };
2629 /**
2630 * Tracks the total number of selects instantiated. Used to generate unique IDs
2631 */
2632 Select.selectCount = 0;
2633 Select.decorators = [
2634 { type: core.Component, args: [{
2635 selector: 'suka-select',
2636 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 ",
2637 providers: [
2638 {
2639 provide: forms.NG_VALUE_ACCESSOR,
2640 useExisting: core.forwardRef((/**
2641 * @return {?}
2642 */
2643 function () { return Select; })),
2644 multi: true
2645 }
2646 ],
2647 styles: ["\n [data-invalid] ~ .select__arrow {\n bottom: 2.25rem;\n }\n "]
2648 }] }
2649 ];
2650 Select.propDecorators = {
2651 display: [{ type: core.Input }],
2652 label: [{ type: core.Input }],
2653 helperText: [{ type: core.Input }],
2654 invalidText: [{ type: core.Input }],
2655 id: [{ type: core.Input }],
2656 disabled: [{ type: core.Input }],
2657 skeleton: [{ type: core.Input }],
2658 invalid: [{ type: core.Input }],
2659 valid: [{ type: core.Input }],
2660 valueChange: [{ type: core.Output }],
2661 select: [{ type: core.ViewChild, args: ['selectInput', { static: true },] }],
2662 onBlur: [{ type: core.HostListener, args: ['blur', ['$event.target'],] }]
2663 };
2664 return Select;
2665 }());
2666 if (false) {
2667 /**
2668 * Tracks the total number of selects instantiated. Used to generate unique IDs
2669 * @type {?}
2670 */
2671 Select.selectCount;
2672 /**
2673 * @type {?}
2674 * @private
2675 */
2676 Select.prototype._value;
2677 /**
2678 * `inline` or `default` select displays
2679 * @type {?}
2680 */
2681 Select.prototype.display;
2682 /**
2683 * Label for the select. Appears above the input.
2684 * @type {?}
2685 */
2686 Select.prototype.label;
2687 /**
2688 * Optional helper text that appears under the label.
2689 * @type {?}
2690 */
2691 Select.prototype.helperText;
2692 /**
2693 * Sets the invalid text.
2694 * @type {?}
2695 */
2696 Select.prototype.invalidText;
2697 /**
2698 * Sets the unique ID. Defaults to `select-${total count of selects instantiated}`
2699 * @type {?}
2700 */
2701 Select.prototype.id;
2702 /**
2703 * Set to true to disable component.
2704 * @type {?}
2705 */
2706 Select.prototype.disabled;
2707 /**
2708 * Set to true for a loading select.
2709 * @type {?}
2710 */
2711 Select.prototype.skeleton;
2712 /**
2713 * Set to `true` for an invalid select component.
2714 * @type {?}
2715 */
2716 Select.prototype.invalid;
2717 /**
2718 * Set to `true` for an valid select component.
2719 * @type {?}
2720 */
2721 Select.prototype.valid;
2722 /**
2723 * emits the selected options `value`
2724 * @type {?}
2725 */
2726 Select.prototype.valueChange;
2727 /** @type {?} */
2728 Select.prototype.select;
2729 /**
2730 * placeholder declarations. Replaced by the functions provided to `registerOnChange` and `registerOnTouched`
2731 * @type {?}
2732 * @protected
2733 */
2734 Select.prototype.onChangeHandler;
2735 /**
2736 * @type {?}
2737 * @protected
2738 */
2739 Select.prototype.onTouchedHandler;
2740 }
2741
2742 /**
2743 * @fileoverview added by tsickle
2744 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2745 */
2746 var Option = /** @class */ (function () {
2747 function Option() {
2748 this.inputClass = 'select-option';
2749 }
2750 Option.decorators = [
2751 { type: core.Directive, args: [{
2752 // tslint:disable-next-line
2753 selector: "option"
2754 },] }
2755 ];
2756 Option.propDecorators = {
2757 inputClass: [{ type: core.HostBinding, args: ['class',] }]
2758 };
2759 return Option;
2760 }());
2761 if (false) {
2762 /** @type {?} */
2763 Option.prototype.inputClass;
2764 }
2765
2766 /**
2767 * @fileoverview added by tsickle
2768 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2769 */
2770 var OptGroup = /** @class */ (function () {
2771 function OptGroup() {
2772 this.inputClass = 'select-option';
2773 }
2774 OptGroup.decorators = [
2775 { type: core.Directive, args: [{
2776 // tslint:disable-next-line
2777 selector: "optgroup"
2778 },] }
2779 ];
2780 OptGroup.propDecorators = {
2781 inputClass: [{ type: core.HostBinding, args: ['class',] }]
2782 };
2783 return OptGroup;
2784 }());
2785 if (false) {
2786 /** @type {?} */
2787 OptGroup.prototype.inputClass;
2788 }
2789
2790 /**
2791 * @fileoverview added by tsickle
2792 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2793 */
2794 var SelectModule = /** @class */ (function () {
2795 function SelectModule() {
2796 }
2797 SelectModule.decorators = [
2798 { type: core.NgModule, args: [{
2799 declarations: [
2800 Select,
2801 Option,
2802 OptGroup
2803 ],
2804 exports: [
2805 Select,
2806 Option,
2807 OptGroup
2808 ],
2809 imports: [
2810 common.CommonModule,
2811 forms.FormsModule,
2812 IconModule,
2813 ]
2814 },] }
2815 ];
2816 return SelectModule;
2817 }());
2818
2819 /**
2820 * @fileoverview added by tsickle
2821 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2822 */
2823 var Label = /** @class */ (function () {
2824 function Label() {
2825 /**
2826 * Sets the unique ID. Defaults to `input-${total count of selects instantiated}`
2827 */
2828 this.id = "input-" + Label.labelCounter++;
2829 /**
2830 * Set to `true` to display a loading label.
2831 */
2832 this.skeleton = false;
2833 /**
2834 * Set to `true` to display the invalid state.
2835 */
2836 this.invalid = false;
2837 /**
2838 * Set to `true` to display the valid state.
2839 */
2840 this.valid = false;
2841 this.labelClass = true;
2842 Label.labelCounter++;
2843 }
2844 /**
2845 * @return {?}
2846 */
2847 Label.prototype.ngAfterContentInit = /**
2848 * @return {?}
2849 */
2850 function () {
2851 this.wrapper.nativeElement.querySelector('input,textarea,div').setAttribute('id', this.id);
2852 };
2853 /**
2854 * @param {?} value
2855 * @return {?}
2856 */
2857 Label.prototype.isTemplate = /**
2858 * @param {?} value
2859 * @return {?}
2860 */
2861 function (value) {
2862 return value instanceof core.TemplateRef;
2863 };
2864 /**
2865 * Used to build the id of the input item associated with the `Label`.
2866 */
2867 Label.labelCounter = 0;
2868 Label.decorators = [
2869 { type: core.Component, args: [{
2870 selector: 'suka-label',
2871 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 "
2872 }] }
2873 ];
2874 /** @nocollapse */
2875 Label.ctorParameters = function () { return []; };
2876 Label.propDecorators = {
2877 id: [{ type: core.Input }],
2878 skeleton: [{ type: core.Input }],
2879 helperText: [{ type: core.Input }],
2880 invalidText: [{ type: core.Input }],
2881 invalid: [{ type: core.Input }],
2882 valid: [{ type: core.Input }],
2883 wrapper: [{ type: core.ViewChild, args: ['wrapper', { static: true },] }],
2884 labelClass: [{ type: core.HostBinding, args: ['class.form-item',] }]
2885 };
2886 return Label;
2887 }());
2888 if (false) {
2889 /**
2890 * Used to build the id of the input item associated with the `Label`.
2891 * @type {?}
2892 */
2893 Label.labelCounter;
2894 /**
2895 * Sets the unique ID. Defaults to `input-${total count of selects instantiated}`
2896 * @type {?}
2897 */
2898 Label.prototype.id;
2899 /**
2900 * Set to `true` to display a loading label.
2901 * @type {?}
2902 */
2903 Label.prototype.skeleton;
2904 /**
2905 * Sets the label helper text.
2906 * @type {?}
2907 */
2908 Label.prototype.helperText;
2909 /**
2910 * Sets the invalid text to display when the label is invalid.
2911 * @type {?}
2912 */
2913 Label.prototype.invalidText;
2914 /**
2915 * Set to `true` to display the invalid state.
2916 * @type {?}
2917 */
2918 Label.prototype.invalid;
2919 /**
2920 * Set to `true` to display the valid state.
2921 * @type {?}
2922 */
2923 Label.prototype.valid;
2924 /** @type {?} */
2925 Label.prototype.wrapper;
2926 /** @type {?} */
2927 Label.prototype.labelClass;
2928 }
2929
2930 /**
2931 * @fileoverview added by tsickle
2932 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2933 */
2934 var TextInput = /** @class */ (function () {
2935 function TextInput() {
2936 this.inputClass = true;
2937 /**
2938 * Set to `true` to display the invalid state.
2939 */
2940 this.invalid = false;
2941 /**
2942 * Set to `true` to display the valid state.
2943 */
2944 this.valid = false;
2945 /**
2946 * Set to `true` to display a loading text input.
2947 */
2948 this.skeleton = false;
2949 }
2950 TextInput.decorators = [
2951 { type: core.Directive, args: [{
2952 selector: '[sukaText]'
2953 },] }
2954 ];
2955 TextInput.propDecorators = {
2956 inputClass: [{ type: core.HostBinding, args: ['class.text-input',] }],
2957 invalid: [{ type: core.HostBinding, args: ['class.text-input--invalid',] }, { type: core.Input }],
2958 valid: [{ type: core.HostBinding, args: ['class.text-input--valid',] }, { type: core.Input }],
2959 skeleton: [{ type: core.HostBinding, args: ['class.skeleton',] }, { type: core.Input }]
2960 };
2961 return TextInput;
2962 }());
2963 if (false) {
2964 /** @type {?} */
2965 TextInput.prototype.inputClass;
2966 /**
2967 * Set to `true` to display the invalid state.
2968 * @type {?}
2969 */
2970 TextInput.prototype.invalid;
2971 /**
2972 * Set to `true` to display the valid state.
2973 * @type {?}
2974 */
2975 TextInput.prototype.valid;
2976 /**
2977 * Set to `true` to display a loading text input.
2978 * @type {?}
2979 */
2980 TextInput.prototype.skeleton;
2981 }
2982
2983 /**
2984 * @fileoverview added by tsickle
2985 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2986 */
2987 var TextArea = /** @class */ (function () {
2988 function TextArea() {
2989 this.baseClass = true;
2990 /**
2991 * Set to `true` to display the invalid state.
2992 */
2993 this.invalid = false;
2994 /**
2995 * Set to `true` to display the valid state.
2996 */
2997 this.valid = false;
2998 /**
2999 * Set to `true` to display a loading text area.
3000 */
3001 this.skeleton = false;
3002 }
3003 TextArea.decorators = [
3004 { type: core.Directive, args: [{
3005 selector: '[sukaTextArea]'
3006 },] }
3007 ];
3008 TextArea.propDecorators = {
3009 baseClass: [{ type: core.HostBinding, args: ['class.text-area',] }],
3010 invalid: [{ type: core.HostBinding, args: ['class.text-area--invalid',] }, { type: core.Input }],
3011 valid: [{ type: core.HostBinding, args: ['class.text-area--valid',] }, { type: core.Input }],
3012 skeleton: [{ type: core.HostBinding, args: ['class.skeleton',] }, { type: core.Input }]
3013 };
3014 return TextArea;
3015 }());
3016 if (false) {
3017 /** @type {?} */
3018 TextArea.prototype.baseClass;
3019 /**
3020 * Set to `true` to display the invalid state.
3021 * @type {?}
3022 */
3023 TextArea.prototype.invalid;
3024 /**
3025 * Set to `true` to display the valid state.
3026 * @type {?}
3027 */
3028 TextArea.prototype.valid;
3029 /**
3030 * Set to `true` to display a loading text area.
3031 * @type {?}
3032 */
3033 TextArea.prototype.skeleton;
3034 }
3035
3036 /**
3037 * @fileoverview added by tsickle
3038 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3039 */
3040 var InputModule = /** @class */ (function () {
3041 function InputModule() {
3042 }
3043 InputModule.decorators = [
3044 { type: core.NgModule, args: [{
3045 declarations: [
3046 Label,
3047 TextInput,
3048 TextArea,
3049 ],
3050 exports: [
3051 Label,
3052 TextInput,
3053 TextArea,
3054 ],
3055 imports: [
3056 common.CommonModule,
3057 forms.FormsModule,
3058 IconModule,
3059 ]
3060 },] }
3061 ];
3062 return InputModule;
3063 }());
3064
3065 /**
3066 * @fileoverview added by tsickle
3067 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3068 */
3069 var GridDirective = /** @class */ (function () {
3070 function GridDirective() {
3071 this.baseClass = true;
3072 }
3073 GridDirective.decorators = [
3074 { type: core.Directive, args: [{
3075 selector: '[sukaGrid]'
3076 },] }
3077 ];
3078 GridDirective.propDecorators = {
3079 baseClass: [{ type: core.HostBinding, args: ['class.grid',] }]
3080 };
3081 return GridDirective;
3082 }());
3083 if (false) {
3084 /** @type {?} */
3085 GridDirective.prototype.baseClass;
3086 }
3087 var RowDirective = /** @class */ (function () {
3088 function RowDirective() {
3089 this.baseClass = true;
3090 /**
3091 * Set to `true` for no gutters between columns.
3092 */
3093 this.noGutters = false;
3094 /**
3095 * Set to `true` to make the columns distribute their height accordingly to the row total height.
3096 */
3097 this.rowDeck = false;
3098 }
3099 RowDirective.decorators = [
3100 { type: core.Directive, args: [{
3101 selector: '[sukaRow]'
3102 },] }
3103 ];
3104 RowDirective.propDecorators = {
3105 baseClass: [{ type: core.HostBinding, args: ['class.row',] }],
3106 noGutters: [{ type: core.HostBinding, args: ['class.no-gutters',] }, { type: core.Input }],
3107 rowDeck: [{ type: core.HostBinding, args: ['class.row-deck',] }, { type: core.Input }]
3108 };
3109 return RowDirective;
3110 }());
3111 if (false) {
3112 /** @type {?} */
3113 RowDirective.prototype.baseClass;
3114 /**
3115 * Set to `true` for no gutters between columns.
3116 * @type {?}
3117 */
3118 RowDirective.prototype.noGutters;
3119 /**
3120 * Set to `true` to make the columns distribute their height accordingly to the row total height.
3121 * @type {?}
3122 */
3123 RowDirective.prototype.rowDeck;
3124 }
3125 var ColumnDirective = /** @class */ (function () {
3126 function ColumnDirective() {
3127 /**
3128 * Sets the class
3129 */
3130 this.class = '';
3131 /**
3132 * Object that sets the column numbers according to the breakpoint.
3133 * Breakpoints can be:<br>
3134 * - xs: From 0px<br>
3135 * - sm: From 576px<br>
3136 * - md: From 768px<br>
3137 * - lg: From 992px<br>
3138 * - xl: From 1200px<br>
3139 * - xxl: From 1600px<br>
3140 * - nobreak: For all viewports.
3141 * <br>
3142 * Example:
3143 * ```{xs: 12, sm: 6, md: 4}```
3144 */
3145 this.columnNumbers = {};
3146 /**
3147 * Object that sets the column offset according to the breakpoint.
3148 * Breakpoints can be:<br>
3149 * - xs: From 0px<br>
3150 * - sm: From 576px<br>
3151 * - md: From 768px<br>
3152 * - lg: From 992px<br>
3153 * - xl: From 1200px<br>
3154 * - xxl: From 1600px<br>
3155 * - nobreak: For all viewports.
3156 * <br>
3157 * Example:
3158 * ```{xs: 12, sm: 6, md: 4}```
3159 */
3160 this.offsets = {};
3161 // tslint:disable-next-line: variable-name
3162 this._columnClasses = [];
3163 }
3164 Object.defineProperty(ColumnDirective.prototype, "columnClasses", {
3165 get: /**
3166 * @return {?}
3167 */
3168 function () {
3169 return this._columnClasses.join(' ');
3170 },
3171 enumerable: true,
3172 configurable: true
3173 });
3174 /**
3175 * @param {?} classes
3176 * @return {?}
3177 */
3178 ColumnDirective.prototype.set = /**
3179 * @param {?} classes
3180 * @return {?}
3181 */
3182 function (classes) {
3183 this._columnClasses = classes.split(' ');
3184 };
3185 /**
3186 * @return {?}
3187 */
3188 ColumnDirective.prototype.ngOnInit = /**
3189 * @return {?}
3190 */
3191 function () {
3192 var _this = this;
3193 try {
3194 /** @type {?} */
3195 var columnKeys = Object.keys(this.columnNumbers);
3196 if (columnKeys.length <= 0) {
3197 this._columnClasses.push('col');
3198 }
3199 columnKeys.forEach((/**
3200 * @param {?} key
3201 * @return {?}
3202 */
3203 function (key) {
3204 if (_this.columnNumbers[key] === 'nobreak') {
3205 _this._columnClasses.push("col-" + key);
3206 }
3207 else {
3208 _this._columnClasses.push("col-" + key + "-" + _this.columnNumbers[key]);
3209 }
3210 }));
3211 Object.keys(this.offsets).forEach((/**
3212 * @param {?} key
3213 * @return {?}
3214 */
3215 function (key) {
3216 _this._columnClasses.push("offset-" + key + "-" + _this.offsets[key]);
3217 }));
3218 }
3219 catch (err) {
3220 console.error("Malformed `offsets` or `columnNumbers`: " + err);
3221 }
3222 if (this.class) {
3223 this._columnClasses.push(this.class);
3224 }
3225 };
3226 ColumnDirective.decorators = [
3227 { type: core.Directive, args: [{
3228 selector: '[sukaCol]'
3229 },] }
3230 ];
3231 ColumnDirective.propDecorators = {
3232 class: [{ type: core.Input }],
3233 columnNumbers: [{ type: core.Input }],
3234 offsets: [{ type: core.Input }],
3235 columnClasses: [{ type: core.HostBinding, args: ['class',] }]
3236 };
3237 return ColumnDirective;
3238 }());
3239 if (false) {
3240 /**
3241 * Sets the class
3242 * @type {?}
3243 */
3244 ColumnDirective.prototype.class;
3245 /**
3246 * Object that sets the column numbers according to the breakpoint.
3247 * Breakpoints can be:<br>
3248 * - xs: From 0px<br>
3249 * - sm: From 576px<br>
3250 * - md: From 768px<br>
3251 * - lg: From 992px<br>
3252 * - xl: From 1200px<br>
3253 * - xxl: From 1600px<br>
3254 * - nobreak: For all viewports.
3255 * <br>
3256 * Example:
3257 * ```{xs: 12, sm: 6, md: 4}```
3258 * @type {?}
3259 */
3260 ColumnDirective.prototype.columnNumbers;
3261 /**
3262 * Object that sets the column offset according to the breakpoint.
3263 * Breakpoints can be:<br>
3264 * - xs: From 0px<br>
3265 * - sm: From 576px<br>
3266 * - md: From 768px<br>
3267 * - lg: From 992px<br>
3268 * - xl: From 1200px<br>
3269 * - xxl: From 1600px<br>
3270 * - nobreak: For all viewports.
3271 * <br>
3272 * Example:
3273 * ```{xs: 12, sm: 6, md: 4}```
3274 * @type {?}
3275 */
3276 ColumnDirective.prototype.offsets;
3277 /**
3278 * @type {?}
3279 * @protected
3280 */
3281 ColumnDirective.prototype._columnClasses;
3282 }
3283
3284 /**
3285 * @fileoverview added by tsickle
3286 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3287 */
3288 var GridModule = /** @class */ (function () {
3289 function GridModule() {
3290 }
3291 GridModule.decorators = [
3292 { type: core.NgModule, args: [{
3293 declarations: [
3294 ColumnDirective,
3295 GridDirective,
3296 RowDirective
3297 ],
3298 exports: [
3299 ColumnDirective,
3300 GridDirective,
3301 RowDirective
3302 ],
3303 imports: [common.CommonModule]
3304 },] }
3305 ];
3306 return GridModule;
3307 }());
3308
3309 /**
3310 * @fileoverview added by tsickle
3311 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3312 */
3313 /** @enum {number} */
3314 var ToggleState = {
3315 Init: 0,
3316 Checked: 1,
3317 Unchecked: 2,
3318 };
3319 ToggleState[ToggleState.Init] = 'Init';
3320 ToggleState[ToggleState.Checked] = 'Checked';
3321 ToggleState[ToggleState.Unchecked] = 'Unchecked';
3322 var ToggleChange = /** @class */ (function () {
3323 function ToggleChange() {
3324 }
3325 return ToggleChange;
3326 }());
3327 if (false) {
3328 /** @type {?} */
3329 ToggleChange.prototype.source;
3330 /** @type {?} */
3331 ToggleChange.prototype.checked;
3332 }
3333 var Toggle = /** @class */ (function () {
3334 /**
3335 * Creates an instance of `Toggle`.
3336 */
3337 function Toggle(changeDetectorRef) {
3338 this.changeDetectorRef = changeDetectorRef;
3339 /**
3340 * Set to `true` for toggle to be rendered without any classes on the host element.
3341 */
3342 this.inline = false;
3343 /**
3344 * Set to `true` for a disabled toggle.
3345 */
3346 this.disabled = false;
3347 /**
3348 * Set to `true` for a loading toggle.
3349 */
3350 this.skeleton = false;
3351 /**
3352 * Set to `true` to hide the toggle labels.
3353 */
3354 this.hideLabel = false;
3355 /**
3356 * The unique id for the toggle component.
3357 */
3358 this.id = "toggle-" + Toggle.toggleCount;
3359 /**
3360 * Used to set the `aria-label` attribute on the input element.
3361 */
3362 // tslint:disable-next-line:no-input-rename
3363 this.ariaLabel = '';
3364 /**
3365 * Horizontal distribution of elements
3366 */
3367 this.distribution = 'equalSpacing';
3368 /**
3369 * Emits event notifying other classes when a change in state occurs on a toggle after a
3370 * click.
3371 */
3372 // tslint:disable-next-line: no-output-native
3373 this.change = new core.EventEmitter();
3374 /**
3375 * Set to `true` if the input toggle is selected (or checked).
3376 */
3377 // tslint:disable-next-line: variable-name
3378 this._checked = false;
3379 this.currentToggleState = ToggleState.Init;
3380 /**
3381 * Called when toggle is blurred. Needed to properly implement `ControlValueAccessor`.
3382 */
3383 this.onTouched = (/**
3384 * @return {?}
3385 */
3386 function () { });
3387 /**
3388 * Method set in `registerOnChange` to propagate changes back to the form.
3389 */
3390 this.propagateChange = (/**
3391 * @param {?} _
3392 * @return {?}
3393 */
3394 function (_) { });
3395 Toggle.toggleCount++;
3396 }
3397 Object.defineProperty(Toggle.prototype, "checked", {
3398 /**
3399 * Returns value `true` if state is selected for the toggle.
3400 */
3401 get: /**
3402 * Returns value `true` if state is selected for the toggle.
3403 * @return {?}
3404 */
3405 function () {
3406 return this._checked;
3407 },
3408 /**
3409 * Updating the state of a toggle to match the state of the parameter passed in.
3410 */
3411 set: /**
3412 * Updating the state of a toggle to match the state of the parameter passed in.
3413 * @param {?} checked
3414 * @return {?}
3415 */
3416 function (checked) {
3417 if (checked !== this.checked) {
3418 this._checked = checked;
3419 this.changeDetectorRef.markForCheck();
3420 }
3421 },
3422 enumerable: true,
3423 configurable: true
3424 });
3425 Object.defineProperty(Toggle.prototype, "toggleWrapperClass", {
3426 get: /**
3427 * @return {?}
3428 */
3429 function () {
3430 return !this.inline;
3431 },
3432 enumerable: true,
3433 configurable: true
3434 });
3435 Object.defineProperty(Toggle.prototype, "formItemClass", {
3436 get: /**
3437 * @return {?}
3438 */
3439 function () {
3440 return !this.inline;
3441 },
3442 enumerable: true,
3443 configurable: true
3444 });
3445 /**
3446 * Toggle the selected state of the toggle.
3447 */
3448 /**
3449 * Toggle the selected state of the toggle.
3450 * @return {?}
3451 */
3452 Toggle.prototype.toggle = /**
3453 * Toggle the selected state of the toggle.
3454 * @return {?}
3455 */
3456 function () {
3457 this.checked = !this.checked;
3458 };
3459 // this is the initial value set to the component
3460 // this is the initial value set to the component
3461 /**
3462 * @param {?} value
3463 * @return {?}
3464 */
3465 Toggle.prototype.writeValue =
3466 // this is the initial value set to the component
3467 /**
3468 * @param {?} value
3469 * @return {?}
3470 */
3471 function (value) {
3472 this.checked = !!value;
3473 };
3474 /**
3475 * Sets a method in order to propagate changes back to the form.
3476 */
3477 /**
3478 * Sets a method in order to propagate changes back to the form.
3479 * @param {?} fn
3480 * @return {?}
3481 */
3482 Toggle.prototype.registerOnChange = /**
3483 * Sets a method in order to propagate changes back to the form.
3484 * @param {?} fn
3485 * @return {?}
3486 */
3487 function (fn) {
3488 this.propagateChange = fn;
3489 };
3490 /**
3491 * Registers a callback to be triggered when the control has been touched.
3492 * @param fn Callback to be triggered when the toggle is touched.
3493 */
3494 /**
3495 * Registers a callback to be triggered when the control has been touched.
3496 * @param {?} fn Callback to be triggered when the toggle is touched.
3497 * @return {?}
3498 */
3499 Toggle.prototype.registerOnTouched = /**
3500 * Registers a callback to be triggered when the control has been touched.
3501 * @param {?} fn Callback to be triggered when the toggle is touched.
3502 * @return {?}
3503 */
3504 function (fn) {
3505 this.onTouched = fn;
3506 };
3507 /**
3508 * Executes on the event of a change within `Toggle` to block propagation.
3509 */
3510 /**
3511 * Executes on the event of a change within `Toggle` to block propagation.
3512 * @param {?} event
3513 * @return {?}
3514 */
3515 Toggle.prototype.onChange = /**
3516 * Executes on the event of a change within `Toggle` to block propagation.
3517 * @param {?} event
3518 * @return {?}
3519 */
3520 function (event) {
3521 event.stopPropagation();
3522 };
3523 /**
3524 * Handles click events on the `Toggle` and emits changes to other classes.
3525 */
3526 /**
3527 * Handles click events on the `Toggle` and emits changes to other classes.
3528 * @param {?} event
3529 * @return {?}
3530 */
3531 Toggle.prototype.onClick = /**
3532 * Handles click events on the `Toggle` and emits changes to other classes.
3533 * @param {?} event
3534 * @return {?}
3535 */
3536 function (event) {
3537 if (!this.disabled) {
3538 this.toggle();
3539 this.transitionToggleState(this._checked ? ToggleState.Checked : ToggleState.Unchecked);
3540 this.emitChangeEvent();
3541 }
3542 };
3543 /**
3544 * Handles changes between toggle states.
3545 */
3546 /**
3547 * Handles changes between toggle states.
3548 * @param {?} newState
3549 * @return {?}
3550 */
3551 Toggle.prototype.transitionToggleState = /**
3552 * Handles changes between toggle states.
3553 * @param {?} newState
3554 * @return {?}
3555 */
3556 function (newState) {
3557 this.currentToggleState = newState;
3558 };
3559 /**
3560 * Creates instance of `ToggleChange` used to propagate the change event.
3561 */
3562 /**
3563 * Creates instance of `ToggleChange` used to propagate the change event.
3564 * @return {?}
3565 */
3566 Toggle.prototype.emitChangeEvent = /**
3567 * Creates instance of `ToggleChange` used to propagate the change event.
3568 * @return {?}
3569 */
3570 function () {
3571 /** @type {?} */
3572 var event = new ToggleChange();
3573 event.source = this;
3574 event.checked = this.checked;
3575 this.propagateChange(this.checked);
3576 this.change.emit(event);
3577 };
3578 /**
3579 * Variable used for creating unique ids for toggle components.
3580 */
3581 Toggle.toggleCount = 0;
3582 Toggle.decorators = [
3583 { type: core.Component, args: [{
3584 selector: 'suka-toggle',
3585 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 ",
3586 providers: [
3587 {
3588 provide: forms.NG_VALUE_ACCESSOR,
3589 useExisting: Toggle,
3590 multi: true
3591 }
3592 ],
3593 changeDetection: core.ChangeDetectionStrategy.OnPush
3594 }] }
3595 ];
3596 /** @nocollapse */
3597 Toggle.ctorParameters = function () { return [
3598 { type: core.ChangeDetectorRef }
3599 ]; };
3600 Toggle.propDecorators = {
3601 nested: [{ type: core.Input }],
3602 inline: [{ type: core.Input }],
3603 disabled: [{ type: core.Input }],
3604 skeleton: [{ type: core.Input }],
3605 hideLabel: [{ type: core.Input }],
3606 name: [{ type: core.Input }],
3607 id: [{ type: core.Input }],
3608 required: [{ type: core.Input }],
3609 value: [{ type: core.Input }],
3610 ariaLabel: [{ type: core.Input, args: ['aria-label',] }],
3611 ariaLabelledby: [{ type: core.Input, args: ['aria-labelledby',] }],
3612 distribution: [{ type: core.Input }],
3613 checked: [{ type: core.Input }],
3614 toggleWrapperClass: [{ type: core.HostBinding, args: ['class.toggle-wrapper',] }],
3615 formItemClass: [{ type: core.HostBinding, args: ['class.form-item',] }],
3616 change: [{ type: core.Output }],
3617 inputToggle: [{ type: core.ViewChild, args: ['inputToggle', { static: true },] }]
3618 };
3619 return Toggle;
3620 }());
3621 if (false) {
3622 /**
3623 * Variable used for creating unique ids for toggle components.
3624 * @type {?}
3625 */
3626 Toggle.toggleCount;
3627 /**
3628 * Set to `true` for toggle to be rendered with nested styles.
3629 * @type {?}
3630 */
3631 Toggle.prototype.nested;
3632 /**
3633 * Set to `true` for toggle to be rendered without any classes on the host element.
3634 * @type {?}
3635 */
3636 Toggle.prototype.inline;
3637 /**
3638 * Set to `true` for a disabled toggle.
3639 * @type {?}
3640 */
3641 Toggle.prototype.disabled;
3642 /**
3643 * Set to `true` for a loading toggle.
3644 * @type {?}
3645 */
3646 Toggle.prototype.skeleton;
3647 /**
3648 * Set to `true` to hide the toggle labels.
3649 * @type {?}
3650 */
3651 Toggle.prototype.hideLabel;
3652 /**
3653 * Sets the name attribute on the `input` element.
3654 * @type {?}
3655 */
3656 Toggle.prototype.name;
3657 /**
3658 * The unique id for the toggle component.
3659 * @type {?}
3660 */
3661 Toggle.prototype.id;
3662 /**
3663 * Reflects the required attribute of the `input` element.
3664 * @type {?}
3665 */
3666 Toggle.prototype.required;
3667 /**
3668 * Sets the value attribute on the `input` element.
3669 * @type {?}
3670 */
3671 Toggle.prototype.value;
3672 /**
3673 * Used to set the `aria-label` attribute on the input element.
3674 * @type {?}
3675 */
3676 Toggle.prototype.ariaLabel;
3677 /**
3678 * Used to set the `aria-labelledby` attribute on the input element.
3679 * @type {?}
3680 */
3681 Toggle.prototype.ariaLabelledby;
3682 /**
3683 * Horizontal distribution of elements
3684 * @type {?}
3685 */
3686 Toggle.prototype.distribution;
3687 /**
3688 * Emits event notifying other classes when a change in state occurs on a toggle after a
3689 * click.
3690 * @type {?}
3691 */
3692 Toggle.prototype.change;
3693 /**
3694 * Set to `true` if the input toggle is selected (or checked).
3695 * @type {?}
3696 */
3697 Toggle.prototype._checked;
3698 /** @type {?} */
3699 Toggle.prototype.currentToggleState;
3700 /**
3701 * Maintains a reference to the view DOM element of the `Toggle`.
3702 * @type {?}
3703 */
3704 Toggle.prototype.inputToggle;
3705 /**
3706 * Called when toggle is blurred. Needed to properly implement `ControlValueAccessor`.
3707 * @type {?}
3708 */
3709 Toggle.prototype.onTouched;
3710 /**
3711 * Method set in `registerOnChange` to propagate changes back to the form.
3712 * @type {?}
3713 */
3714 Toggle.prototype.propagateChange;
3715 /**
3716 * @type {?}
3717 * @protected
3718 */
3719 Toggle.prototype.changeDetectorRef;
3720 }
3721
3722 /**
3723 * @fileoverview added by tsickle
3724 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3725 */
3726 var ToggleModule = /** @class */ (function () {
3727 function ToggleModule() {
3728 }
3729 ToggleModule.decorators = [
3730 { type: core.NgModule, args: [{
3731 declarations: [
3732 Toggle
3733 ],
3734 exports: [
3735 Toggle
3736 ],
3737 imports: [
3738 common.CommonModule,
3739 forms.FormsModule,
3740 ]
3741 },] }
3742 ];
3743 return ToggleModule;
3744 }());
3745
3746 /**
3747 * @fileoverview added by tsickle
3748 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3749 */
3750 /**
3751 * Used to emit changes performed on a `Radio`.
3752 */
3753 var /**
3754 * Used to emit changes performed on a `Radio`.
3755 */
3756 RadioChange = /** @class */ (function () {
3757 function RadioChange(source, value) {
3758 this.source = source;
3759 this.value = value;
3760 }
3761 return RadioChange;
3762 }());
3763 if (false) {
3764 /**
3765 * Contains the `Radio` that has been changed.
3766 * @type {?}
3767 */
3768 RadioChange.prototype.source;
3769 /**
3770 * The value of the `Radio` encompassed in the `RadioChange` class.
3771 * @type {?}
3772 */
3773 RadioChange.prototype.value;
3774 }
3775
3776 /**
3777 * @fileoverview added by tsickle
3778 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3779 */
3780 var Radio = /** @class */ (function () {
3781 function Radio() {
3782 /**
3783 * Sets the checked status.
3784 */
3785 this.checked = false;
3786 /**
3787 * Sets the `Radio` `<input>` name.
3788 */
3789 this.name = '';
3790 /**
3791 * Set to `true` to disable the `Radio`.
3792 */
3793 this.disabled = false;
3794 /**
3795 * Sets the label placement. Default to `right`.
3796 */
3797 this.labelPlacement = 'right';
3798 /**
3799 * Sets the HTML required attribute
3800 */
3801 this.required = false;
3802 /**
3803 * The value of the `Radio`.
3804 */
3805 this.value = '';
3806 /**
3807 * Set to `true` for a loading radio.
3808 */
3809 this.skeleton = false;
3810 /**
3811 * The id for the `Radio`.
3812 */
3813 this.id = "radio-" + Radio.radioCount++;
3814 /**
3815 * emits when the state of the radio changes
3816 */
3817 // tslint:disable-next-line: no-output-native
3818 this.change = new core.EventEmitter();
3819 /**
3820 * Binds 'radio' value to the role attribute for `Radio`.
3821 */
3822 this.role = 'radio';
3823 this.hostClass = true;
3824 // tslint:disable-next-line: variable-name
3825 this._labelledby = '';
3826 /**
3827 * Handler provided by the `RadioGroup` to bubble events up
3828 */
3829 this.radioChangeHandler = (/**
3830 * @param {?} event
3831 * @return {?}
3832 */
3833 function (event) { });
3834 }
3835 Object.defineProperty(Radio.prototype, "ariaLabelledby", {
3836 get: /**
3837 * @return {?}
3838 */
3839 function () {
3840 if (this._labelledby) {
3841 return this._labelledby;
3842 }
3843 return "label-" + this.id;
3844 },
3845 set: /**
3846 * @param {?} value
3847 * @return {?}
3848 */
3849 function (value) {
3850 this._labelledby = value;
3851 },
3852 enumerable: true,
3853 configurable: true
3854 });
3855 Object.defineProperty(Radio.prototype, "labelLeft", {
3856 get: /**
3857 * @return {?}
3858 */
3859 function () {
3860 return this.labelPlacement === 'left';
3861 },
3862 enumerable: true,
3863 configurable: true
3864 });
3865 /**
3866 * Synchronizes with the `RadioGroup` in the event of a changed `Radio`.
3867 * Emits the changes of both the `RadioGroup` and `Radio`.
3868 */
3869 /**
3870 * Synchronizes with the `RadioGroup` in the event of a changed `Radio`.
3871 * Emits the changes of both the `RadioGroup` and `Radio`.
3872 * @param {?} event
3873 * @return {?}
3874 */
3875 Radio.prototype.onChange = /**
3876 * Synchronizes with the `RadioGroup` in the event of a changed `Radio`.
3877 * Emits the changes of both the `RadioGroup` and `Radio`.
3878 * @param {?} event
3879 * @return {?}
3880 */
3881 function (event) {
3882 event.stopPropagation();
3883 this.checked = ((/** @type {?} */ (event.target))).checked;
3884 /** @type {?} */
3885 var radioEvent = new RadioChange(this, this.value);
3886 this.change.emit(radioEvent);
3887 this.radioChangeHandler(radioEvent);
3888 };
3889 /**
3890 * Method called by `RadioGroup` with a callback function to bubble `RadioChange` events
3891 * @param fn callback that expects a `RadioChange` as an argument
3892 */
3893 /**
3894 * Method called by `RadioGroup` with a callback function to bubble `RadioChange` events
3895 * @param {?} fn callback that expects a `RadioChange` as an argument
3896 * @return {?}
3897 */
3898 Radio.prototype.registerRadioChangeHandler = /**
3899 * Method called by `RadioGroup` with a callback function to bubble `RadioChange` events
3900 * @param {?} fn callback that expects a `RadioChange` as an argument
3901 * @return {?}
3902 */
3903 function (fn) {
3904 this.radioChangeHandler = fn;
3905 };
3906 /**
3907 * Used to dynamically create unique ids for the `Radio`.
3908 */
3909 Radio.radioCount = 0;
3910 Radio.decorators = [
3911 { type: core.Component, args: [{
3912 selector: 'suka-radio',
3913 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 ",
3914 providers: [
3915 {
3916 provide: forms.NG_VALUE_ACCESSOR,
3917 useExisting: Radio,
3918 multi: true
3919 }
3920 ]
3921 }] }
3922 ];
3923 Radio.propDecorators = {
3924 checked: [{ type: core.Input }],
3925 name: [{ type: core.Input }],
3926 disabled: [{ type: core.Input }],
3927 labelPlacement: [{ type: core.Input }],
3928 ariaLabelledby: [{ type: core.Input }],
3929 required: [{ type: core.Input }],
3930 value: [{ type: core.Input }],
3931 skeleton: [{ type: core.Input }],
3932 id: [{ type: core.Input }],
3933 change: [{ type: core.Output }],
3934 role: [{ type: core.HostBinding, args: ['attr.role',] }],
3935 hostClass: [{ type: core.HostBinding, args: ['class.radio-button-wrapper',] }],
3936 labelLeft: [{ type: core.HostBinding, args: ['class.radio-button-wrapper--label-left',] }]
3937 };
3938 return Radio;
3939 }());
3940 if (false) {
3941 /**
3942 * Used to dynamically create unique ids for the `Radio`.
3943 * @type {?}
3944 */
3945 Radio.radioCount;
3946 /**
3947 * Sets the checked status.
3948 * @type {?}
3949 */
3950 Radio.prototype.checked;
3951 /**
3952 * Sets the `Radio` `<input>` name.
3953 * @type {?}
3954 */
3955 Radio.prototype.name;
3956 /**
3957 * Set to `true` to disable the `Radio`.
3958 * @type {?}
3959 */
3960 Radio.prototype.disabled;
3961 /**
3962 * Sets the label placement. Default to `right`.
3963 * @type {?}
3964 */
3965 Radio.prototype.labelPlacement;
3966 /**
3967 * Sets the HTML required attribute
3968 * @type {?}
3969 */
3970 Radio.prototype.required;
3971 /**
3972 * The value of the `Radio`.
3973 * @type {?}
3974 */
3975 Radio.prototype.value;
3976 /**
3977 * Set to `true` for a loading radio.
3978 * @type {?}
3979 */
3980 Radio.prototype.skeleton;
3981 /**
3982 * The id for the `Radio`.
3983 * @type {?}
3984 */
3985 Radio.prototype.id;
3986 /**
3987 * emits when the state of the radio changes
3988 * @type {?}
3989 */
3990 Radio.prototype.change;
3991 /**
3992 * Binds 'radio' value to the role attribute for `Radio`.
3993 * @type {?}
3994 */
3995 Radio.prototype.role;
3996 /** @type {?} */
3997 Radio.prototype.hostClass;
3998 /**
3999 * @type {?}
4000 * @protected
4001 */
4002 Radio.prototype._labelledby;
4003 /**
4004 * Handler provided by the `RadioGroup` to bubble events up
4005 * @type {?}
4006 */
4007 Radio.prototype.radioChangeHandler;
4008 }
4009
4010 /**
4011 * @fileoverview added by tsickle
4012 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4013 */
4014 var RadioGroup = /** @class */ (function () {
4015 function RadioGroup() {
4016 this.orientation = 'horizontal';
4017 this.radioLabelPlacement = 'right';
4018 /**
4019 * Emits event notifying other classes of a change using a `RadioChange` class.
4020 */
4021 // tslint:disable-next-line: no-output-native
4022 this.change = new core.EventEmitter();
4023 /**
4024 * Set to true to disable the whole radio group
4025 */
4026 this.disabled = false;
4027 /**
4028 * Binds 'form-item' value to the class for `RadioGroup`.
4029 */
4030 this.radioButtonGroupClass = true;
4031 /**
4032 * To track whether the `RadioGroup` has been initialized.
4033 */
4034 this.isInitialized = false;
4035 /**
4036 * Reflects whether or not the input is disabled and cannot be selected.
4037 */
4038 this._disabled = false;
4039 /**
4040 * Reflects whether or not the dropdown is loading.
4041 */
4042 this._skeleton = false;
4043 /**
4044 * The value of the selected option within the `RadioGroup`.
4045 */
4046 this._value = null;
4047 /**
4048 * The `Radio` within the `RadioGroup` that is selected.
4049 */
4050 this._selected = null;
4051 /**
4052 * The name attribute associated with the `RadioGroup`.
4053 */
4054 this._name = "radio-group-" + RadioGroup.radioGroupCount++;
4055 /**
4056 * Needed to properly implement ControlValueAccessor.
4057 */
4058 this.onTouched = (/**
4059 * @return {?}
4060 */
4061 function () { });
4062 /**
4063 * Method set in registerOnChange to propagate changes back to the form.
4064 */
4065 this.propagateChange = (/**
4066 * @param {?} _
4067 * @return {?}
4068 */
4069 function (_) { });
4070 }
4071 Object.defineProperty(RadioGroup.prototype, "selected", {
4072 /**
4073 * Returns the `Radio` that is selected within the `RadioGroup`.
4074 */
4075 get: /**
4076 * Returns the `Radio` that is selected within the `RadioGroup`.
4077 * @return {?}
4078 */
4079 function () {
4080 return this._selected;
4081 },
4082 /**
4083 * Sets the passed in `Radio` item as the selected input within the `RadioGroup`.
4084 */
4085 set: /**
4086 * Sets the passed in `Radio` item as the selected input within the `RadioGroup`.
4087 * @param {?} selected
4088 * @return {?}
4089 */
4090 function (selected) {
4091 this._selected = selected;
4092 this.value = selected ? selected.value : null;
4093 this.checkSelectedRadio();
4094 },
4095 enumerable: true,
4096 configurable: true
4097 });
4098 Object.defineProperty(RadioGroup.prototype, "value", {
4099 /**
4100 * Returns the value/state of the selected `Radio` within the `RadioGroup`.
4101 */
4102 get: /**
4103 * Returns the value/state of the selected `Radio` within the `RadioGroup`.
4104 * @return {?}
4105 */
4106 function () {
4107 return this._value;
4108 },
4109 /**
4110 * Sets the value/state of the selected `Radio` within the `RadioGroup` to the passed in value.
4111 */
4112 set: /**
4113 * Sets the value/state of the selected `Radio` within the `RadioGroup` to the passed in value.
4114 * @param {?} newValue
4115 * @return {?}
4116 */
4117 function (newValue) {
4118 if (this._value !== newValue) {
4119 this._value = newValue;
4120 this.updateSelectedRadioFromValue();
4121 this.checkSelectedRadio();
4122 }
4123 },
4124 enumerable: true,
4125 configurable: true
4126 });
4127 Object.defineProperty(RadioGroup.prototype, "name", {
4128 /**
4129 * Returns the associated name of the `RadioGroup`.
4130 */
4131 get: /**
4132 * Returns the associated name of the `RadioGroup`.
4133 * @return {?}
4134 */
4135 function () {
4136 return this._name;
4137 },
4138 /**
4139 * Replaces the name associated with the `RadioGroup` with the provided parameter.
4140 */
4141 set: /**
4142 * Replaces the name associated with the `RadioGroup` with the provided parameter.
4143 * @param {?} name
4144 * @return {?}
4145 */
4146 function (name) {
4147 this._name = name;
4148 this.updateRadios();
4149 },
4150 enumerable: true,
4151 configurable: true
4152 });
4153 Object.defineProperty(RadioGroup.prototype, "skeleton", {
4154 /**
4155 * Returns the skeleton value in the `RadioGroup` if there is one.
4156 */
4157 get: /**
4158 * Returns the skeleton value in the `RadioGroup` if there is one.
4159 * @return {?}
4160 */
4161 function () {
4162 return this._skeleton;
4163 },
4164 /**
4165 * Sets the skeleton value for all `Radio` to the skeleton value of `RadioGroup`.
4166 */
4167 set: /**
4168 * Sets the skeleton value for all `Radio` to the skeleton value of `RadioGroup`.
4169 * @param {?} value
4170 * @return {?}
4171 */
4172 function (value) {
4173 this._skeleton = value;
4174 this.updateChildren();
4175 },
4176 enumerable: true,
4177 configurable: true
4178 });
4179 /**
4180 * Updates the selected `Radio` to be checked (selected).
4181 */
4182 /**
4183 * Updates the selected `Radio` to be checked (selected).
4184 * @return {?}
4185 */
4186 RadioGroup.prototype.checkSelectedRadio = /**
4187 * Updates the selected `Radio` to be checked (selected).
4188 * @return {?}
4189 */
4190 function () {
4191 if (this.selected && !this._selected.checked) {
4192 this.selected.checked = true;
4193 }
4194 };
4195 /**
4196 * Use the value of the `RadioGroup` to update the selected radio to the right state (selected state).
4197 */
4198 /**
4199 * Use the value of the `RadioGroup` to update the selected radio to the right state (selected state).
4200 * @return {?}
4201 */
4202 RadioGroup.prototype.updateSelectedRadioFromValue = /**
4203 * Use the value of the `RadioGroup` to update the selected radio to the right state (selected state).
4204 * @return {?}
4205 */
4206 function () {
4207 var _this = this;
4208 /** @type {?} */
4209 var alreadySelected = this._selected != null && this._selected.value === this._value;
4210 if (this.radios && !alreadySelected) {
4211 this._selected = null;
4212 this.radios.forEach((/**
4213 * @param {?} radio
4214 * @return {?}
4215 */
4216 function (radio) {
4217 if (radio.checked) {
4218 _this._selected = radio;
4219 }
4220 }));
4221 }
4222 };
4223 /**
4224 * Creates a class of `RadioChange` to emit the change in the `RadioGroup`.
4225 */
4226 /**
4227 * Creates a class of `RadioChange` to emit the change in the `RadioGroup`.
4228 * @param {?} event
4229 * @return {?}
4230 */
4231 RadioGroup.prototype.emitChangeEvent = /**
4232 * Creates a class of `RadioChange` to emit the change in the `RadioGroup`.
4233 * @param {?} event
4234 * @return {?}
4235 */
4236 function (event) {
4237 this.change.emit(event);
4238 this.propagateChange(event.value);
4239 this.onTouched();
4240 };
4241 /**
4242 * Synchronizes radio properties.
4243 */
4244 /**
4245 * Synchronizes radio properties.
4246 * @return {?}
4247 */
4248 RadioGroup.prototype.updateRadios = /**
4249 * Synchronizes radio properties.
4250 * @return {?}
4251 */
4252 function () {
4253 var _this = this;
4254 if (this.radios) {
4255 setTimeout((/**
4256 * @return {?}
4257 */
4258 function () {
4259 _this.radios.forEach((/**
4260 * @param {?} radio
4261 * @return {?}
4262 */
4263 function (radio) { return radio.name = _this.name; }));
4264 if (_this.radioLabelPlacement === 'left') {
4265 _this.radios.forEach((/**
4266 * @param {?} radio
4267 * @return {?}
4268 */
4269 function (radio) { return radio.labelPlacement = 'left'; }));
4270 }
4271 }));
4272 }
4273 };
4274 /**
4275 * Updates the value of the `RadioGroup` using the provided parameter.
4276 */
4277 /**
4278 * Updates the value of the `RadioGroup` using the provided parameter.
4279 * @param {?} value
4280 * @return {?}
4281 */
4282 RadioGroup.prototype.writeValue = /**
4283 * Updates the value of the `RadioGroup` using the provided parameter.
4284 * @param {?} value
4285 * @return {?}
4286 */
4287 function (value) {
4288 this.value = value;
4289 };
4290 /**
4291 * @return {?}
4292 */
4293 RadioGroup.prototype.ngAfterContentInit = /**
4294 * @return {?}
4295 */
4296 function () {
4297 var _this = this;
4298 this.radios.changes.subscribe((/**
4299 * @return {?}
4300 */
4301 function () {
4302 _this.updateRadios();
4303 _this.updateRadioChangeHandler();
4304 }));
4305 this.updateChildren();
4306 this.updateRadioChangeHandler();
4307 };
4308 /**
4309 * @return {?}
4310 */
4311 RadioGroup.prototype.ngAfterViewInit = /**
4312 * @return {?}
4313 */
4314 function () {
4315 this.updateRadios();
4316 };
4317 /**
4318 * Used to set method to propagate changes back to the form.
4319 */
4320 /**
4321 * Used to set method to propagate changes back to the form.
4322 * @param {?} fn
4323 * @return {?}
4324 */
4325 RadioGroup.prototype.registerOnChange = /**
4326 * Used to set method to propagate changes back to the form.
4327 * @param {?} fn
4328 * @return {?}
4329 */
4330 function (fn) {
4331 this.propagateChange = fn;
4332 };
4333 /**
4334 * Registers a callback to be triggered when the control has been touched.
4335 * @param fn Callback to be triggered when the checkbox is touched.
4336 */
4337 /**
4338 * Registers a callback to be triggered when the control has been touched.
4339 * @param {?} fn Callback to be triggered when the checkbox is touched.
4340 * @return {?}
4341 */
4342 RadioGroup.prototype.registerOnTouched = /**
4343 * Registers a callback to be triggered when the control has been touched.
4344 * @param {?} fn Callback to be triggered when the checkbox is touched.
4345 * @return {?}
4346 */
4347 function (fn) {
4348 this.onTouched = fn;
4349 };
4350 /**
4351 * @protected
4352 * @return {?}
4353 */
4354 RadioGroup.prototype.updateChildren = /**
4355 * @protected
4356 * @return {?}
4357 */
4358 function () {
4359 var _this = this;
4360 if (this.radios) {
4361 this.radios.forEach((/**
4362 * @param {?} child
4363 * @return {?}
4364 */
4365 function (child) { return child.skeleton = _this.skeleton; }));
4366 }
4367 };
4368 /**
4369 * @protected
4370 * @return {?}
4371 */
4372 RadioGroup.prototype.updateRadioChangeHandler = /**
4373 * @protected
4374 * @return {?}
4375 */
4376 function () {
4377 var _this = this;
4378 this.radios.forEach((/**
4379 * @param {?} radio
4380 * @return {?}
4381 */
4382 function (radio) {
4383 radio.registerRadioChangeHandler((/**
4384 * @param {?} event
4385 * @return {?}
4386 */
4387 function (event) {
4388 // update selected and value from the event
4389 _this._selected = event.source;
4390 _this._value = event.value;
4391 // bubble the event
4392 _this.emitChangeEvent(event);
4393 }));
4394 }));
4395 };
4396 RadioGroup.radioGroupCount = 0;
4397 RadioGroup.decorators = [
4398 { type: core.Component, args: [{
4399 selector: 'suka-radio-group',
4400 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 ",
4401 providers: [
4402 {
4403 provide: forms.NG_VALUE_ACCESSOR,
4404 useExisting: RadioGroup,
4405 multi: true
4406 }
4407 ]
4408 }] }
4409 ];
4410 RadioGroup.propDecorators = {
4411 orientation: [{ type: core.Input }],
4412 radioLabelPlacement: [{ type: core.Input }],
4413 change: [{ type: core.Output }],
4414 radios: [{ type: core.ContentChildren, args: [core.forwardRef((/**
4415 * @return {?}
4416 */
4417 function () { return Radio; })),] }],
4418 selected: [{ type: core.Input }],
4419 value: [{ type: core.Input }],
4420 name: [{ type: core.Input }],
4421 disabled: [{ type: core.Input }],
4422 skeleton: [{ type: core.Input }],
4423 radioButtonGroupClass: [{ type: core.HostBinding, args: ['class.form-item',] }]
4424 };
4425 return RadioGroup;
4426 }());
4427 if (false) {
4428 /** @type {?} */
4429 RadioGroup.radioGroupCount;
4430 /** @type {?} */
4431 RadioGroup.prototype.orientation;
4432 /** @type {?} */
4433 RadioGroup.prototype.radioLabelPlacement;
4434 /**
4435 * Emits event notifying other classes of a change using a `RadioChange` class.
4436 * @type {?}
4437 */
4438 RadioGroup.prototype.change;
4439 /**
4440 * The `Radio` input items in the `RadioGroup`.
4441 * @type {?}
4442 */
4443 RadioGroup.prototype.radios;
4444 /**
4445 * Set to true to disable the whole radio group
4446 * @type {?}
4447 */
4448 RadioGroup.prototype.disabled;
4449 /**
4450 * Binds 'form-item' value to the class for `RadioGroup`.
4451 * @type {?}
4452 */
4453 RadioGroup.prototype.radioButtonGroupClass;
4454 /**
4455 * To track whether the `RadioGroup` has been initialized.
4456 * @type {?}
4457 * @protected
4458 */
4459 RadioGroup.prototype.isInitialized;
4460 /**
4461 * Reflects whether or not the input is disabled and cannot be selected.
4462 * @type {?}
4463 * @protected
4464 */
4465 RadioGroup.prototype._disabled;
4466 /**
4467 * Reflects whether or not the dropdown is loading.
4468 * @type {?}
4469 * @protected
4470 */
4471 RadioGroup.prototype._skeleton;
4472 /**
4473 * The value of the selected option within the `RadioGroup`.
4474 * @type {?}
4475 * @protected
4476 */
4477 RadioGroup.prototype._value;
4478 /**
4479 * The `Radio` within the `RadioGroup` that is selected.
4480 * @type {?}
4481 * @protected
4482 */
4483 RadioGroup.prototype._selected;
4484 /**
4485 * The name attribute associated with the `RadioGroup`.
4486 * @type {?}
4487 * @protected
4488 */
4489 RadioGroup.prototype._name;
4490 /**
4491 * Needed to properly implement ControlValueAccessor.
4492 * @type {?}
4493 */
4494 RadioGroup.prototype.onTouched;
4495 /**
4496 * Method set in registerOnChange to propagate changes back to the form.
4497 * @type {?}
4498 */
4499 RadioGroup.prototype.propagateChange;
4500 }
4501
4502 /**
4503 * @fileoverview added by tsickle
4504 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4505 */
4506 var RadioModule = /** @class */ (function () {
4507 function RadioModule() {
4508 }
4509 RadioModule.decorators = [
4510 { type: core.NgModule, args: [{
4511 declarations: [
4512 Radio,
4513 RadioGroup
4514 ],
4515 exports: [
4516 Radio,
4517 RadioGroup
4518 ],
4519 imports: [
4520 common.CommonModule,
4521 forms.FormsModule
4522 ]
4523 },] }
4524 ];
4525 return RadioModule;
4526 }());
4527
4528 /**
4529 * @fileoverview added by tsickle
4530 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4531 */
4532 /**
4533 * Used to emit changes performed on a `ButtonRadio`.
4534 */
4535 var /**
4536 * Used to emit changes performed on a `ButtonRadio`.
4537 */
4538 ButtonRadioChange = /** @class */ (function () {
4539 function ButtonRadioChange(source, value) {
4540 this.source = source;
4541 this.value = value;
4542 }
4543 return ButtonRadioChange;
4544 }());
4545 if (false) {
4546 /**
4547 * Contains the `ButtonRadio` that has been changed.
4548 * @type {?}
4549 */
4550 ButtonRadioChange.prototype.source;
4551 /**
4552 * The value of the `ButtonRadio` encompassed in the `ButtonRadioChange` class.
4553 * @type {?}
4554 */
4555 ButtonRadioChange.prototype.value;
4556 }
4557
4558 /**
4559 * @fileoverview added by tsickle
4560 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4561 */
4562 var ButtonRadio = /** @class */ (function () {
4563 function ButtonRadio() {
4564 /**
4565 * Sets the checked status
4566 */
4567 this.checked = false;
4568 /**
4569 * Sets the name of the `ButtonRadio`
4570 */
4571 this.name = '';
4572 /**
4573 * Set to `true` to disable it.
4574 */
4575 this.disabled = false;
4576 /**
4577 * Sets the HTML required attribute
4578 */
4579 this.required = false;
4580 /**
4581 * The value of the `ButtonRadio`.
4582 */
4583 this.value = '';
4584 /**
4585 * Set to `true` for a loading state.
4586 */
4587 this.skeleton = false;
4588 /**
4589 * The id for the `ButtonRadio`.
4590 */
4591 this.id = "button-radio-" + ButtonRadio.buttonRadioCount++;
4592 /**
4593 * emits when the state of the button radio changes
4594 */
4595 // tslint:disable-next-line: no-output-native
4596 this.change = new core.EventEmitter();
4597 /**
4598 * Binds 'radio' value to the role attribute for `ButtonRadio`.
4599 */
4600 this.role = 'radio';
4601 this.hostClass = true;
4602 // tslint:disable-next-line: variable-name
4603 this._labelledby = '';
4604 /**
4605 * Handler provided by the `ButtonRadioGroup` to bubble events up
4606 */
4607 this.buttonRadioChangeHandler = (/**
4608 * @param {?} event
4609 * @return {?}
4610 */
4611 function (event) { });
4612 }
4613 Object.defineProperty(ButtonRadio.prototype, "ariaLabelledby", {
4614 get: /**
4615 * @return {?}
4616 */
4617 function () {
4618 if (this._labelledby) {
4619 return this._labelledby;
4620 }
4621 return "label-" + this.id;
4622 },
4623 set: /**
4624 * @param {?} value
4625 * @return {?}
4626 */
4627 function (value) {
4628 this._labelledby = value;
4629 },
4630 enumerable: true,
4631 configurable: true
4632 });
4633 /**
4634 * Synchronizes with the `ButtonRadioGroup` in the event of a changed `ButtonRadio`.
4635 * Emits the changes of both the `ButtonRadioGroup` and `ButtonRadio`.
4636 */
4637 /**
4638 * Synchronizes with the `ButtonRadioGroup` in the event of a changed `ButtonRadio`.
4639 * Emits the changes of both the `ButtonRadioGroup` and `ButtonRadio`.
4640 * @param {?} event
4641 * @return {?}
4642 */
4643 ButtonRadio.prototype.onChange = /**
4644 * Synchronizes with the `ButtonRadioGroup` in the event of a changed `ButtonRadio`.
4645 * Emits the changes of both the `ButtonRadioGroup` and `ButtonRadio`.
4646 * @param {?} event
4647 * @return {?}
4648 */
4649 function (event) {
4650 event.stopPropagation();
4651 this.checked = ((/** @type {?} */ (event.target))).checked;
4652 /** @type {?} */
4653 var ButtonRadioEvent = new ButtonRadioChange(this, this.value);
4654 this.change.emit(ButtonRadioEvent);
4655 this.buttonRadioChangeHandler(ButtonRadioEvent);
4656 };
4657 /**
4658 * Method called by `ButtonRadioGroup` with a callback function to bubble `ButtonRadioChange` events
4659 * @param fn callback that expects a `ButtonRadioChange` as an argument
4660 */
4661 /**
4662 * Method called by `ButtonRadioGroup` with a callback function to bubble `ButtonRadioChange` events
4663 * @param {?} fn callback that expects a `ButtonRadioChange` as an argument
4664 * @return {?}
4665 */
4666 ButtonRadio.prototype.registerButtonRadioChangeHandler = /**
4667 * Method called by `ButtonRadioGroup` with a callback function to bubble `ButtonRadioChange` events
4668 * @param {?} fn callback that expects a `ButtonRadioChange` as an argument
4669 * @return {?}
4670 */
4671 function (fn) {
4672 this.buttonRadioChangeHandler = fn;
4673 };
4674 /**
4675 * Used to dynamically create unique ids for the `ButtonRadio`.
4676 */
4677 ButtonRadio.buttonRadioCount = 0;
4678 ButtonRadio.decorators = [
4679 { type: core.Component, args: [{
4680 selector: 'suka-button-radio',
4681 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 ",
4682 providers: [
4683 {
4684 provide: forms.NG_VALUE_ACCESSOR,
4685 useExisting: ButtonRadio,
4686 multi: true
4687 }
4688 ]
4689 }] }
4690 ];
4691 ButtonRadio.propDecorators = {
4692 checked: [{ type: core.Input }],
4693 name: [{ type: core.Input }],
4694 disabled: [{ type: core.Input }],
4695 ariaLabelledby: [{ type: core.Input }],
4696 required: [{ type: core.Input }],
4697 value: [{ type: core.Input }],
4698 skeleton: [{ type: core.Input }],
4699 id: [{ type: core.Input }],
4700 change: [{ type: core.Output }],
4701 role: [{ type: core.HostBinding, args: ['attr.role',] }],
4702 hostClass: [{ type: core.HostBinding, args: ['class.button-radio-wrapper',] }]
4703 };
4704 return ButtonRadio;
4705 }());
4706 if (false) {
4707 /**
4708 * Used to dynamically create unique ids for the `ButtonRadio`.
4709 * @type {?}
4710 */
4711 ButtonRadio.buttonRadioCount;
4712 /**
4713 * Sets the checked status
4714 * @type {?}
4715 */
4716 ButtonRadio.prototype.checked;
4717 /**
4718 * Sets the name of the `ButtonRadio`
4719 * @type {?}
4720 */
4721 ButtonRadio.prototype.name;
4722 /**
4723 * Set to `true` to disable it.
4724 * @type {?}
4725 */
4726 ButtonRadio.prototype.disabled;
4727 /**
4728 * Sets the HTML required attribute
4729 * @type {?}
4730 */
4731 ButtonRadio.prototype.required;
4732 /**
4733 * The value of the `ButtonRadio`.
4734 * @type {?}
4735 */
4736 ButtonRadio.prototype.value;
4737 /**
4738 * Set to `true` for a loading state.
4739 * @type {?}
4740 */
4741 ButtonRadio.prototype.skeleton;
4742 /**
4743 * The id for the `ButtonRadio`.
4744 * @type {?}
4745 */
4746 ButtonRadio.prototype.id;
4747 /**
4748 * emits when the state of the button radio changes
4749 * @type {?}
4750 */
4751 ButtonRadio.prototype.change;
4752 /**
4753 * Binds 'radio' value to the role attribute for `ButtonRadio`.
4754 * @type {?}
4755 */
4756 ButtonRadio.prototype.role;
4757 /** @type {?} */
4758 ButtonRadio.prototype.hostClass;
4759 /**
4760 * @type {?}
4761 * @protected
4762 */
4763 ButtonRadio.prototype._labelledby;
4764 /**
4765 * Handler provided by the `ButtonRadioGroup` to bubble events up
4766 * @type {?}
4767 */
4768 ButtonRadio.prototype.buttonRadioChangeHandler;
4769 }
4770
4771 /**
4772 * @fileoverview added by tsickle
4773 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4774 */
4775 var ButtonRadioGroup = /** @class */ (function () {
4776 function ButtonRadioGroup() {
4777 /**
4778 * Emits event notifying other classes of a change using a `ButtonRadioChange` class.
4779 */
4780 // tslint:disable-next-line: no-output-native
4781 this.change = new core.EventEmitter();
4782 /**
4783 * Set to true to disable the whole buttonRadio group
4784 */
4785 this.disabled = false;
4786 /**
4787 * Binds 'form-item' value to the class for `ButtonRadioGroup`.
4788 */
4789 this.buttonRadioButtonGroupClass = true;
4790 /**
4791 * To track whether the `ButtonRadioGroup` has been initialized.
4792 */
4793 this.isInitialized = false;
4794 /**
4795 * Reflects whether or not the input is disabled and cannot be selected.
4796 */
4797 this._disabled = false;
4798 /**
4799 * Reflects whether or not the dropdown is loading.
4800 */
4801 this._skeleton = false;
4802 /**
4803 * The value of the selected option within the `ButtonRadioGroup`.
4804 */
4805 this._value = null;
4806 /**
4807 * The `ButtonRadio` within the `ButtonRadioGroup` that is selected.
4808 */
4809 this._selected = null;
4810 /**
4811 * The name attribute associated with the `ButtonRadioGroup`.
4812 */
4813 this._name = "button-radio-group-" + ButtonRadioGroup.buttonRadioGroupCount++;
4814 /**
4815 * Needed to properly implement ControlValueAccessor.
4816 */
4817 this.onTouched = (/**
4818 * @return {?}
4819 */
4820 function () { });
4821 /**
4822 * Method set in registerOnChange to propagate changes back to the form.
4823 */
4824 this.propagateChange = (/**
4825 * @param {?} _
4826 * @return {?}
4827 */
4828 function (_) { });
4829 }
4830 Object.defineProperty(ButtonRadioGroup.prototype, "selected", {
4831 /**
4832 * Returns the `ButtonRadio` that is selected within the `ButtonRadioGroup`.
4833 */
4834 get: /**
4835 * Returns the `ButtonRadio` that is selected within the `ButtonRadioGroup`.
4836 * @return {?}
4837 */
4838 function () {
4839 return this._selected;
4840 },
4841 /**
4842 * Sets the passed in `ButtonRadio` item as the selected input within the `ButtonRadioGroup`.
4843 */
4844 set: /**
4845 * Sets the passed in `ButtonRadio` item as the selected input within the `ButtonRadioGroup`.
4846 * @param {?} selected
4847 * @return {?}
4848 */
4849 function (selected) {
4850 this._selected = selected;
4851 this.value = selected ? selected.value : null;
4852 this.checkSelectedButtonRadio();
4853 },
4854 enumerable: true,
4855 configurable: true
4856 });
4857 Object.defineProperty(ButtonRadioGroup.prototype, "value", {
4858 /**
4859 * Returns the value/state of the selected `ButtonRadio` within the `ButtonRadioGroup`.
4860 */
4861 get: /**
4862 * Returns the value/state of the selected `ButtonRadio` within the `ButtonRadioGroup`.
4863 * @return {?}
4864 */
4865 function () {
4866 return this._value;
4867 },
4868 /**
4869 * Sets the value/state of the selected `ButtonRadio` within the `ButtonRadioGroup` to the passed in value.
4870 */
4871 set: /**
4872 * Sets the value/state of the selected `ButtonRadio` within the `ButtonRadioGroup` to the passed in value.
4873 * @param {?} newValue
4874 * @return {?}
4875 */
4876 function (newValue) {
4877 if (this._value !== newValue) {
4878 this._value = newValue;
4879 this.updateSelectedButtonRadioFromValue();
4880 this.checkSelectedButtonRadio();
4881 }
4882 },
4883 enumerable: true,
4884 configurable: true
4885 });
4886 Object.defineProperty(ButtonRadioGroup.prototype, "name", {
4887 /**
4888 * Returns the associated name of the `ButtonRadioGroup`.
4889 */
4890 get: /**
4891 * Returns the associated name of the `ButtonRadioGroup`.
4892 * @return {?}
4893 */
4894 function () {
4895 return this._name;
4896 },
4897 /**
4898 * Replaces the name associated with the `ButtonRadioGroup` with the provided parameter.
4899 */
4900 set: /**
4901 * Replaces the name associated with the `ButtonRadioGroup` with the provided parameter.
4902 * @param {?} name
4903 * @return {?}
4904 */
4905 function (name) {
4906 this._name = name;
4907 this.updateButtonRadios();
4908 },
4909 enumerable: true,
4910 configurable: true
4911 });
4912 Object.defineProperty(ButtonRadioGroup.prototype, "skeleton", {
4913 /**
4914 * Returns the skeleton value in the `ButtonRadioGroup` if there is one.
4915 */
4916 get: /**
4917 * Returns the skeleton value in the `ButtonRadioGroup` if there is one.
4918 * @return {?}
4919 */
4920 function () {
4921 return this._skeleton;
4922 },
4923 /**
4924 * Sets the skeleton value for all `ButtonRadio` to the skeleton value of `ButtonRadioGroup`.
4925 */
4926 set: /**
4927 * Sets the skeleton value for all `ButtonRadio` to the skeleton value of `ButtonRadioGroup`.
4928 * @param {?} value
4929 * @return {?}
4930 */
4931 function (value) {
4932 this._skeleton = value;
4933 this.updateChildren();
4934 },
4935 enumerable: true,
4936 configurable: true
4937 });
4938 /**
4939 * Updates the selected `ButtonRadio` to be checked (selected).
4940 */
4941 /**
4942 * Updates the selected `ButtonRadio` to be checked (selected).
4943 * @return {?}
4944 */
4945 ButtonRadioGroup.prototype.checkSelectedButtonRadio = /**
4946 * Updates the selected `ButtonRadio` to be checked (selected).
4947 * @return {?}
4948 */
4949 function () {
4950 if (this.selected && !this._selected.checked) {
4951 this.selected.checked = true;
4952 }
4953 };
4954 /**
4955 * Use the value of the `ButtonRadioGroup` to update the selected buttonRadio to the right state (selected state).
4956 */
4957 /**
4958 * Use the value of the `ButtonRadioGroup` to update the selected buttonRadio to the right state (selected state).
4959 * @return {?}
4960 */
4961 ButtonRadioGroup.prototype.updateSelectedButtonRadioFromValue = /**
4962 * Use the value of the `ButtonRadioGroup` to update the selected buttonRadio to the right state (selected state).
4963 * @return {?}
4964 */
4965 function () {
4966 var _this = this;
4967 /** @type {?} */
4968 var alreadySelected = this._selected != null && this._selected.value === this._value;
4969 if (this.buttonRadios && !alreadySelected) {
4970 this._selected = null;
4971 this.buttonRadios.forEach((/**
4972 * @param {?} buttonRadio
4973 * @return {?}
4974 */
4975 function (buttonRadio) {
4976 if (buttonRadio.checked) {
4977 _this._selected = buttonRadio;
4978 }
4979 }));
4980 }
4981 };
4982 /**
4983 * Creates a class of `ButtonRadioChange` to emit the change in the `ButtonRadioGroup`.
4984 */
4985 /**
4986 * Creates a class of `ButtonRadioChange` to emit the change in the `ButtonRadioGroup`.
4987 * @param {?} event
4988 * @return {?}
4989 */
4990 ButtonRadioGroup.prototype.emitChangeEvent = /**
4991 * Creates a class of `ButtonRadioChange` to emit the change in the `ButtonRadioGroup`.
4992 * @param {?} event
4993 * @return {?}
4994 */
4995 function (event) {
4996 this.change.emit(event);
4997 this.propagateChange(event.value);
4998 this.onTouched();
4999 };
5000 /**
5001 * Synchronizes buttonRadio properties.
5002 */
5003 /**
5004 * Synchronizes buttonRadio properties.
5005 * @return {?}
5006 */
5007 ButtonRadioGroup.prototype.updateButtonRadios = /**
5008 * Synchronizes buttonRadio properties.
5009 * @return {?}
5010 */
5011 function () {
5012 var _this = this;
5013 if (this.buttonRadios) {
5014 setTimeout((/**
5015 * @return {?}
5016 */
5017 function () {
5018 _this.buttonRadios.forEach((/**
5019 * @param {?} buttonRadio
5020 * @return {?}
5021 */
5022 function (buttonRadio) { return buttonRadio.name = _this.name; }));
5023 }));
5024 }
5025 };
5026 /**
5027 * Updates the value of the `ButtonRadioGroup` using the provided parameter.
5028 */
5029 /**
5030 * Updates the value of the `ButtonRadioGroup` using the provided parameter.
5031 * @param {?} value
5032 * @return {?}
5033 */
5034 ButtonRadioGroup.prototype.writeValue = /**
5035 * Updates the value of the `ButtonRadioGroup` using the provided parameter.
5036 * @param {?} value
5037 * @return {?}
5038 */
5039 function (value) {
5040 this.value = value;
5041 };
5042 /**
5043 * @return {?}
5044 */
5045 ButtonRadioGroup.prototype.ngAfterContentInit = /**
5046 * @return {?}
5047 */
5048 function () {
5049 var _this = this;
5050 this.buttonRadios.changes.subscribe((/**
5051 * @return {?}
5052 */
5053 function () {
5054 _this.updateButtonRadios();
5055 _this.updateButtonRadioChangeHandler();
5056 }));
5057 this.updateChildren();
5058 this.updateButtonRadioChangeHandler();
5059 };
5060 /**
5061 * @return {?}
5062 */
5063 ButtonRadioGroup.prototype.ngAfterViewInit = /**
5064 * @return {?}
5065 */
5066 function () {
5067 this.updateButtonRadios();
5068 };
5069 /**
5070 * Used to set method to propagate changes back to the form.
5071 */
5072 /**
5073 * Used to set method to propagate changes back to the form.
5074 * @param {?} fn
5075 * @return {?}
5076 */
5077 ButtonRadioGroup.prototype.registerOnChange = /**
5078 * Used to set method to propagate changes back to the form.
5079 * @param {?} fn
5080 * @return {?}
5081 */
5082 function (fn) {
5083 this.propagateChange = fn;
5084 };
5085 /**
5086 * Registers a callback to be triggered when the control has been touched.
5087 * @param fn Callback to be triggered when the checkbox is touched.
5088 */
5089 /**
5090 * Registers a callback to be triggered when the control has been touched.
5091 * @param {?} fn Callback to be triggered when the checkbox is touched.
5092 * @return {?}
5093 */
5094 ButtonRadioGroup.prototype.registerOnTouched = /**
5095 * Registers a callback to be triggered when the control has been touched.
5096 * @param {?} fn Callback to be triggered when the checkbox is touched.
5097 * @return {?}
5098 */
5099 function (fn) {
5100 this.onTouched = fn;
5101 };
5102 /**
5103 * @protected
5104 * @return {?}
5105 */
5106 ButtonRadioGroup.prototype.updateChildren = /**
5107 * @protected
5108 * @return {?}
5109 */
5110 function () {
5111 var _this = this;
5112 if (this.buttonRadios) {
5113 this.buttonRadios.forEach((/**
5114 * @param {?} child
5115 * @return {?}
5116 */
5117 function (child) { return child.skeleton = _this.skeleton; }));
5118 }
5119 };
5120 /**
5121 * @protected
5122 * @return {?}
5123 */
5124 ButtonRadioGroup.prototype.updateButtonRadioChangeHandler = /**
5125 * @protected
5126 * @return {?}
5127 */
5128 function () {
5129 var _this = this;
5130 this.buttonRadios.forEach((/**
5131 * @param {?} buttonRadio
5132 * @return {?}
5133 */
5134 function (buttonRadio) {
5135 buttonRadio.registerButtonRadioChangeHandler((/**
5136 * @param {?} event
5137 * @return {?}
5138 */
5139 function (event) {
5140 // update selected and value from the event
5141 _this._selected = event.source;
5142 _this._value = event.value;
5143 // bubble the event
5144 _this.emitChangeEvent(event);
5145 }));
5146 }));
5147 };
5148 ButtonRadioGroup.buttonRadioGroupCount = 0;
5149 ButtonRadioGroup.decorators = [
5150 { type: core.Component, args: [{
5151 selector: 'suka-button-radio-group',
5152 template: "\n <div\n class=\"button-radio-group\"\n role=\"buttonRadiogroup\">\n <ng-content></ng-content>\n </div>\n ",
5153 providers: [
5154 {
5155 provide: forms.NG_VALUE_ACCESSOR,
5156 useExisting: ButtonRadioGroup,
5157 multi: true
5158 }
5159 ]
5160 }] }
5161 ];
5162 ButtonRadioGroup.propDecorators = {
5163 change: [{ type: core.Output }],
5164 buttonRadios: [{ type: core.ContentChildren, args: [core.forwardRef((/**
5165 * @return {?}
5166 */
5167 function () { return ButtonRadio; })),] }],
5168 selected: [{ type: core.Input }],
5169 value: [{ type: core.Input }],
5170 name: [{ type: core.Input }],
5171 disabled: [{ type: core.Input }],
5172 skeleton: [{ type: core.Input }],
5173 buttonRadioButtonGroupClass: [{ type: core.HostBinding, args: ['class.form-item',] }]
5174 };
5175 return ButtonRadioGroup;
5176 }());
5177 if (false) {
5178 /** @type {?} */
5179 ButtonRadioGroup.buttonRadioGroupCount;
5180 /**
5181 * Emits event notifying other classes of a change using a `ButtonRadioChange` class.
5182 * @type {?}
5183 */
5184 ButtonRadioGroup.prototype.change;
5185 /**
5186 * The `ButtonRadio` input items in the `ButtonRadioGroup`.
5187 * @type {?}
5188 */
5189 ButtonRadioGroup.prototype.buttonRadios;
5190 /**
5191 * Set to true to disable the whole buttonRadio group
5192 * @type {?}
5193 */
5194 ButtonRadioGroup.prototype.disabled;
5195 /**
5196 * Binds 'form-item' value to the class for `ButtonRadioGroup`.
5197 * @type {?}
5198 */
5199 ButtonRadioGroup.prototype.buttonRadioButtonGroupClass;
5200 /**
5201 * To track whether the `ButtonRadioGroup` has been initialized.
5202 * @type {?}
5203 * @protected
5204 */
5205 ButtonRadioGroup.prototype.isInitialized;
5206 /**
5207 * Reflects whether or not the input is disabled and cannot be selected.
5208 * @type {?}
5209 * @protected
5210 */
5211 ButtonRadioGroup.prototype._disabled;
5212 /**
5213 * Reflects whether or not the dropdown is loading.
5214 * @type {?}
5215 * @protected
5216 */
5217 ButtonRadioGroup.prototype._skeleton;
5218 /**
5219 * The value of the selected option within the `ButtonRadioGroup`.
5220 * @type {?}
5221 * @protected
5222 */
5223 ButtonRadioGroup.prototype._value;
5224 /**
5225 * The `ButtonRadio` within the `ButtonRadioGroup` that is selected.
5226 * @type {?}
5227 * @protected
5228 */
5229 ButtonRadioGroup.prototype._selected;
5230 /**
5231 * The name attribute associated with the `ButtonRadioGroup`.
5232 * @type {?}
5233 * @protected
5234 */
5235 ButtonRadioGroup.prototype._name;
5236 /**
5237 * Needed to properly implement ControlValueAccessor.
5238 * @type {?}
5239 */
5240 ButtonRadioGroup.prototype.onTouched;
5241 /**
5242 * Method set in registerOnChange to propagate changes back to the form.
5243 * @type {?}
5244 */
5245 ButtonRadioGroup.prototype.propagateChange;
5246 }
5247
5248 /**
5249 * @fileoverview added by tsickle
5250 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5251 */
5252 var ButtonRadioModule = /** @class */ (function () {
5253 function ButtonRadioModule() {
5254 }
5255 ButtonRadioModule.decorators = [
5256 { type: core.NgModule, args: [{
5257 declarations: [
5258 ButtonRadio,
5259 ButtonRadioGroup
5260 ],
5261 exports: [
5262 ButtonRadio,
5263 ButtonRadioGroup
5264 ],
5265 imports: [
5266 common.CommonModule,
5267 forms.FormsModule
5268 ]
5269 },] }
5270 ];
5271 return ButtonRadioModule;
5272 }());
5273
5274 /**
5275 * @fileoverview added by tsickle
5276 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5277 */
5278 var Container = /** @class */ (function () {
5279 function Container() {
5280 /**
5281 * Sets the container type. Set to `fluid` for a full width container.
5282 */
5283 this.sukaContainer = 'default';
5284 this.default = true;
5285 this.fluid = false;
5286 }
5287 /**
5288 * @return {?}
5289 */
5290 Container.prototype.ngOnInit = /**
5291 * @return {?}
5292 */
5293 function () {
5294 if (this.sukaContainer === 'fluid') {
5295 this.fluid = true;
5296 this.default = false;
5297 }
5298 };
5299 Container.decorators = [
5300 { type: core.Directive, args: [{
5301 selector: '[sukaContainer]'
5302 },] }
5303 ];
5304 Container.propDecorators = {
5305 sukaContainer: [{ type: core.Input }],
5306 default: [{ type: core.HostBinding, args: ['class.container',] }],
5307 fluid: [{ type: core.HostBinding, args: ['class.container--fluid',] }]
5308 };
5309 return Container;
5310 }());
5311 if (false) {
5312 /**
5313 * Sets the container type. Set to `fluid` for a full width container.
5314 * @type {?}
5315 */
5316 Container.prototype.sukaContainer;
5317 /** @type {?} */
5318 Container.prototype.default;
5319 /** @type {?} */
5320 Container.prototype.fluid;
5321 }
5322
5323 /**
5324 * @fileoverview added by tsickle
5325 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5326 */
5327 var ContainerModule = /** @class */ (function () {
5328 function ContainerModule() {
5329 }
5330 ContainerModule.decorators = [
5331 { type: core.NgModule, args: [{
5332 declarations: [
5333 Container,
5334 ],
5335 exports: [
5336 Container,
5337 ],
5338 imports: [
5339 common.CommonModule,
5340 ]
5341 },] }
5342 ];
5343 return ContainerModule;
5344 }());
5345
5346 /**
5347 * @fileoverview added by tsickle
5348 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5349 */
5350 var MarginDirective = /** @class */ (function () {
5351 function MarginDirective(elementRef) {
5352 this.m = {};
5353 this.elementRef = elementRef;
5354 }
5355 /**
5356 * @return {?}
5357 */
5358 MarginDirective.prototype.ngOnInit = /**
5359 * @return {?}
5360 */
5361 function () {
5362 var _this = this;
5363 try {
5364 /** @type {?} */
5365 var marginKeys = Object.keys(this.m);
5366 marginKeys.forEach((/**
5367 * @param {?} key
5368 * @return {?}
5369 */
5370 function (key) {
5371 if (key === 'all') {
5372 _this.elementRef.nativeElement.classList.add("m-" + _this.m[key]);
5373 }
5374 else {
5375 _this.elementRef.nativeElement.classList.add("m-" + key + "-" + _this.m[key]);
5376 }
5377 }));
5378 }
5379 catch (err) {
5380 console.error("Malformed margins`: " + err);
5381 }
5382 };
5383 MarginDirective.decorators = [
5384 { type: core.Directive, args: [{
5385 // tslint:disable-next-line: directive-selector
5386 selector: '[m]'
5387 },] }
5388 ];
5389 /** @nocollapse */
5390 MarginDirective.ctorParameters = function () { return [
5391 { type: core.ElementRef }
5392 ]; };
5393 MarginDirective.propDecorators = {
5394 m: [{ type: core.Input }]
5395 };
5396 return MarginDirective;
5397 }());
5398 if (false) {
5399 /** @type {?} */
5400 MarginDirective.prototype.m;
5401 /**
5402 * @type {?}
5403 * @private
5404 */
5405 MarginDirective.prototype.elementRef;
5406 }
5407 var MarginTopDirective = /** @class */ (function () {
5408 function MarginTopDirective(elementRef) {
5409 this.mt = {};
5410 this.elementRef = elementRef;
5411 }
5412 /**
5413 * @return {?}
5414 */
5415 MarginTopDirective.prototype.ngOnInit = /**
5416 * @return {?}
5417 */
5418 function () {
5419 var _this = this;
5420 try {
5421 /** @type {?} */
5422 var marginKeys = Object.keys(this.mt);
5423 marginKeys.forEach((/**
5424 * @param {?} key
5425 * @return {?}
5426 */
5427 function (key) {
5428 if (key === 'all') {
5429 _this.elementRef.nativeElement.classList.add("mt-" + _this.mt[key]);
5430 }
5431 else {
5432 _this.elementRef.nativeElement.classList.add("mt-" + key + "-" + _this.mt[key]);
5433 }
5434 }));
5435 }
5436 catch (err) {
5437 console.error("Malformed margins`: " + err);
5438 }
5439 };
5440 MarginTopDirective.decorators = [
5441 { type: core.Directive, args: [{
5442 selector: '[mt]'
5443 },] }
5444 ];
5445 /** @nocollapse */
5446 MarginTopDirective.ctorParameters = function () { return [
5447 { type: core.ElementRef }
5448 ]; };
5449 MarginTopDirective.propDecorators = {
5450 mt: [{ type: core.Input }]
5451 };
5452 return MarginTopDirective;
5453 }());
5454 if (false) {
5455 /** @type {?} */
5456 MarginTopDirective.prototype.mt;
5457 /**
5458 * @type {?}
5459 * @private
5460 */
5461 MarginTopDirective.prototype.elementRef;
5462 }
5463 var MarginBottomDirective = /** @class */ (function () {
5464 function MarginBottomDirective(elementRef) {
5465 this.mb = {};
5466 this.elementRef = elementRef;
5467 }
5468 /**
5469 * @return {?}
5470 */
5471 MarginBottomDirective.prototype.ngOnInit = /**
5472 * @return {?}
5473 */
5474 function () {
5475 var _this = this;
5476 try {
5477 /** @type {?} */
5478 var marginKeys = Object.keys(this.mb);
5479 marginKeys.forEach((/**
5480 * @param {?} key
5481 * @return {?}
5482 */
5483 function (key) {
5484 if (key === 'all') {
5485 _this.elementRef.nativeElement.classList.add("mb-" + _this.mb[key]);
5486 }
5487 else {
5488 _this.elementRef.nativeElement.classList.add("mb-" + key + "-" + _this.mb[key]);
5489 }
5490 }));
5491 }
5492 catch (err) {
5493 console.error("Malformed margins`: " + err);
5494 }
5495 };
5496 MarginBottomDirective.decorators = [
5497 { type: core.Directive, args: [{
5498 // tslint:disable-next-line: directive-selector
5499 selector: '[mb]'
5500 },] }
5501 ];
5502 /** @nocollapse */
5503 MarginBottomDirective.ctorParameters = function () { return [
5504 { type: core.ElementRef }
5505 ]; };
5506 MarginBottomDirective.propDecorators = {
5507 mb: [{ type: core.Input }]
5508 };
5509 return MarginBottomDirective;
5510 }());
5511 if (false) {
5512 /** @type {?} */
5513 MarginBottomDirective.prototype.mb;
5514 /**
5515 * @type {?}
5516 * @private
5517 */
5518 MarginBottomDirective.prototype.elementRef;
5519 }
5520 var MarginLeftDirective = /** @class */ (function () {
5521 function MarginLeftDirective(elementRef) {
5522 this.ml = {};
5523 this.elementRef = elementRef;
5524 }
5525 /**
5526 * @return {?}
5527 */
5528 MarginLeftDirective.prototype.ngOnInit = /**
5529 * @return {?}
5530 */
5531 function () {
5532 var _this = this;
5533 try {
5534 /** @type {?} */
5535 var marginKeys = Object.keys(this.ml);
5536 marginKeys.forEach((/**
5537 * @param {?} key
5538 * @return {?}
5539 */
5540 function (key) {
5541 if (key === 'all') {
5542 _this.elementRef.nativeElement.classList.add("ml-" + _this.ml[key]);
5543 }
5544 else {
5545 _this.elementRef.nativeElement.classList.add("ml-" + key + "-" + _this.ml[key]);
5546 }
5547 }));
5548 }
5549 catch (err) {
5550 console.error("Malformed margins`: " + err);
5551 }
5552 };
5553 MarginLeftDirective.decorators = [
5554 { type: core.Directive, args: [{
5555 // tslint:disable-next-line: directive-selector
5556 selector: '[ml]'
5557 },] }
5558 ];
5559 /** @nocollapse */
5560 MarginLeftDirective.ctorParameters = function () { return [
5561 { type: core.ElementRef }
5562 ]; };
5563 MarginLeftDirective.propDecorators = {
5564 ml: [{ type: core.Input }]
5565 };
5566 return MarginLeftDirective;
5567 }());
5568 if (false) {
5569 /** @type {?} */
5570 MarginLeftDirective.prototype.ml;
5571 /**
5572 * @type {?}
5573 * @private
5574 */
5575 MarginLeftDirective.prototype.elementRef;
5576 }
5577 var MarginRightDirective = /** @class */ (function () {
5578 function MarginRightDirective(elementRef) {
5579 this.mr = {};
5580 this.elementRef = elementRef;
5581 }
5582 /**
5583 * @return {?}
5584 */
5585 MarginRightDirective.prototype.ngOnInit = /**
5586 * @return {?}
5587 */
5588 function () {
5589 var _this = this;
5590 try {
5591 /** @type {?} */
5592 var marginKeys = Object.keys(this.mr);
5593 marginKeys.forEach((/**
5594 * @param {?} key
5595 * @return {?}
5596 */
5597 function (key) {
5598 if (key === 'all') {
5599 _this.elementRef.nativeElement.classList.add("mr-" + _this.mr[key]);
5600 }
5601 else {
5602 _this.elementRef.nativeElement.classList.add("mr-" + key + "-" + _this.mr[key]);
5603 }
5604 }));
5605 }
5606 catch (err) {
5607 console.error("Malformed margins`: " + err);
5608 }
5609 };
5610 MarginRightDirective.decorators = [
5611 { type: core.Directive, args: [{
5612 // tslint:disable-next-line: directive-selector
5613 selector: '[mr]'
5614 },] }
5615 ];
5616 /** @nocollapse */
5617 MarginRightDirective.ctorParameters = function () { return [
5618 { type: core.ElementRef }
5619 ]; };
5620 MarginRightDirective.propDecorators = {
5621 mr: [{ type: core.Input }]
5622 };
5623 return MarginRightDirective;
5624 }());
5625 if (false) {
5626 /** @type {?} */
5627 MarginRightDirective.prototype.mr;
5628 /**
5629 * @type {?}
5630 * @private
5631 */
5632 MarginRightDirective.prototype.elementRef;
5633 }
5634 var MarginHorizontalDirective = /** @class */ (function () {
5635 function MarginHorizontalDirective(elementRef) {
5636 this.mx = {};
5637 this.elementRef = elementRef;
5638 }
5639 /**
5640 * @return {?}
5641 */
5642 MarginHorizontalDirective.prototype.ngOnInit = /**
5643 * @return {?}
5644 */
5645 function () {
5646 var _this = this;
5647 try {
5648 /** @type {?} */
5649 var marginKeys = Object.keys(this.mx);
5650 marginKeys.forEach((/**
5651 * @param {?} key
5652 * @return {?}
5653 */
5654 function (key) {
5655 if (key === 'all') {
5656 _this.elementRef.nativeElement.classList.add("mx-" + _this.mx[key]);
5657 }
5658 else {
5659 _this.elementRef.nativeElement.classList.add("mx-" + key + "-" + _this.mx[key]);
5660 }
5661 }));
5662 }
5663 catch (err) {
5664 console.error("Malformed margins`: " + err);
5665 }
5666 };
5667 MarginHorizontalDirective.decorators = [
5668 { type: core.Directive, args: [{
5669 // tslint:disable-next-line: directive-selector
5670 selector: '[mx]'
5671 },] }
5672 ];
5673 /** @nocollapse */
5674 MarginHorizontalDirective.ctorParameters = function () { return [
5675 { type: core.ElementRef }
5676 ]; };
5677 MarginHorizontalDirective.propDecorators = {
5678 mx: [{ type: core.Input }]
5679 };
5680 return MarginHorizontalDirective;
5681 }());
5682 if (false) {
5683 /** @type {?} */
5684 MarginHorizontalDirective.prototype.mx;
5685 /**
5686 * @type {?}
5687 * @private
5688 */
5689 MarginHorizontalDirective.prototype.elementRef;
5690 }
5691 var MarginVerticalDirective = /** @class */ (function () {
5692 function MarginVerticalDirective(elementRef) {
5693 this.my = {};
5694 this.elementRef = elementRef;
5695 }
5696 /**
5697 * @return {?}
5698 */
5699 MarginVerticalDirective.prototype.ngOnInit = /**
5700 * @return {?}
5701 */
5702 function () {
5703 var _this = this;
5704 try {
5705 /** @type {?} */
5706 var marginKeys = Object.keys(this.my);
5707 marginKeys.forEach((/**
5708 * @param {?} key
5709 * @return {?}
5710 */
5711 function (key) {
5712 if (key === 'all') {
5713 _this.elementRef.nativeElement.classList.add("my-" + _this.my[key]);
5714 }
5715 else {
5716 _this.elementRef.nativeElement.classList.add("my-" + key + "-" + _this.my[key]);
5717 }
5718 }));
5719 }
5720 catch (err) {
5721 console.error("Malformed margins`: " + err);
5722 }
5723 };
5724 MarginVerticalDirective.decorators = [
5725 { type: core.Directive, args: [{
5726 // tslint:disable-next-line: directive-selector
5727 selector: '[my]'
5728 },] }
5729 ];
5730 /** @nocollapse */
5731 MarginVerticalDirective.ctorParameters = function () { return [
5732 { type: core.ElementRef }
5733 ]; };
5734 MarginVerticalDirective.propDecorators = {
5735 my: [{ type: core.Input }]
5736 };
5737 return MarginVerticalDirective;
5738 }());
5739 if (false) {
5740 /** @type {?} */
5741 MarginVerticalDirective.prototype.my;
5742 /**
5743 * @type {?}
5744 * @private
5745 */
5746 MarginVerticalDirective.prototype.elementRef;
5747 }
5748
5749 /**
5750 * @fileoverview added by tsickle
5751 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5752 */
5753 var PaddingDirective = /** @class */ (function () {
5754 function PaddingDirective(elementRef) {
5755 this.p = {};
5756 this.elementRef = elementRef;
5757 }
5758 /**
5759 * @return {?}
5760 */
5761 PaddingDirective.prototype.ngOnInit = /**
5762 * @return {?}
5763 */
5764 function () {
5765 var _this = this;
5766 try {
5767 /** @type {?} */
5768 var paddingKeys = Object.keys(this.p);
5769 paddingKeys.forEach((/**
5770 * @param {?} key
5771 * @return {?}
5772 */
5773 function (key) {
5774 if (key === 'all') {
5775 _this.elementRef.nativeElement.classList.add("p-" + _this.p[key]);
5776 }
5777 else {
5778 _this.elementRef.nativeElement.classList.add("p-" + key + "-" + _this.p[key]);
5779 }
5780 }));
5781 }
5782 catch (err) {
5783 console.error("Malformed paddings`: " + err);
5784 }
5785 };
5786 PaddingDirective.decorators = [
5787 { type: core.Directive, args: [{
5788 // tslint:disable-next-line: directive-selector
5789 selector: '[p]'
5790 },] }
5791 ];
5792 /** @nocollapse */
5793 PaddingDirective.ctorParameters = function () { return [
5794 { type: core.ElementRef }
5795 ]; };
5796 PaddingDirective.propDecorators = {
5797 p: [{ type: core.Input }]
5798 };
5799 return PaddingDirective;
5800 }());
5801 if (false) {
5802 /** @type {?} */
5803 PaddingDirective.prototype.p;
5804 /**
5805 * @type {?}
5806 * @private
5807 */
5808 PaddingDirective.prototype.elementRef;
5809 }
5810 var PaddingTopDirective = /** @class */ (function () {
5811 function PaddingTopDirective(elementRef) {
5812 this.pt = {};
5813 this.elementRef = elementRef;
5814 }
5815 /**
5816 * @return {?}
5817 */
5818 PaddingTopDirective.prototype.ngOnInit = /**
5819 * @return {?}
5820 */
5821 function () {
5822 var _this = this;
5823 try {
5824 /** @type {?} */
5825 var paddingKeys = Object.keys(this.pt);
5826 paddingKeys.forEach((/**
5827 * @param {?} key
5828 * @return {?}
5829 */
5830 function (key) {
5831 if (key === 'all') {
5832 _this.elementRef.nativeElement.classList.add("pt-" + _this.pt[key]);
5833 }
5834 else {
5835 _this.elementRef.nativeElement.classList.add("pt-" + key + "-" + _this.pt[key]);
5836 }
5837 }));
5838 }
5839 catch (err) {
5840 console.error("Malformed paddings`: " + err);
5841 }
5842 };
5843 PaddingTopDirective.decorators = [
5844 { type: core.Directive, args: [{
5845 // tslint:disable-next-line: directive-selector
5846 selector: '[pt]'
5847 },] }
5848 ];
5849 /** @nocollapse */
5850 PaddingTopDirective.ctorParameters = function () { return [
5851 { type: core.ElementRef }
5852 ]; };
5853 PaddingTopDirective.propDecorators = {
5854 pt: [{ type: core.Input }]
5855 };
5856 return PaddingTopDirective;
5857 }());
5858 if (false) {
5859 /** @type {?} */
5860 PaddingTopDirective.prototype.pt;
5861 /**
5862 * @type {?}
5863 * @private
5864 */
5865 PaddingTopDirective.prototype.elementRef;
5866 }
5867 var PaddingBottomDirective = /** @class */ (function () {
5868 function PaddingBottomDirective(elementRef) {
5869 this.pb = {};
5870 this.elementRef = elementRef;
5871 }
5872 /**
5873 * @return {?}
5874 */
5875 PaddingBottomDirective.prototype.ngOnInit = /**
5876 * @return {?}
5877 */
5878 function () {
5879 var _this = this;
5880 try {
5881 /** @type {?} */
5882 var paddingKeys = Object.keys(this.pb);
5883 paddingKeys.forEach((/**
5884 * @param {?} key
5885 * @return {?}
5886 */
5887 function (key) {
5888 if (key === 'all') {
5889 _this.elementRef.nativeElement.classList.add("pb-" + _this.pb[key]);
5890 }
5891 else {
5892 _this.elementRef.nativeElement.classList.add("pb-" + key + "-" + _this.pb[key]);
5893 }
5894 }));
5895 }
5896 catch (err) {
5897 console.error("Malformed paddings`: " + err);
5898 }
5899 };
5900 PaddingBottomDirective.decorators = [
5901 { type: core.Directive, args: [{
5902 // tslint:disable-next-line: directive-selector
5903 selector: '[pb]'
5904 },] }
5905 ];
5906 /** @nocollapse */
5907 PaddingBottomDirective.ctorParameters = function () { return [
5908 { type: core.ElementRef }
5909 ]; };
5910 PaddingBottomDirective.propDecorators = {
5911 pb: [{ type: core.Input }]
5912 };
5913 return PaddingBottomDirective;
5914 }());
5915 if (false) {
5916 /** @type {?} */
5917 PaddingBottomDirective.prototype.pb;
5918 /**
5919 * @type {?}
5920 * @private
5921 */
5922 PaddingBottomDirective.prototype.elementRef;
5923 }
5924 var PaddingLeftDirective = /** @class */ (function () {
5925 function PaddingLeftDirective(elementRef) {
5926 this.pl = {};
5927 this.elementRef = elementRef;
5928 }
5929 /**
5930 * @return {?}
5931 */
5932 PaddingLeftDirective.prototype.ngOnInit = /**
5933 * @return {?}
5934 */
5935 function () {
5936 var _this = this;
5937 try {
5938 /** @type {?} */
5939 var paddingKeys = Object.keys(this.pl);
5940 paddingKeys.forEach((/**
5941 * @param {?} key
5942 * @return {?}
5943 */
5944 function (key) {
5945 if (key === 'all') {
5946 _this.elementRef.nativeElement.classList.add("pl-" + _this.pl[key]);
5947 }
5948 else {
5949 _this.elementRef.nativeElement.classList.add("pl-" + key + "-" + _this.pl[key]);
5950 }
5951 }));
5952 }
5953 catch (err) {
5954 console.error("Malformed paddings`: " + err);
5955 }
5956 };
5957 PaddingLeftDirective.decorators = [
5958 { type: core.Directive, args: [{
5959 // tslint:disable-next-line: directive-selector
5960 selector: '[pl]'
5961 },] }
5962 ];
5963 /** @nocollapse */
5964 PaddingLeftDirective.ctorParameters = function () { return [
5965 { type: core.ElementRef }
5966 ]; };
5967 PaddingLeftDirective.propDecorators = {
5968 pl: [{ type: core.Input }]
5969 };
5970 return PaddingLeftDirective;
5971 }());
5972 if (false) {
5973 /** @type {?} */
5974 PaddingLeftDirective.prototype.pl;
5975 /**
5976 * @type {?}
5977 * @private
5978 */
5979 PaddingLeftDirective.prototype.elementRef;
5980 }
5981 var PaddingRightDirective = /** @class */ (function () {
5982 function PaddingRightDirective(elementRef) {
5983 this.pr = {};
5984 this.elementRef = elementRef;
5985 }
5986 /**
5987 * @return {?}
5988 */
5989 PaddingRightDirective.prototype.ngOnInit = /**
5990 * @return {?}
5991 */
5992 function () {
5993 var _this = this;
5994 try {
5995 /** @type {?} */
5996 var paddingKeys = Object.keys(this.pr);
5997 paddingKeys.forEach((/**
5998 * @param {?} key
5999 * @return {?}
6000 */
6001 function (key) {
6002 if (key === 'all') {
6003 _this.elementRef.nativeElement.classList.add("pr-" + _this.pr[key]);
6004 }
6005 else {
6006 _this.elementRef.nativeElement.classList.add("pr-" + key + "-" + _this.pr[key]);
6007 }
6008 }));
6009 }
6010 catch (err) {
6011 console.error("Malformed paddings`: " + err);
6012 }
6013 };
6014 PaddingRightDirective.decorators = [
6015 { type: core.Directive, args: [{
6016 // tslint:disable-next-line: directive-selector
6017 selector: '[pr]'
6018 },] }
6019 ];
6020 /** @nocollapse */
6021 PaddingRightDirective.ctorParameters = function () { return [
6022 { type: core.ElementRef }
6023 ]; };
6024 PaddingRightDirective.propDecorators = {
6025 pr: [{ type: core.Input }]
6026 };
6027 return PaddingRightDirective;
6028 }());
6029 if (false) {
6030 /** @type {?} */
6031 PaddingRightDirective.prototype.pr;
6032 /**
6033 * @type {?}
6034 * @private
6035 */
6036 PaddingRightDirective.prototype.elementRef;
6037 }
6038 var PaddingHorizontalDirective = /** @class */ (function () {
6039 function PaddingHorizontalDirective(elementRef) {
6040 this.px = {};
6041 this.elementRef = elementRef;
6042 }
6043 /**
6044 * @return {?}
6045 */
6046 PaddingHorizontalDirective.prototype.ngOnInit = /**
6047 * @return {?}
6048 */
6049 function () {
6050 var _this = this;
6051 try {
6052 /** @type {?} */
6053 var paddingKeys = Object.keys(this.px);
6054 paddingKeys.forEach((/**
6055 * @param {?} key
6056 * @return {?}
6057 */
6058 function (key) {
6059 if (key === 'all') {
6060 _this.elementRef.nativeElement.classList.add("px-" + _this.px[key]);
6061 }
6062 else {
6063 _this.elementRef.nativeElement.classList.add("px-" + key + "-" + _this.px[key]);
6064 }
6065 }));
6066 }
6067 catch (err) {
6068 console.error("Malformed paddings`: " + err);
6069 }
6070 };
6071 PaddingHorizontalDirective.decorators = [
6072 { type: core.Directive, args: [{
6073 // tslint:disable-next-line: directive-selector
6074 selector: '[px]'
6075 },] }
6076 ];
6077 /** @nocollapse */
6078 PaddingHorizontalDirective.ctorParameters = function () { return [
6079 { type: core.ElementRef }
6080 ]; };
6081 PaddingHorizontalDirective.propDecorators = {
6082 px: [{ type: core.Input }]
6083 };
6084 return PaddingHorizontalDirective;
6085 }());
6086 if (false) {
6087 /** @type {?} */
6088 PaddingHorizontalDirective.prototype.px;
6089 /**
6090 * @type {?}
6091 * @private
6092 */
6093 PaddingHorizontalDirective.prototype.elementRef;
6094 }
6095 var PaddingVerticalDirective = /** @class */ (function () {
6096 function PaddingVerticalDirective(elementRef) {
6097 this.py = {};
6098 this.elementRef = elementRef;
6099 }
6100 /**
6101 * @return {?}
6102 */
6103 PaddingVerticalDirective.prototype.ngOnInit = /**
6104 * @return {?}
6105 */
6106 function () {
6107 var _this = this;
6108 try {
6109 /** @type {?} */
6110 var paddingKeys = Object.keys(this.py);
6111 paddingKeys.forEach((/**
6112 * @param {?} key
6113 * @return {?}
6114 */
6115 function (key) {
6116 if (key === 'all') {
6117 _this.elementRef.nativeElement.classList.add("py-" + _this.py[key]);
6118 }
6119 else {
6120 _this.elementRef.nativeElement.classList.add("py-" + key + "-" + _this.py[key]);
6121 }
6122 }));
6123 }
6124 catch (err) {
6125 console.error("Malformed paddings`: " + err);
6126 }
6127 };
6128 PaddingVerticalDirective.decorators = [
6129 { type: core.Directive, args: [{
6130 // tslint:disable-next-line: directive-selector
6131 selector: '[py]'
6132 },] }
6133 ];
6134 /** @nocollapse */
6135 PaddingVerticalDirective.ctorParameters = function () { return [
6136 { type: core.ElementRef }
6137 ]; };
6138 PaddingVerticalDirective.propDecorators = {
6139 py: [{ type: core.Input }]
6140 };
6141 return PaddingVerticalDirective;
6142 }());
6143 if (false) {
6144 /** @type {?} */
6145 PaddingVerticalDirective.prototype.py;
6146 /**
6147 * @type {?}
6148 * @private
6149 */
6150 PaddingVerticalDirective.prototype.elementRef;
6151 }
6152
6153 /**
6154 * @fileoverview added by tsickle
6155 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6156 */
6157 var SpacingModule = /** @class */ (function () {
6158 function SpacingModule() {
6159 }
6160 SpacingModule.decorators = [
6161 { type: core.NgModule, args: [{
6162 declarations: [
6163 MarginDirective,
6164 MarginTopDirective,
6165 MarginBottomDirective,
6166 MarginLeftDirective,
6167 MarginRightDirective,
6168 MarginHorizontalDirective,
6169 MarginVerticalDirective,
6170 PaddingDirective,
6171 PaddingTopDirective,
6172 PaddingBottomDirective,
6173 PaddingLeftDirective,
6174 PaddingRightDirective,
6175 PaddingHorizontalDirective,
6176 PaddingVerticalDirective,
6177 ],
6178 exports: [
6179 MarginDirective,
6180 MarginTopDirective,
6181 MarginBottomDirective,
6182 MarginLeftDirective,
6183 MarginRightDirective,
6184 MarginHorizontalDirective,
6185 MarginVerticalDirective,
6186 PaddingDirective,
6187 PaddingTopDirective,
6188 PaddingBottomDirective,
6189 PaddingLeftDirective,
6190 PaddingRightDirective,
6191 PaddingHorizontalDirective,
6192 PaddingVerticalDirective,
6193 ],
6194 imports: [common.CommonModule]
6195 },] }
6196 ];
6197 return SpacingModule;
6198 }());
6199
6200 /**
6201 * @fileoverview added by tsickle
6202 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6203 */
6204 var Card = /** @class */ (function () {
6205 function Card() {
6206 /**
6207 * Callback for the primary action
6208 */
6209 this.primaryFooterAction = new core.EventEmitter();
6210 /**
6211 * Callback for the secondary action
6212 */
6213 this.secondaryFooterAction = new core.EventEmitter();
6214 /**
6215 * Callback for the card header action
6216 */
6217 this.headerAction = new core.EventEmitter();
6218 this.cardClass = true;
6219 /**
6220 * Set to `true` to display a loading card.
6221 */
6222 this.skeleton = false;
6223 /**
6224 * Display footer state.
6225 */
6226 this.showFooter = false;
6227 }
6228 /**
6229 * @return {?}
6230 */
6231 Card.prototype.ngOnInit = /**
6232 * @return {?}
6233 */
6234 function () {
6235 this.showFooter = this.primaryFooterAction.observers.length > 0;
6236 };
6237 /**
6238 * Emits the cards primary footer action callback
6239 */
6240 /**
6241 * Emits the cards primary footer action callback
6242 * @param {?} $event
6243 * @return {?}
6244 */
6245 Card.prototype.onPrimaryFooterAction = /**
6246 * Emits the cards primary footer action callback
6247 * @param {?} $event
6248 * @return {?}
6249 */
6250 function ($event) {
6251 this.primaryFooterAction.emit($event);
6252 };
6253 /**
6254 * Emits the cards secondary footer action callback
6255 */
6256 /**
6257 * Emits the cards secondary footer action callback
6258 * @param {?} $event
6259 * @return {?}
6260 */
6261 Card.prototype.onSecondaryFooterAction = /**
6262 * Emits the cards secondary footer action callback
6263 * @param {?} $event
6264 * @return {?}
6265 */
6266 function ($event) {
6267 this.secondaryFooterAction.emit($event);
6268 };
6269 /**
6270 * Emits the cards header action callback
6271 */
6272 /**
6273 * Emits the cards header action callback
6274 * @param {?} $event
6275 * @return {?}
6276 */
6277 Card.prototype.onHeaderAction = /**
6278 * Emits the cards header action callback
6279 * @param {?} $event
6280 * @return {?}
6281 */
6282 function ($event) {
6283 this.headerAction.emit($event);
6284 };
6285 Card.decorators = [
6286 { type: core.Component, args: [{
6287 selector: 'suka-card',
6288 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 ",
6289 encapsulation: core.ViewEncapsulation.None
6290 }] }
6291 ];
6292 Card.propDecorators = {
6293 title: [{ type: core.Input }],
6294 sectioned: [{ type: core.Input }],
6295 primaryFooterActionLabel: [{ type: core.Input }],
6296 primaryFooterAction: [{ type: core.Output }],
6297 secondaryFooterActionLabel: [{ type: core.Input }],
6298 secondaryFooterAction: [{ type: core.Output }],
6299 headerActionLabel: [{ type: core.Input }],
6300 headerAction: [{ type: core.Output }],
6301 cardClass: [{ type: core.HostBinding, args: ['class.card',] }],
6302 skeleton: [{ type: core.Input }]
6303 };
6304 return Card;
6305 }());
6306 if (false) {
6307 /**
6308 * Title content for the card.
6309 * @type {?}
6310 */
6311 Card.prototype.title;
6312 /**
6313 * Set to `true` to auto-wrap content in section
6314 * @type {?}
6315 */
6316 Card.prototype.sectioned;
6317 /**
6318 * Primary action label.
6319 * @type {?}
6320 */
6321 Card.prototype.primaryFooterActionLabel;
6322 /**
6323 * Callback for the primary action
6324 * @type {?}
6325 */
6326 Card.prototype.primaryFooterAction;
6327 /**
6328 * Secondary action label.
6329 * @type {?}
6330 */
6331 Card.prototype.secondaryFooterActionLabel;
6332 /**
6333 * Callback for the secondary action
6334 * @type {?}
6335 */
6336 Card.prototype.secondaryFooterAction;
6337 /**
6338 * Card header action label
6339 * @type {?}
6340 */
6341 Card.prototype.headerActionLabel;
6342 /**
6343 * Callback for the card header action
6344 * @type {?}
6345 */
6346 Card.prototype.headerAction;
6347 /** @type {?} */
6348 Card.prototype.cardClass;
6349 /**
6350 * Set to `true` to display a loading card.
6351 * @type {?}
6352 */
6353 Card.prototype.skeleton;
6354 /**
6355 * Display footer state.
6356 * @type {?}
6357 */
6358 Card.prototype.showFooter;
6359 }
6360
6361 /**
6362 * @fileoverview added by tsickle
6363 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6364 */
6365 var CardHeader = /** @class */ (function () {
6366 function CardHeader() {
6367 this.showAction = false;
6368 this.cardHeaderClass = true;
6369 this.skeleton = false;
6370 this.action = new core.EventEmitter();
6371 }
6372 /**
6373 * @return {?}
6374 */
6375 CardHeader.prototype.ngOnInit = /**
6376 * @return {?}
6377 */
6378 function () {
6379 this.showAction = this.action.observers.length > 0;
6380 };
6381 /**
6382 * @param {?} $event
6383 * @return {?}
6384 */
6385 CardHeader.prototype.onClick = /**
6386 * @param {?} $event
6387 * @return {?}
6388 */
6389 function ($event) {
6390 this.action.emit($event);
6391 };
6392 CardHeader.decorators = [
6393 { type: core.Component, args: [{
6394 selector: 'suka-card-header',
6395 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 ",
6396 encapsulation: core.ViewEncapsulation.None
6397 }] }
6398 ];
6399 CardHeader.propDecorators = {
6400 cardHeaderClass: [{ type: core.HostBinding, args: ['class.card-header',] }],
6401 skeleton: [{ type: core.Input }],
6402 actionLabel: [{ type: core.Input }],
6403 action: [{ type: core.Output }]
6404 };
6405 return CardHeader;
6406 }());
6407 if (false) {
6408 /** @type {?} */
6409 CardHeader.prototype.showAction;
6410 /** @type {?} */
6411 CardHeader.prototype.cardHeaderClass;
6412 /** @type {?} */
6413 CardHeader.prototype.skeleton;
6414 /** @type {?} */
6415 CardHeader.prototype.actionLabel;
6416 /** @type {?} */
6417 CardHeader.prototype.action;
6418 }
6419
6420 /**
6421 * @fileoverview added by tsickle
6422 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6423 */
6424 var CardSection = /** @class */ (function () {
6425 function CardSection() {
6426 this.cardSectionClass = true;
6427 }
6428 CardSection.decorators = [
6429 { type: core.Component, args: [{
6430 selector: 'suka-card-section',
6431 template: "\n <ng-content></ng-content>\n ",
6432 encapsulation: core.ViewEncapsulation.None
6433 }] }
6434 ];
6435 CardSection.propDecorators = {
6436 cardSectionClass: [{ type: core.HostBinding, args: ['class.card-section',] }]
6437 };
6438 return CardSection;
6439 }());
6440 if (false) {
6441 /** @type {?} */
6442 CardSection.prototype.cardSectionClass;
6443 }
6444
6445 /**
6446 * @fileoverview added by tsickle
6447 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6448 */
6449 var CardFooter = /** @class */ (function () {
6450 function CardFooter() {
6451 this.showSecondaryButton = false;
6452 this.baseClass = true;
6453 this.primaryAction = new core.EventEmitter();
6454 this.secondaryAction = new core.EventEmitter();
6455 }
6456 /**
6457 * @return {?}
6458 */
6459 CardFooter.prototype.ngOnInit = /**
6460 * @return {?}
6461 */
6462 function () {
6463 this.showSecondaryButton = this.secondaryAction.observers.length > 0;
6464 };
6465 /**
6466 * @param {?} buttonType
6467 * @return {?}
6468 */
6469 CardFooter.prototype.onButtonClick = /**
6470 * @param {?} buttonType
6471 * @return {?}
6472 */
6473 function (buttonType) {
6474 if (buttonType === 'primary') {
6475 this.primaryAction.emit();
6476 }
6477 if (buttonType === 'secondary') {
6478 this.secondaryAction.emit();
6479 }
6480 };
6481 CardFooter.decorators = [
6482 { type: core.Component, args: [{
6483 selector: 'suka-card-footer',
6484 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 ",
6485 encapsulation: core.ViewEncapsulation.None
6486 }] }
6487 ];
6488 CardFooter.propDecorators = {
6489 baseClass: [{ type: core.HostBinding, args: ['class.card-footer',] }],
6490 primaryLabel: [{ type: core.Input }],
6491 secondaryLabel: [{ type: core.Input }],
6492 primaryAction: [{ type: core.Output }],
6493 secondaryAction: [{ type: core.Output }]
6494 };
6495 return CardFooter;
6496 }());
6497 if (false) {
6498 /** @type {?} */
6499 CardFooter.prototype.showSecondaryButton;
6500 /** @type {?} */
6501 CardFooter.prototype.baseClass;
6502 /** @type {?} */
6503 CardFooter.prototype.primaryLabel;
6504 /** @type {?} */
6505 CardFooter.prototype.secondaryLabel;
6506 /** @type {?} */
6507 CardFooter.prototype.primaryAction;
6508 /** @type {?} */
6509 CardFooter.prototype.secondaryAction;
6510 }
6511
6512 /**
6513 * @fileoverview added by tsickle
6514 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6515 */
6516 var CardModule = /** @class */ (function () {
6517 function CardModule() {
6518 }
6519 CardModule.decorators = [
6520 { type: core.NgModule, args: [{
6521 declarations: [
6522 Card,
6523 CardHeader,
6524 CardSection,
6525 CardFooter,
6526 ],
6527 exports: [
6528 Card,
6529 CardHeader,
6530 CardSection,
6531 CardFooter,
6532 ],
6533 imports: [
6534 common.CommonModule,
6535 ButtonModule,
6536 ]
6537 },] }
6538 ];
6539 return CardModule;
6540 }());
6541
6542 /**
6543 * @fileoverview added by tsickle
6544 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6545 */
6546 var Accordion = /** @class */ (function () {
6547 function Accordion() {
6548 this._skeleton = false;
6549 this.openCloseItems = new rxjs.Subject();
6550 this.skeletons = new rxjs.Subject();
6551 /**
6552 * Set to `true` to allow multiple accordion items to be expanded.
6553 */
6554 this.multi = false;
6555 this.role = 'list';
6556 this.baseClass = true;
6557 }
6558 Object.defineProperty(Accordion.prototype, "skeleton", {
6559 get: /**
6560 * @return {?}
6561 */
6562 function () {
6563 return this._skeleton;
6564 },
6565 /**
6566 * Set to `true` to display a loading accordion.
6567 */
6568 set: /**
6569 * Set to `true` to display a loading accordion.
6570 * @param {?} value
6571 * @return {?}
6572 */
6573 function (value) {
6574 this._skeleton = value;
6575 this.updateSkeletons();
6576 },
6577 enumerable: true,
6578 configurable: true
6579 });
6580 /**
6581 * @protected
6582 * @return {?}
6583 */
6584 Accordion.prototype.updateSkeletons = /**
6585 * @protected
6586 * @return {?}
6587 */
6588 function () {
6589 this.skeletons.next(this._skeleton);
6590 };
6591 Accordion.decorators = [
6592 { type: core.Component, args: [{
6593 selector: 'suka-accordion',
6594 template: "\n <ng-content select=\"suka-accordion-item\"></ng-content>\n "
6595 }] }
6596 ];
6597 Accordion.propDecorators = {
6598 multi: [{ type: core.Input }],
6599 role: [{ type: core.HostBinding, args: ['attr.role',] }],
6600 baseClass: [{ type: core.HostBinding, args: ['class.accordion',] }],
6601 skeleton: [{ type: core.Input }]
6602 };
6603 return Accordion;
6604 }());
6605 if (false) {
6606 /**
6607 * @type {?}
6608 * @protected
6609 */
6610 Accordion.prototype._skeleton;
6611 /** @type {?} */
6612 Accordion.prototype.openCloseItems;
6613 /** @type {?} */
6614 Accordion.prototype.skeletons;
6615 /**
6616 * Set to `true` to allow multiple accordion items to be expanded.
6617 * @type {?}
6618 */
6619 Accordion.prototype.multi;
6620 /** @type {?} */
6621 Accordion.prototype.role;
6622 /** @type {?} */
6623 Accordion.prototype.baseClass;
6624 }
6625
6626 /**
6627 * @fileoverview added by tsickle
6628 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6629 */
6630 var AccordionItem = /** @class */ (function () {
6631 function AccordionItem(accordion) {
6632 this.accordion = accordion;
6633 /**
6634 * Sets the accordion title. Can be a `string` or a `TemplateRef`. Defaults to Title plus the current accordion item count.
6635 */
6636 this.title = "Title " + AccordionItem.accordionItemCount;
6637 /**
6638 * Used to set a custom id to the element. Defaults to a counter
6639 */
6640 this.id = "accordion-item-" + AccordionItem.accordionItemCount;
6641 /**
6642 * Skeleton state. Set to `true` to display a skeleton accordion.
6643 */
6644 this.skeleton = false;
6645 /**
6646 * Emits an event when the accordion item is opened.
6647 */
6648 this.opened = new core.EventEmitter();
6649 /**
6650 * Emits an event when the accordion item is closed.
6651 */
6652 this.closed = new core.EventEmitter();
6653 this.itemClass = true;
6654 /**
6655 * Sets if the item is expanded.
6656 */
6657 this.expanded = false;
6658 this.itemType = 'list-item';
6659 this.role = 'heading';
6660 this.ariaLevel = 3;
6661 this.alive = true;
6662 AccordionItem.accordionItemCount++;
6663 }
6664 /**
6665 * Toggles the accordion opened state.
6666 */
6667 /**
6668 * Toggles the accordion opened state.
6669 * @return {?}
6670 */
6671 AccordionItem.prototype.toggle = /**
6672 * Toggles the accordion opened state.
6673 * @return {?}
6674 */
6675 function () {
6676 if (!this.skeleton) {
6677 if (!this.expanded) {
6678 if (!this.accordion.multi) {
6679 this.accordion.openCloseItems.next(true);
6680 }
6681 this.open();
6682 }
6683 else {
6684 this.close();
6685 }
6686 }
6687 };
6688 /**
6689 * @protected
6690 * @return {?}
6691 */
6692 AccordionItem.prototype.open = /**
6693 * @protected
6694 * @return {?}
6695 */
6696 function () {
6697 if (!this.expanded) {
6698 this.opened.emit({ id: this.id });
6699 }
6700 this.expanded = true;
6701 };
6702 /**
6703 * @protected
6704 * @return {?}
6705 */
6706 AccordionItem.prototype.close = /**
6707 * @protected
6708 * @return {?}
6709 */
6710 function () {
6711 if (this.expanded) {
6712 this.closed.emit({ id: this.id });
6713 }
6714 this.expanded = false;
6715 };
6716 /**
6717 * @return {?}
6718 */
6719 AccordionItem.prototype.ngOnInit = /**
6720 * @return {?}
6721 */
6722 function () {
6723 var _this = this;
6724 this.openSubscription = this.accordion.openCloseItems
6725 .pipe(operators.takeWhile((/**
6726 * @return {?}
6727 */
6728 function () { return _this.alive; })))
6729 .subscribe((/**
6730 * @param {?} collapsed
6731 * @return {?}
6732 */
6733 function (collapsed) {
6734 if (!_this.skeleton) {
6735 collapsed ? _this.close() : _this.open();
6736 }
6737 }));
6738 this.skeletonSubscription = this.accordion.skeletons
6739 .pipe(operators.takeWhile((/**
6740 * @return {?}
6741 */
6742 function () { return _this.alive; })))
6743 .subscribe((/**
6744 * @param {?} skeletonValue
6745 * @return {?}
6746 */
6747 function (skeletonValue) { return _this.skeleton = skeletonValue; }));
6748 this.skeleton = this.accordion.skeleton;
6749 };
6750 /**
6751 * @return {?}
6752 */
6753 AccordionItem.prototype.ngOnDestroy = /**
6754 * @return {?}
6755 */
6756 function () {
6757 this.alive = false;
6758 this.openSubscription.unsubscribe();
6759 this.skeletonSubscription.unsubscribe();
6760 };
6761 /**
6762 * @param {?} value
6763 * @return {?}
6764 */
6765 AccordionItem.prototype.isTemplate = /**
6766 * @param {?} value
6767 * @return {?}
6768 */
6769 function (value) {
6770 return value instanceof core.TemplateRef;
6771 };
6772 AccordionItem.accordionItemCount = 0;
6773 AccordionItem.decorators = [
6774 { type: core.Component, args: [{
6775 selector: 'suka-accordion-item',
6776 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 "
6777 }] }
6778 ];
6779 /** @nocollapse */
6780 AccordionItem.ctorParameters = function () { return [
6781 { type: Accordion, decorators: [{ type: core.Host }] }
6782 ]; };
6783 AccordionItem.propDecorators = {
6784 title: [{ type: core.Input }],
6785 id: [{ type: core.Input }],
6786 skeleton: [{ type: core.Input }],
6787 opened: [{ type: core.Output }],
6788 closed: [{ type: core.Output }],
6789 itemClass: [{ type: core.HostBinding, args: ['class.accordion__item',] }],
6790 expanded: [{ type: core.HostBinding, args: ['class.accordion__item--active',] }, { type: core.Input }],
6791 itemType: [{ type: core.HostBinding, args: ['style.display',] }],
6792 role: [{ type: core.HostBinding, args: ['attr.role',] }],
6793 ariaLevel: [{ type: core.HostBinding, args: ['attr.aria-level',] }, { type: core.Input }]
6794 };
6795 return AccordionItem;
6796 }());
6797 if (false) {
6798 /** @type {?} */
6799 AccordionItem.accordionItemCount;
6800 /**
6801 * Sets the accordion title. Can be a `string` or a `TemplateRef`. Defaults to Title plus the current accordion item count.
6802 * @type {?}
6803 */
6804 AccordionItem.prototype.title;
6805 /**
6806 * Used to set a custom id to the element. Defaults to a counter
6807 * @type {?}
6808 */
6809 AccordionItem.prototype.id;
6810 /**
6811 * Skeleton state. Set to `true` to display a skeleton accordion.
6812 * @type {?}
6813 */
6814 AccordionItem.prototype.skeleton;
6815 /**
6816 * Emits an event when the accordion item is opened.
6817 * @type {?}
6818 */
6819 AccordionItem.prototype.opened;
6820 /**
6821 * Emits an event when the accordion item is closed.
6822 * @type {?}
6823 */
6824 AccordionItem.prototype.closed;
6825 /** @type {?} */
6826 AccordionItem.prototype.itemClass;
6827 /**
6828 * Sets if the item is expanded.
6829 * @type {?}
6830 */
6831 AccordionItem.prototype.expanded;
6832 /** @type {?} */
6833 AccordionItem.prototype.itemType;
6834 /** @type {?} */
6835 AccordionItem.prototype.role;
6836 /** @type {?} */
6837 AccordionItem.prototype.ariaLevel;
6838 /**
6839 * @type {?}
6840 * @private
6841 */
6842 AccordionItem.prototype.alive;
6843 /**
6844 * @type {?}
6845 * @private
6846 */
6847 AccordionItem.prototype.skeletonSubscription;
6848 /**
6849 * @type {?}
6850 * @private
6851 */
6852 AccordionItem.prototype.openSubscription;
6853 /**
6854 * @type {?}
6855 * @private
6856 */
6857 AccordionItem.prototype.accordion;
6858 }
6859
6860 /**
6861 * @fileoverview added by tsickle
6862 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6863 */
6864 var AccordionModule = /** @class */ (function () {
6865 function AccordionModule() {
6866 }
6867 AccordionModule.decorators = [
6868 { type: core.NgModule, args: [{
6869 declarations: [
6870 Accordion,
6871 AccordionItem
6872 ],
6873 exports: [
6874 Accordion,
6875 AccordionItem
6876 ],
6877 imports: [
6878 common.CommonModule,
6879 IconModule,
6880 ]
6881 },] }
6882 ];
6883 return AccordionModule;
6884 }());
6885
6886 /**
6887 * @fileoverview added by tsickle
6888 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6889 */
6890 var ListItemDirective = /** @class */ (function () {
6891 function ListItemDirective() {
6892 this.wrapper = true;
6893 }
6894 ListItemDirective.decorators = [
6895 { type: core.Directive, args: [{
6896 selector: '[sukaListItem]'
6897 },] }
6898 ];
6899 ListItemDirective.propDecorators = {
6900 wrapper: [{ type: core.HostBinding, args: ['class.list__item',] }]
6901 };
6902 return ListItemDirective;
6903 }());
6904 if (false) {
6905 /** @type {?} */
6906 ListItemDirective.prototype.wrapper;
6907 }
6908
6909 /**
6910 * @fileoverview added by tsickle
6911 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6912 */
6913 var List = /** @class */ (function () {
6914 function List(elementRef) {
6915 this.elementRef = elementRef;
6916 }
6917 Object.defineProperty(List.prototype, "ordered", {
6918 get: /**
6919 * @return {?}
6920 */
6921 function () {
6922 if (this.nested) {
6923 return false;
6924 }
6925 return this.elementRef.nativeElement.tagName === 'OL';
6926 },
6927 enumerable: true,
6928 configurable: true
6929 });
6930 Object.defineProperty(List.prototype, "unordered", {
6931 get: /**
6932 * @return {?}
6933 */
6934 function () {
6935 if (this.nested) {
6936 return false;
6937 }
6938 return this.elementRef.nativeElement.tagName === 'UL';
6939 },
6940 enumerable: true,
6941 configurable: true
6942 });
6943 Object.defineProperty(List.prototype, "nested", {
6944 get: /**
6945 * @return {?}
6946 */
6947 function () {
6948 return this.elementRef.nativeElement.parentElement.tagName === 'LI';
6949 },
6950 enumerable: true,
6951 configurable: true
6952 });
6953 List.decorators = [
6954 { type: core.Directive, args: [{
6955 selector: '[sukaList]'
6956 },] }
6957 ];
6958 /** @nocollapse */
6959 List.ctorParameters = function () { return [
6960 { type: core.ElementRef }
6961 ]; };
6962 List.propDecorators = {
6963 ordered: [{ type: core.HostBinding, args: ['class.list--ordered',] }],
6964 unordered: [{ type: core.HostBinding, args: ['class.list--unordered',] }],
6965 nested: [{ type: core.HostBinding, args: ['class.list--nested',] }]
6966 };
6967 return List;
6968 }());
6969 if (false) {
6970 /**
6971 * @type {?}
6972 * @protected
6973 */
6974 List.prototype.elementRef;
6975 }
6976
6977 /**
6978 * @fileoverview added by tsickle
6979 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6980 */
6981 var ListModule = /** @class */ (function () {
6982 function ListModule() {
6983 }
6984 ListModule.decorators = [
6985 { type: core.NgModule, args: [{
6986 declarations: [
6987 ListItemDirective,
6988 List
6989 ],
6990 exports: [
6991 ListItemDirective,
6992 List
6993 ],
6994 imports: [common.CommonModule]
6995 },] }
6996 ];
6997 return ListModule;
6998 }());
6999
7000 /**
7001 * @fileoverview added by tsickle
7002 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
7003 */
7004 /**
7005 * Used to emit changes performed on number input components.
7006 */
7007 var /**
7008 * Used to emit changes performed on number input components.
7009 */
7010 NumberChange = /** @class */ (function () {
7011 function NumberChange() {
7012 }
7013 return NumberChange;
7014 }());
7015 if (false) {
7016 /**
7017 * Contains the `Number` that has been changed.
7018 * @type {?}
7019 */
7020 NumberChange.prototype.source;
7021 /**
7022 * The value of the `Number` field encompassed in the `NumberChange` class.
7023 * @type {?}
7024 */
7025 NumberChange.prototype.value;
7026 }
7027
7028 /**
7029 * @fileoverview added by tsickle
7030 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
7031 */
7032 var Number = /** @class */ (function () {
7033 /**
7034 * Creates an instance of `Number`.
7035 */
7036 function Number() {
7037 this.containerClass = true;
7038 /**
7039 * Set to `true` for a disabled number input.
7040 */
7041 this.disabled = false;
7042 /**
7043 * Set to `true` for a loading number component.
7044 */
7045 this.skeleton = false;
7046 /**
7047 * Set to `true` for an invalid number component.
7048 */
7049 this.invalid = false;
7050 /**
7051 * Set to `true` for a valid number component.
7052 */
7053 this.valid = false;
7054 /**
7055 * The unique id for the number component.
7056 */
7057 this.id = "number-input-" + Number.numberCount;
7058 /**
7059 * Sets the value attribute on the `input` element.
7060 */
7061 this.value = 0;
7062 /**
7063 * Sets the min attribute on the `input` element.
7064 */
7065 this.min = null;
7066 /**
7067 * Sets the max attribute on the `input` element.
7068 */
7069 this.max = null;
7070 /**
7071 * Emits event notifying other classes when a change in state occurs in the input.
7072 */
7073 // tslint:disable-next-line: no-output-native
7074 this.change = new core.EventEmitter();
7075 /**
7076 * Called when number input is blurred. Needed to properly implement `ControlValueAccessor`.
7077 */
7078 this.onTouched = (/**
7079 * @return {?}
7080 */
7081 function () { });
7082 /**
7083 * Method set in `registerOnChange` to propagate changes back to the form.
7084 */
7085 this.propagateChange = (/**
7086 * @param {?} _
7087 * @return {?}
7088 */
7089 function (_) { });
7090 Number.numberCount++;
7091 }
7092 /**
7093 * This is the initial value set to the component
7094 * @param value The input value.
7095 */
7096 /**
7097 * This is the initial value set to the component
7098 * @param {?} value The input value.
7099 * @return {?}
7100 */
7101 Number.prototype.writeValue = /**
7102 * This is the initial value set to the component
7103 * @param {?} value The input value.
7104 * @return {?}
7105 */
7106 function (value) {
7107 this.value = value;
7108 };
7109 /**
7110 * Sets a method in order to propagate changes back to the form.
7111 */
7112 /**
7113 * Sets a method in order to propagate changes back to the form.
7114 * @param {?} fn
7115 * @return {?}
7116 */
7117 Number.prototype.registerOnChange = /**
7118 * Sets a method in order to propagate changes back to the form.
7119 * @param {?} fn
7120 * @return {?}
7121 */
7122 function (fn) {
7123 this.propagateChange = fn;
7124 };
7125 /**
7126 * Registers a callback to be triggered when the control has been touched.
7127 * @param fn Callback to be triggered when the number input is touched.
7128 */
7129 /**
7130 * Registers a callback to be triggered when the control has been touched.
7131 * @param {?} fn Callback to be triggered when the number input is touched.
7132 * @return {?}
7133 */
7134 Number.prototype.registerOnTouched = /**
7135 * Registers a callback to be triggered when the control has been touched.
7136 * @param {?} fn Callback to be triggered when the number input is touched.
7137 * @return {?}
7138 */
7139 function (fn) {
7140 this.onTouched = fn;
7141 };
7142 /**
7143 * Sets the disabled state through the model
7144 */
7145 /**
7146 * Sets the disabled state through the model
7147 * @param {?} isDisabled
7148 * @return {?}
7149 */
7150 Number.prototype.setDisabledState = /**
7151 * Sets the disabled state through the model
7152 * @param {?} isDisabled
7153 * @return {?}
7154 */
7155 function (isDisabled) {
7156 this.disabled = isDisabled;
7157 };
7158 /**
7159 * Adds 1 to the current `value`.
7160 */
7161 /**
7162 * Adds 1 to the current `value`.
7163 * @return {?}
7164 */
7165 Number.prototype.onIncrement = /**
7166 * Adds 1 to the current `value`.
7167 * @return {?}
7168 */
7169 function () {
7170 if (this.max === null || this.value < this.max) {
7171 this.value++;
7172 this.emitChangeEvent();
7173 }
7174 };
7175 /**
7176 * Subtracts 1 to the current `value`.
7177 */
7178 /**
7179 * Subtracts 1 to the current `value`.
7180 * @return {?}
7181 */
7182 Number.prototype.onDecrement = /**
7183 * Subtracts 1 to the current `value`.
7184 * @return {?}
7185 */
7186 function () {
7187 if (this.min === null || this.value > this.min) {
7188 this.value--;
7189 this.emitChangeEvent();
7190 }
7191 };
7192 /**
7193 * Creates a class of `NumberChange` to emit the change in the `Number`.
7194 */
7195 /**
7196 * Creates a class of `NumberChange` to emit the change in the `Number`.
7197 * @return {?}
7198 */
7199 Number.prototype.emitChangeEvent = /**
7200 * Creates a class of `NumberChange` to emit the change in the `Number`.
7201 * @return {?}
7202 */
7203 function () {
7204 /** @type {?} */
7205 var event = new NumberChange();
7206 event.source = this;
7207 event.value = this.value;
7208 this.change.emit(event);
7209 this.propagateChange(this.value);
7210 };
7211 /**
7212 * @param {?} event
7213 * @return {?}
7214 */
7215 Number.prototype.onNumberInputChange = /**
7216 * @param {?} event
7217 * @return {?}
7218 */
7219 function (event) {
7220 this.value = event.target.value;
7221 this.emitChangeEvent();
7222 };
7223 /**
7224 * @param {?} value
7225 * @return {?}
7226 */
7227 Number.prototype.isTemplate = /**
7228 * @param {?} value
7229 * @return {?}
7230 */
7231 function (value) {
7232 return value instanceof core.TemplateRef;
7233 };
7234 /**
7235 * Variable used for creating unique ids for number input components.
7236 */
7237 Number.numberCount = 0;
7238 Number.decorators = [
7239 { type: core.Component, args: [{
7240 selector: 'suka-number',
7241 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 ",
7242 providers: [
7243 {
7244 provide: forms.NG_VALUE_ACCESSOR,
7245 useExisting: Number,
7246 multi: true
7247 }
7248 ]
7249 }] }
7250 ];
7251 /** @nocollapse */
7252 Number.ctorParameters = function () { return []; };
7253 Number.propDecorators = {
7254 containerClass: [{ type: core.HostBinding, args: ['class.form-item',] }],
7255 disabled: [{ type: core.Input }],
7256 skeleton: [{ type: core.Input }],
7257 invalid: [{ type: core.Input }],
7258 valid: [{ type: core.Input }],
7259 id: [{ type: core.Input }],
7260 required: [{ type: core.Input }],
7261 value: [{ type: core.Input }],
7262 min: [{ type: core.Input }],
7263 max: [{ type: core.Input }],
7264 label: [{ type: core.Input }],
7265 prefix: [{ type: core.Input }],
7266 helperText: [{ type: core.Input }],
7267 invalidText: [{ type: core.Input }],
7268 change: [{ type: core.Output }]
7269 };
7270 return Number;
7271 }());
7272 if (false) {
7273 /**
7274 * Variable used for creating unique ids for number input components.
7275 * @type {?}
7276 */
7277 Number.numberCount;
7278 /** @type {?} */
7279 Number.prototype.containerClass;
7280 /**
7281 * Set to `true` for a disabled number input.
7282 * @type {?}
7283 */
7284 Number.prototype.disabled;
7285 /**
7286 * Set to `true` for a loading number component.
7287 * @type {?}
7288 */
7289 Number.prototype.skeleton;
7290 /**
7291 * Set to `true` for an invalid number component.
7292 * @type {?}
7293 */
7294 Number.prototype.invalid;
7295 /**
7296 * Set to `true` for a valid number component.
7297 * @type {?}
7298 */
7299 Number.prototype.valid;
7300 /**
7301 * The unique id for the number component.
7302 * @type {?}
7303 */
7304 Number.prototype.id;
7305 /**
7306 * Reflects the required attribute of the `input` element.
7307 * @type {?}
7308 */
7309 Number.prototype.required;
7310 /**
7311 * Sets the value attribute on the `input` element.
7312 * @type {?}
7313 */
7314 Number.prototype.value;
7315 /**
7316 * Sets the min attribute on the `input` element.
7317 * @type {?}
7318 */
7319 Number.prototype.min;
7320 /**
7321 * Sets the max attribute on the `input` element.
7322 * @type {?}
7323 */
7324 Number.prototype.max;
7325 /**
7326 * Sets the text inside the `label` tag.
7327 * @type {?}
7328 */
7329 Number.prototype.label;
7330 /**
7331 * Sets the a prefix for the input wrapper.
7332 * @type {?}
7333 */
7334 Number.prototype.prefix;
7335 /**
7336 * Sets the optional helper text.
7337 * @type {?}
7338 */
7339 Number.prototype.helperText;
7340 /**
7341 * Sets the invalid text.
7342 * @type {?}
7343 */
7344 Number.prototype.invalidText;
7345 /**
7346 * Emits event notifying other classes when a change in state occurs in the input.
7347 * @type {?}
7348 */
7349 Number.prototype.change;
7350 /**
7351 * Called when number input is blurred. Needed to properly implement `ControlValueAccessor`.
7352 * @type {?}
7353 */
7354 Number.prototype.onTouched;
7355 /**
7356 * Method set in `registerOnChange` to propagate changes back to the form.
7357 * @type {?}
7358 */
7359 Number.prototype.propagateChange;
7360 }
7361
7362 /**
7363 * @fileoverview added by tsickle
7364 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
7365 */
7366 var NumberModule = /** @class */ (function () {
7367 function NumberModule() {
7368 }
7369 NumberModule.decorators = [
7370 { type: core.NgModule, args: [{
7371 declarations: [
7372 Number
7373 ],
7374 exports: [
7375 Number
7376 ],
7377 imports: [
7378 forms.FormsModule,
7379 common.CommonModule,
7380 IconModule,
7381 ]
7382 },] }
7383 ];
7384 return NumberModule;
7385 }());
7386
7387 /**
7388 * @fileoverview added by tsickle
7389 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
7390 */
7391 var Search = /** @class */ (function () {
7392 /**
7393 * Creates an instance of `Search`.
7394 */
7395 function Search(elementRef) {
7396 this.elementRef = elementRef;
7397 /**
7398 * Set to `true` for a disabled search input.
7399 */
7400 this.disabled = false;
7401 /**
7402 * Set to `true` for a toolbar search component.
7403 */
7404 this.toolbar = false;
7405 /**
7406 * Set to `true` for a loading search component.
7407 */
7408 this.skeleton = false;
7409 /**
7410 * Set to `true` to expand the toolbar search component.
7411 */
7412 this.active = false;
7413 /**
7414 * Specifies whether the search component is used in the table toolbar.
7415 */
7416 this.tableSearch = false;
7417 /**
7418 * The unique id for the search component.
7419 */
7420 this.id = "search-" + Search.searchCount;
7421 /**
7422 * Sets the value attribute on the `input` element.
7423 */
7424 this.value = '';
7425 /**
7426 * Sets the autocomplete attribute on the `input` element.
7427 * For reference: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete#Values
7428 */
7429 this.autocomplete = 'on';
7430 /**
7431 * Sets the text inside the `label` tag.
7432 */
7433 this.label = 'Búsqueda'; // TODO: i18n
7434 // TODO: i18n
7435 /**
7436 * Sets the placeholder attribute on the `input` element.
7437 */
7438 this.placeholder = 'Buscar'; // TODO: i18n
7439 // TODO: i18n
7440 /**
7441 * Used to set the `title` attribute of the clear button.
7442 */
7443 this.clearButtonTitle = 'Limpiar'; // TODO: i18n
7444 // TODO: i18n
7445 /**
7446 * Emits an event when value is changed.
7447 */
7448 this.valueChange = new core.EventEmitter();
7449 /**
7450 * Emits an event when the clear button is clicked.
7451 */
7452 this.clear = new core.EventEmitter();
7453 /**
7454 * Called when search input is blurred. Needed to properly implement `ControlValueAccessor`.
7455 */
7456 this.onTouched = (/**
7457 * @return {?}
7458 */
7459 function () { });
7460 /**
7461 * Method set in `registerOnChange` to propagate changes back to the form.
7462 */
7463 this.propagateChange = (/**
7464 * @param {?} _
7465 * @return {?}
7466 */
7467 function (_) { });
7468 Search.searchCount++;
7469 }
7470 Object.defineProperty(Search.prototype, "containerClass", {
7471 get: /**
7472 * @return {?}
7473 */
7474 function () { return !this.toolbar; },
7475 enumerable: true,
7476 configurable: true
7477 });
7478 /**
7479 * This is the initial value set to the component
7480 * @param value The input value.
7481 */
7482 /**
7483 * This is the initial value set to the component
7484 * @param {?} value The input value.
7485 * @return {?}
7486 */
7487 Search.prototype.writeValue = /**
7488 * This is the initial value set to the component
7489 * @param {?} value The input value.
7490 * @return {?}
7491 */
7492 function (value) {
7493 this.value = value;
7494 };
7495 /**
7496 * Sets a method in order to propagate changes back to the form.
7497 */
7498 /**
7499 * Sets a method in order to propagate changes back to the form.
7500 * @param {?} fn
7501 * @return {?}
7502 */
7503 Search.prototype.registerOnChange = /**
7504 * Sets a method in order to propagate changes back to the form.
7505 * @param {?} fn
7506 * @return {?}
7507 */
7508 function (fn) {
7509 this.propagateChange = fn;
7510 };
7511 /**
7512 * Registers a callback to be triggered when the control has been touched.
7513 * @param fn Callback to be triggered when the search input is touched.
7514 */
7515 /**
7516 * Registers a callback to be triggered when the control has been touched.
7517 * @param {?} fn Callback to be triggered when the search input is touched.
7518 * @return {?}
7519 */
7520 Search.prototype.registerOnTouched = /**
7521 * Registers a callback to be triggered when the control has been touched.
7522 * @param {?} fn Callback to be triggered when the search input is touched.
7523 * @return {?}
7524 */
7525 function (fn) {
7526 this.onTouched = fn;
7527 };
7528 /**
7529 * Called when text is written in the input.
7530 * @param search The input text.
7531 */
7532 /**
7533 * Called when text is written in the input.
7534 * @param {?} search The input text.
7535 * @return {?}
7536 */
7537 Search.prototype.onSearch = /**
7538 * Called when text is written in the input.
7539 * @param {?} search The input text.
7540 * @return {?}
7541 */
7542 function (search) {
7543 this.value = search;
7544 this.doValueChange();
7545 };
7546 /**
7547 * Called when clear button is clicked.
7548 */
7549 /**
7550 * Called when clear button is clicked.
7551 * @return {?}
7552 */
7553 Search.prototype.clearSearch = /**
7554 * Called when clear button is clicked.
7555 * @return {?}
7556 */
7557 function () {
7558 this.value = '';
7559 this.clear.emit();
7560 this.propagateChange(this.value);
7561 };
7562 /**
7563 * @return {?}
7564 */
7565 Search.prototype.doValueChange = /**
7566 * @return {?}
7567 */
7568 function () {
7569 this.valueChange.emit(this.value);
7570 this.propagateChange(this.value);
7571 };
7572 /**
7573 * @return {?}
7574 */
7575 Search.prototype.openSearch = /**
7576 * @return {?}
7577 */
7578 function () {
7579 var _this = this;
7580 this.active = true;
7581 setTimeout((/**
7582 * @return {?}
7583 */
7584 function () { return _this.inputRef.nativeElement.focus(); }));
7585 };
7586 /**
7587 * @param {?} event
7588 * @return {?}
7589 */
7590 Search.prototype.keyDown = /**
7591 * @param {?} event
7592 * @return {?}
7593 */
7594 function (event) {
7595 if (this.toolbar) {
7596 if (event.key === 'Escape') {
7597 this.active = false;
7598 }
7599 else if (event.key === 'Enter') {
7600 this.openSearch();
7601 }
7602 }
7603 };
7604 /**
7605 * @param {?} event
7606 * @return {?}
7607 */
7608 Search.prototype.focusOut = /**
7609 * @param {?} event
7610 * @return {?}
7611 */
7612 function (event) {
7613 if (this.toolbar &&
7614 this.inputRef.nativeElement.value === '' &&
7615 event.relatedTarget === null) {
7616 this.active = false;
7617 }
7618 };
7619 /**
7620 * Variable used for creating unique ids for search components.
7621 */
7622 Search.searchCount = 0;
7623 Search.decorators = [
7624 { type: core.Component, args: [{
7625 selector: 'suka-search',
7626 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 ",
7627 providers: [
7628 {
7629 provide: forms.NG_VALUE_ACCESSOR,
7630 useExisting: Search,
7631 multi: true
7632 }
7633 ]
7634 }] }
7635 ];
7636 /** @nocollapse */
7637 Search.ctorParameters = function () { return [
7638 { type: core.ElementRef }
7639 ]; };
7640 Search.propDecorators = {
7641 containerClass: [{ type: core.HostBinding, args: ['class.form-item',] }],
7642 disabled: [{ type: core.Input }],
7643 toolbar: [{ type: core.Input }],
7644 skeleton: [{ type: core.Input }],
7645 active: [{ type: core.Input }],
7646 tableSearch: [{ type: core.Input }],
7647 name: [{ type: core.Input }],
7648 id: [{ type: core.Input }],
7649 required: [{ type: core.Input }],
7650 value: [{ type: core.Input }],
7651 autocomplete: [{ type: core.Input }],
7652 label: [{ type: core.Input }],
7653 placeholder: [{ type: core.Input }],
7654 clearButtonTitle: [{ type: core.Input }],
7655 valueChange: [{ type: core.Output }],
7656 clear: [{ type: core.Output }],
7657 inputRef: [{ type: core.ViewChild, args: ['input', { static: false },] }],
7658 keyDown: [{ type: core.HostListener, args: ['keydown', ['$event'],] }],
7659 focusOut: [{ type: core.HostListener, args: ['focusout', ['$event'],] }]
7660 };
7661 return Search;
7662 }());
7663 if (false) {
7664 /**
7665 * Variable used for creating unique ids for search components.
7666 * @type {?}
7667 */
7668 Search.searchCount;
7669 /**
7670 * Set to `true` for a disabled search input.
7671 * @type {?}
7672 */
7673 Search.prototype.disabled;
7674 /**
7675 * Set to `true` for a toolbar search component.
7676 * @type {?}
7677 */
7678 Search.prototype.toolbar;
7679 /**
7680 * Set to `true` for a loading search component.
7681 * @type {?}
7682 */
7683 Search.prototype.skeleton;
7684 /**
7685 * Set to `true` to expand the toolbar search component.
7686 * @type {?}
7687 */
7688 Search.prototype.active;
7689 /**
7690 * Specifies whether the search component is used in the table toolbar.
7691 * @type {?}
7692 */
7693 Search.prototype.tableSearch;
7694 /**
7695 * Sets the name attribute on the `input` element.
7696 * @type {?}
7697 */
7698 Search.prototype.name;
7699 /**
7700 * The unique id for the search component.
7701 * @type {?}
7702 */
7703 Search.prototype.id;
7704 /**
7705 * Reflects the required attribute of the `input` element.
7706 * @type {?}
7707 */
7708 Search.prototype.required;
7709 /**
7710 * Sets the value attribute on the `input` element.
7711 * @type {?}
7712 */
7713 Search.prototype.value;
7714 /**
7715 * Sets the autocomplete attribute on the `input` element.
7716 * For reference: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete#Values
7717 * @type {?}
7718 */
7719 Search.prototype.autocomplete;
7720 /**
7721 * Sets the text inside the `label` tag.
7722 * @type {?}
7723 */
7724 Search.prototype.label;
7725 /**
7726 * Sets the placeholder attribute on the `input` element.
7727 * @type {?}
7728 */
7729 Search.prototype.placeholder;
7730 /**
7731 * Used to set the `title` attribute of the clear button.
7732 * @type {?}
7733 */
7734 Search.prototype.clearButtonTitle;
7735 /**
7736 * Emits an event when value is changed.
7737 * @type {?}
7738 */
7739 Search.prototype.valueChange;
7740 /**
7741 * Emits an event when the clear button is clicked.
7742 * @type {?}
7743 */
7744 Search.prototype.clear;
7745 /** @type {?} */
7746 Search.prototype.inputRef;
7747 /**
7748 * Called when search input is blurred. Needed to properly implement `ControlValueAccessor`.
7749 * @type {?}
7750 */
7751 Search.prototype.onTouched;
7752 /**
7753 * Method set in `registerOnChange` to propagate changes back to the form.
7754 * @type {?}
7755 */
7756 Search.prototype.propagateChange;
7757 /**
7758 * @type {?}
7759 * @protected
7760 */
7761 Search.prototype.elementRef;
7762 }
7763
7764 /**
7765 * @fileoverview added by tsickle
7766 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
7767 */
7768 var SearchModule = /** @class */ (function () {
7769 function SearchModule() {
7770 }
7771 SearchModule.decorators = [
7772 { type: core.NgModule, args: [{
7773 declarations: [
7774 Search
7775 ],
7776 exports: [
7777 Search
7778 ],
7779 imports: [
7780 forms.FormsModule,
7781 common.CommonModule,
7782 IconModule,
7783 ]
7784 },] }
7785 ];
7786 return SearchModule;
7787 }());
7788
7789 /**
7790 * @fileoverview added by tsickle
7791 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
7792 */
7793 var TabItem = /** @class */ (function () {
7794 function TabItem() {
7795 /**
7796 * Set to `true` to activate the tab (display it).
7797 */
7798 this.active = false;
7799 /**
7800 * Callback when the tab is selected.
7801 */
7802 this.selected = new core.EventEmitter();
7803 }
7804 /**
7805 * @return {?}
7806 */
7807 TabItem.prototype.ngOnChanges = /**
7808 * @return {?}
7809 */
7810 function () {
7811 if (this.active === true) {
7812 this.selected.emit(this.title);
7813 }
7814 };
7815 TabItem.decorators = [
7816 { type: core.Component, args: [{
7817 selector: 'suka-tab',
7818 template: "\n <div [hidden]=\"!active\" class=\"tabs__tab-item\">\n <ng-content></ng-content>\n </div>\n "
7819 }] }
7820 ];
7821 TabItem.propDecorators = {
7822 title: [{ type: core.Input }],
7823 active: [{ type: core.Input }],
7824 selected: [{ type: core.Output }]
7825 };
7826 return TabItem;
7827 }());
7828 if (false) {
7829 /**
7830 * Sets the tab title.
7831 * @type {?}
7832 */
7833 TabItem.prototype.title;
7834 /**
7835 * Set to `true` to activate the tab (display it).
7836 * @type {?}
7837 */
7838 TabItem.prototype.active;
7839 /**
7840 * Callback when the tab is selected.
7841 * @type {?}
7842 */
7843 TabItem.prototype.selected;
7844 }
7845
7846 /**
7847 * @fileoverview added by tsickle
7848 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
7849 */
7850 var Tabs = /** @class */ (function () {
7851 function Tabs() {
7852 /**
7853 * Set to `true` to fit tabs to container.
7854 */
7855 this.fitted = false;
7856 }
7857 /**
7858 * @return {?}
7859 */
7860 Tabs.prototype.ngAfterContentInit = /**
7861 * @return {?}
7862 */
7863 function () {
7864 /** @type {?} */
7865 var activeTabs = this.tabs.filter((/**
7866 * @param {?} tab
7867 * @return {?}
7868 */
7869 function (tab) { return tab.active; }));
7870 if (activeTabs.length === 0) {
7871 this.selectTab(this.tabs.first);
7872 }
7873 };
7874 /**
7875 * Selects a particular tab and activates it.
7876 */
7877 /**
7878 * Selects a particular tab and activates it.
7879 * @param {?} tabItem
7880 * @return {?}
7881 */
7882 Tabs.prototype.selectTab = /**
7883 * Selects a particular tab and activates it.
7884 * @param {?} tabItem
7885 * @return {?}
7886 */
7887 function (tabItem) {
7888 this.tabs.toArray().forEach((/**
7889 * @param {?} tab
7890 * @return {?}
7891 */
7892 function (tab) { return tab.active = false; }));
7893 tabItem.active = true;
7894 tabItem.ngOnChanges();
7895 };
7896 Tabs.decorators = [
7897 { type: core.Component, args: [{
7898 selector: 'suka-tabs',
7899 template: "\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\">{{tab.title}}</span>\n </button>\n </li>\n </ul>\n <ng-content></ng-content>\n "
7900 }] }
7901 ];
7902 Tabs.propDecorators = {
7903 fitted: [{ type: core.HostBinding, args: ['class.tabs-fitted',] }, { type: core.Input }],
7904 tabs: [{ type: core.ContentChildren, args: [TabItem,] }]
7905 };
7906 return Tabs;
7907 }());
7908 if (false) {
7909 /**
7910 * Set to `true` to fit tabs to container.
7911 * @type {?}
7912 */
7913 Tabs.prototype.fitted;
7914 /**
7915 * List of tabs associated to the main wrapper.
7916 * @type {?}
7917 */
7918 Tabs.prototype.tabs;
7919 }
7920
7921 /**
7922 * @fileoverview added by tsickle
7923 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
7924 */
7925 var TabsModule = /** @class */ (function () {
7926 function TabsModule() {
7927 }
7928 TabsModule.decorators = [
7929 { type: core.NgModule, args: [{
7930 declarations: [
7931 Tabs,
7932 TabItem,
7933 ],
7934 exports: [
7935 Tabs,
7936 TabItem,
7937 ],
7938 imports: [
7939 common.CommonModule
7940 ]
7941 },] }
7942 ];
7943 return TabsModule;
7944 }());
7945
7946 /**
7947 * @fileoverview added by tsickle
7948 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
7949 */
7950 var TooltipContainer = /** @class */ (function () {
7951 function TooltipContainer() {
7952 this.renderMethod = 'component';
7953 this.position = 'bottom';
7954 }
7955 /**
7956 * @return {?}
7957 */
7958 TooltipContainer.prototype.ngOnInit = /**
7959 * @return {?}
7960 */
7961 function () {
7962 if (typeof this.content === 'string') {
7963 this.renderMethod = 'text';
7964 }
7965 if (this.content instanceof core.TemplateRef) {
7966 this.renderMethod = 'template';
7967 }
7968 };
7969 TooltipContainer.decorators = [
7970 { type: core.Component, args: [{
7971 selector: 'suka-tooltip',
7972 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>",
7973 animations: [
7974 animations.trigger('tooltip', [
7975 animations.transition(':enter', [
7976 animations.style({ opacity: 0 }),
7977 animations.animate('0.2s ease-in', animations.style({ opacity: 1 })),
7978 ]),
7979 animations.transition(':leave', [
7980 animations.animate(200, animations.style({ opacity: 0 })),
7981 ]),
7982 ]),
7983 ]
7984 }] }
7985 ];
7986 TooltipContainer.propDecorators = {
7987 content: [{ type: core.Input }],
7988 position: [{ type: core.Input }]
7989 };
7990 return TooltipContainer;
7991 }());
7992 if (false) {
7993 /** @type {?} */
7994 TooltipContainer.prototype.renderMethod;
7995 /** @type {?} */
7996 TooltipContainer.prototype.content;
7997 /** @type {?} */
7998 TooltipContainer.prototype.position;
7999 }
8000
8001 /**
8002 * @fileoverview added by tsickle
8003 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
8004 */
8005 /** @type {?} */
8006 var positions = {
8007 top: {
8008 originX: 'center',
8009 originY: 'top',
8010 overlayX: 'center',
8011 overlayY: 'bottom',
8012 offsetY: -8,
8013 },
8014 right: {
8015 originX: 'end',
8016 originY: 'center',
8017 overlayX: 'start',
8018 overlayY: 'center',
8019 offsetX: 8,
8020 },
8021 bottom: {
8022 originX: 'center',
8023 originY: 'bottom',
8024 overlayX: 'center',
8025 overlayY: 'top',
8026 offsetY: 8,
8027 },
8028 left: {
8029 originX: 'start',
8030 originY: 'center',
8031 overlayX: 'end',
8032 overlayY: 'center',
8033 offsetX: -8,
8034 }
8035 };
8036 var Tooltip = /** @class */ (function () {
8037 function Tooltip(overlay, overlayPositionBuilder, elementRef) {
8038 this.overlay = overlay;
8039 this.overlayPositionBuilder = overlayPositionBuilder;
8040 this.elementRef = elementRef;
8041 this.open = false;
8042 /**
8043 * The tooltip content
8044 */
8045 this.content = '';
8046 /**
8047 * Sets the tooltip trigger behaviour. Defaults to `hover`.
8048 */
8049 this.trigger = 'hover';
8050 /**
8051 * Sets the tooltip position according to the trigger component.
8052 */
8053 this.position = 'bottom';
8054 }
8055 /**
8056 * @return {?}
8057 */
8058 Tooltip.prototype.ngOnInit = /**
8059 * @return {?}
8060 */
8061 function () {
8062 /** @type {?} */
8063 var positionStrategy = this.overlayPositionBuilder
8064 .flexibleConnectedTo(this.elementRef)
8065 .withPositions([(/** @type {?} */ (positions[this.position]))]);
8066 this.overlayRef = this.overlay.create({
8067 positionStrategy: positionStrategy,
8068 scrollStrategy: this.overlay.scrollStrategies.close(),
8069 });
8070 };
8071 /**
8072 * @private
8073 * @return {?}
8074 */
8075 Tooltip.prototype.show = /**
8076 * @private
8077 * @return {?}
8078 */
8079 function () {
8080 this.open = true;
8081 /** @type {?} */
8082 var tooltipRef = this.overlayRef.attach(new portal.ComponentPortal(TooltipContainer));
8083 tooltipRef.instance.content = this.content;
8084 tooltipRef.instance.position = this.position;
8085 };
8086 /**
8087 * @private
8088 * @return {?}
8089 */
8090 Tooltip.prototype.hide = /**
8091 * @private
8092 * @return {?}
8093 */
8094 function () {
8095 this.open = false;
8096 this.overlayRef.detach();
8097 };
8098 /**
8099 * @return {?}
8100 */
8101 Tooltip.prototype.onMouseEnter = /**
8102 * @return {?}
8103 */
8104 function () {
8105 if (this.trigger === 'hover') {
8106 this.show();
8107 }
8108 };
8109 /**
8110 * @return {?}
8111 */
8112 Tooltip.prototype.onMouseOut = /**
8113 * @return {?}
8114 */
8115 function () {
8116 if (this.trigger === 'hover') {
8117 this.hide();
8118 }
8119 };
8120 /**
8121 * @return {?}
8122 */
8123 Tooltip.prototype.onClick = /**
8124 * @return {?}
8125 */
8126 function () {
8127 var _this = this;
8128 if (this.trigger === 'click') {
8129 this.open ? this.hide() : this.show();
8130 if (this.duration) {
8131 setTimeout((/**
8132 * @return {?}
8133 */
8134 function () {
8135 _this.hide();
8136 }), this.duration);
8137 }
8138 }
8139 };
8140 Tooltip.decorators = [
8141 { type: core.Directive, args: [{ selector: '[sukaTooltip]' },] }
8142 ];
8143 /** @nocollapse */
8144 Tooltip.ctorParameters = function () { return [
8145 { type: overlay.Overlay },
8146 { type: overlay.OverlayPositionBuilder },
8147 { type: core.ElementRef }
8148 ]; };
8149 Tooltip.propDecorators = {
8150 content: [{ type: core.Input, args: ['sukaTooltip',] }],
8151 trigger: [{ type: core.Input, args: ['tooltipTrigger',] }],
8152 position: [{ type: core.Input, args: ['tooltipPosition',] }],
8153 duration: [{ type: core.Input, args: ['tooltipDuration',] }],
8154 onMouseEnter: [{ type: core.HostListener, args: ['mouseenter',] }],
8155 onMouseOut: [{ type: core.HostListener, args: ['mouseout',] }],
8156 onClick: [{ type: core.HostListener, args: ['click',] }]
8157 };
8158 return Tooltip;
8159 }());
8160 if (false) {
8161 /**
8162 * @type {?}
8163 * @private
8164 */
8165 Tooltip.prototype.overlayRef;
8166 /**
8167 * @type {?}
8168 * @private
8169 */
8170 Tooltip.prototype.open;
8171 /**
8172 * The tooltip content
8173 * @type {?}
8174 */
8175 Tooltip.prototype.content;
8176 /**
8177 * Sets the tooltip trigger behaviour. Defaults to `hover`.
8178 * @type {?}
8179 */
8180 Tooltip.prototype.trigger;
8181 /**
8182 * Sets the tooltip position according to the trigger component.
8183 * @type {?}
8184 */
8185 Tooltip.prototype.position;
8186 /**
8187 * Sets a duration for the tooltip. If not set, it runs indefinitely.
8188 * @type {?}
8189 */
8190 Tooltip.prototype.duration;
8191 /**
8192 * @type {?}
8193 * @private
8194 */
8195 Tooltip.prototype.overlay;
8196 /**
8197 * @type {?}
8198 * @private
8199 */
8200 Tooltip.prototype.overlayPositionBuilder;
8201 /**
8202 * @type {?}
8203 * @private
8204 */
8205 Tooltip.prototype.elementRef;
8206 }
8207
8208 /**
8209 * @fileoverview added by tsickle
8210 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
8211 */
8212 var TooltipModule = /** @class */ (function () {
8213 function TooltipModule() {
8214 }
8215 TooltipModule.decorators = [
8216 { type: core.NgModule, args: [{
8217 declarations: [
8218 TooltipContainer,
8219 Tooltip,
8220 ],
8221 exports: [
8222 TooltipContainer,
8223 Tooltip,
8224 ],
8225 imports: [
8226 common.CommonModule,
8227 overlay.OverlayModule
8228 ],
8229 entryComponents: [
8230 TooltipContainer
8231 ]
8232 },] }
8233 ];
8234 return TooltipModule;
8235 }());
8236
8237 /**
8238 * @fileoverview added by tsickle
8239 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
8240 */
8241 var ɵ0 = /**
8242 * @param {?} iconDef
8243 * @return {?}
8244 */
8245 function (iconDef) { return iconDef.name === 'arrow-right'; };
8246 /** @type {?} */
8247 var arrowImg = iconDefs.find((ɵ0)).template;
8248 var ɵ1 = /**
8249 * @param {?} iconDef
8250 * @return {?}
8251 */
8252 function (iconDef) { return iconDef.name === 'external-link'; };
8253 /** @type {?} */
8254 var externalImg = iconDefs.find((ɵ1)).template;
8255 var Link = /** @class */ (function () {
8256 function Link(elementRef, renderer, document) {
8257 this.elementRef = elementRef;
8258 this.renderer = renderer;
8259 this.document = document;
8260 this.baseClass = true;
8261 /**
8262 * Set to `true` to display an arrow next to the link
8263 */
8264 this.arrow = false;
8265 }
8266 Object.defineProperty(Link.prototype, "disabled", {
8267 get: /**
8268 * @return {?}
8269 */
8270 function () {
8271 return this._disabled;
8272 },
8273 /**
8274 * Set to `true` to disable the link.
8275 */
8276 set: /**
8277 * Set to `true` to disable the link.
8278 * @param {?} disabled
8279 * @return {?}
8280 */
8281 function (disabled) {
8282 this._disabled = disabled;
8283 this.tabindex = this.disabled ? -1 : null;
8284 },
8285 enumerable: true,
8286 configurable: true
8287 });
8288 Object.defineProperty(Link.prototype, "external", {
8289 get: /**
8290 * @return {?}
8291 */
8292 function () {
8293 return this._external;
8294 },
8295 /**
8296 * Set to `true` to display an icon describing an external link (going to a new page)
8297 */
8298 set: /**
8299 * Set to `true` to display an icon describing an external link (going to a new page)
8300 * @param {?} external
8301 * @return {?}
8302 */
8303 function (external) {
8304 this._external = external;
8305 this.target = this.external ? '_blank' : null;
8306 this.ref = this.external ? 'noopener' : null;
8307 },
8308 enumerable: true,
8309 configurable: true
8310 });
8311 /**
8312 * @return {?}
8313 */
8314 Link.prototype.ngOnInit = /**
8315 * @return {?}
8316 */
8317 function () {
8318 if (this.arrow || this.external) {
8319 /** @type {?} */
8320 var child = document.createElement('span');
8321 child.className = 'link__icon';
8322 if (this.arrow) {
8323 child.className += ' link__icon--arrow';
8324 child.innerHTML = arrowImg;
8325 }
8326 if (this.external) {
8327 child.innerHTML = externalImg;
8328 }
8329 this.renderer.appendChild(this.elementRef.nativeElement, child);
8330 }
8331 };
8332 Link.decorators = [
8333 { type: core.Directive, args: [{
8334 selector: '[sukaLink]'
8335 },] }
8336 ];
8337 /** @nocollapse */
8338 Link.ctorParameters = function () { return [
8339 { type: core.ElementRef },
8340 { type: core.Renderer2 },
8341 { type: undefined, decorators: [{ type: core.Inject, args: [common.DOCUMENT,] }] }
8342 ]; };
8343 Link.propDecorators = {
8344 baseClass: [{ type: core.HostBinding, args: ['class.link',] }],
8345 tabindex: [{ type: core.HostBinding, args: ['attr.tabindex',] }],
8346 target: [{ type: core.HostBinding, args: ['attr.target',] }],
8347 ref: [{ type: core.HostBinding, args: ['attr.ref',] }],
8348 disabled: [{ type: core.Input }, { type: core.HostBinding, args: ['attr.aria-disabled',] }, { type: core.HostBinding, args: ['class.link--disabled',] }],
8349 arrow: [{ type: core.HostBinding, args: ['class.link--arrow',] }, { type: core.Input }],
8350 external: [{ type: core.Input }, { type: core.HostBinding, args: ['class.link--external',] }]
8351 };
8352 return Link;
8353 }());
8354 if (false) {
8355 /** @type {?} */
8356 Link.prototype.baseClass;
8357 /**
8358 * Automatically set to `-1` when link is disabled.
8359 * @type {?}
8360 */
8361 Link.prototype.tabindex;
8362 /**
8363 * Set target and ref for external links
8364 * @type {?}
8365 */
8366 Link.prototype.target;
8367 /** @type {?} */
8368 Link.prototype.ref;
8369 /**
8370 * @type {?}
8371 * @private
8372 */
8373 Link.prototype._disabled;
8374 /**
8375 * Set to `true` to display an arrow next to the link
8376 * @type {?}
8377 */
8378 Link.prototype.arrow;
8379 /**
8380 * @type {?}
8381 * @private
8382 */
8383 Link.prototype._external;
8384 /**
8385 * @type {?}
8386 * @private
8387 */
8388 Link.prototype.elementRef;
8389 /**
8390 * @type {?}
8391 * @private
8392 */
8393 Link.prototype.renderer;
8394 /**
8395 * @type {?}
8396 * @private
8397 */
8398 Link.prototype.document;
8399 }
8400
8401 /**
8402 * @fileoverview added by tsickle
8403 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
8404 */
8405 var LinkModule = /** @class */ (function () {
8406 function LinkModule() {
8407 }
8408 LinkModule.decorators = [
8409 { type: core.NgModule, args: [{
8410 declarations: [
8411 Link
8412 ],
8413 exports: [
8414 Link
8415 ],
8416 imports: [
8417 common.CommonModule
8418 ]
8419 },] }
8420 ];
8421 return LinkModule;
8422 }());
8423
8424 /**
8425 * @fileoverview added by tsickle
8426 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
8427 */
8428 var InputGroup = /** @class */ (function () {
8429 function InputGroup() {
8430 this.containerClass = true;
8431 /**
8432 * Set to `true` for an invalid input group component.
8433 */
8434 this.invalid = false;
8435 /**
8436 * Set to `true` for a condesned input group component;
8437 */
8438 this.condensed = false;
8439 }
8440 /**
8441 * @param {?} value
8442 * @return {?}
8443 */
8444 InputGroup.prototype.isTemplate = /**
8445 * @param {?} value
8446 * @return {?}
8447 */
8448 function (value) {
8449 return value instanceof core.TemplateRef;
8450 };
8451 InputGroup.decorators = [
8452 { type: core.Component, args: [{
8453 selector: 'suka-input-group',
8454 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 "
8455 }] }
8456 ];
8457 InputGroup.propDecorators = {
8458 containerClass: [{ type: core.HostBinding, args: ['class.form-item',] }],
8459 invalid: [{ type: core.Input }],
8460 label: [{ type: core.Input }],
8461 helperText: [{ type: core.Input }],
8462 invalidText: [{ type: core.Input }],
8463 condensed: [{ type: core.Input }]
8464 };
8465 return InputGroup;
8466 }());
8467 if (false) {
8468 /** @type {?} */
8469 InputGroup.prototype.containerClass;
8470 /**
8471 * Set to `true` for an invalid input group component.
8472 * @type {?}
8473 */
8474 InputGroup.prototype.invalid;
8475 /**
8476 * Sets the text inside the `label` tag.
8477 * @type {?}
8478 */
8479 InputGroup.prototype.label;
8480 /**
8481 * Sets the optional helper text.
8482 * @type {?}
8483 */
8484 InputGroup.prototype.helperText;
8485 /**
8486 * Sets the invalid text.
8487 * @type {?}
8488 */
8489 InputGroup.prototype.invalidText;
8490 /**
8491 * Set to `true` for a condesned input group component;
8492 * @type {?}
8493 */
8494 InputGroup.prototype.condensed;
8495 }
8496
8497 /**
8498 * @fileoverview added by tsickle
8499 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
8500 */
8501 var InputGroupItem = /** @class */ (function () {
8502 function InputGroupItem() {
8503 this.type = 'default';
8504 this.baseClass = true;
8505 this.auto = false;
8506 this.full = false;
8507 }
8508 /**
8509 * @return {?}
8510 */
8511 InputGroupItem.prototype.ngOnChanges = /**
8512 * @return {?}
8513 */
8514 function () {
8515 this.auto = this.full = false;
8516 switch (this.type) {
8517 case 'auto':
8518 this.auto = true;
8519 break;
8520 case 'full':
8521 this.full = true;
8522 break;
8523 default: break;
8524 }
8525 };
8526 InputGroupItem.decorators = [
8527 { type: core.Directive, args: [{
8528 selector: '[sukaInputGroupItem]'
8529 },] }
8530 ];
8531 InputGroupItem.propDecorators = {
8532 type: [{ type: core.Input, args: ['sukaInputGroupItem',] }],
8533 baseClass: [{ type: core.HostBinding, args: ['class.input-group__item',] }],
8534 auto: [{ type: core.HostBinding, args: ['class.input-group__item--auto',] }],
8535 full: [{ type: core.HostBinding, args: ['class.input-group__item--full',] }]
8536 };
8537 return InputGroupItem;
8538 }());
8539 if (false) {
8540 /** @type {?} */
8541 InputGroupItem.prototype.type;
8542 /** @type {?} */
8543 InputGroupItem.prototype.baseClass;
8544 /** @type {?} */
8545 InputGroupItem.prototype.auto;
8546 /** @type {?} */
8547 InputGroupItem.prototype.full;
8548 }
8549
8550 /**
8551 * @fileoverview added by tsickle
8552 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
8553 */
8554 var InputGroupModule = /** @class */ (function () {
8555 function InputGroupModule() {
8556 }
8557 InputGroupModule.decorators = [
8558 { type: core.NgModule, args: [{
8559 declarations: [
8560 InputGroup,
8561 InputGroupItem,
8562 ],
8563 exports: [
8564 InputGroup,
8565 InputGroupItem,
8566 ],
8567 imports: [
8568 common.CommonModule,
8569 ]
8570 },] }
8571 ];
8572 return InputGroupModule;
8573 }());
8574
8575 /**
8576 * @fileoverview added by tsickle
8577 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
8578 */
8579 var ModalRef = /** @class */ (function () {
8580 function ModalRef(overlayRef) {
8581 this.overlayRef = overlayRef;
8582 this._beforeClose = new rxjs.Subject();
8583 this._afterClosed = new rxjs.Subject();
8584 }
8585 /**
8586 * @param {?=} data
8587 * @return {?}
8588 */
8589 ModalRef.prototype.close = /**
8590 * @param {?=} data
8591 * @return {?}
8592 */
8593 function (data) {
8594 var _this = this;
8595 this._result = data;
8596 // Listen for animation 'start' events
8597 this.componentInstance.animationStateChanged.pipe(operators.filter((/**
8598 * @param {?} event
8599 * @return {?}
8600 */
8601 function (event) { return event.phaseName === 'start'; })), operators.take(1)).subscribe((/**
8602 * @return {?}
8603 */
8604 function () {
8605 _this._beforeClose.next(_this._result);
8606 _this._beforeClose.complete();
8607 _this.overlayRef.detachBackdrop();
8608 }));
8609 // Listen for animation 'done' events
8610 this.componentInstance.animationStateChanged.pipe(operators.filter((/**
8611 * @param {?} event
8612 * @return {?}
8613 */
8614 function (event) { return event.phaseName === 'done' && event.toState === 'leave'; })), operators.take(1)).subscribe((/**
8615 * @return {?}
8616 */
8617 function () {
8618 _this._afterClosed.next(_this._result);
8619 _this._afterClosed.complete();
8620 _this.overlayRef.dispose();
8621 // Make sure to also clear the reference to the
8622 // component instance to avoid memory leaks
8623 // tslint:disable-next-line: no-non-null-assertion
8624 _this.componentInstance = (/** @type {?} */ (null));
8625 }));
8626 // Start exit animation
8627 this.componentInstance.startExitAnimation();
8628 };
8629 /**
8630 * @return {?}
8631 */
8632 ModalRef.prototype.afterClosed = /**
8633 * @return {?}
8634 */
8635 function () {
8636 return this._afterClosed.asObservable();
8637 };
8638 /**
8639 * @return {?}
8640 */
8641 ModalRef.prototype.beforeClose = /**
8642 * @return {?}
8643 */
8644 function () {
8645 return this._beforeClose.asObservable();
8646 };
8647 return ModalRef;
8648 }());
8649 if (false) {
8650 /** @type {?} */
8651 ModalRef.prototype.componentInstance;
8652 /**
8653 * @type {?}
8654 * @private
8655 */
8656 ModalRef.prototype._beforeClose;
8657 /**
8658 * @type {?}
8659 * @private
8660 */
8661 ModalRef.prototype._afterClosed;
8662 /**
8663 * @type {?}
8664 * @private
8665 */
8666 ModalRef.prototype._result;
8667 /**
8668 * @type {?}
8669 * @private
8670 */
8671 ModalRef.prototype.overlayRef;
8672 }
8673
8674 /**
8675 * @fileoverview added by tsickle
8676 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
8677 */
8678 /** @type {?} */
8679 var MODAL_CONTENT_DATA = new core.InjectionToken('MODAL_CONTENT_DATA');
8680
8681 /**
8682 * @fileoverview added by tsickle
8683 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
8684 */
8685 /** @type {?} */
8686 var ESCAPE_KEY = 27;
8687 /** @type {?} */
8688 var MODAL_ANIMATION_TIMINGS = '200ms cubic-bezier(0.64, 0, 0.35, 1)';
8689 var ModalContainer = /** @class */ (function () {
8690 function ModalContainer(dialogRef, content) {
8691 this.dialogRef = dialogRef;
8692 this.content = content;
8693 this.animationState = 'enter';
8694 this.animationStateChanged = new core.EventEmitter();
8695 this.showFooter = false;
8696 this.baseClass = true;
8697 }
8698 /**
8699 * @return {?}
8700 */
8701 ModalContainer.prototype.ngOnInit = /**
8702 * @return {?}
8703 */
8704 function () {
8705 if (this.content.actions && this.content.actions.length > 0) {
8706 this.showFooter = true;
8707 this.primaryActions = this.content.actions.filter((/**
8708 * @param {?} action
8709 * @return {?}
8710 */
8711 function (action) { return action.type === 'primary'; }));
8712 this.secondaryActions = this.content.actions.filter((/**
8713 * @param {?} action
8714 * @return {?}
8715 */
8716 function (action) { return action.type === 'secondary'; }));
8717 }
8718 };
8719 /**
8720 * @param {?} value
8721 * @return {?}
8722 */
8723 ModalContainer.prototype.isTemplate = /**
8724 * @param {?} value
8725 * @return {?}
8726 */
8727 function (value) {
8728 return value instanceof core.TemplateRef;
8729 };
8730 /**
8731 * @param {?=} event
8732 * @return {?}
8733 */
8734 ModalContainer.prototype.onClose = /**
8735 * @param {?=} event
8736 * @return {?}
8737 */
8738 function (event) {
8739 this.dialogRef.close('cancel');
8740 };
8741 /**
8742 * @param {?} tag
8743 * @return {?}
8744 */
8745 ModalContainer.prototype.onAction = /**
8746 * @param {?} tag
8747 * @return {?}
8748 */
8749 function (tag) {
8750 this.dialogRef.close(tag);
8751 };
8752 /**
8753 * @param {?} event
8754 * @return {?}
8755 */
8756 ModalContainer.prototype.handleKeydown = /**
8757 * @param {?} event
8758 * @return {?}
8759 */
8760 function (event) {
8761 // tslint:disable-next-line: deprecation
8762 if (event.keyCode === ESCAPE_KEY) {
8763 this.dialogRef.close('cancel');
8764 }
8765 };
8766 /**
8767 * @param {?} event
8768 * @return {?}
8769 */
8770 ModalContainer.prototype.onAnimationStart = /**
8771 * @param {?} event
8772 * @return {?}
8773 */
8774 function (event) {
8775 this.animationStateChanged.emit(event);
8776 };
8777 /**
8778 * @param {?} event
8779 * @return {?}
8780 */
8781 ModalContainer.prototype.onAnimationDone = /**
8782 * @param {?} event
8783 * @return {?}
8784 */
8785 function (event) {
8786 this.animationStateChanged.emit(event);
8787 };
8788 /**
8789 * @return {?}
8790 */
8791 ModalContainer.prototype.startExitAnimation = /**
8792 * @return {?}
8793 */
8794 function () {
8795 this.animationState = 'leave';
8796 };
8797 /**
8798 * @param {?} $event
8799 * @return {?}
8800 */
8801 ModalContainer.prototype.closeModal = /**
8802 * @param {?} $event
8803 * @return {?}
8804 */
8805 function ($event) {
8806 this.dialogRef.close($event);
8807 };
8808 ModalContainer.decorators = [
8809 { type: core.Component, args: [{
8810 selector: 'suka-modal',
8811 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 ",
8812 animations: [
8813 animations.trigger('slideContent', [
8814 animations.state('void', animations.style({ transform: 'translate3d(0, 20rem, 0)', opacity: 0 })),
8815 animations.state('enter', animations.style({ transform: 'none', opacity: 1 })),
8816 animations.state('leave', animations.style({ transform: 'translate3d(0, 20rem, 0)', opacity: 0 })),
8817 animations.transition('* => *', animations.animate(MODAL_ANIMATION_TIMINGS)),
8818 ])
8819 ]
8820 }] }
8821 ];
8822 /** @nocollapse */
8823 ModalContainer.ctorParameters = function () { return [
8824 { type: ModalRef },
8825 { type: undefined, decorators: [{ type: core.Inject, args: [MODAL_CONTENT_DATA,] }] }
8826 ]; };
8827 ModalContainer.propDecorators = {
8828 baseClass: [{ type: core.HostBinding, args: ['class.modal--default',] }],
8829 handleKeydown: [{ type: core.HostListener, args: ['document:keydown', ['$event'],] }]
8830 };
8831 return ModalContainer;
8832 }());
8833 if (false) {
8834 /** @type {?} */
8835 ModalContainer.prototype.animationState;
8836 /** @type {?} */
8837 ModalContainer.prototype.animationStateChanged;
8838 /** @type {?} */
8839 ModalContainer.prototype.showFooter;
8840 /** @type {?} */
8841 ModalContainer.prototype.primaryActions;
8842 /** @type {?} */
8843 ModalContainer.prototype.secondaryActions;
8844 /** @type {?} */
8845 ModalContainer.prototype.baseClass;
8846 /** @type {?} */
8847 ModalContainer.prototype.dialogRef;
8848 /** @type {?} */
8849 ModalContainer.prototype.content;
8850 }
8851
8852 /**
8853 * @fileoverview added by tsickle
8854 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
8855 */
8856 /**
8857 * @record
8858 */
8859 function ModalContent() { }
8860 if (false) {
8861 /** @type {?|undefined} */
8862 ModalContent.prototype.title;
8863 /** @type {?|undefined} */
8864 ModalContent.prototype.body;
8865 /** @type {?|undefined} */
8866 ModalContent.prototype.closeButton;
8867 /** @type {?|undefined} */
8868 ModalContent.prototype.actions;
8869 }
8870 /**
8871 * @record
8872 */
8873 function ModalConfig() { }
8874 if (false) {
8875 /** @type {?|undefined} */
8876 ModalConfig.prototype.closeOnBackdropClick;
8877 /** @type {?|undefined} */
8878 ModalConfig.prototype.panelClass;
8879 /** @type {?|undefined} */
8880 ModalConfig.prototype.hasBackdrop;
8881 /** @type {?|undefined} */
8882 ModalConfig.prototype.backdropClass;
8883 /** @type {?|undefined} */
8884 ModalConfig.prototype.content;
8885 }
8886 /** @type {?} */
8887 var DEFAULT_CONFIG = {
8888 closeOnBackdropClick: true,
8889 hasBackdrop: true,
8890 backdropClass: 'backdrop--dark',
8891 panelClass: 'modal--default',
8892 content: null
8893 };
8894 var ModalService = /** @class */ (function () {
8895 function ModalService(injector, overlay) {
8896 this.injector = injector;
8897 this.overlay = overlay;
8898 }
8899 /**
8900 * @param {?=} config
8901 * @return {?}
8902 */
8903 ModalService.prototype.open = /**
8904 * @param {?=} config
8905 * @return {?}
8906 */
8907 function (config) {
8908 if (config === void 0) { config = {}; }
8909 // Override default configuration
8910 /** @type {?} */
8911 var dialogConfig = __assign({}, DEFAULT_CONFIG, config);
8912 // Returns an OverlayRef which is a PortalHost
8913 /** @type {?} */
8914 var overlayRef = this.createOverlay(dialogConfig);
8915 // Instantiate remote control
8916 /** @type {?} */
8917 var modalRef = new ModalRef(overlayRef);
8918 /** @type {?} */
8919 var overlayComponent = this.attachModalContainer(overlayRef, dialogConfig, modalRef);
8920 modalRef.componentInstance = overlayComponent;
8921 if (dialogConfig.closeOnBackdropClick) {
8922 overlayRef.backdropClick().subscribe((/**
8923 * @param {?} _
8924 * @return {?}
8925 */
8926 function (_) { return modalRef.close('cancel'); }));
8927 }
8928 return modalRef;
8929 };
8930 /**
8931 * @private
8932 * @param {?} config
8933 * @return {?}
8934 */
8935 ModalService.prototype.createOverlay = /**
8936 * @private
8937 * @param {?} config
8938 * @return {?}
8939 */
8940 function (config) {
8941 /** @type {?} */
8942 var overlayConfig = this.getOverlayConfig(config);
8943 return this.overlay.create(overlayConfig);
8944 };
8945 /**
8946 * @private
8947 * @param {?} overlayRef
8948 * @param {?} config
8949 * @param {?} modalRef
8950 * @return {?}
8951 */
8952 ModalService.prototype.attachModalContainer = /**
8953 * @private
8954 * @param {?} overlayRef
8955 * @param {?} config
8956 * @param {?} modalRef
8957 * @return {?}
8958 */
8959 function (overlayRef, config, modalRef) {
8960 /** @type {?} */
8961 var injector = this.createInjector(config, modalRef);
8962 /** @type {?} */
8963 var containerPortal = new portal.ComponentPortal(ModalContainer, null, injector);
8964 /** @type {?} */
8965 var containerRef = overlayRef.attach(containerPortal);
8966 return containerRef.instance;
8967 };
8968 /**
8969 * @private
8970 * @param {?} config
8971 * @param {?} modalRef
8972 * @return {?}
8973 */
8974 ModalService.prototype.createInjector = /**
8975 * @private
8976 * @param {?} config
8977 * @param {?} modalRef
8978 * @return {?}
8979 */
8980 function (config, modalRef) {
8981 /** @type {?} */
8982 var injectionTokens = new WeakMap();
8983 injectionTokens.set(ModalRef, modalRef);
8984 injectionTokens.set(MODAL_CONTENT_DATA, config.content);
8985 return new portal.PortalInjector(this.injector, injectionTokens);
8986 };
8987 /**
8988 * @private
8989 * @param {?} config
8990 * @return {?}
8991 */
8992 ModalService.prototype.getOverlayConfig = /**
8993 * @private
8994 * @param {?} config
8995 * @return {?}
8996 */
8997 function (config) {
8998 /** @type {?} */
8999 var positionStrategy = this.overlay.position()
9000 .global()
9001 .centerHorizontally()
9002 .centerVertically();
9003 /** @type {?} */
9004 var overlayConfig = new overlay.OverlayConfig({
9005 hasBackdrop: config.hasBackdrop,
9006 backdropClass: config.backdropClass,
9007 panelClass: config.panelClass,
9008 scrollStrategy: this.overlay.scrollStrategies.noop(),
9009 positionStrategy: positionStrategy
9010 });
9011 return overlayConfig;
9012 };
9013 ModalService.decorators = [
9014 { type: core.Injectable }
9015 ];
9016 /** @nocollapse */
9017 ModalService.ctorParameters = function () { return [
9018 { type: core.Injector },
9019 { type: overlay.Overlay }
9020 ]; };
9021 return ModalService;
9022 }());
9023 if (false) {
9024 /**
9025 * @type {?}
9026 * @private
9027 */
9028 ModalService.prototype.injector;
9029 /**
9030 * @type {?}
9031 * @private
9032 */
9033 ModalService.prototype.overlay;
9034 }
9035
9036 /**
9037 * @fileoverview added by tsickle
9038 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
9039 */
9040 /** @type {?} */
9041 var PRIMARY_ACTION_TAG = 'primaryAction';
9042 /** @type {?} */
9043 var SECONDARY_ACTION_TAG = 'secondaryAction';
9044 /**
9045 * 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.
9046 * It should be used thoughtfully and sparingly.
9047 */
9048 var ModalDirective = /** @class */ (function () {
9049 function ModalDirective(modalService) {
9050 this.modalService = modalService;
9051 /**
9052 * Set to `true` to show a close button on the top right corner. Defaults to `false`.
9053 */
9054 this.closeButton = false;
9055 /**
9056 * Sets to `false` to stop the modal from closing when the user clicks on the backdrop. Defaults to `true`.
9057 */
9058 this.closeOnBackdropClick = true;
9059 /**
9060 * Callback when the modal closes.
9061 */
9062 this.close = new core.EventEmitter();
9063 /**
9064 * Callback when the secondary action is triggered.
9065 */
9066 this.secondaryAction = new core.EventEmitter();
9067 /**
9068 * Callback when the primary action is triggered.
9069 */
9070 this.primaryAction = new core.EventEmitter();
9071 }
9072 /**
9073 * @return {?}
9074 */
9075 ModalDirective.prototype.onClick = /**
9076 * @return {?}
9077 */
9078 function () {
9079 this.openModal();
9080 };
9081 /**
9082 * Opens the modal.
9083 */
9084 /**
9085 * Opens the modal.
9086 * @private
9087 * @return {?}
9088 */
9089 ModalDirective.prototype.openModal = /**
9090 * Opens the modal.
9091 * @private
9092 * @return {?}
9093 */
9094 function () {
9095 var _this = this;
9096 /** @type {?} */
9097 var modalConfig = {
9098 closeOnBackdropClick: this.closeOnBackdropClick,
9099 content: {
9100 closeButton: this.closeButton,
9101 title: this.title,
9102 body: this.body,
9103 }
9104 };
9105 if (this.primaryActionLabel || this.secondaryActionLabel) {
9106 modalConfig.content.actions = [];
9107 if (this.primaryActionLabel) {
9108 modalConfig.content.actions.push({
9109 label: this.primaryActionLabel,
9110 type: 'primary',
9111 tag: PRIMARY_ACTION_TAG
9112 });
9113 }
9114 if (this.secondaryActionLabel) {
9115 modalConfig.content.actions.push({
9116 label: this.secondaryActionLabel,
9117 type: 'secondary',
9118 tag: SECONDARY_ACTION_TAG
9119 });
9120 }
9121 }
9122 /** @type {?} */
9123 var modalRef = this.modalService.open(modalConfig);
9124 modalRef.afterClosed().subscribe((/**
9125 * @param {?} result
9126 * @return {?}
9127 */
9128 function (result) {
9129 switch (result) {
9130 case PRIMARY_ACTION_TAG:
9131 if (_this.primaryAction.observers.length > 0) {
9132 _this.primaryAction.emit(result);
9133 }
9134 break;
9135 case SECONDARY_ACTION_TAG:
9136 if (_this.secondaryAction.observers.length > 0) {
9137 _this.secondaryAction.emit(result);
9138 }
9139 break;
9140 default:
9141 if (_this.close.observers.length > 0) {
9142 _this.close.emit();
9143 }
9144 break;
9145 }
9146 }));
9147 };
9148 ModalDirective.decorators = [
9149 { type: core.Directive, args: [{
9150 selector: '[sukaModal]'
9151 },] }
9152 ];
9153 /** @nocollapse */
9154 ModalDirective.ctorParameters = function () { return [
9155 { type: ModalService }
9156 ]; };
9157 ModalDirective.propDecorators = {
9158 closeButton: [{ type: core.Input, args: ['modalCloseButton',] }],
9159 title: [{ type: core.Input, args: ['modalTitle',] }],
9160 body: [{ type: core.Input, args: ['modalBody',] }],
9161 closeOnBackdropClick: [{ type: core.Input, args: ['modalCloseOnBackdropClick',] }],
9162 close: [{ type: core.Output, args: ['modalClose',] }],
9163 secondaryActionLabel: [{ type: core.Input, args: ['modalSecondaryActionLabel',] }],
9164 secondaryAction: [{ type: core.Output, args: ['modalSecondaryAction',] }],
9165 primaryActionLabel: [{ type: core.Input, args: ['modalPrimaryActionLabel',] }],
9166 primaryAction: [{ type: core.Output, args: ['modalPrimaryAction',] }],
9167 onClick: [{ type: core.HostListener, args: ['click',] }]
9168 };
9169 return ModalDirective;
9170 }());
9171 if (false) {
9172 /**
9173 * Set to `true` to show a close button on the top right corner. Defaults to `false`.
9174 * @type {?}
9175 */
9176 ModalDirective.prototype.closeButton;
9177 /**
9178 * Sets the modal title.
9179 * @type {?}
9180 */
9181 ModalDirective.prototype.title;
9182 /**
9183 * Sets the body of the modal.
9184 * @type {?}
9185 */
9186 ModalDirective.prototype.body;
9187 /**
9188 * Sets to `false` to stop the modal from closing when the user clicks on the backdrop. Defaults to `true`.
9189 * @type {?}
9190 */
9191 ModalDirective.prototype.closeOnBackdropClick;
9192 /**
9193 * Callback when the modal closes.
9194 * @type {?}
9195 */
9196 ModalDirective.prototype.close;
9197 /**
9198 * Sets the modal secondary action button label.
9199 * @type {?}
9200 */
9201 ModalDirective.prototype.secondaryActionLabel;
9202 /**
9203 * Callback when the secondary action is triggered.
9204 * @type {?}
9205 */
9206 ModalDirective.prototype.secondaryAction;
9207 /**
9208 * Sets the modal primary action button label.
9209 * @type {?}
9210 */
9211 ModalDirective.prototype.primaryActionLabel;
9212 /**
9213 * Callback when the primary action is triggered.
9214 * @type {?}
9215 */
9216 ModalDirective.prototype.primaryAction;
9217 /**
9218 * @type {?}
9219 * @protected
9220 */
9221 ModalDirective.prototype.modalService;
9222 }
9223
9224 /**
9225 * @fileoverview added by tsickle
9226 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
9227 */
9228 var ModalModule = /** @class */ (function () {
9229 function ModalModule() {
9230 }
9231 ModalModule.decorators = [
9232 { type: core.NgModule, args: [{
9233 declarations: [
9234 ModalContainer,
9235 ModalDirective,
9236 ],
9237 exports: [
9238 ModalContainer,
9239 ModalDirective,
9240 ],
9241 imports: [
9242 common.CommonModule,
9243 overlay.OverlayModule,
9244 ButtonModule,
9245 IconModule,
9246 ],
9247 entryComponents: [
9248 ModalContainer
9249 ],
9250 providers: [
9251 ModalService,
9252 ],
9253 },] }
9254 ];
9255 return ModalModule;
9256 }());
9257
9258 /**
9259 * @fileoverview added by tsickle
9260 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
9261 */
9262 /** @type {?} */
9263 var POPOVER_CONTENT_DATA = new core.InjectionToken('POPOVER_CONTENT_DATA');
9264
9265 /**
9266 * @fileoverview added by tsickle
9267 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
9268 */
9269 var PopoverRef = /** @class */ (function () {
9270 function PopoverRef(overlayRef) {
9271 this.overlayRef = overlayRef;
9272 this._beforeClose = new rxjs.Subject();
9273 this._afterClosed = new rxjs.Subject();
9274 }
9275 /**
9276 * @param {?=} data
9277 * @return {?}
9278 */
9279 PopoverRef.prototype.close = /**
9280 * @param {?=} data
9281 * @return {?}
9282 */
9283 function (data) {
9284 var _this = this;
9285 this._result = data;
9286 // Listen for animation 'start' events
9287 this.componentInstance.animationStateChanged.pipe(operators.filter((/**
9288 * @param {?} event
9289 * @return {?}
9290 */
9291 function (event) { return event.phaseName === 'start'; })), operators.take(1)).subscribe((/**
9292 * @return {?}
9293 */
9294 function () {
9295 _this._beforeClose.next(_this._result);
9296 _this._beforeClose.complete();
9297 _this.overlayRef.detachBackdrop();
9298 }));
9299 // Listen for animation 'done' events
9300 this.componentInstance.animationStateChanged.pipe(operators.filter((/**
9301 * @param {?} event
9302 * @return {?}
9303 */
9304 function (event) { return event.phaseName === 'done' && event.toState === 'leave'; })), operators.take(1)).subscribe((/**
9305 * @return {?}
9306 */
9307 function () {
9308 _this._afterClosed.next(_this._result);
9309 _this._afterClosed.complete();
9310 _this.overlayRef.dispose();
9311 // Make sure to also clear the reference to the
9312 // component instance to avoid memory leaks
9313 // tslint:disable-next-line: no-non-null-assertion
9314 _this.componentInstance = (/** @type {?} */ (null));
9315 }));
9316 // Start exit animation
9317 this.componentInstance.startExitAnimation();
9318 };
9319 /**
9320 * @return {?}
9321 */
9322 PopoverRef.prototype.afterClosed = /**
9323 * @return {?}
9324 */
9325 function () {
9326 return this._afterClosed.asObservable();
9327 };
9328 /**
9329 * @return {?}
9330 */
9331 PopoverRef.prototype.beforeClose = /**
9332 * @return {?}
9333 */
9334 function () {
9335 return this._beforeClose.asObservable();
9336 };
9337 return PopoverRef;
9338 }());
9339 if (false) {
9340 /** @type {?} */
9341 PopoverRef.prototype.componentInstance;
9342 /**
9343 * @type {?}
9344 * @private
9345 */
9346 PopoverRef.prototype._beforeClose;
9347 /**
9348 * @type {?}
9349 * @private
9350 */
9351 PopoverRef.prototype._afterClosed;
9352 /**
9353 * @type {?}
9354 * @private
9355 */
9356 PopoverRef.prototype._result;
9357 /**
9358 * @type {?}
9359 * @private
9360 */
9361 PopoverRef.prototype.overlayRef;
9362 }
9363
9364 /**
9365 * @fileoverview added by tsickle
9366 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
9367 */
9368 /** @type {?} */
9369 var ESCAPE_KEY$1 = 27;
9370 /** @type {?} */
9371 var POPOVER_ANIMATION_TIMINGS = '200ms cubic-bezier(0.64, 0, 0.35, 1)';
9372 var PopoverContainer = /** @class */ (function () {
9373 function PopoverContainer(popoverRef, content) {
9374 this.popoverRef = popoverRef;
9375 this.content = content;
9376 this.animationState = 'enter';
9377 this.animationStateChanged = new core.EventEmitter();
9378 this.renderMethod = 'component';
9379 this.position = 'bottom';
9380 this.sectioned = false;
9381 }
9382 /**
9383 * @return {?}
9384 */
9385 PopoverContainer.prototype.ngOnInit = /**
9386 * @return {?}
9387 */
9388 function () {
9389 if (typeof this.content.body === 'string') {
9390 this.renderMethod = 'text';
9391 }
9392 if (this.content.body instanceof core.TemplateRef) {
9393 this.renderMethod = 'template';
9394 }
9395 if (this.content.sectioned) {
9396 this.sectioned = true;
9397 }
9398 };
9399 /**
9400 * @param {?} $event
9401 * @return {?}
9402 */
9403 PopoverContainer.prototype.closePopover = /**
9404 * @param {?} $event
9405 * @return {?}
9406 */
9407 function ($event) {
9408 this.popoverRef.close($event);
9409 };
9410 /**
9411 * @param {?} event
9412 * @return {?}
9413 */
9414 PopoverContainer.prototype.handleKeydown = /**
9415 * @param {?} event
9416 * @return {?}
9417 */
9418 function (event) {
9419 // tslint:disable-next-line: deprecation
9420 if (event.keyCode === ESCAPE_KEY$1) {
9421 this.popoverRef.close();
9422 }
9423 };
9424 /**
9425 * @param {?} event
9426 * @return {?}
9427 */
9428 PopoverContainer.prototype.onAnimationStart = /**
9429 * @param {?} event
9430 * @return {?}
9431 */
9432 function (event) {
9433 this.animationStateChanged.emit(event);
9434 };
9435 /**
9436 * @param {?} event
9437 * @return {?}
9438 */
9439 PopoverContainer.prototype.onAnimationDone = /**
9440 * @param {?} event
9441 * @return {?}
9442 */
9443 function (event) {
9444 this.animationStateChanged.emit(event);
9445 };
9446 /**
9447 * @return {?}
9448 */
9449 PopoverContainer.prototype.startExitAnimation = /**
9450 * @return {?}
9451 */
9452 function () {
9453 this.animationState = 'leave';
9454 };
9455 PopoverContainer.decorators = [
9456 { type: core.Component, args: [{
9457 selector: 'suka-popover',
9458 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 ",
9459 animations: [
9460 animations.trigger('popover', [
9461 animations.state('void', animations.style({ transform: 'scale(.9)', opacity: 0 })),
9462 animations.state('enter', animations.style({ transform: 'none', opacity: 1 })),
9463 animations.state('leave', animations.style({ transform: 'scale(.8)', opacity: 0 })),
9464 animations.transition('* => *', animations.animate(POPOVER_ANIMATION_TIMINGS)),
9465 ]),
9466 ]
9467 }] }
9468 ];
9469 /** @nocollapse */
9470 PopoverContainer.ctorParameters = function () { return [
9471 { type: PopoverRef },
9472 { type: undefined, decorators: [{ type: core.Inject, args: [POPOVER_CONTENT_DATA,] }] }
9473 ]; };
9474 PopoverContainer.propDecorators = {
9475 position: [{ type: core.Input }],
9476 sectioned: [{ type: core.Input }],
9477 handleKeydown: [{ type: core.HostListener, args: ['document:keydown', ['$event'],] }]
9478 };
9479 return PopoverContainer;
9480 }());
9481 if (false) {
9482 /** @type {?} */
9483 PopoverContainer.prototype.animationState;
9484 /** @type {?} */
9485 PopoverContainer.prototype.animationStateChanged;
9486 /** @type {?} */
9487 PopoverContainer.prototype.renderMethod;
9488 /** @type {?} */
9489 PopoverContainer.prototype.position;
9490 /** @type {?} */
9491 PopoverContainer.prototype.sectioned;
9492 /** @type {?} */
9493 PopoverContainer.prototype.popoverRef;
9494 /** @type {?} */
9495 PopoverContainer.prototype.content;
9496 }
9497
9498 /**
9499 * @fileoverview added by tsickle
9500 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
9501 */
9502 /** @type {?} */
9503 var positions$1 = {
9504 bottom: {
9505 originY: 'bottom',
9506 overlayY: 'top',
9507 offsetY: 4,
9508 },
9509 top: {
9510 originY: 'top',
9511 overlayY: 'bottom',
9512 offsetY: -4,
9513 }
9514 };
9515 /** @type {?} */
9516 var alignments = {
9517 left: {
9518 originX: 'start',
9519 overlayX: 'start',
9520 },
9521 right: {
9522 originX: 'end',
9523 overlayX: 'end',
9524 },
9525 center: {
9526 originX: 'center',
9527 overlayX: 'center',
9528 }
9529 };
9530 /**
9531 * @record
9532 */
9533 function PopoverConfig() { }
9534 if (false) {
9535 /** @type {?|undefined} */
9536 PopoverConfig.prototype.content;
9537 /** @type {?} */
9538 PopoverConfig.prototype.position;
9539 /** @type {?} */
9540 PopoverConfig.prototype.alignment;
9541 }
9542 /** @type {?} */
9543 var DEFAULT_CONFIG$1 = {
9544 content: null,
9545 position: 'bottom',
9546 alignment: 'left',
9547 };
9548 var PopoverService = /** @class */ (function () {
9549 function PopoverService(injector, overlay, overlayPositionBuilder) {
9550 this.injector = injector;
9551 this.overlay = overlay;
9552 this.overlayPositionBuilder = overlayPositionBuilder;
9553 }
9554 /**
9555 * @param {?=} config
9556 * @param {?=} target
9557 * @return {?}
9558 */
9559 PopoverService.prototype.open = /**
9560 * @param {?=} config
9561 * @param {?=} target
9562 * @return {?}
9563 */
9564 function (config, target) {
9565 if (config === void 0) { config = DEFAULT_CONFIG$1; }
9566 // Override default configuration
9567 /** @type {?} */
9568 var popoverConfig = __assign({}, DEFAULT_CONFIG$1, config);
9569 // Returns an OverlayRef which is a PortalHost
9570 /** @type {?} */
9571 var overlayRef = this.createOverlay(popoverConfig, target);
9572 // Instantiate remote control
9573 /** @type {?} */
9574 var popoverRef = new PopoverRef(overlayRef);
9575 /** @type {?} */
9576 var overlayComponent = this.attachPopoverContainer(overlayRef, popoverConfig, popoverRef);
9577 popoverRef.componentInstance = overlayComponent;
9578 overlayRef.backdropClick().subscribe((/**
9579 * @param {?} _
9580 * @return {?}
9581 */
9582 function (_) { return popoverRef.close(); }));
9583 return popoverRef;
9584 };
9585 /**
9586 * @private
9587 * @param {?} config
9588 * @param {?} target
9589 * @return {?}
9590 */
9591 PopoverService.prototype.createOverlay = /**
9592 * @private
9593 * @param {?} config
9594 * @param {?} target
9595 * @return {?}
9596 */
9597 function (config, target) {
9598 /** @type {?} */
9599 var overlayConfig = this.getOverlayConfig(config, target);
9600 return this.overlay.create(overlayConfig);
9601 };
9602 /**
9603 * @private
9604 * @param {?} overlayRef
9605 * @param {?} config
9606 * @param {?} popoverRef
9607 * @return {?}
9608 */
9609 PopoverService.prototype.attachPopoverContainer = /**
9610 * @private
9611 * @param {?} overlayRef
9612 * @param {?} config
9613 * @param {?} popoverRef
9614 * @return {?}
9615 */
9616 function (overlayRef, config, popoverRef) {
9617 /** @type {?} */
9618 var injector = this.createInjector(config, popoverRef);
9619 /** @type {?} */
9620 var containerPortal = new portal.ComponentPortal(PopoverContainer, null, injector);
9621 /** @type {?} */
9622 var containerRef = overlayRef.attach(containerPortal);
9623 return containerRef.instance;
9624 };
9625 /**
9626 * @private
9627 * @param {?} config
9628 * @param {?} popoverRef
9629 * @return {?}
9630 */
9631 PopoverService.prototype.createInjector = /**
9632 * @private
9633 * @param {?} config
9634 * @param {?} popoverRef
9635 * @return {?}
9636 */
9637 function (config, popoverRef) {
9638 /** @type {?} */
9639 var injectionTokens = new WeakMap();
9640 injectionTokens.set(PopoverRef, popoverRef);
9641 injectionTokens.set(POPOVER_CONTENT_DATA, config.content);
9642 return new portal.PortalInjector(this.injector, injectionTokens);
9643 };
9644 /**
9645 * @private
9646 * @param {?} config
9647 * @param {?} target
9648 * @return {?}
9649 */
9650 PopoverService.prototype.getOverlayConfig = /**
9651 * @private
9652 * @param {?} config
9653 * @param {?} target
9654 * @return {?}
9655 */
9656 function (config, target) {
9657 /** @type {?} */
9658 var positionStrategy = this.overlayPositionBuilder
9659 .flexibleConnectedTo(target)
9660 .withPositions([(/** @type {?} */ (__assign({}, positions$1[config.position], alignments[config.alignment])))]);
9661 /** @type {?} */
9662 var overlayConfig = new overlay.OverlayConfig({
9663 hasBackdrop: true,
9664 backdropClass: 'cdk-overlay-transparent-backdrop',
9665 scrollStrategy: this.overlay.scrollStrategies.reposition(),
9666 positionStrategy: positionStrategy
9667 });
9668 return overlayConfig;
9669 };
9670 PopoverService.decorators = [
9671 { type: core.Injectable }
9672 ];
9673 /** @nocollapse */
9674 PopoverService.ctorParameters = function () { return [
9675 { type: core.Injector },
9676 { type: overlay.Overlay },
9677 { type: overlay.OverlayPositionBuilder }
9678 ]; };
9679 return PopoverService;
9680 }());
9681 if (false) {
9682 /**
9683 * @type {?}
9684 * @private
9685 */
9686 PopoverService.prototype.injector;
9687 /**
9688 * @type {?}
9689 * @private
9690 */
9691 PopoverService.prototype.overlay;
9692 /**
9693 * @type {?}
9694 * @private
9695 */
9696 PopoverService.prototype.overlayPositionBuilder;
9697 }
9698
9699 /**
9700 * @fileoverview added by tsickle
9701 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
9702 */
9703 var Popover = /** @class */ (function () {
9704 function Popover(popoverService, elementRef) {
9705 this.popoverService = popoverService;
9706 this.elementRef = elementRef;
9707 this.open = false;
9708 /**
9709 * The `Popover` body
9710 */
9711 this.body = '';
9712 /**
9713 * Sets the vertical position of the popover. Defaults to `bottom`.
9714 */
9715 this.position = 'bottom';
9716 /**
9717 * Sets the horizontal `Popover' alignment. Defaults to `left`.
9718 */
9719 this.alignment = 'left';
9720 /**
9721 * Set to `true` to auto-wrap content in section
9722 */
9723 this.sectioned = false;
9724 }
9725 /**
9726 * @private
9727 * @return {?}
9728 */
9729 Popover.prototype.show = /**
9730 * @private
9731 * @return {?}
9732 */
9733 function () {
9734 var _this = this;
9735 this.popoverRef = this.popoverService.open({
9736 content: {
9737 body: this.body,
9738 sectioned: this.sectioned,
9739 },
9740 position: this.position,
9741 alignment: this.alignment,
9742 }, this.elementRef);
9743 this.open = true;
9744 this.popoverRef.afterClosed().subscribe((/**
9745 * @param {?} result
9746 * @return {?}
9747 */
9748 function (result) {
9749 _this.open = false;
9750 }));
9751 };
9752 /**
9753 * @return {?}
9754 */
9755 Popover.prototype.onClick = /**
9756 * @return {?}
9757 */
9758 function () {
9759 if (!this.open) {
9760 this.show();
9761 }
9762 };
9763 Popover.decorators = [
9764 { type: core.Directive, args: [{ selector: '[sukaPopover]' },] }
9765 ];
9766 /** @nocollapse */
9767 Popover.ctorParameters = function () { return [
9768 { type: PopoverService },
9769 { type: core.ElementRef }
9770 ]; };
9771 Popover.propDecorators = {
9772 body: [{ type: core.Input, args: ['sukaPopover',] }],
9773 position: [{ type: core.Input, args: ['popoverPosition',] }],
9774 alignment: [{ type: core.Input, args: ['popoverAlignment',] }],
9775 sectioned: [{ type: core.Input, args: ['popoverSectioned',] }],
9776 onClick: [{ type: core.HostListener, args: ['click',] }]
9777 };
9778 return Popover;
9779 }());
9780 if (false) {
9781 /**
9782 * @type {?}
9783 * @private
9784 */
9785 Popover.prototype.popoverRef;
9786 /**
9787 * @type {?}
9788 * @private
9789 */
9790 Popover.prototype.open;
9791 /**
9792 * The `Popover` body
9793 * @type {?}
9794 */
9795 Popover.prototype.body;
9796 /**
9797 * Sets the vertical position of the popover. Defaults to `bottom`.
9798 * @type {?}
9799 */
9800 Popover.prototype.position;
9801 /**
9802 * Sets the horizontal `Popover' alignment. Defaults to `left`.
9803 * @type {?}
9804 */
9805 Popover.prototype.alignment;
9806 /**
9807 * Set to `true` to auto-wrap content in section
9808 * @type {?}
9809 */
9810 Popover.prototype.sectioned;
9811 /**
9812 * @type {?}
9813 * @protected
9814 */
9815 Popover.prototype.popoverService;
9816 /**
9817 * @type {?}
9818 * @private
9819 */
9820 Popover.prototype.elementRef;
9821 }
9822
9823 /**
9824 * @fileoverview added by tsickle
9825 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
9826 */
9827 var PopoverSection = /** @class */ (function () {
9828 function PopoverSection() {
9829 this.baseClass = true;
9830 }
9831 PopoverSection.decorators = [
9832 { type: core.Component, args: [{
9833 selector: 'suka-popover-section',
9834 template: "\n <ng-content></ng-content>\n "
9835 }] }
9836 ];
9837 PopoverSection.propDecorators = {
9838 baseClass: [{ type: core.HostBinding, args: ['class.popover__section',] }]
9839 };
9840 return PopoverSection;
9841 }());
9842 if (false) {
9843 /** @type {?} */
9844 PopoverSection.prototype.baseClass;
9845 }
9846
9847 /**
9848 * @fileoverview added by tsickle
9849 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
9850 */
9851 var PopoverActionList = /** @class */ (function () {
9852 function PopoverActionList() {
9853 this.baseClass = true;
9854 }
9855 PopoverActionList.decorators = [
9856 { type: core.Component, args: [{
9857 selector: 'suka-popover-action-list',
9858 template: "\n <ng-content></ng-content>\n "
9859 }] }
9860 ];
9861 PopoverActionList.propDecorators = {
9862 baseClass: [{ type: core.HostBinding, args: ['class.popover__action-list',] }]
9863 };
9864 return PopoverActionList;
9865 }());
9866 if (false) {
9867 /** @type {?} */
9868 PopoverActionList.prototype.baseClass;
9869 }
9870
9871 /**
9872 * @fileoverview added by tsickle
9873 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
9874 */
9875 var PopoverActionItem = /** @class */ (function () {
9876 function PopoverActionItem() {
9877 this.baseClass = true;
9878 this.destructive = false;
9879 this.selected = new core.EventEmitter();
9880 }
9881 /**
9882 * @param {?} $event
9883 * @return {?}
9884 */
9885 PopoverActionItem.prototype.onClick = /**
9886 * @param {?} $event
9887 * @return {?}
9888 */
9889 function ($event) {
9890 this.selected.emit($event);
9891 };
9892 PopoverActionItem.decorators = [
9893 { type: core.Component, args: [{
9894 selector: 'suka-popover-action-item',
9895 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 "
9896 }] }
9897 ];
9898 PopoverActionItem.propDecorators = {
9899 baseClass: [{ type: core.HostBinding, args: ['class.popover__action-list__item',] }],
9900 destructive: [{ type: core.HostBinding, args: ['class.action-list__item--destructive',] }, { type: core.Input }],
9901 icon: [{ type: core.Input }],
9902 selected: [{ type: core.Output }]
9903 };
9904 return PopoverActionItem;
9905 }());
9906 if (false) {
9907 /** @type {?} */
9908 PopoverActionItem.prototype.baseClass;
9909 /** @type {?} */
9910 PopoverActionItem.prototype.destructive;
9911 /** @type {?} */
9912 PopoverActionItem.prototype.icon;
9913 /** @type {?} */
9914 PopoverActionItem.prototype.selected;
9915 }
9916
9917 /**
9918 * @fileoverview added by tsickle
9919 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
9920 */
9921 var PopoverModule = /** @class */ (function () {
9922 function PopoverModule() {
9923 }
9924 PopoverModule.decorators = [
9925 { type: core.NgModule, args: [{
9926 declarations: [
9927 PopoverContainer,
9928 PopoverSection,
9929 PopoverActionList,
9930 PopoverActionItem,
9931 Popover,
9932 ],
9933 exports: [
9934 PopoverContainer,
9935 PopoverSection,
9936 PopoverActionList,
9937 PopoverActionItem,
9938 Popover,
9939 ],
9940 imports: [
9941 common.CommonModule,
9942 overlay.OverlayModule,
9943 IconModule,
9944 ],
9945 entryComponents: [
9946 PopoverContainer,
9947 ],
9948 providers: [
9949 PopoverService,
9950 ],
9951 },] }
9952 ];
9953 return PopoverModule;
9954 }());
9955
9956 /**
9957 * @fileoverview added by tsickle
9958 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
9959 */
9960 var Stack = /** @class */ (function () {
9961 function Stack() {
9962 this.baseClass = true;
9963 /**
9964 * Make stack vertical (inverts axis of alignment and distribution inputs)
9965 */
9966 this.vertical = false;
9967 /**
9968 * Spacing between elements
9969 */
9970 this.spacing = 'default';
9971 /**
9972 * Horizontal alignment of elements (vertical alignment on vertical stack)
9973 */
9974 this.distribution = 'leading';
9975 /**
9976 * Vertical alignment of elements (horizontal alignment on vertical stack)
9977 */
9978 this.alignment = 'leading';
9979 /**
9980 * Wrap stack elements to additional rows as needed on small screens.
9981 */
9982 this.wrap = true;
9983 }
9984 Stack.decorators = [
9985 { type: core.Component, args: [{
9986 selector: 'suka-stack',
9987 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 ",
9988 encapsulation: core.ViewEncapsulation.None
9989 }] }
9990 ];
9991 Stack.propDecorators = {
9992 baseClass: [{ type: core.HostBinding, args: ['class.stack',] }],
9993 vertical: [{ type: core.HostBinding, args: ['class.stack--vertical',] }, { type: core.Input }],
9994 spacing: [{ type: core.Input }],
9995 distribution: [{ type: core.Input }],
9996 alignment: [{ type: core.Input }],
9997 wrap: [{ type: core.Input }]
9998 };
9999 return Stack;
10000 }());
10001 if (false) {
10002 /** @type {?} */
10003 Stack.prototype.baseClass;
10004 /**
10005 * Make stack vertical (inverts axis of alignment and distribution inputs)
10006 * @type {?}
10007 */
10008 Stack.prototype.vertical;
10009 /**
10010 * Spacing between elements
10011 * @type {?}
10012 */
10013 Stack.prototype.spacing;
10014 /**
10015 * Horizontal alignment of elements (vertical alignment on vertical stack)
10016 * @type {?}
10017 */
10018 Stack.prototype.distribution;
10019 /**
10020 * Vertical alignment of elements (horizontal alignment on vertical stack)
10021 * @type {?}
10022 */
10023 Stack.prototype.alignment;
10024 /**
10025 * Wrap stack elements to additional rows as needed on small screens.
10026 * @type {?}
10027 */
10028 Stack.prototype.wrap;
10029 }
10030
10031 /**
10032 * @fileoverview added by tsickle
10033 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
10034 */
10035 var StackItem = /** @class */ (function () {
10036 function StackItem() {
10037 this.baseClass = true;
10038 /**
10039 * Set to `true` to make the `StackItem` fill the remaining horizontal space on the stack.
10040 */
10041 this.fill = false;
10042 }
10043 StackItem.decorators = [
10044 { type: core.Directive, args: [{
10045 selector: '[sukaStackItem]'
10046 },] }
10047 ];
10048 StackItem.propDecorators = {
10049 baseClass: [{ type: core.HostBinding, args: ['class.stack__item',] }],
10050 fill: [{ type: core.HostBinding, args: ['class.stack__item--fill',] }, { type: core.Input }]
10051 };
10052 return StackItem;
10053 }());
10054 if (false) {
10055 /** @type {?} */
10056 StackItem.prototype.baseClass;
10057 /**
10058 * Set to `true` to make the `StackItem` fill the remaining horizontal space on the stack.
10059 * @type {?}
10060 */
10061 StackItem.prototype.fill;
10062 }
10063
10064 /**
10065 * @fileoverview added by tsickle
10066 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
10067 */
10068 var StackModule = /** @class */ (function () {
10069 function StackModule() {
10070 }
10071 StackModule.decorators = [
10072 { type: core.NgModule, args: [{
10073 declarations: [
10074 Stack,
10075 StackItem,
10076 ],
10077 exports: [
10078 Stack,
10079 StackItem,
10080 ],
10081 imports: [
10082 common.CommonModule,
10083 ]
10084 },] }
10085 ];
10086 return StackModule;
10087 }());
10088
10089 /**
10090 * @fileoverview added by tsickle
10091 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
10092 */
10093 var FormLayout = /** @class */ (function () {
10094 function FormLayout() {
10095 this.baseClass = true;
10096 }
10097 FormLayout.decorators = [
10098 { type: core.Component, args: [{
10099 selector: 'suka-form-layout',
10100 template: "\n <div class=\"form-layout__wrapper\">\n <ng-content></ng-content>\n </div>\n "
10101 }] }
10102 ];
10103 FormLayout.propDecorators = {
10104 baseClass: [{ type: core.HostBinding, args: ['class.form-layout',] }]
10105 };
10106 return FormLayout;
10107 }());
10108 if (false) {
10109 /** @type {?} */
10110 FormLayout.prototype.baseClass;
10111 }
10112
10113 /**
10114 * @fileoverview added by tsickle
10115 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
10116 */
10117 var FormLayoutModule = /** @class */ (function () {
10118 function FormLayoutModule() {
10119 }
10120 FormLayoutModule.decorators = [
10121 { type: core.NgModule, args: [{
10122 declarations: [
10123 FormLayout,
10124 ],
10125 exports: [
10126 FormLayout,
10127 ],
10128 imports: [
10129 common.CommonModule,
10130 ]
10131 },] }
10132 ];
10133 return FormLayoutModule;
10134 }());
10135
10136 /**
10137 * @fileoverview added by tsickle
10138 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
10139 */
10140 /**
10141 * Wrapper for the CdkTable with Suka design styles.
10142 * @template T
10143 */
10144 var SukaTable = /** @class */ (function (_super) {
10145 __extends(SukaTable, _super);
10146 function SukaTable() {
10147 var _this = _super !== null && _super.apply(this, arguments) || this;
10148 _this.baseClass = true;
10149 /**
10150 * Set to `true` to make the table full width.
10151 */
10152 _this.fullWidth = false;
10153 /**
10154 * Set to `true` to apply hover styles to the table rows.
10155 */
10156 _this.hover = false;
10157 /**
10158 * Overrides the sticky CSS class set by the `CdkTable`.
10159 */
10160 _this.stickyCssClass = 'suka-table-sticky';
10161 return _this;
10162 }
10163 SukaTable.decorators = [
10164 { type: core.Component, args: [{
10165 selector: 'suka-table, table[suka-table]',
10166 exportAs: 'sukaTable',
10167 template: table.CDK_TABLE_TEMPLATE,
10168 providers: [{ provide: table.CdkTable, useExisting: SukaTable }],
10169 encapsulation: core.ViewEncapsulation.None,
10170 // See note on CdkTable for explanation on why this uses the default change detection strategy.
10171 changeDetection: core.ChangeDetectionStrategy.Default
10172 }] }
10173 ];
10174 SukaTable.propDecorators = {
10175 baseClass: [{ type: core.HostBinding, args: ['class.suka-table',] }],
10176 fullWidth: [{ type: core.HostBinding, args: ['class.suka-table--full-width',] }, { type: core.Input }],
10177 hover: [{ type: core.HostBinding, args: ['class.suka-table--hover',] }, { type: core.Input }]
10178 };
10179 return SukaTable;
10180 }(table.CdkTable));
10181 if (false) {
10182 /** @type {?} */
10183 SukaTable.prototype.baseClass;
10184 /**
10185 * Set to `true` to make the table full width.
10186 * @type {?}
10187 */
10188 SukaTable.prototype.fullWidth;
10189 /**
10190 * Set to `true` to apply hover styles to the table rows.
10191 * @type {?}
10192 */
10193 SukaTable.prototype.hover;
10194 /**
10195 * Overrides the sticky CSS class set by the `CdkTable`.
10196 * @type {?}
10197 * @protected
10198 */
10199 SukaTable.prototype.stickyCssClass;
10200 }
10201
10202 /**
10203 * @fileoverview added by tsickle
10204 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
10205 */
10206 /**
10207 * Cell definition for the suka-table.
10208 * Captures the template of a column's data row cell as well as cell-specific properties.
10209 */
10210 var SukaCellDef = /** @class */ (function (_super) {
10211 __extends(SukaCellDef, _super);
10212 function SukaCellDef() {
10213 return _super !== null && _super.apply(this, arguments) || this;
10214 }
10215 SukaCellDef.decorators = [
10216 { type: core.Directive, args: [{
10217 selector: '[sukaCellDef]',
10218 providers: [{ provide: table.CdkCellDef, useExisting: SukaCellDef }]
10219 },] }
10220 ];
10221 return SukaCellDef;
10222 }(table.CdkCellDef));
10223 /**
10224 * Header cell definition for the suka-table.
10225 * Captures the template of a column's header cell and as well as cell-specific properties.
10226 */
10227 var SukaHeaderCellDef = /** @class */ (function (_super) {
10228 __extends(SukaHeaderCellDef, _super);
10229 function SukaHeaderCellDef() {
10230 return _super !== null && _super.apply(this, arguments) || this;
10231 }
10232 SukaHeaderCellDef.decorators = [
10233 { type: core.Directive, args: [{
10234 selector: '[sukaHeaderCellDef]',
10235 providers: [{ provide: table.CdkHeaderCellDef, useExisting: SukaHeaderCellDef }]
10236 },] }
10237 ];
10238 return SukaHeaderCellDef;
10239 }(table.CdkHeaderCellDef));
10240 /**
10241 * Footer cell definition for the suka-table.
10242 * Captures the template of a column's footer cell and as well as cell-specific properties.
10243 */
10244 var SukaFooterCellDef = /** @class */ (function (_super) {
10245 __extends(SukaFooterCellDef, _super);
10246 function SukaFooterCellDef() {
10247 return _super !== null && _super.apply(this, arguments) || this;
10248 }
10249 SukaFooterCellDef.decorators = [
10250 { type: core.Directive, args: [{
10251 selector: '[sukaFooterCellDef]',
10252 providers: [{ provide: table.CdkFooterCellDef, useExisting: SukaFooterCellDef }]
10253 },] }
10254 ];
10255 return SukaFooterCellDef;
10256 }(table.CdkFooterCellDef));
10257 /**
10258 * Column definition for the suka-table.
10259 * Defines a set of cells available for a table column.
10260 */
10261 var SukaColumnDef = /** @class */ (function (_super) {
10262 __extends(SukaColumnDef, _super);
10263 function SukaColumnDef() {
10264 return _super !== null && _super.apply(this, arguments) || this;
10265 }
10266 SukaColumnDef.decorators = [
10267 { type: core.Directive, args: [{
10268 selector: '[sukaColumnDef]',
10269 providers: [
10270 { provide: table.CdkColumnDef, useExisting: SukaColumnDef },
10271 { provide: 'SUKA_SORT_HEADER_COLUMN_DEF', useExisting: SukaColumnDef }
10272 ],
10273 },] }
10274 ];
10275 SukaColumnDef.propDecorators = {
10276 name: [{ type: core.Input, args: ['sukaColumnDef',] }],
10277 sticky: [{ type: core.Input }],
10278 stickyEnd: [{ type: core.Input }]
10279 };
10280 return SukaColumnDef;
10281 }(table.CdkColumnDef));
10282 if (false) {
10283 /**
10284 * Unique name for this column.
10285 * @type {?}
10286 */
10287 SukaColumnDef.prototype.name;
10288 /**
10289 * Whether this column should be sticky positioned at the start of the row
10290 * @type {?}
10291 */
10292 SukaColumnDef.prototype.sticky;
10293 /**
10294 * Whether this column should be sticky positioned on the end of the row
10295 * @type {?}
10296 */
10297 SukaColumnDef.prototype.stickyEnd;
10298 }
10299 /**
10300 * Header cell template container that adds the right classes and role.
10301 */
10302 var SukaHeaderCell = /** @class */ (function (_super) {
10303 __extends(SukaHeaderCell, _super);
10304 function SukaHeaderCell(columnDef, elementRef) {
10305 var _this = _super.call(this, columnDef, elementRef) || this;
10306 elementRef.nativeElement.classList.add("suka-column-" + columnDef.cssClassFriendlyName);
10307 return _this;
10308 }
10309 SukaHeaderCell.decorators = [
10310 { type: core.Directive, args: [{
10311 selector: 'suka-header-cell, th[suka-header-cell]',
10312 host: {
10313 class: 'suka-header-cell',
10314 role: 'columnheader',
10315 },
10316 },] }
10317 ];
10318 /** @nocollapse */
10319 SukaHeaderCell.ctorParameters = function () { return [
10320 { type: table.CdkColumnDef },
10321 { type: core.ElementRef }
10322 ]; };
10323 return SukaHeaderCell;
10324 }(table.CdkHeaderCell));
10325 /**
10326 * Footer cell template container that adds the right classes and role.
10327 */
10328 var SukaFooterCell = /** @class */ (function (_super) {
10329 __extends(SukaFooterCell, _super);
10330 function SukaFooterCell(columnDef, elementRef) {
10331 var _this = _super.call(this, columnDef, elementRef) || this;
10332 elementRef.nativeElement.classList.add("suka-column-" + columnDef.cssClassFriendlyName);
10333 return _this;
10334 }
10335 SukaFooterCell.decorators = [
10336 { type: core.Directive, args: [{
10337 selector: 'suka-footer-cell, td[suka-footer-cell]',
10338 host: {
10339 class: 'suka-footer-cell',
10340 role: 'gridcell',
10341 },
10342 },] }
10343 ];
10344 /** @nocollapse */
10345 SukaFooterCell.ctorParameters = function () { return [
10346 { type: table.CdkColumnDef },
10347 { type: core.ElementRef }
10348 ]; };
10349 return SukaFooterCell;
10350 }(table.CdkFooterCell));
10351 /**
10352 * Cell template container that adds the right classes and role.
10353 */
10354 var SukaCell = /** @class */ (function (_super) {
10355 __extends(SukaCell, _super);
10356 function SukaCell(columnDef, elementRef) {
10357 var _this = _super.call(this, columnDef, elementRef) || this;
10358 elementRef.nativeElement.classList.add("suka-column-" + columnDef.cssClassFriendlyName);
10359 return _this;
10360 }
10361 SukaCell.decorators = [
10362 { type: core.Directive, args: [{
10363 selector: 'suka-cell, td[suka-cell]',
10364 host: {
10365 class: 'suka-cell',
10366 role: 'gridcell',
10367 },
10368 },] }
10369 ];
10370 /** @nocollapse */
10371 SukaCell.ctorParameters = function () { return [
10372 { type: table.CdkColumnDef },
10373 { type: core.ElementRef }
10374 ]; };
10375 return SukaCell;
10376 }(table.CdkCell));
10377
10378 /**
10379 * @fileoverview added by tsickle
10380 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
10381 */
10382 /**
10383 * Header row definition for the suka-table.
10384 * Captures the header row's template and other header properties such as the columns to display.
10385 */
10386 var SukaHeaderRowDef = /** @class */ (function (_super) {
10387 __extends(SukaHeaderRowDef, _super);
10388 function SukaHeaderRowDef() {
10389 return _super !== null && _super.apply(this, arguments) || this;
10390 }
10391 SukaHeaderRowDef.decorators = [
10392 { type: core.Directive, args: [{
10393 selector: '[sukaHeaderRowDef]',
10394 providers: [{ provide: table.CdkHeaderRowDef, useExisting: SukaHeaderRowDef }],
10395 inputs: ['columns: sukaHeaderRowDef', 'sticky: sukaHeaderRowDefSticky'],
10396 },] }
10397 ];
10398 return SukaHeaderRowDef;
10399 }(table.CdkHeaderRowDef));
10400 /**
10401 * Footer row definition for the suka-table.
10402 * Captures the footer row's template and other footer properties such as the columns to display.
10403 */
10404 var SukaFooterRowDef = /** @class */ (function (_super) {
10405 __extends(SukaFooterRowDef, _super);
10406 function SukaFooterRowDef() {
10407 return _super !== null && _super.apply(this, arguments) || this;
10408 }
10409 SukaFooterRowDef.decorators = [
10410 { type: core.Directive, args: [{
10411 selector: '[sukaFooterRowDef]',
10412 providers: [{ provide: table.CdkFooterRowDef, useExisting: SukaFooterRowDef }],
10413 inputs: ['columns: sukaFooterRowDef', 'sticky: sukaFooterRowDefSticky'],
10414 },] }
10415 ];
10416 return SukaFooterRowDef;
10417 }(table.CdkFooterRowDef));
10418 /**
10419 * Data row definition for the suka-table.
10420 * Captures the data row's template and other properties such as the columns to display and
10421 * a when predicate that describes when this row should be used.
10422 * @template T
10423 */
10424 var SukaRowDef = /** @class */ (function (_super) {
10425 __extends(SukaRowDef, _super);
10426 function SukaRowDef() {
10427 return _super !== null && _super.apply(this, arguments) || this;
10428 }
10429 SukaRowDef.decorators = [
10430 { type: core.Directive, args: [{
10431 selector: '[sukaRowDef]',
10432 providers: [{ provide: table.CdkRowDef, useExisting: SukaRowDef }],
10433 inputs: ['columns: sukaRowDefColumns', 'when: sukaRowDefWhen'],
10434 },] }
10435 ];
10436 return SukaRowDef;
10437 }(table.CdkRowDef));
10438 /**
10439 * Footer template container that contains the cell outlet. Adds the right class and role.
10440 */
10441 var SukaHeaderRow = /** @class */ (function (_super) {
10442 __extends(SukaHeaderRow, _super);
10443 function SukaHeaderRow() {
10444 var _this = _super !== null && _super.apply(this, arguments) || this;
10445 _this.baseClass = true;
10446 _this.role = 'row';
10447 return _this;
10448 }
10449 SukaHeaderRow.decorators = [
10450 { type: core.Component, args: [{
10451 selector: 'suka-header-row, tr[suka-header-row]',
10452 template: table.CDK_ROW_TEMPLATE,
10453 // See note on CdkTable for explanation on why this uses the default change detection strategy.
10454 // tslint:disable-next-line:validate-decorators
10455 changeDetection: core.ChangeDetectionStrategy.Default,
10456 encapsulation: core.ViewEncapsulation.None,
10457 exportAs: 'sukaHeaderRow',
10458 providers: [{ provide: table.CdkHeaderRow, useExisting: SukaHeaderRow }]
10459 }] }
10460 ];
10461 SukaHeaderRow.propDecorators = {
10462 baseClass: [{ type: core.HostBinding, args: ['class.suka-header-row',] }],
10463 role: [{ type: core.HostBinding, args: ['attr.role',] }]
10464 };
10465 return SukaHeaderRow;
10466 }(table.CdkHeaderRow));
10467 if (false) {
10468 /** @type {?} */
10469 SukaHeaderRow.prototype.baseClass;
10470 /** @type {?} */
10471 SukaHeaderRow.prototype.role;
10472 }
10473 /**
10474 * Footer template container that contains the cell outlet. Adds the right class and role.
10475 */
10476 var SukaFooterRow = /** @class */ (function (_super) {
10477 __extends(SukaFooterRow, _super);
10478 function SukaFooterRow() {
10479 var _this = _super !== null && _super.apply(this, arguments) || this;
10480 _this.baseClass = true;
10481 _this.role = 'row';
10482 return _this;
10483 }
10484 SukaFooterRow.decorators = [
10485 { type: core.Component, args: [{
10486 selector: 'suka-footer-row, tr[suka-footer-row]',
10487 template: table.CDK_ROW_TEMPLATE,
10488 // See note on CdkTable for explanation on why this uses the default change detection strategy.
10489 // tslint:disable-next-line:validate-decorators
10490 changeDetection: core.ChangeDetectionStrategy.Default,
10491 encapsulation: core.ViewEncapsulation.None,
10492 exportAs: 'sukaFooterRow',
10493 providers: [{ provide: table.CdkFooterRow, useExisting: SukaFooterRow }]
10494 }] }
10495 ];
10496 SukaFooterRow.propDecorators = {
10497 baseClass: [{ type: core.HostBinding, args: ['class.suka-footer-row',] }],
10498 role: [{ type: core.HostBinding, args: ['attr.role',] }]
10499 };
10500 return SukaFooterRow;
10501 }(table.CdkFooterRow));
10502 if (false) {
10503 /** @type {?} */
10504 SukaFooterRow.prototype.baseClass;
10505 /** @type {?} */
10506 SukaFooterRow.prototype.role;
10507 }
10508 /**
10509 * Data row template container that contains the cell outlet. Adds the right class and role.
10510 */
10511 var SukaRow = /** @class */ (function (_super) {
10512 __extends(SukaRow, _super);
10513 function SukaRow() {
10514 var _this = _super !== null && _super.apply(this, arguments) || this;
10515 _this.baseClass = true;
10516 _this.role = 'row';
10517 return _this;
10518 }
10519 SukaRow.decorators = [
10520 { type: core.Component, args: [{
10521 selector: 'suka-row, tr[suka-row]',
10522 template: table.CDK_ROW_TEMPLATE,
10523 // See note on CdkTable for explanation on why this uses the default change detection strategy.
10524 // tslint:disable-next-line:validate-decorators
10525 changeDetection: core.ChangeDetectionStrategy.Default,
10526 encapsulation: core.ViewEncapsulation.None,
10527 exportAs: 'sukaRow',
10528 providers: [{ provide: table.CdkRow, useExisting: SukaRow }]
10529 }] }
10530 ];
10531 SukaRow.propDecorators = {
10532 baseClass: [{ type: core.HostBinding, args: ['class.suka-row',] }],
10533 role: [{ type: core.HostBinding, args: ['attr.role',] }]
10534 };
10535 return SukaRow;
10536 }(table.CdkRow));
10537 if (false) {
10538 /** @type {?} */
10539 SukaRow.prototype.baseClass;
10540 /** @type {?} */
10541 SukaRow.prototype.role;
10542 }
10543
10544 /**
10545 * @fileoverview added by tsickle
10546 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
10547 */
10548 /**
10549 * @param {?} pageNumber
10550 * @param {?} currentPage
10551 * @param {?} spacing
10552 * @return {?}
10553 */
10554 function buildPaginationArray(pageNumber, currentPage, spacing) {
10555 /** @type {?} */
10556 var pageArray = [];
10557 /** @type {?} */
10558 var startingPosition = Math.max(currentPage - spacing, 1);
10559 /** @type {?} */
10560 var endPosition = Math.min(currentPage + spacing, pageNumber);
10561 for (var i = startingPosition; i <= endPosition; i++) {
10562 pageArray.push(i);
10563 }
10564 if (currentPage - spacing > 1) {
10565 appendFirstPages(pageArray);
10566 }
10567 if (currentPage + spacing < pageNumber) {
10568 appendLastPages(pageArray, pageNumber);
10569 }
10570 return pageArray;
10571 }
10572 /**
10573 * @param {?} array
10574 * @return {?}
10575 */
10576 function appendFirstPages(array) {
10577 /** @type {?} */
10578 var initialValue = array[0];
10579 if (initialValue - 1 > 1) {
10580 array.unshift('...');
10581 }
10582 array.unshift(1);
10583 }
10584 /**
10585 * @param {?} array
10586 * @param {?} lastPageNumber
10587 * @return {?}
10588 */
10589 function appendLastPages(array, lastPageNumber) {
10590 if (array[array.length - 1] + 1 < lastPageNumber) {
10591 array.push('...');
10592 }
10593 array.push(lastPageNumber);
10594 }
10595
10596 /**
10597 * @fileoverview added by tsickle
10598 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
10599 */
10600 /**
10601 * The default page size if there is no page size and there are no provided page size options.
10602 * @type {?}
10603 */
10604 var DEFAULT_PAGE_SIZE = 50;
10605 /**
10606 * Change event object that is emitted when the user selects a
10607 * different page size or navigates to another page.
10608 */
10609 var /**
10610 * Change event object that is emitted when the user selects a
10611 * different page size or navigates to another page.
10612 */
10613 PageEvent = /** @class */ (function () {
10614 function PageEvent() {
10615 }
10616 return PageEvent;
10617 }());
10618 if (false) {
10619 /**
10620 * The current page index.
10621 * @type {?}
10622 */
10623 PageEvent.prototype.pageIndex;
10624 /**
10625 * Index of the page that was selected previously.
10626 * @type {?}
10627 */
10628 PageEvent.prototype.previousPageIndex;
10629 /**
10630 * The current page size
10631 * @type {?}
10632 */
10633 PageEvent.prototype.pageSize;
10634 /**
10635 * The current total number of items being paged
10636 * @type {?}
10637 */
10638 PageEvent.prototype.length;
10639 }
10640 /**
10641 * Component to provide navigation between paged information. Displays the size of the current
10642 * page, user-selectable options to change that size, what items are being shown, and
10643 * navigational button to go to the previous or next page.
10644 */
10645 var Pagination = /** @class */ (function () {
10646 function Pagination(_changeDetectorRef) {
10647 this._changeDetectorRef = _changeDetectorRef;
10648 this.initialized = new rxjs.Subject();
10649 /**
10650 * Sets to `true` to disable pagination.
10651 */
10652 this.disabled = false;
10653 this.baseClass = true;
10654 this._pageIndex = 0;
10655 this._length = 0;
10656 this._pageSizeOptions = [];
10657 this._hidePageSize = false;
10658 this._showFirstLastButtons = false;
10659 /**
10660 * Event emitted when the pagination changes the page size or page index.
10661 */
10662 this.page = new core.EventEmitter();
10663 /**
10664 * Displayed pages array
10665 */
10666 this._pagesArray = [];
10667 /**
10668 * Calculate the page range
10669 */
10670 this.getRangeLabel = (/**
10671 * @param {?} page
10672 * @param {?} pageSize
10673 * @param {?} length
10674 * @return {?}
10675 */
10676 function (page, pageSize, length) {
10677 if (length === 0 || pageSize === 0) {
10678 return "0 de " + length;
10679 }
10680 length = Math.max(length, 0);
10681 /** @type {?} */
10682 var startIndex = page * pageSize;
10683 // If the start index exceeds the list length, do not try and fix the end index to the end.
10684 /** @type {?} */
10685 var endIndex = startIndex < length ?
10686 Math.min(startIndex + pageSize, length) :
10687 startIndex + pageSize;
10688 return startIndex + 1 + " \u2013 " + endIndex + " de " + length;
10689 });
10690 }
10691 Object.defineProperty(Pagination.prototype, "pageIndex", {
10692 /** The zero-based page index of the displayed list of items. Defaulted to 0. */
10693 get: /**
10694 * The zero-based page index of the displayed list of items. Defaulted to 0.
10695 * @return {?}
10696 */
10697 function () { return this._pageIndex; },
10698 set: /**
10699 * @param {?} value
10700 * @return {?}
10701 */
10702 function (value) {
10703 this._pageIndex = Math.max(coercion.coerceNumberProperty(value), 0);
10704 this._changeDetectorRef.markForCheck();
10705 },
10706 enumerable: true,
10707 configurable: true
10708 });
10709 Object.defineProperty(Pagination.prototype, "length", {
10710 /** The length of the total number of items that are being paginated. Defaulted to 0. */
10711 get: /**
10712 * The length of the total number of items that are being paginated. Defaulted to 0.
10713 * @return {?}
10714 */
10715 function () { return this._length; },
10716 set: /**
10717 * @param {?} value
10718 * @return {?}
10719 */
10720 function (value) {
10721 this._length = coercion.coerceNumberProperty(value);
10722 this._changeDetectorRef.markForCheck();
10723 this._updateDisplayedPagesArray();
10724 },
10725 enumerable: true,
10726 configurable: true
10727 });
10728 Object.defineProperty(Pagination.prototype, "pageSize", {
10729 /** Number of items to display on a page. By default set to 20. */
10730 get: /**
10731 * Number of items to display on a page. By default set to 20.
10732 * @return {?}
10733 */
10734 function () { return this._pageSize; },
10735 set: /**
10736 * @param {?} value
10737 * @return {?}
10738 */
10739 function (value) {
10740 this._pageSize = Math.max(coercion.coerceNumberProperty(value), 0);
10741 this._updateDisplayedPageSizeOptions();
10742 this._updateDisplayedPagesArray();
10743 },
10744 enumerable: true,
10745 configurable: true
10746 });
10747 Object.defineProperty(Pagination.prototype, "pageSizeOptions", {
10748 /** The set of provided page size options to display to the user. */
10749 get: /**
10750 * The set of provided page size options to display to the user.
10751 * @return {?}
10752 */
10753 function () { return this._pageSizeOptions; },
10754 set: /**
10755 * @param {?} value
10756 * @return {?}
10757 */
10758 function (value) {
10759 this._pageSizeOptions = (value || []).map((/**
10760 * @param {?} p
10761 * @return {?}
10762 */
10763 function (p) { return coercion.coerceNumberProperty(p); }));
10764 this._updateDisplayedPageSizeOptions();
10765 },
10766 enumerable: true,
10767 configurable: true
10768 });
10769 Object.defineProperty(Pagination.prototype, "hidePageSize", {
10770 /** Whether to hide the page size selection UI from the user. */
10771 get: /**
10772 * Whether to hide the page size selection UI from the user.
10773 * @return {?}
10774 */
10775 function () { return this._hidePageSize; },
10776 set: /**
10777 * @param {?} value
10778 * @return {?}
10779 */
10780 function (value) {
10781 this._hidePageSize = coercion.coerceBooleanProperty(value);
10782 },
10783 enumerable: true,
10784 configurable: true
10785 });
10786 Object.defineProperty(Pagination.prototype, "showFirstLastButtons", {
10787 /** Whether to show the first/last buttons UI to the user. */
10788 get: /**
10789 * Whether to show the first/last buttons UI to the user.
10790 * @return {?}
10791 */
10792 function () { return this._showFirstLastButtons; },
10793 set: /**
10794 * @param {?} value
10795 * @return {?}
10796 */
10797 function (value) {
10798 this._showFirstLastButtons = coercion.coerceBooleanProperty(value);
10799 },
10800 enumerable: true,
10801 configurable: true
10802 });
10803 /**
10804 * @return {?}
10805 */
10806 Pagination.prototype.ngOnInit = /**
10807 * @return {?}
10808 */
10809 function () {
10810 this._initialized = true;
10811 this.initialized.next(true);
10812 this._updateDisplayedPageSizeOptions();
10813 };
10814 /** Advances to the next page if it exists. */
10815 /**
10816 * Advances to the next page if it exists.
10817 * @return {?}
10818 */
10819 Pagination.prototype.nextPage = /**
10820 * Advances to the next page if it exists.
10821 * @return {?}
10822 */
10823 function () {
10824 if (!this.hasNextPage()) {
10825 return;
10826 }
10827 /** @type {?} */
10828 var previousPageIndex = this.pageIndex;
10829 this.pageIndex++;
10830 this._updateDisplayedPagesArray();
10831 this._emitPageEvent(previousPageIndex);
10832 };
10833 /** Move back to the previous page if it exists. */
10834 /**
10835 * Move back to the previous page if it exists.
10836 * @return {?}
10837 */
10838 Pagination.prototype.previousPage = /**
10839 * Move back to the previous page if it exists.
10840 * @return {?}
10841 */
10842 function () {
10843 if (!this.hasPreviousPage()) {
10844 return;
10845 }
10846 /** @type {?} */
10847 var previousPageIndex = this.pageIndex;
10848 this.pageIndex--;
10849 this._updateDisplayedPagesArray();
10850 this._emitPageEvent(previousPageIndex);
10851 };
10852 /** Move to the first page if not already there. */
10853 /**
10854 * Move to the first page if not already there.
10855 * @return {?}
10856 */
10857 Pagination.prototype.firstPage = /**
10858 * Move to the first page if not already there.
10859 * @return {?}
10860 */
10861 function () {
10862 // hasPreviousPage being false implies at the start
10863 if (!this.hasPreviousPage()) {
10864 return;
10865 }
10866 /** @type {?} */
10867 var previousPageIndex = this.pageIndex;
10868 this.pageIndex = 0;
10869 this._updateDisplayedPagesArray();
10870 this._emitPageEvent(previousPageIndex);
10871 };
10872 /** Move to the last page if not already there. */
10873 /**
10874 * Move to the last page if not already there.
10875 * @return {?}
10876 */
10877 Pagination.prototype.lastPage = /**
10878 * Move to the last page if not already there.
10879 * @return {?}
10880 */
10881 function () {
10882 // hasNextPage being false implies at the end
10883 if (!this.hasNextPage()) {
10884 return;
10885 }
10886 /** @type {?} */
10887 var previousPageIndex = this.pageIndex;
10888 this.pageIndex = this.getNumberOfPages() - 1;
10889 this._updateDisplayedPagesArray();
10890 this._emitPageEvent(previousPageIndex);
10891 };
10892 /**
10893 * Move to an specific page.
10894 */
10895 /**
10896 * Move to an specific page.
10897 * @param {?} page
10898 * @return {?}
10899 */
10900 Pagination.prototype.goToPage = /**
10901 * Move to an specific page.
10902 * @param {?} page
10903 * @return {?}
10904 */
10905 function (page) {
10906 /** @type {?} */
10907 var previousPageIndex = this.pageIndex;
10908 this.pageIndex = page - 1;
10909 this._updateDisplayedPagesArray();
10910 this._emitPageEvent(previousPageIndex);
10911 };
10912 /** Whether there is a previous page. */
10913 /**
10914 * Whether there is a previous page.
10915 * @return {?}
10916 */
10917 Pagination.prototype.hasPreviousPage = /**
10918 * Whether there is a previous page.
10919 * @return {?}
10920 */
10921 function () {
10922 return this.pageIndex >= 1 && this.pageSize !== 0;
10923 };
10924 /** Whether there is a next page. */
10925 /**
10926 * Whether there is a next page.
10927 * @return {?}
10928 */
10929 Pagination.prototype.hasNextPage = /**
10930 * Whether there is a next page.
10931 * @return {?}
10932 */
10933 function () {
10934 /** @type {?} */
10935 var maxPageIndex = this.getNumberOfPages() - 1;
10936 return this.pageIndex < maxPageIndex && this.pageSize !== 0;
10937 };
10938 /** Calculate the number of pages */
10939 /**
10940 * Calculate the number of pages
10941 * @return {?}
10942 */
10943 Pagination.prototype.getNumberOfPages = /**
10944 * Calculate the number of pages
10945 * @return {?}
10946 */
10947 function () {
10948 if (!this.pageSize) {
10949 return 0;
10950 }
10951 return Math.ceil(this.length / this.pageSize);
10952 };
10953 /**
10954 * Changes the page size so that the first item displayed on the page will still be
10955 * displayed using the new page size.
10956 *
10957 * For example, if the page size is 10 and on the second page (items indexed 10-19) then
10958 * switching so that the page size is 5 will set the third page as the current page so
10959 * that the 10th item will still be displayed.
10960 */
10961 /**
10962 * Changes the page size so that the first item displayed on the page will still be
10963 * displayed using the new page size.
10964 *
10965 * For example, if the page size is 10 and on the second page (items indexed 10-19) then
10966 * switching so that the page size is 5 will set the third page as the current page so
10967 * that the 10th item will still be displayed.
10968 * @param {?} pageSize
10969 * @return {?}
10970 */
10971 Pagination.prototype._changePageSize = /**
10972 * Changes the page size so that the first item displayed on the page will still be
10973 * displayed using the new page size.
10974 *
10975 * For example, if the page size is 10 and on the second page (items indexed 10-19) then
10976 * switching so that the page size is 5 will set the third page as the current page so
10977 * that the 10th item will still be displayed.
10978 * @param {?} pageSize
10979 * @return {?}
10980 */
10981 function (pageSize) {
10982 // Current page needs to be updated to reflect the new page size. Navigate to the page
10983 // containing the previous page's first item.
10984 /** @type {?} */
10985 var startIndex = this.pageIndex * this.pageSize;
10986 /** @type {?} */
10987 var previousPageIndex = this.pageIndex;
10988 this.pageIndex = Math.floor(startIndex / pageSize) || 0;
10989 this.pageSize = pageSize;
10990 this._emitPageEvent(previousPageIndex);
10991 };
10992 /** Checks whether the buttons for going forwards should be disabled. */
10993 /**
10994 * Checks whether the buttons for going forwards should be disabled.
10995 * @return {?}
10996 */
10997 Pagination.prototype._nextButtonsDisabled = /**
10998 * Checks whether the buttons for going forwards should be disabled.
10999 * @return {?}
11000 */
11001 function () {
11002 return this.disabled || !this.hasNextPage();
11003 };
11004 /** Checks whether the buttons for going backwards should be disabled. */
11005 /**
11006 * Checks whether the buttons for going backwards should be disabled.
11007 * @return {?}
11008 */
11009 Pagination.prototype._previousButtonsDisabled = /**
11010 * Checks whether the buttons for going backwards should be disabled.
11011 * @return {?}
11012 */
11013 function () {
11014 return this.disabled || !this.hasPreviousPage();
11015 };
11016 /**
11017 * Updates the list of page size options to display to the user. Includes making sure that
11018 * the page size is an option and that the list is sorted.
11019 */
11020 /**
11021 * Updates the list of page size options to display to the user. Includes making sure that
11022 * the page size is an option and that the list is sorted.
11023 * @private
11024 * @return {?}
11025 */
11026 Pagination.prototype._updateDisplayedPageSizeOptions = /**
11027 * Updates the list of page size options to display to the user. Includes making sure that
11028 * the page size is an option and that the list is sorted.
11029 * @private
11030 * @return {?}
11031 */
11032 function () {
11033 if (!this._initialized) {
11034 return;
11035 }
11036 // If no page size is provided, use the first page size option or the default page size.
11037 if (!this.pageSize) {
11038 this._pageSize = this.pageSizeOptions.length !== 0 ?
11039 this.pageSizeOptions[0] :
11040 DEFAULT_PAGE_SIZE;
11041 }
11042 this._displayedPageSizeOptions = this.pageSizeOptions.slice();
11043 if (this._displayedPageSizeOptions.indexOf(this.pageSize) === -1) {
11044 this._displayedPageSizeOptions.push(this.pageSize);
11045 }
11046 // Sort the numbers using a number-specific sort function.
11047 this._displayedPageSizeOptions.sort((/**
11048 * @param {?} a
11049 * @param {?} b
11050 * @return {?}
11051 */
11052 function (a, b) { return a - b; }));
11053 this._changeDetectorRef.markForCheck();
11054 };
11055 /**
11056 * @private
11057 * @return {?}
11058 */
11059 Pagination.prototype._updateDisplayedPagesArray = /**
11060 * @private
11061 * @return {?}
11062 */
11063 function () {
11064 this._pagesArray = buildPaginationArray(this.getNumberOfPages(), this.pageIndex + 1, 3);
11065 };
11066 /** Emits an event notifying that a change of the pagination's properties has been triggered. */
11067 /**
11068 * Emits an event notifying that a change of the pagination's properties has been triggered.
11069 * @private
11070 * @param {?} previousPageIndex
11071 * @return {?}
11072 */
11073 Pagination.prototype._emitPageEvent = /**
11074 * Emits an event notifying that a change of the pagination's properties has been triggered.
11075 * @private
11076 * @param {?} previousPageIndex
11077 * @return {?}
11078 */
11079 function (previousPageIndex) {
11080 this.page.emit({
11081 previousPageIndex: previousPageIndex,
11082 pageIndex: this.pageIndex,
11083 pageSize: this.pageSize,
11084 length: this.length
11085 });
11086 };
11087 Pagination.decorators = [
11088 { type: core.Component, args: [{
11089 selector: 'suka-pagination',
11090 exportAs: 'sukaPagination',
11091 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 ",
11092 changeDetection: core.ChangeDetectionStrategy.OnPush,
11093 encapsulation: core.ViewEncapsulation.None
11094 }] }
11095 ];
11096 /** @nocollapse */
11097 Pagination.ctorParameters = function () { return [
11098 { type: core.ChangeDetectorRef }
11099 ]; };
11100 Pagination.propDecorators = {
11101 disabled: [{ type: core.Input }],
11102 baseClass: [{ type: core.HostBinding, args: ['class.suka-pagination',] }],
11103 pageIndex: [{ type: core.Input }],
11104 length: [{ type: core.Input }],
11105 pageSize: [{ type: core.Input }],
11106 pageSizeOptions: [{ type: core.Input }],
11107 hidePageSize: [{ type: core.Input }],
11108 showFirstLastButtons: [{ type: core.Input }],
11109 page: [{ type: core.Output }]
11110 };
11111 return Pagination;
11112 }());
11113 if (false) {
11114 /**
11115 * @type {?}
11116 * @private
11117 */
11118 Pagination.prototype._initialized;
11119 /** @type {?} */
11120 Pagination.prototype.initialized;
11121 /**
11122 * Sets to `true` to disable pagination.
11123 * @type {?}
11124 */
11125 Pagination.prototype.disabled;
11126 /** @type {?} */
11127 Pagination.prototype.baseClass;
11128 /**
11129 * @type {?}
11130 * @private
11131 */
11132 Pagination.prototype._pageIndex;
11133 /**
11134 * @type {?}
11135 * @private
11136 */
11137 Pagination.prototype._length;
11138 /**
11139 * @type {?}
11140 * @private
11141 */
11142 Pagination.prototype._pageSize;
11143 /**
11144 * @type {?}
11145 * @private
11146 */
11147 Pagination.prototype._pageSizeOptions;
11148 /**
11149 * @type {?}
11150 * @private
11151 */
11152 Pagination.prototype._hidePageSize;
11153 /**
11154 * @type {?}
11155 * @private
11156 */
11157 Pagination.prototype._showFirstLastButtons;
11158 /**
11159 * Event emitted when the pagination changes the page size or page index.
11160 * @type {?}
11161 */
11162 Pagination.prototype.page;
11163 /**
11164 * Displayed set of page size options. Will be sorted and include current page size.
11165 * @type {?}
11166 */
11167 Pagination.prototype._displayedPageSizeOptions;
11168 /**
11169 * Displayed pages array
11170 * @type {?}
11171 */
11172 Pagination.prototype._pagesArray;
11173 /**
11174 * Calculate the page range
11175 * @type {?}
11176 */
11177 Pagination.prototype.getRangeLabel;
11178 /**
11179 * @type {?}
11180 * @private
11181 */
11182 Pagination.prototype._changeDetectorRef;
11183 }
11184
11185 /**
11186 * @fileoverview added by tsickle
11187 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
11188 */
11189 var PaginationModule = /** @class */ (function () {
11190 function PaginationModule() {
11191 }
11192 PaginationModule.decorators = [
11193 { type: core.NgModule, args: [{
11194 imports: [
11195 common.CommonModule,
11196 ButtonModule,
11197 IconModule,
11198 ],
11199 exports: [
11200 Pagination
11201 ],
11202 declarations: [
11203 Pagination
11204 ],
11205 },] }
11206 ];
11207 return PaginationModule;
11208 }());
11209
11210 /**
11211 * @fileoverview added by tsickle
11212 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
11213 */
11214 /**
11215 * Corresponds to `Number.MAX_SAFE_INTEGER`. Moved out into a variable here due to
11216 * flaky browser support and the value not being defined in Closure's typings.
11217 * @type {?}
11218 */
11219 var MAX_SAFE_INTEGER = 9007199254740991;
11220 /**
11221 * Data source that accepts a client-side data array and includes native support of filtering,
11222 * sorting (using SukaSort), and pagination (using SukaPaginator).
11223 *
11224 * Allows for sort customization by overriding sortingDataAccessor, which defines how data
11225 * properties are accessed. Also allows for filter customization by overriding filterTermAccessor,
11226 * which defines how row data is converted to a string for filter matching.
11227 *
11228 * **Note:** This class is meant to be a simple data source to help you get started. As such
11229 * it isn't equipped to handle some more advanced cases like robust i18n support or server-side
11230 * interactions. If your app needs to support more advanced use cases, consider implementing your
11231 * own `DataSource`.
11232 * @template T
11233 */
11234 var /**
11235 * Data source that accepts a client-side data array and includes native support of filtering,
11236 * sorting (using SukaSort), and pagination (using SukaPaginator).
11237 *
11238 * Allows for sort customization by overriding sortingDataAccessor, which defines how data
11239 * properties are accessed. Also allows for filter customization by overriding filterTermAccessor,
11240 * which defines how row data is converted to a string for filter matching.
11241 *
11242 * **Note:** This class is meant to be a simple data source to help you get started. As such
11243 * it isn't equipped to handle some more advanced cases like robust i18n support or server-side
11244 * interactions. If your app needs to support more advanced use cases, consider implementing your
11245 * own `DataSource`.
11246 * @template T
11247 */
11248 SukaTableDataSource = /** @class */ (function (_super) {
11249 __extends(SukaTableDataSource, _super);
11250 function SukaTableDataSource(initialData) {
11251 if (initialData === void 0) { initialData = []; }
11252 var _this = _super.call(this) || this;
11253 /**
11254 * Stream emitting render data to the table (depends on ordered data changes).
11255 */
11256 _this._renderData = new rxjs.BehaviorSubject([]);
11257 /**
11258 * Stream that emits when a new filter string is set on the data source.
11259 */
11260 _this._filter = new rxjs.BehaviorSubject('');
11261 /**
11262 * Used to react to internal changes of the paginator that are made by the data source itself.
11263 */
11264 _this._internalPageChanges = new rxjs.Subject();
11265 /**
11266 * Subscription to the changes that should trigger an update to the table's rendered rows, such
11267 * as filtering, sorting, pagination, or base data changes.
11268 */
11269 _this._renderChangesSubscription = rxjs.Subscription.EMPTY;
11270 /**
11271 * Data accessor function that is used for accessing data properties for sorting through
11272 * the default sortData function.
11273 * This default function assumes that the sort header IDs (which defaults to the column name)
11274 * matches the data's properties (e.g. column Xyz represents data['Xyz']).
11275 * May be set to a custom function for different behavior.
11276 * @param data Data object that is being accessed.
11277 * @param sortHeaderId The name of the column that represents the data.
11278 */
11279 // sortingDataAccessor: ((data: T, sortHeaderId: string) => string | number) =
11280 // (data: T, sortHeaderId: string): string | number => {
11281 // const value = (data as { [key: string]: any })[sortHeaderId];
11282 // if (_isNumberValue(value)) {
11283 // const numberValue = Number(value);
11284 // // Numbers beyond `MAX_SAFE_INTEGER` can't be compared reliably so we
11285 // // leave them as strings. For more info: https://goo.gl/y5vbSg
11286 // return numberValue < MAX_SAFE_INTEGER ? numberValue : value;
11287 // }
11288 // return value;
11289 // }
11290 /**
11291 * Gets a sorted copy of the data array based on the state of the SukaSort. Called
11292 * after changes are made to the filtered data or when sort changes are emitted from SukaSort.
11293 * By default, the function retrieves the active sort and its direction and compares data
11294 * by retrieving data using the sortingDataAccessor. May be overridden for a custom implementation
11295 * of data ordering.
11296 * @param data The array of data that should be sorted.
11297 * @param sort The connected SukaSort that holds the current sort state.
11298 */
11299 // sortData: ((data: T[], sort: SukaSort) => T[]) = (data: T[], sort: SukaSort): T[] => {
11300 // const active = sort.active;
11301 // const direction = sort.direction;
11302 // if (!active || direction == '') { return data; }
11303 // return data.sort((a, b) => {
11304 // let valueA = this.sortingDataAccessor(a, active);
11305 // let valueB = this.sortingDataAccessor(b, active);
11306 // // If both valueA and valueB exist (truthy), then compare the two. Otherwise, check if
11307 // // one value exists while the other doesn't. In this case, existing value should come last.
11308 // // This avoids inconsistent results when comparing values to undefined/null.
11309 // // If neither value exists, return 0 (equal).
11310 // let comparatorResult = 0;
11311 // if (valueA != null && valueB != null) {
11312 // // Check if one value is greater than the other; if equal, comparatorResult should remain 0.
11313 // if (valueA > valueB) {
11314 // comparatorResult = 1;
11315 // } else if (valueA < valueB) {
11316 // comparatorResult = -1;
11317 // }
11318 // } else if (valueA != null) {
11319 // comparatorResult = 1;
11320 // } else if (valueB != null) {
11321 // comparatorResult = -1;
11322 // }
11323 // return comparatorResult * (direction == 'asc' ? 1 : -1);
11324 // });
11325 // }
11326 /**
11327 * Checks if a data object matches the data source's filter string. By default, each data object
11328 * is converted to a string of its properties and returns true if the filter has
11329 * at least one occurrence in that string. By default, the filter string has its whitespace
11330 * trimmed and the match is case-insensitive. May be overridden for a custom implementation of
11331 * filter matching.
11332 * @param data Data object used to check against the filter.
11333 * @param filter Filter string that has been set on the data source.
11334 * @return Whether the filter matches against the data
11335 */
11336 _this.filterPredicate = (/**
11337 * @param {?} data
11338 * @param {?} filter
11339 * @return {?}
11340 */
11341 function (data, filter) {
11342 // Transform the data into a lowercase string of all property values.
11343 /** @type {?} */
11344 var dataStr = Object.keys(data).reduce((/**
11345 * @param {?} currentTerm
11346 * @param {?} key
11347 * @return {?}
11348 */
11349 function (currentTerm, key) {
11350 // Use an obscure Unicode character to delimit the words in the concatenated string.
11351 // This avoids matches where the values of two columns combined will match the user's query
11352 // (e.g. `Flute` and `Stop` will match `Test`). The character is intended to be something
11353 // that has a very low chance of being typed in by somebody in a text field. This one in
11354 // particular is "White up-pointing triangle with dot" from
11355 // https://en.wikipedia.org/wiki/List_of_Unicode_characters
11356 return currentTerm + ((/** @type {?} */ (data)))[key] + '◬';
11357 }), '').toLowerCase();
11358 // Transform the filter by converting it to lowercase and removing whitespace.
11359 /** @type {?} */
11360 var transformedFilter = filter.trim().toLowerCase();
11361 return dataStr.indexOf(transformedFilter) !== -1;
11362 });
11363 _this._data = new rxjs.BehaviorSubject(initialData);
11364 _this._updateChangeSubscription();
11365 return _this;
11366 }
11367 Object.defineProperty(SukaTableDataSource.prototype, "data", {
11368 /** Array of data that should be rendered by the table, where each object represents one row. */
11369 get: /**
11370 * Array of data that should be rendered by the table, where each object represents one row.
11371 * @return {?}
11372 */
11373 function () { return this._data.value; },
11374 set: /**
11375 * @param {?} data
11376 * @return {?}
11377 */
11378 function (data) { this._data.next(data); },
11379 enumerable: true,
11380 configurable: true
11381 });
11382 Object.defineProperty(SukaTableDataSource.prototype, "filter", {
11383 /**
11384 * Filter term that should be used to filter out objects from the data array. To override how
11385 * data objects match to this filter string, provide a custom function for filterPredicate.
11386 */
11387 get: /**
11388 * Filter term that should be used to filter out objects from the data array. To override how
11389 * data objects match to this filter string, provide a custom function for filterPredicate.
11390 * @return {?}
11391 */
11392 function () { return this._filter.value; },
11393 set: /**
11394 * @param {?} filter
11395 * @return {?}
11396 */
11397 function (filter) { this._filter.next(filter); },
11398 enumerable: true,
11399 configurable: true
11400 });
11401 Object.defineProperty(SukaTableDataSource.prototype, "paginator", {
11402 /**
11403 * Instance of the SukaSort directive used by the table to control its sorting. Sort changes
11404 * emitted by the SukaSort will trigger an update to the table's rendered data.
11405 */
11406 // get sort(): SukaSort | null { return this._sort; }
11407 // set sort(sort: SukaSort | null) {
11408 // this._sort = sort;
11409 // this._updateChangeSubscription();
11410 // }
11411 // private _sort: SukaSort | null;
11412 /**
11413 * Instance of the Pagination component used by the table to control what page of the data is
11414 * displayed. Page changes emitted by the Pagination will trigger an update to the
11415 * table's rendered data.
11416 *
11417 * Note that the data source uses the pagination's properties to calculate which page of data
11418 * should be displayed. If the pagination receives its properties as template inputs,
11419 * e.g. `[pageLength]=100` or `[pageIndex]=1`, then be sure that the pagination's view has been
11420 * initialized before assigning it to this data source.
11421 */
11422 get: /**
11423 * Instance of the SukaSort directive used by the table to control its sorting. Sort changes
11424 * emitted by the SukaSort will trigger an update to the table's rendered data.
11425 */
11426 // get sort(): SukaSort | null { return this._sort; }
11427 // set sort(sort: SukaSort | null) {
11428 // this._sort = sort;
11429 // this._updateChangeSubscription();
11430 // }
11431 // private _sort: SukaSort | null;
11432 /**
11433 * Instance of the Pagination component used by the table to control what page of the data is
11434 * displayed. Page changes emitted by the Pagination will trigger an update to the
11435 * table's rendered data.
11436 *
11437 * Note that the data source uses the pagination's properties to calculate which page of data
11438 * should be displayed. If the pagination receives its properties as template inputs,
11439 * e.g. `[pageLength]=100` or `[pageIndex]=1`, then be sure that the pagination's view has been
11440 * initialized before assigning it to this data source.
11441 * @return {?}
11442 */
11443 function () { return this._paginator; },
11444 set: /**
11445 * @param {?} paginator
11446 * @return {?}
11447 */
11448 function (paginator) {
11449 this._paginator = paginator;
11450 this._updateChangeSubscription();
11451 },
11452 enumerable: true,
11453 configurable: true
11454 });
11455 /**
11456 * Subscribe to changes that should trigger an update to the table's rendered rows. When the
11457 * changes occur, process the current state of the filter, sort, and pagination along with
11458 * the provided base data and send it to the table for rendering.
11459 */
11460 /**
11461 * Subscribe to changes that should trigger an update to the table's rendered rows. When the
11462 * changes occur, process the current state of the filter, sort, and pagination along with
11463 * the provided base data and send it to the table for rendering.
11464 * @return {?}
11465 */
11466 SukaTableDataSource.prototype._updateChangeSubscription = /**
11467 * Subscribe to changes that should trigger an update to the table's rendered rows. When the
11468 * changes occur, process the current state of the filter, sort, and pagination along with
11469 * the provided base data and send it to the table for rendering.
11470 * @return {?}
11471 */
11472 function () {
11473 var _this = this;
11474 // Sorting and/or pagination should be watched if SukaSort and/or SukaPaginator are provided.
11475 // The events should emit whenever the component emits a change or initializes, or if no
11476 // component is provided, a stream with just a null event should be provided.
11477 // The `sortChange` and `pageChange` acts as a signal to the combineLatests below so that the
11478 // pipeline can progress to the next step. Note that the value from these streams are not used,
11479 // they purely act as a signal to progress in the pipeline.
11480 // const sortChange: Observable<Sort | null | void> = this._sort ?
11481 // merge(this._sort.sortChange, this._sort.initialized) as Observable<Sort | void> :
11482 // observableOf(null);
11483 /** @type {?} */
11484 var pageChange = this._paginator ?
11485 (/** @type {?} */ (rxjs.merge(this._paginator.page, this._internalPageChanges, this._paginator.initialized))) :
11486 rxjs.of(null);
11487 /** @type {?} */
11488 var dataStream = this._data;
11489 // Watch for base data or filter changes to provide a filtered set of data.
11490 /** @type {?} */
11491 var filteredData = rxjs.combineLatest([dataStream, this._filter])
11492 .pipe(operators.map((/**
11493 * @param {?} __0
11494 * @return {?}
11495 */
11496 function (_a) {
11497 var _b = __read(_a, 1), data = _b[0];
11498 return _this._filterData(data);
11499 })));
11500 // Watch for filtered data or sort changes to provide an ordered set of data.
11501 // const orderedData = combineLatest([filteredData, sortChange])
11502 // .pipe(map(([data]) => this._orderData(data)));
11503 // Watch for ordered data or page changes to provide a paged set of data.
11504 // const paginatedData = combineLatest([orderedData, pageChange])
11505 // .pipe(map(([data]) => this._pageData(data)));
11506 /** @type {?} */
11507 var paginatedData = rxjs.combineLatest([filteredData, pageChange])
11508 .pipe(operators.map((/**
11509 * @param {?} __0
11510 * @return {?}
11511 */
11512 function (_a) {
11513 var _b = __read(_a, 1), data = _b[0];
11514 return _this._pageData(data);
11515 })));
11516 // Watched for paged data changes and send the result to the table to render.
11517 this._renderChangesSubscription.unsubscribe();
11518 this._renderChangesSubscription = paginatedData.subscribe((/**
11519 * @param {?} data
11520 * @return {?}
11521 */
11522 function (data) { return _this._renderData.next(data); }));
11523 };
11524 /**
11525 * Returns a filtered data array where each filter object contains the filter string within
11526 * the result of the filterTermAccessor function. If no filter is set, returns the data array
11527 * as provided.
11528 */
11529 /**
11530 * Returns a filtered data array where each filter object contains the filter string within
11531 * the result of the filterTermAccessor function. If no filter is set, returns the data array
11532 * as provided.
11533 * @param {?} data
11534 * @return {?}
11535 */
11536 SukaTableDataSource.prototype._filterData = /**
11537 * Returns a filtered data array where each filter object contains the filter string within
11538 * the result of the filterTermAccessor function. If no filter is set, returns the data array
11539 * as provided.
11540 * @param {?} data
11541 * @return {?}
11542 */
11543 function (data) {
11544 var _this = this;
11545 // If there is a filter string, filter out data that does not contain it.
11546 // Each data object is converted to a string using the function defined by filterTermAccessor.
11547 // May be overridden for customization.
11548 this.filteredData =
11549 !this.filter ? data : data.filter((/**
11550 * @param {?} obj
11551 * @return {?}
11552 */
11553 function (obj) { return _this.filterPredicate(obj, _this.filter); }));
11554 if (this.paginator) {
11555 this._updatePaginator(this.filteredData.length);
11556 }
11557 return this.filteredData;
11558 };
11559 /**
11560 * Returns a sorted copy of the data if SukaSort has a sort applied, otherwise just returns the
11561 * data array as provided. Uses the default data accessor for data lookup, unless a
11562 * sortDataAccessor function is defined.
11563 */
11564 // _orderData(data: T[]): T[] {
11565 // // If there is no active sort or direction, return the data without trying to sort.
11566 // if (!this.sort) { return data; }
11567 // return this.sortData(data.slice(), this.sort);
11568 // }
11569 /**
11570 * Returns a paged slice of the provided data array according to the provided SukaPaginator's page
11571 * index and length. If there is no paginator provided, returns the data array as provided.
11572 */
11573 /**
11574 * Returns a sorted copy of the data if SukaSort has a sort applied, otherwise just returns the
11575 * data array as provided. Uses the default data accessor for data lookup, unless a
11576 * sortDataAccessor function is defined.
11577 */
11578 // _orderData(data: T[]): T[] {
11579 // // If there is no active sort or direction, return the data without trying to sort.
11580 // if (!this.sort) { return data; }
11581 // return this.sortData(data.slice(), this.sort);
11582 // }
11583 /**
11584 * Returns a paged slice of the provided data array according to the provided SukaPaginator's page
11585 * index and length. If there is no paginator provided, returns the data array as provided.
11586 * @param {?} data
11587 * @return {?}
11588 */
11589 SukaTableDataSource.prototype._pageData = /**
11590 * Returns a sorted copy of the data if SukaSort has a sort applied, otherwise just returns the
11591 * data array as provided. Uses the default data accessor for data lookup, unless a
11592 * sortDataAccessor function is defined.
11593 */
11594 // _orderData(data: T[]): T[] {
11595 // // If there is no active sort or direction, return the data without trying to sort.
11596 // if (!this.sort) { return data; }
11597 // return this.sortData(data.slice(), this.sort);
11598 // }
11599 /**
11600 * Returns a paged slice of the provided data array according to the provided SukaPaginator's page
11601 * index and length. If there is no paginator provided, returns the data array as provided.
11602 * @param {?} data
11603 * @return {?}
11604 */
11605 function (data) {
11606 if (!this.paginator) {
11607 return data;
11608 }
11609 /** @type {?} */
11610 var startIndex = this.paginator.pageIndex * this.paginator.pageSize;
11611 return data.slice(startIndex, startIndex + this.paginator.pageSize);
11612 };
11613 /**
11614 * Updates the paginator to reflect the length of the filtered data, and makes sure that the page
11615 * index does not exceed the paginator's last page. Values are changed in a resolved promise to
11616 * guard against making property changes within a round of change detection.
11617 */
11618 /**
11619 * Updates the paginator to reflect the length of the filtered data, and makes sure that the page
11620 * index does not exceed the paginator's last page. Values are changed in a resolved promise to
11621 * guard against making property changes within a round of change detection.
11622 * @param {?} filteredDataLength
11623 * @return {?}
11624 */
11625 SukaTableDataSource.prototype._updatePaginator = /**
11626 * Updates the paginator to reflect the length of the filtered data, and makes sure that the page
11627 * index does not exceed the paginator's last page. Values are changed in a resolved promise to
11628 * guard against making property changes within a round of change detection.
11629 * @param {?} filteredDataLength
11630 * @return {?}
11631 */
11632 function (filteredDataLength) {
11633 var _this = this;
11634 Promise.resolve().then((/**
11635 * @return {?}
11636 */
11637 function () {
11638 /** @type {?} */
11639 var paginator = _this.paginator;
11640 if (!paginator) {
11641 return;
11642 }
11643 paginator.length = filteredDataLength;
11644 // If the page index is set beyond the page, reduce it to the last page.
11645 if (paginator.pageIndex > 0) {
11646 /** @type {?} */
11647 var lastPageIndex = Math.ceil(paginator.length / paginator.pageSize) - 1 || 0;
11648 /** @type {?} */
11649 var newPageIndex = Math.min(paginator.pageIndex, lastPageIndex);
11650 if (newPageIndex !== paginator.pageIndex) {
11651 paginator.pageIndex = newPageIndex;
11652 // Since the paginator only emits after user-generated changes,
11653 // we need our own stream so we know to should re-render the data.
11654 _this._internalPageChanges.next();
11655 }
11656 }
11657 }));
11658 };
11659 /**
11660 * Used by the SukaTable. Called when it connects to the data source.
11661 * @docs-private
11662 */
11663 /**
11664 * Used by the SukaTable. Called when it connects to the data source.
11665 * \@docs-private
11666 * @return {?}
11667 */
11668 SukaTableDataSource.prototype.connect = /**
11669 * Used by the SukaTable. Called when it connects to the data source.
11670 * \@docs-private
11671 * @return {?}
11672 */
11673 function () { return this._renderData; };
11674 /**
11675 * Used by the SukaTable. Called when it is destroyed. No-op.
11676 * @docs-private
11677 */
11678 /**
11679 * Used by the SukaTable. Called when it is destroyed. No-op.
11680 * \@docs-private
11681 * @return {?}
11682 */
11683 SukaTableDataSource.prototype.disconnect = /**
11684 * Used by the SukaTable. Called when it is destroyed. No-op.
11685 * \@docs-private
11686 * @return {?}
11687 */
11688 function () { };
11689 return SukaTableDataSource;
11690 }(table.DataSource));
11691 if (false) {
11692 /**
11693 * Stream that emits when a new data array is set on the data source.
11694 * @type {?}
11695 * @private
11696 */
11697 SukaTableDataSource.prototype._data;
11698 /**
11699 * Stream emitting render data to the table (depends on ordered data changes).
11700 * @type {?}
11701 * @private
11702 */
11703 SukaTableDataSource.prototype._renderData;
11704 /**
11705 * Stream that emits when a new filter string is set on the data source.
11706 * @type {?}
11707 * @private
11708 */
11709 SukaTableDataSource.prototype._filter;
11710 /**
11711 * Used to react to internal changes of the paginator that are made by the data source itself.
11712 * @type {?}
11713 * @private
11714 */
11715 SukaTableDataSource.prototype._internalPageChanges;
11716 /**
11717 * Subscription to the changes that should trigger an update to the table's rendered rows, such
11718 * as filtering, sorting, pagination, or base data changes.
11719 * @type {?}
11720 */
11721 SukaTableDataSource.prototype._renderChangesSubscription;
11722 /**
11723 * The filtered set of data that has been matched by the filter string, or all the data if there
11724 * is no filter. Useful for knowing the set of data the table represents.
11725 * For example, a 'selectAll()' function would likely want to select the set of filtered data
11726 * shown to the user rather than all the data.
11727 * @type {?}
11728 */
11729 SukaTableDataSource.prototype.filteredData;
11730 /**
11731 * @type {?}
11732 * @private
11733 */
11734 SukaTableDataSource.prototype._paginator;
11735 /**
11736 * Checks if a data object matches the data source's filter string. By default, each data object
11737 * is converted to a string of its properties and returns true if the filter has
11738 * at least one occurrence in that string. By default, the filter string has its whitespace
11739 * trimmed and the match is case-insensitive. May be overridden for a custom implementation of
11740 * filter matching.
11741 * \@param data Data object used to check against the filter.
11742 * \@param filter Filter string that has been set on the data source.
11743 * \@return Whether the filter matches against the data
11744 * @type {?}
11745 */
11746 SukaTableDataSource.prototype.filterPredicate;
11747 }
11748
11749 /**
11750 * @fileoverview added by tsickle
11751 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
11752 */
11753 var SukaTableSkeleton = /** @class */ (function () {
11754 function SukaTableSkeleton() {
11755 this.baseClass = true;
11756 this.fullWidth = false;
11757 this.skeleton = false;
11758 this.columns = [];
11759 this.rowNumber = 5;
11760 this.rows = Array(this.rowNumber).fill(0).map((/**
11761 * @param {?} x
11762 * @param {?} i
11763 * @return {?}
11764 */
11765 function (x, i) { return i; }));
11766 }
11767 SukaTableSkeleton.decorators = [
11768 { type: core.Component, args: [{
11769 selector: 'suka-table-skeleton, table[suka-table-skeleton]',
11770 exportAs: 'sukaTableSkeleton',
11771 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 "
11772 }] }
11773 ];
11774 SukaTableSkeleton.propDecorators = {
11775 baseClass: [{ type: core.HostBinding, args: ['class.suka-table',] }],
11776 fullWidth: [{ type: core.HostBinding, args: ['class.suka-table--full-width',] }, { type: core.Input }],
11777 skeleton: [{ type: core.Input }],
11778 columns: [{ type: core.Input }],
11779 rowNumber: [{ type: core.Input }]
11780 };
11781 return SukaTableSkeleton;
11782 }());
11783 if (false) {
11784 /** @type {?} */
11785 SukaTableSkeleton.prototype.baseClass;
11786 /** @type {?} */
11787 SukaTableSkeleton.prototype.fullWidth;
11788 /** @type {?} */
11789 SukaTableSkeleton.prototype.skeleton;
11790 /** @type {?} */
11791 SukaTableSkeleton.prototype.columns;
11792 /** @type {?} */
11793 SukaTableSkeleton.prototype.rowNumber;
11794 /** @type {?} */
11795 SukaTableSkeleton.prototype.rows;
11796 }
11797
11798 /**
11799 * @fileoverview added by tsickle
11800 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
11801 */
11802 /** @type {?} */
11803 var EXPORTED_DECLARATIONS = [
11804 // Table
11805 SukaTable,
11806 SukaTableSkeleton,
11807 // Template defs
11808 SukaHeaderCellDef,
11809 SukaHeaderRowDef,
11810 SukaColumnDef,
11811 SukaCellDef,
11812 SukaRowDef,
11813 SukaFooterCellDef,
11814 SukaFooterRowDef,
11815 // Cell directives
11816 SukaHeaderCell,
11817 SukaCell,
11818 SukaFooterCell,
11819 // Row directives
11820 SukaHeaderRow,
11821 SukaRow,
11822 SukaFooterRow,
11823 ];
11824 var TableModule = /** @class */ (function () {
11825 function TableModule() {
11826 }
11827 TableModule.decorators = [
11828 { type: core.NgModule, args: [{
11829 imports: [
11830 common.CommonModule,
11831 table.CdkTableModule,
11832 PaginationModule,
11833 ],
11834 exports: __spread(EXPORTED_DECLARATIONS),
11835 declarations: [EXPORTED_DECLARATIONS],
11836 },] }
11837 ];
11838 return TableModule;
11839 }());
11840
11841 /**
11842 * @fileoverview added by tsickle
11843 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
11844 */
11845 var Navigation = /** @class */ (function () {
11846 function Navigation() {
11847 this.role = 'complementary';
11848 this.hostClass = true;
11849 /**
11850 * Controls the expanded (`true`) or collapsed (`false`) state when on a small screen.
11851 */
11852 this.expanded = true;
11853 /**
11854 * Controls the hidden (`true`) or visible (`false`) state
11855 */
11856 this.hidden = false;
11857 }
11858 /**
11859 * Toggles the `Navigation` expanded state.
11860 */
11861 /**
11862 * Toggles the `Navigation` expanded state.
11863 * @return {?}
11864 */
11865 Navigation.prototype.toggle = /**
11866 * Toggles the `Navigation` expanded state.
11867 * @return {?}
11868 */
11869 function () {
11870 this.expanded = !this.expanded;
11871 };
11872 Navigation.decorators = [
11873 { type: core.Component, args: [{
11874 selector: 'suka-navigation',
11875 template: "\n <nav role=\"navigation__container\">\n <ul class=\"navigation__items\">\n <ng-content></ng-content>\n </ul>\n </nav>\n ",
11876 encapsulation: core.ViewEncapsulation.None
11877 }] }
11878 ];
11879 Navigation.propDecorators = {
11880 role: [{ type: core.HostBinding, args: ['attr.role',] }],
11881 hostClass: [{ type: core.HostBinding, args: ['class.navigation',] }],
11882 expanded: [{ type: core.HostBinding, args: ['class.navigation--expanded',] }, { type: core.Input }],
11883 hidden: [{ type: core.HostBinding, args: ['class.navigation--hidden',] }, { type: core.Input }]
11884 };
11885 return Navigation;
11886 }());
11887 if (false) {
11888 /** @type {?} */
11889 Navigation.prototype.role;
11890 /** @type {?} */
11891 Navigation.prototype.hostClass;
11892 /**
11893 * Controls the expanded (`true`) or collapsed (`false`) state when on a small screen.
11894 * @type {?}
11895 */
11896 Navigation.prototype.expanded;
11897 /**
11898 * Controls the hidden (`true`) or visible (`false`) state
11899 * @type {?}
11900 */
11901 Navigation.prototype.hidden;
11902 }
11903
11904 /**
11905 * @fileoverview added by tsickle
11906 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
11907 */
11908 var NavigationItem = /** @class */ (function () {
11909 function NavigationItem(domSanitizer, router$1) {
11910 var _this = this;
11911 this.domSanitizer = domSanitizer;
11912 this.router = router$1;
11913 /**
11914 * Toggles the active (current page) state for the link.
11915 */
11916 this.active = false;
11917 /**
11918 * Emits the navigation status promise when the link is activated
11919 */
11920 this.navigation = new core.EventEmitter();
11921 this.isSubMenu = false;
11922 this._href = 'javascript:void(0)';
11923 if (router$1 && this.route) {
11924 this.subscription = router$1.events.subscribe((/**
11925 * @param {?} s
11926 * @return {?}
11927 */
11928 function (s) {
11929 if (s instanceof router.NavigationEnd) {
11930 _this.update();
11931 }
11932 }));
11933 }
11934 }
11935 Object.defineProperty(NavigationItem.prototype, "href", {
11936 get: /**
11937 * @return {?}
11938 */
11939 function () {
11940 return (/** @type {?} */ (this.domSanitizer.bypassSecurityTrustUrl(this._href)));
11941 },
11942 /**
11943 * Link for the item. NOTE: *do not* pass unsafe or untrusted values, this has the potential to open you up to XSS attacks
11944 */
11945 set: /**
11946 * Link for the item. NOTE: *do not* pass unsafe or untrusted values, this has the potential to open you up to XSS attacks
11947 * @param {?} v
11948 * @return {?}
11949 */
11950 function (v) {
11951 this._href = v;
11952 },
11953 enumerable: true,
11954 configurable: true
11955 });
11956 /**
11957 * @param {?} event
11958 * @return {?}
11959 */
11960 NavigationItem.prototype.navigate = /**
11961 * @param {?} event
11962 * @return {?}
11963 */
11964 function (event) {
11965 if (this.router && this.route) {
11966 event.preventDefault();
11967 /** @type {?} */
11968 var status_1 = this.router.navigate(this.route, this.routeExtras);
11969 this.navigation.emit(status_1);
11970 }
11971 };
11972 /**
11973 * @return {?}
11974 */
11975 NavigationItem.prototype.ngOnDestroy = /**
11976 * @return {?}
11977 */
11978 function () {
11979 if (this.subscription) {
11980 this.subscription.unsubscribe();
11981 }
11982 };
11983 /**
11984 * @private
11985 * @return {?}
11986 */
11987 NavigationItem.prototype.isActive = /**
11988 * @private
11989 * @return {?}
11990 */
11991 function () {
11992 if (this.router && this.route) {
11993 /** @type {?} */
11994 var itemUrl = this.router.createUrlTree(this.route, this.routeExtras);
11995 return this.router.isActive(itemUrl, true);
11996 }
11997 return false;
11998 };
11999 /**
12000 * @private
12001 * @return {?}
12002 */
12003 NavigationItem.prototype.update = /**
12004 * @private
12005 * @return {?}
12006 */
12007 function () {
12008 if (this.isActive()) {
12009 this.active = true;
12010 }
12011 else {
12012 this.active = false;
12013 }
12014 };
12015 NavigationItem.decorators = [
12016 { type: core.Component, args: [{
12017 selector: 'suka-navigation-item',
12018 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 "
12019 }] }
12020 ];
12021 /** @nocollapse */
12022 NavigationItem.ctorParameters = function () { return [
12023 { type: platformBrowser.DomSanitizer },
12024 { type: router.Router, decorators: [{ type: core.Optional }] }
12025 ]; };
12026 NavigationItem.propDecorators = {
12027 href: [{ type: core.Input }],
12028 active: [{ type: core.Input }],
12029 route: [{ type: core.Input }],
12030 routeExtras: [{ type: core.Input }],
12031 navigation: [{ type: core.Output }]
12032 };
12033 return NavigationItem;
12034 }());
12035 if (false) {
12036 /**
12037 * @type {?}
12038 * @private
12039 */
12040 NavigationItem.prototype.subscription;
12041 /**
12042 * Toggles the active (current page) state for the link.
12043 * @type {?}
12044 */
12045 NavigationItem.prototype.active;
12046 /**
12047 * Array of commands to send to the router when the link is activated
12048 * See: https://angular.io/api/router/Router#navigate
12049 * @type {?}
12050 */
12051 NavigationItem.prototype.route;
12052 /**
12053 * Router options. Used in conjunction with `route`
12054 * See: https://angular.io/api/router/Router#navigate
12055 * @type {?}
12056 */
12057 NavigationItem.prototype.routeExtras;
12058 /**
12059 * Emits the navigation status promise when the link is activated
12060 * @type {?}
12061 */
12062 NavigationItem.prototype.navigation;
12063 /** @type {?} */
12064 NavigationItem.prototype.isSubMenu;
12065 /**
12066 * @type {?}
12067 * @protected
12068 */
12069 NavigationItem.prototype._href;
12070 /**
12071 * @type {?}
12072 * @protected
12073 */
12074 NavigationItem.prototype.domSanitizer;
12075 /**
12076 * @type {?}
12077 * @protected
12078 */
12079 NavigationItem.prototype.router;
12080 }
12081
12082 /**
12083 * @fileoverview added by tsickle
12084 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12085 */
12086 /**
12087 * `SideNavMenu` provides a method to group `SideNavItem`s under a common heading.
12088 */
12089 var NavigationMenu = /** @class */ (function () {
12090 function NavigationMenu() {
12091 /**
12092 * Controls the visibility of the child `SideNavItem`s
12093 */
12094 this.expanded = false;
12095 this.childrenHeight = 0;
12096 }
12097 /**
12098 * @return {?}
12099 */
12100 NavigationMenu.prototype.ngAfterContentInit = /**
12101 * @return {?}
12102 */
12103 function () {
12104 var _this = this;
12105 setTimeout((/**
12106 * @return {?}
12107 */
12108 function () {
12109 _this.navigationItems.forEach((/**
12110 * @param {?} item
12111 * @return {?}
12112 */
12113 function (item) {
12114 item.isSubMenu = true;
12115 }));
12116 }));
12117 setTimeout((/**
12118 * @return {?}
12119 */
12120 function () {
12121 _this.navigationNativeItems.forEach((/**
12122 * @param {?} item
12123 * @return {?}
12124 */
12125 function (item) {
12126 item.nativeElement.children.forEach((/**
12127 * @param {?} children
12128 * @return {?}
12129 */
12130 function (children) {
12131 _this.childrenHeight += children.offsetHeight;
12132 }));
12133 }));
12134 }));
12135 };
12136 /**
12137 * @return {?}
12138 */
12139 NavigationMenu.prototype.toggle = /**
12140 * @return {?}
12141 */
12142 function () {
12143 this.expanded = !this.expanded;
12144 };
12145 NavigationMenu.decorators = [
12146 { type: core.Component, args: [{
12147 selector: 'suka-navigation-menu',
12148 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 "
12149 }] }
12150 ];
12151 NavigationMenu.propDecorators = {
12152 title: [{ type: core.Input }],
12153 expanded: [{ type: core.Input }],
12154 navigationItems: [{ type: core.ContentChildren, args: [NavigationItem,] }],
12155 navigationNativeItems: [{ type: core.ContentChildren, args: [NavigationItem, { read: core.ElementRef },] }]
12156 };
12157 return NavigationMenu;
12158 }());
12159 if (false) {
12160 /**
12161 * Heading for the gorup
12162 * @type {?}
12163 */
12164 NavigationMenu.prototype.title;
12165 /**
12166 * Controls the visibility of the child `SideNavItem`s
12167 * @type {?}
12168 */
12169 NavigationMenu.prototype.expanded;
12170 /** @type {?} */
12171 NavigationMenu.prototype.navigationItems;
12172 /** @type {?} */
12173 NavigationMenu.prototype.navigationNativeItems;
12174 /** @type {?} */
12175 NavigationMenu.prototype.childrenHeight;
12176 }
12177
12178 /**
12179 * @fileoverview added by tsickle
12180 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12181 */
12182 var MobileNavigation = /** @class */ (function () {
12183 function MobileNavigation() {
12184 this.role = 'complementary';
12185 this.hostClass = true;
12186 /**
12187 * Controls the expanded (`true`) or collapsed (`false`) state when on a small screen.
12188 */
12189 this.expanded = false;
12190 /**
12191 * Controls the hidden (`true`) or visible (`false`) state
12192 */
12193 this.hidden = false;
12194 }
12195 /**
12196 * @return {?}
12197 */
12198 MobileNavigation.prototype.toggle = /**
12199 * @return {?}
12200 */
12201 function () {
12202 this.expanded = !this.expanded;
12203 };
12204 MobileNavigation.decorators = [
12205 { type: core.Component, args: [{
12206 selector: 'suka-mobile-navigation',
12207 template: "\n <button class=\"nav-toggle\" (click)=\"toggle()\"><suka-icon icon=\"menu\"></suka-icon> Navegaci\u00F3n</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\u00F3n\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 ",
12208 encapsulation: core.ViewEncapsulation.None
12209 }] }
12210 ];
12211 /** @nocollapse */
12212 MobileNavigation.ctorParameters = function () { return []; };
12213 MobileNavigation.propDecorators = {
12214 role: [{ type: core.HostBinding, args: ['attr.role',] }],
12215 hostClass: [{ type: core.HostBinding, args: ['class.mobile-navigation',] }],
12216 expanded: [{ type: core.HostBinding, args: ['class.mobile-navigation--expanded',] }, { type: core.Input }],
12217 hidden: [{ type: core.HostBinding, args: ['class.mobile-navigation--hidden',] }, { type: core.Input }]
12218 };
12219 return MobileNavigation;
12220 }());
12221 if (false) {
12222 /** @type {?} */
12223 MobileNavigation.prototype.role;
12224 /** @type {?} */
12225 MobileNavigation.prototype.hostClass;
12226 /**
12227 * Controls the expanded (`true`) or collapsed (`false`) state when on a small screen.
12228 * @type {?}
12229 */
12230 MobileNavigation.prototype.expanded;
12231 /**
12232 * Controls the hidden (`true`) or visible (`false`) state
12233 * @type {?}
12234 */
12235 MobileNavigation.prototype.hidden;
12236 }
12237
12238 /**
12239 * @fileoverview added by tsickle
12240 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12241 */
12242 var NavigationModule = /** @class */ (function () {
12243 function NavigationModule() {
12244 }
12245 NavigationModule.decorators = [
12246 { type: core.NgModule, args: [{
12247 declarations: [
12248 Navigation,
12249 NavigationItem,
12250 NavigationMenu,
12251 MobileNavigation,
12252 ],
12253 imports: [
12254 common.CommonModule,
12255 IconModule,
12256 ButtonModule,
12257 ],
12258 exports: [
12259 Navigation,
12260 NavigationItem,
12261 NavigationMenu,
12262 MobileNavigation,
12263 ]
12264 },] }
12265 ];
12266 return NavigationModule;
12267 }());
12268
12269 /**
12270 * @fileoverview added by tsickle
12271 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12272 */
12273 var Badge = /** @class */ (function () {
12274 function Badge() {
12275 /**
12276 * Sets the badge type. Can be `default`, `info`, `success`, `attention`, `alert` or `disabled`. Defaults to `default`.
12277 */
12278 this.type = 'default';
12279 /**
12280 * Badge size. Defaults to `md`.
12281 */
12282 this.size = 'md';
12283 this.class = '';
12284 }
12285 Object.defineProperty(Badge.prototype, "attrClass", {
12286 get: /**
12287 * @return {?}
12288 */
12289 function () {
12290 return "badge badge--" + this.type + " badge--" + this.size + " " + this.class;
12291 },
12292 enumerable: true,
12293 configurable: true
12294 });
12295 Badge.decorators = [
12296 { type: core.Component, args: [{
12297 selector: 'suka-badge',
12298 template: "<ng-content></ng-content>"
12299 }] }
12300 ];
12301 Badge.propDecorators = {
12302 type: [{ type: core.Input }],
12303 size: [{ type: core.Input }],
12304 class: [{ type: core.Input }],
12305 attrClass: [{ type: core.HostBinding, args: ['attr.class',] }]
12306 };
12307 return Badge;
12308 }());
12309 if (false) {
12310 /**
12311 * Sets the badge type. Can be `default`, `info`, `success`, `attention`, `alert` or `disabled`. Defaults to `default`.
12312 * @type {?}
12313 */
12314 Badge.prototype.type;
12315 /**
12316 * Badge size. Defaults to `md`.
12317 * @type {?}
12318 */
12319 Badge.prototype.size;
12320 /** @type {?} */
12321 Badge.prototype.class;
12322 }
12323
12324 /**
12325 * @fileoverview added by tsickle
12326 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12327 */
12328 var BadgeModule = /** @class */ (function () {
12329 function BadgeModule() {
12330 }
12331 BadgeModule.decorators = [
12332 { type: core.NgModule, args: [{
12333 declarations: [
12334 Badge
12335 ],
12336 exports: [
12337 Badge
12338 ],
12339 imports: [
12340 common.CommonModule
12341 ]
12342 },] }
12343 ];
12344 return BadgeModule;
12345 }());
12346
12347 /**
12348 * @fileoverview added by tsickle
12349 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12350 */
12351 var Topbar = /** @class */ (function () {
12352 function Topbar(domSanitizer, router) {
12353 this.domSanitizer = domSanitizer;
12354 this.router = router;
12355 /**
12356 * Put topbar contents inside a container. Defaults to `false`
12357 */
12358 this.insideContainer = false;
12359 /**
12360 * Top level branding. Defaults to "Kushki"
12361 */
12362 this.brand = 'Kushki';
12363 /**
12364 * Emits the navigation status promise when the link is activated
12365 */
12366 this.navigation = new core.EventEmitter();
12367 this._href = 'javascript:void(0)';
12368 }
12369 Object.defineProperty(Topbar.prototype, "href", {
12370 get: /**
12371 * @return {?}
12372 */
12373 function () {
12374 return (/** @type {?} */ (this.domSanitizer.bypassSecurityTrustUrl(this._href)));
12375 },
12376 /**
12377 * Optional link for the header
12378 */
12379 set: /**
12380 * Optional link for the header
12381 * @param {?} v
12382 * @return {?}
12383 */
12384 function (v) {
12385 this._href = v;
12386 },
12387 enumerable: true,
12388 configurable: true
12389 });
12390 /**
12391 * @param {?} value
12392 * @return {?}
12393 */
12394 Topbar.prototype.isTemplate = /**
12395 * @param {?} value
12396 * @return {?}
12397 */
12398 function (value) {
12399 return value instanceof core.TemplateRef;
12400 };
12401 /**
12402 * @param {?} event
12403 * @return {?}
12404 */
12405 Topbar.prototype.navigate = /**
12406 * @param {?} event
12407 * @return {?}
12408 */
12409 function (event) {
12410 if (this.router && this.route) {
12411 event.preventDefault();
12412 /** @type {?} */
12413 var status_1 = this.router.navigate(this.route, this.routeExtras);
12414 this.navigation.emit(status_1);
12415 }
12416 };
12417 Topbar.decorators = [
12418 { type: core.Component, args: [{
12419 selector: 'suka-topbar',
12420 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 "
12421 }] }
12422 ];
12423 /** @nocollapse */
12424 Topbar.ctorParameters = function () { return [
12425 { type: platformBrowser.DomSanitizer },
12426 { type: router.Router, decorators: [{ type: core.Optional }] }
12427 ]; };
12428 Topbar.propDecorators = {
12429 insideContainer: [{ type: core.Input }],
12430 productName: [{ type: core.Input }],
12431 logoSrc: [{ type: core.Input }],
12432 brand: [{ type: core.Input }],
12433 href: [{ type: core.Input }],
12434 route: [{ type: core.Input }],
12435 routeExtras: [{ type: core.Input }],
12436 navigation: [{ type: core.Output }]
12437 };
12438 return Topbar;
12439 }());
12440 if (false) {
12441 /**
12442 * Put topbar contents inside a container. Defaults to `false`
12443 * @type {?}
12444 */
12445 Topbar.prototype.insideContainer;
12446 /**
12447 * Label that shows to the right of the `brand`.
12448 * @type {?}
12449 */
12450 Topbar.prototype.productName;
12451 /**
12452 * Source for the header logo.
12453 * @type {?}
12454 */
12455 Topbar.prototype.logoSrc;
12456 /**
12457 * Top level branding. Defaults to "Kushki"
12458 * @type {?}
12459 */
12460 Topbar.prototype.brand;
12461 /**
12462 * Array of commands to send to the router when the link is activated
12463 * See: https://angular.io/api/router/Router#navigate
12464 * @type {?}
12465 */
12466 Topbar.prototype.route;
12467 /**
12468 * Router options. Used in conjunction with `route`
12469 * See: https://angular.io/api/router/Router#navigate
12470 * @type {?}
12471 */
12472 Topbar.prototype.routeExtras;
12473 /**
12474 * Emits the navigation status promise when the link is activated
12475 * @type {?}
12476 */
12477 Topbar.prototype.navigation;
12478 /**
12479 * @type {?}
12480 * @protected
12481 */
12482 Topbar.prototype._href;
12483 /**
12484 * @type {?}
12485 * @protected
12486 */
12487 Topbar.prototype.domSanitizer;
12488 /**
12489 * @type {?}
12490 * @protected
12491 */
12492 Topbar.prototype.router;
12493 }
12494
12495 /**
12496 * @fileoverview added by tsickle
12497 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12498 */
12499 var TopbarGlobal = /** @class */ (function () {
12500 function TopbarGlobal() {
12501 this.hostClass = true;
12502 }
12503 TopbarGlobal.decorators = [
12504 { type: core.Component, args: [{
12505 selector: 'suka-topbar-global',
12506 template: "\n <ng-content></ng-content>\n "
12507 }] }
12508 ];
12509 TopbarGlobal.propDecorators = {
12510 hostClass: [{ type: core.HostBinding, args: ['class.topbar__global',] }]
12511 };
12512 return TopbarGlobal;
12513 }());
12514 if (false) {
12515 /** @type {?} */
12516 TopbarGlobal.prototype.hostClass;
12517 }
12518
12519 /**
12520 * @fileoverview added by tsickle
12521 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12522 */
12523 var TopbarNavigation = /** @class */ (function () {
12524 function TopbarNavigation() {
12525 }
12526 TopbarNavigation.decorators = [
12527 { type: core.Component, args: [{
12528 selector: 'suka-topbar-navigation',
12529 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 "
12530 }] }
12531 ];
12532 TopbarNavigation.propDecorators = {
12533 ariaLabel: [{ type: core.Input }]
12534 };
12535 return TopbarNavigation;
12536 }());
12537 if (false) {
12538 /** @type {?} */
12539 TopbarNavigation.prototype.ariaLabel;
12540 }
12541
12542 /**
12543 * @fileoverview added by tsickle
12544 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12545 */
12546 var TopbarItem = /** @class */ (function () {
12547 function TopbarItem(domSanitizer, router) {
12548 this.domSanitizer = domSanitizer;
12549 this.router = router;
12550 /**
12551 * Emits the navigation status promise when the link is activated
12552 */
12553 this.navigation = new core.EventEmitter();
12554 this._href = 'javascript:void(0)';
12555 }
12556 Object.defineProperty(TopbarItem.prototype, "href", {
12557 get: /**
12558 * @return {?}
12559 */
12560 function () {
12561 return (/** @type {?} */ (this.domSanitizer.bypassSecurityTrustUrl(this._href)));
12562 },
12563 set: /**
12564 * @param {?} v
12565 * @return {?}
12566 */
12567 function (v) {
12568 this._href = v;
12569 },
12570 enumerable: true,
12571 configurable: true
12572 });
12573 /**
12574 * @param {?} event
12575 * @return {?}
12576 */
12577 TopbarItem.prototype.navigate = /**
12578 * @param {?} event
12579 * @return {?}
12580 */
12581 function (event) {
12582 if (this.router && this.route) {
12583 event.preventDefault();
12584 /** @type {?} */
12585 var status_1 = this.router.navigate(this.route, this.routeExtras);
12586 this.navigation.emit(status_1);
12587 }
12588 };
12589 TopbarItem.decorators = [
12590 { type: core.Component, args: [{
12591 selector: 'suka-topbar-item',
12592 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 "
12593 }] }
12594 ];
12595 /** @nocollapse */
12596 TopbarItem.ctorParameters = function () { return [
12597 { type: platformBrowser.DomSanitizer },
12598 { type: router.Router, decorators: [{ type: core.Optional }] }
12599 ]; };
12600 TopbarItem.propDecorators = {
12601 href: [{ type: core.Input }],
12602 route: [{ type: core.Input }],
12603 routeExtras: [{ type: core.Input }],
12604 navigation: [{ type: core.Output }],
12605 icon: [{ type: core.Input }]
12606 };
12607 return TopbarItem;
12608 }());
12609 if (false) {
12610 /**
12611 * Array of commands to send to the router when the link is activated
12612 * See: https://angular.io/api/router/Router#navigate
12613 * @type {?}
12614 */
12615 TopbarItem.prototype.route;
12616 /**
12617 * Router options. Used in conjunction with `route`
12618 * See: https://angular.io/api/router/Router#navigate
12619 * @type {?}
12620 */
12621 TopbarItem.prototype.routeExtras;
12622 /**
12623 * Emits the navigation status promise when the link is activated
12624 * @type {?}
12625 */
12626 TopbarItem.prototype.navigation;
12627 /**
12628 * Icon for topbar item.
12629 * @type {?}
12630 */
12631 TopbarItem.prototype.icon;
12632 /**
12633 * @type {?}
12634 * @protected
12635 */
12636 TopbarItem.prototype._href;
12637 /**
12638 * @type {?}
12639 * @protected
12640 */
12641 TopbarItem.prototype.domSanitizer;
12642 /**
12643 * @type {?}
12644 * @protected
12645 */
12646 TopbarItem.prototype.router;
12647 }
12648
12649 /**
12650 * @fileoverview added by tsickle
12651 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12652 */
12653 var TopbarMenu = /** @class */ (function () {
12654 function TopbarMenu(domSanitizer, elementRef) {
12655 this.domSanitizer = domSanitizer;
12656 this.elementRef = elementRef;
12657 this.trigger = 'click';
12658 this.expanded = false;
12659 this._href = 'javascript:void(0)';
12660 }
12661 Object.defineProperty(TopbarMenu.prototype, "href", {
12662 get: /**
12663 * @return {?}
12664 */
12665 function () {
12666 return (/** @type {?} */ (this.domSanitizer.bypassSecurityTrustUrl(this._href)));
12667 },
12668 set: /**
12669 * @param {?} v
12670 * @return {?}
12671 */
12672 function (v) {
12673 this._href = v;
12674 },
12675 enumerable: true,
12676 configurable: true
12677 });
12678 /**
12679 * @return {?}
12680 */
12681 TopbarMenu.prototype.onClick = /**
12682 * @return {?}
12683 */
12684 function () {
12685 if (this.trigger === 'click') {
12686 this.expanded = !this.expanded;
12687 }
12688 };
12689 /**
12690 * @return {?}
12691 */
12692 TopbarMenu.prototype.onMouseOver = /**
12693 * @return {?}
12694 */
12695 function () {
12696 if (this.trigger === 'mouseover') {
12697 this.expanded = true;
12698 }
12699 };
12700 /**
12701 * @return {?}
12702 */
12703 TopbarMenu.prototype.onMouseOut = /**
12704 * @return {?}
12705 */
12706 function () {
12707 if (this.trigger === 'mouseover') {
12708 this.expanded = false;
12709 }
12710 };
12711 /**
12712 * @param {?} event
12713 * @return {?}
12714 */
12715 TopbarMenu.prototype.onFocusOut = /**
12716 * @param {?} event
12717 * @return {?}
12718 */
12719 function (event) {
12720 if (!this.elementRef.nativeElement.contains(event.relatedTarget)) {
12721 this.expanded = false;
12722 }
12723 };
12724 TopbarMenu.decorators = [
12725 { type: core.Component, args: [{
12726 selector: 'suka-topbar-menu',
12727 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 "
12728 }] }
12729 ];
12730 /** @nocollapse */
12731 TopbarMenu.ctorParameters = function () { return [
12732 { type: platformBrowser.DomSanitizer },
12733 { type: core.ElementRef }
12734 ]; };
12735 TopbarMenu.propDecorators = {
12736 href: [{ type: core.Input }],
12737 trigger: [{ type: core.Input }],
12738 onClick: [{ type: core.HostListener, args: ['click',] }],
12739 onMouseOver: [{ type: core.HostListener, args: ['mouseover',] }],
12740 onMouseOut: [{ type: core.HostListener, args: ['mouseout',] }],
12741 onFocusOut: [{ type: core.HostListener, args: ['focusout', ['$event'],] }]
12742 };
12743 return TopbarMenu;
12744 }());
12745 if (false) {
12746 /** @type {?} */
12747 TopbarMenu.prototype.trigger;
12748 /** @type {?} */
12749 TopbarMenu.prototype.expanded;
12750 /**
12751 * @type {?}
12752 * @protected
12753 */
12754 TopbarMenu.prototype._href;
12755 /**
12756 * @type {?}
12757 * @protected
12758 */
12759 TopbarMenu.prototype.domSanitizer;
12760 /**
12761 * @type {?}
12762 * @protected
12763 */
12764 TopbarMenu.prototype.elementRef;
12765 }
12766
12767 /**
12768 * @fileoverview added by tsickle
12769 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12770 */
12771 var TopbarModule = /** @class */ (function () {
12772 function TopbarModule() {
12773 }
12774 TopbarModule.decorators = [
12775 { type: core.NgModule, args: [{
12776 declarations: [
12777 Topbar,
12778 TopbarGlobal,
12779 TopbarNavigation,
12780 TopbarItem,
12781 TopbarMenu,
12782 ],
12783 imports: [
12784 common.CommonModule,
12785 IconModule,
12786 ],
12787 exports: [
12788 Topbar,
12789 TopbarGlobal,
12790 TopbarNavigation,
12791 TopbarItem,
12792 TopbarMenu,
12793 ]
12794 },] }
12795 ];
12796 return TopbarModule;
12797 }());
12798
12799 /**
12800 * @fileoverview added by tsickle
12801 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12802 */
12803 var Frame = /** @class */ (function () {
12804 function Frame(breakpointObserver) {
12805 var _this = this;
12806 this.baseClass = true;
12807 this.mobile = false;
12808 breakpointObserver.observe('(max-width: 768px)').subscribe((/**
12809 * @param {?} result
12810 * @return {?}
12811 */
12812 function (result) {
12813 if (result.matches) {
12814 _this.activateHandsetLayout();
12815 }
12816 else {
12817 _this.activateDesktopLayout();
12818 }
12819 }));
12820 }
12821 /**
12822 * Activates handset layout
12823 */
12824 /**
12825 * Activates handset layout
12826 * @return {?}
12827 */
12828 Frame.prototype.activateHandsetLayout = /**
12829 * Activates handset layout
12830 * @return {?}
12831 */
12832 function () {
12833 this.mobile = true;
12834 };
12835 /**
12836 * Activates desktop layout
12837 */
12838 /**
12839 * Activates desktop layout
12840 * @return {?}
12841 */
12842 Frame.prototype.activateDesktopLayout = /**
12843 * Activates desktop layout
12844 * @return {?}
12845 */
12846 function () {
12847 this.mobile = false;
12848 };
12849 Frame.decorators = [
12850 { type: core.Component, args: [{
12851 selector: 'suka-frame',
12852 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 "
12853 }] }
12854 ];
12855 /** @nocollapse */
12856 Frame.ctorParameters = function () { return [
12857 { type: layout.BreakpointObserver }
12858 ]; };
12859 Frame.propDecorators = {
12860 baseClass: [{ type: core.HostBinding, args: ['class.frame',] }],
12861 mobile: [{ type: core.HostBinding, args: ['class.frame--mobile',] }]
12862 };
12863 return Frame;
12864 }());
12865 if (false) {
12866 /** @type {?} */
12867 Frame.prototype.baseClass;
12868 /** @type {?} */
12869 Frame.prototype.mobile;
12870 }
12871
12872 /**
12873 * @fileoverview added by tsickle
12874 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12875 */
12876 var FrameModule = /** @class */ (function () {
12877 function FrameModule() {
12878 }
12879 FrameModule.decorators = [
12880 { type: core.NgModule, args: [{
12881 declarations: [
12882 Frame,
12883 ],
12884 exports: [
12885 Frame,
12886 ],
12887 imports: [
12888 common.CommonModule,
12889 layout.LayoutModule,
12890 NavigationModule,
12891 ]
12892 },] }
12893 ];
12894 return FrameModule;
12895 }());
12896
12897 /**
12898 * @fileoverview added by tsickle
12899 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12900 */
12901 var Breadcrumb = /** @class */ (function () {
12902 // Build your breadcrumb starting with the root route of your current activated route
12903 function Breadcrumb(activatedRoute, router) {
12904 this.activatedRoute = activatedRoute;
12905 this.router = router;
12906 }
12907 /**
12908 * @return {?}
12909 */
12910 Breadcrumb.prototype.ngOnInit = /**
12911 * @return {?}
12912 */
12913 function () {
12914 var _this = this;
12915 if (this.router) {
12916 this.breadcrumbs$ = this.router.events.pipe(operators.filter((/**
12917 * @param {?} event
12918 * @return {?}
12919 */
12920 function (event) { return event instanceof router.NavigationEnd; })), operators.distinctUntilChanged(), operators.map((/**
12921 * @param {?} event
12922 * @return {?}
12923 */
12924 function (event) { return _this.buildBreadcrumb(_this.activatedRoute.root); })));
12925 }
12926 };
12927 /**
12928 * @param {?} route
12929 * @param {?=} url
12930 * @param {?=} breadcrumbs
12931 * @return {?}
12932 */
12933 Breadcrumb.prototype.buildBreadcrumb = /**
12934 * @param {?} route
12935 * @param {?=} url
12936 * @param {?=} breadcrumbs
12937 * @return {?}
12938 */
12939 function (route, url, breadcrumbs) {
12940 if (url === void 0) { url = ''; }
12941 if (breadcrumbs === void 0) { breadcrumbs = []; }
12942 // If no routeConfig is avalailable we are on the root path
12943 /** @type {?} */
12944 var label = route.routeConfig ? route.routeConfig.data['breadcrumb'] : 'Inicio';
12945 /** @type {?} */
12946 var path = route.routeConfig ? route.routeConfig.path : '';
12947 // In the routeConfig the complete path is not available,
12948 // so we rebuild it each time
12949 /** @type {?} */
12950 var nextUrl = "" + url + path + "/";
12951 /** @type {?} */
12952 var breadcrumb = {
12953 label: label,
12954 url: nextUrl,
12955 };
12956 /** @type {?} */
12957 var newBreadcrumbs = __spread(breadcrumbs, [breadcrumb]);
12958 if (route.firstChild) {
12959 // If we are not on our current path yet,
12960 // there will be more children to look after, to build our breadcumb
12961 return this.buildBreadcrumb(route.firstChild, nextUrl, newBreadcrumbs);
12962 }
12963 return newBreadcrumbs;
12964 };
12965 Breadcrumb.decorators = [
12966 { type: core.Component, args: [{
12967 selector: 'suka-breadcrumb',
12968 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 ",
12969 encapsulation: core.ViewEncapsulation.None
12970 }] }
12971 ];
12972 /** @nocollapse */
12973 Breadcrumb.ctorParameters = function () { return [
12974 { type: router.ActivatedRoute, decorators: [{ type: core.Optional }] },
12975 { type: router.Router, decorators: [{ type: core.Optional }] }
12976 ]; };
12977 return Breadcrumb;
12978 }());
12979 if (false) {
12980 /**
12981 * @ignore
12982 * @type {?}
12983 */
12984 Breadcrumb.prototype.breadcrumbs$;
12985 /**
12986 * @type {?}
12987 * @private
12988 */
12989 Breadcrumb.prototype.activatedRoute;
12990 /** @type {?} */
12991 Breadcrumb.prototype.router;
12992 }
12993
12994 /**
12995 * @fileoverview added by tsickle
12996 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12997 */
12998 var BreadcrumbModule = /** @class */ (function () {
12999 function BreadcrumbModule() {
13000 }
13001 BreadcrumbModule.decorators = [
13002 { type: core.NgModule, args: [{
13003 declarations: [
13004 Breadcrumb,
13005 ],
13006 exports: [
13007 Breadcrumb,
13008 ],
13009 imports: [
13010 common.CommonModule,
13011 router.RouterModule,
13012 IconModule,
13013 ]
13014 },] }
13015 ];
13016 return BreadcrumbModule;
13017 }());
13018
13019 /**
13020 * @fileoverview added by tsickle
13021 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
13022 */
13023 var Page = /** @class */ (function () {
13024 function Page() {
13025 this.narrow = false;
13026 this.default = true;
13027 this._fluid = false;
13028 this.breadcrumb = true;
13029 }
13030 /**
13031 * @return {?}
13032 */
13033 Page.prototype.ngOnInit = /**
13034 * @return {?}
13035 */
13036 function () {
13037 if (this.fluid) {
13038 this._fluid = true;
13039 this.default = false;
13040 }
13041 };
13042 Page.decorators = [
13043 { type: core.Component, args: [{
13044 selector: 'suka-page',
13045 template: "\n <suka-page-header [breadcrumb]=\"breadcrumb\" [title]=\"title\" [subtitle]=\"subtitle\" [actions]=\"actions\"></suka-page-header>\n\n <ng-content></ng-content>\n "
13046 }] }
13047 ];
13048 Page.propDecorators = {
13049 fluid: [{ type: core.Input }],
13050 narrow: [{ type: core.HostBinding, args: ['class.page--narrow',] }, { type: core.Input }],
13051 default: [{ type: core.HostBinding, args: ['class.page',] }],
13052 _fluid: [{ type: core.HostBinding, args: ['class.page--fluid',] }],
13053 title: [{ type: core.Input }],
13054 subtitle: [{ type: core.Input }],
13055 actions: [{ type: core.Input }],
13056 breadcrumb: [{ type: core.Input }]
13057 };
13058 return Page;
13059 }());
13060 if (false) {
13061 /** @type {?} */
13062 Page.prototype.fluid;
13063 /** @type {?} */
13064 Page.prototype.narrow;
13065 /** @type {?} */
13066 Page.prototype.default;
13067 /** @type {?} */
13068 Page.prototype._fluid;
13069 /** @type {?} */
13070 Page.prototype.title;
13071 /** @type {?} */
13072 Page.prototype.subtitle;
13073 /** @type {?} */
13074 Page.prototype.actions;
13075 /** @type {?} */
13076 Page.prototype.breadcrumb;
13077 }
13078
13079 /**
13080 * @fileoverview added by tsickle
13081 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
13082 */
13083 var PageHeader = /** @class */ (function () {
13084 function PageHeader() {
13085 this.baseClass = true;
13086 this.breadcrumb = true;
13087 }
13088 /**
13089 * @param {?} value
13090 * @return {?}
13091 */
13092 PageHeader.prototype.isTemplate = /**
13093 * @param {?} value
13094 * @return {?}
13095 */
13096 function (value) {
13097 return value instanceof core.TemplateRef;
13098 };
13099 PageHeader.decorators = [
13100 { type: core.Component, args: [{
13101 selector: "suka-page-header",
13102 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 "
13103 }] }
13104 ];
13105 PageHeader.propDecorators = {
13106 baseClass: [{ type: core.HostBinding, args: ['class.page__header',] }],
13107 title: [{ type: core.Input }],
13108 subtitle: [{ type: core.Input }],
13109 actions: [{ type: core.Input }],
13110 breadcrumb: [{ type: core.Input }]
13111 };
13112 return PageHeader;
13113 }());
13114 if (false) {
13115 /** @type {?} */
13116 PageHeader.prototype.baseClass;
13117 /** @type {?} */
13118 PageHeader.prototype.title;
13119 /** @type {?} */
13120 PageHeader.prototype.subtitle;
13121 /** @type {?} */
13122 PageHeader.prototype.actions;
13123 /** @type {?} */
13124 PageHeader.prototype.breadcrumb;
13125 }
13126
13127 /**
13128 * @fileoverview added by tsickle
13129 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
13130 */
13131 var PageModule = /** @class */ (function () {
13132 function PageModule() {
13133 }
13134 PageModule.decorators = [
13135 { type: core.NgModule, args: [{
13136 declarations: [
13137 Page,
13138 PageHeader,
13139 ],
13140 exports: [
13141 Page,
13142 PageHeader,
13143 ],
13144 imports: [
13145 common.CommonModule,
13146 router.RouterModule,
13147 BreadcrumbModule,
13148 StackModule,
13149 ]
13150 },] }
13151 ];
13152 return PageModule;
13153 }());
13154
13155 /**
13156 * @fileoverview added by tsickle
13157 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
13158 */
13159 /** @type {?} */
13160 var noop = (/**
13161 * @return {?}
13162 */
13163 function () { });
13164 var ɵ0$1 = noop;
13165 var FileUploader = /** @class */ (function () {
13166 function FileUploader() {
13167 /**
13168 * Accessible text for the button that opens the upload window.
13169 */
13170 this.buttonText = 'Agregar archivo(s)';
13171 /**
13172 * Type set for button
13173 */
13174 this.buttonType = 'basic';
13175 /**
13176 * Specify the types of files that the input should be able to receive
13177 */
13178 this.accept = [];
13179 /**
13180 * Set to `false` to tell the component to only accept a single file on upload.
13181 *
13182 * Defaults to `true`. Accepts multiple files.
13183 */
13184 this.multiple = true;
13185 /**
13186 * Set to `true` for a loading file uploader.
13187 */
13188 this.skeleton = false;
13189 /**
13190 * Provides a unique id for the underlying `<input>` node
13191 */
13192 this.fileUploaderId = "file-uploader-" + FileUploader.fileUploaderCount;
13193 /**
13194 * The list of files that have been submitted to be uploaded
13195 */
13196 this.files = new Set();
13197 /**
13198 * Emits an event to other classes when files change
13199 */
13200 this.filesChange = new core.EventEmitter();
13201 this.baseClass = true;
13202 this.onTouchedCallback = noop;
13203 this.onChangeCallback = noop;
13204 FileUploader.fileUploaderCount++;
13205 }
13206 Object.defineProperty(FileUploader.prototype, "value", {
13207 /**
13208 * Specifies the property to be used as the return value to `ngModel`
13209 */
13210 get: /**
13211 * Specifies the property to be used as the return value to `ngModel`
13212 * @return {?}
13213 */
13214 function () {
13215 return this.files;
13216 },
13217 set: /**
13218 * @param {?} v
13219 * @return {?}
13220 */
13221 function (v) {
13222 if (v !== this.files) {
13223 this.files = v;
13224 this.onChangeCallback(v);
13225 }
13226 },
13227 enumerable: true,
13228 configurable: true
13229 });
13230 /**
13231 * @return {?}
13232 */
13233 FileUploader.prototype.onBlur = /**
13234 * @return {?}
13235 */
13236 function () {
13237 this.onTouchedCallback();
13238 };
13239 /**
13240 * Propagates the injected `value`.
13241 */
13242 /**
13243 * Propagates the injected `value`.
13244 * @param {?} value
13245 * @return {?}
13246 */
13247 FileUploader.prototype.writeValue = /**
13248 * Propagates the injected `value`.
13249 * @param {?} value
13250 * @return {?}
13251 */
13252 function (value) {
13253 if (value !== this.value) {
13254 this.files = value;
13255 }
13256 };
13257 /**
13258 * @return {?}
13259 */
13260 FileUploader.prototype.onFilesAdded = /**
13261 * @return {?}
13262 */
13263 function () {
13264 var e_1, _a;
13265 /** @type {?} */
13266 var files = this.fileInput.nativeElement.files;
13267 if (!this.multiple) {
13268 this.files.clear();
13269 }
13270 try {
13271 for (var files_1 = __values(files), files_1_1 = files_1.next(); !files_1_1.done; files_1_1 = files_1.next()) {
13272 var file = files_1_1.value;
13273 /** @type {?} */
13274 var fileItem = {
13275 file: file,
13276 uploaded: false,
13277 state: 'edit',
13278 invalid: false,
13279 invalidText: '',
13280 };
13281 this.files.add(fileItem);
13282 this.filesChange.emit(this.files);
13283 }
13284 }
13285 catch (e_1_1) { e_1 = { error: e_1_1 }; }
13286 finally {
13287 try {
13288 if (files_1_1 && !files_1_1.done && (_a = files_1.return)) _a.call(files_1);
13289 }
13290 finally { if (e_1) throw e_1.error; }
13291 }
13292 this.value = this.files;
13293 };
13294 /**
13295 * @param {?} fileItem
13296 * @return {?}
13297 */
13298 FileUploader.prototype.removeFile = /**
13299 * @param {?} fileItem
13300 * @return {?}
13301 */
13302 function (fileItem) {
13303 this.files.delete(fileItem);
13304 this.fileInput.nativeElement.value = '';
13305 this.filesChange.emit(this.files);
13306 };
13307 /**
13308 * Registers the injected function to control the touch use of the `FileUploader`.
13309 */
13310 /**
13311 * Registers the injected function to control the touch use of the `FileUploader`.
13312 * @param {?} fn
13313 * @return {?}
13314 */
13315 FileUploader.prototype.registerOnTouched = /**
13316 * Registers the injected function to control the touch use of the `FileUploader`.
13317 * @param {?} fn
13318 * @return {?}
13319 */
13320 function (fn) {
13321 this.onTouchedCallback = fn;
13322 };
13323 /**
13324 * Sets a method in order to propagate changes back to the form.
13325 */
13326 /**
13327 * Sets a method in order to propagate changes back to the form.
13328 * @param {?} fn
13329 * @return {?}
13330 */
13331 FileUploader.prototype.registerOnChange = /**
13332 * Sets a method in order to propagate changes back to the form.
13333 * @param {?} fn
13334 * @return {?}
13335 */
13336 function (fn) {
13337 this.onChangeCallback = fn;
13338 };
13339 /**
13340 * Counter used to create unique ids for file-uploader components
13341 */
13342 FileUploader.fileUploaderCount = 0;
13343 FileUploader.decorators = [
13344 { type: core.Component, args: [{
13345 selector: 'suka-file-uploader',
13346 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 ",
13347 providers: [
13348 {
13349 provide: forms.NG_VALUE_ACCESSOR,
13350 useExisting: FileUploader,
13351 multi: true
13352 }
13353 ]
13354 }] }
13355 ];
13356 /** @nocollapse */
13357 FileUploader.ctorParameters = function () { return []; };
13358 FileUploader.propDecorators = {
13359 buttonText: [{ type: core.Input }],
13360 buttonType: [{ type: core.Input }],
13361 title: [{ type: core.Input }],
13362 description: [{ type: core.Input }],
13363 accept: [{ type: core.Input }],
13364 multiple: [{ type: core.Input }],
13365 skeleton: [{ type: core.Input }],
13366 size: [{ type: core.Input }],
13367 fileUploaderId: [{ type: core.Input }],
13368 fileInput: [{ type: core.ViewChild, args: ['fileInput', { static: false },] }],
13369 files: [{ type: core.Input }],
13370 filesChange: [{ type: core.Output }],
13371 baseClass: [{ type: core.HostBinding, args: ['class.file-uploader',] }]
13372 };
13373 return FileUploader;
13374 }());
13375 if (false) {
13376 /**
13377 * Counter used to create unique ids for file-uploader components
13378 * @type {?}
13379 */
13380 FileUploader.fileUploaderCount;
13381 /**
13382 * Accessible text for the button that opens the upload window.
13383 * @type {?}
13384 */
13385 FileUploader.prototype.buttonText;
13386 /**
13387 * Type set for button
13388 * @type {?}
13389 */
13390 FileUploader.prototype.buttonType;
13391 /**
13392 * Text set to the title
13393 * @type {?}
13394 */
13395 FileUploader.prototype.title;
13396 /**
13397 * Text set to the description
13398 * @type {?}
13399 */
13400 FileUploader.prototype.description;
13401 /**
13402 * Specify the types of files that the input should be able to receive
13403 * @type {?}
13404 */
13405 FileUploader.prototype.accept;
13406 /**
13407 * Set to `false` to tell the component to only accept a single file on upload.
13408 *
13409 * Defaults to `true`. Accepts multiple files.
13410 * @type {?}
13411 */
13412 FileUploader.prototype.multiple;
13413 /**
13414 * Set to `true` for a loading file uploader.
13415 * @type {?}
13416 */
13417 FileUploader.prototype.skeleton;
13418 /**
13419 * Sets the size of the button.
13420 * @type {?}
13421 */
13422 FileUploader.prototype.size;
13423 /**
13424 * Provides a unique id for the underlying `<input>` node
13425 * @type {?}
13426 */
13427 FileUploader.prototype.fileUploaderId;
13428 /**
13429 * Maintains a reference to the view DOM element of the underlying `<input>` node
13430 * @type {?}
13431 */
13432 FileUploader.prototype.fileInput;
13433 /**
13434 * The list of files that have been submitted to be uploaded
13435 * @type {?}
13436 */
13437 FileUploader.prototype.files;
13438 /**
13439 * Emits an event to other classes when files change
13440 * @type {?}
13441 */
13442 FileUploader.prototype.filesChange;
13443 /** @type {?} */
13444 FileUploader.prototype.baseClass;
13445 /**
13446 * @type {?}
13447 * @protected
13448 */
13449 FileUploader.prototype.onTouchedCallback;
13450 /**
13451 * @type {?}
13452 * @protected
13453 */
13454 FileUploader.prototype.onChangeCallback;
13455 }
13456
13457 /**
13458 * @fileoverview added by tsickle
13459 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
13460 */
13461 var File = /** @class */ (function () {
13462 function File() {
13463 this.remove = new core.EventEmitter();
13464 this.selectedFile = true;
13465 }
13466 Object.defineProperty(File.prototype, "isInvalidText", {
13467 get: /**
13468 * @return {?}
13469 */
13470 function () {
13471 return this.fileItem.invalidText;
13472 },
13473 enumerable: true,
13474 configurable: true
13475 });
13476 Object.defineProperty(File.prototype, "isValid", {
13477 get: /**
13478 * @return {?}
13479 */
13480 function () {
13481 return this.fileItem.state === 'complete';
13482 },
13483 enumerable: true,
13484 configurable: true
13485 });
13486 File.decorators = [
13487 { type: core.Component, args: [{
13488 selector: 'suka-file',
13489 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 "
13490 }] }
13491 ];
13492 File.propDecorators = {
13493 fileItem: [{ type: core.Input }],
13494 remove: [{ type: core.Output }],
13495 selectedFile: [{ type: core.HostBinding, args: ['class.file__selected-file',] }],
13496 isInvalidText: [{ type: core.HostBinding, args: ['class.file__selected-file--invalid',] }],
13497 isValid: [{ type: core.HostBinding, args: ['class.file__selected-file--valid',] }]
13498 };
13499 return File;
13500 }());
13501 if (false) {
13502 /**
13503 * A single `FileItem` from the set of `FileItem`s
13504 * @type {?}
13505 */
13506 File.prototype.fileItem;
13507 /** @type {?} */
13508 File.prototype.remove;
13509 /** @type {?} */
13510 File.prototype.selectedFile;
13511 }
13512
13513 /**
13514 * @fileoverview added by tsickle
13515 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
13516 */
13517 var FileUploaderModule = /** @class */ (function () {
13518 function FileUploaderModule() {
13519 }
13520 FileUploaderModule.decorators = [
13521 { type: core.NgModule, args: [{
13522 declarations: [
13523 FileUploader,
13524 File
13525 ],
13526 exports: [
13527 FileUploader
13528 ],
13529 imports: [
13530 common.CommonModule,
13531 ButtonModule,
13532 IconModule,
13533 LoadingModule,
13534 ]
13535 },] }
13536 ];
13537 return FileUploaderModule;
13538 }());
13539
13540 /**
13541 * @fileoverview added by tsickle
13542 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
13543 */
13544 var Avatar = /** @class */ (function () {
13545 function Avatar() {
13546 /**
13547 * Sets the avatar color.
13548 */
13549 this.color = 'gray';
13550 /**
13551 * Sets the avatar class
13552 */
13553 this.class = '';
13554 /**
13555 * Sets the avatar size.
13556 */
13557 this.size = 'md';
13558 }
13559 Object.defineProperty(Avatar.prototype, "attrClass", {
13560 get: /**
13561 * @return {?}
13562 */
13563 function () {
13564 return "avatar avatar--" + this.color + " avatar--" + this.size + " " + this.class;
13565 },
13566 enumerable: true,
13567 configurable: true
13568 });
13569 /**
13570 * Sets the avatar initials according to the name input.
13571 */
13572 /**
13573 * Sets the avatar initials according to the name input.
13574 * @return {?}
13575 */
13576 Avatar.prototype.getInitials = /**
13577 * Sets the avatar initials according to the name input.
13578 * @return {?}
13579 */
13580 function () {
13581 if (this.name === '') {
13582 return '';
13583 }
13584 /** @type {?} */
13585 var names = this.name.split(' ');
13586 /** @type {?} */
13587 var initials = names[0].substring(0, 1).toUpperCase();
13588 if (names.length > 1) {
13589 initials += names[names.length - 1].substring(0, 1).toUpperCase();
13590 }
13591 return initials;
13592 };
13593 Avatar.decorators = [
13594 { type: core.Component, args: [{
13595 selector: "suka-avatar",
13596 template: "\n <ng-container *ngIf=\"!imgSrc\">{{getInitials()}}</ng-container>\n <img *ngIf=\"imgSrc\" [src]=\"imgSrc\" />\n "
13597 }] }
13598 ];
13599 Avatar.propDecorators = {
13600 imgSrc: [{ type: core.Input }],
13601 name: [{ type: core.Input }],
13602 color: [{ type: core.Input }],
13603 class: [{ type: core.Input }],
13604 size: [{ type: core.Input }],
13605 attrClass: [{ type: core.HostBinding, args: ['attr.class',] }]
13606 };
13607 return Avatar;
13608 }());
13609 if (false) {
13610 /**
13611 * Sets an image url for the avatar. If it is set, it displays instead of the name initials.
13612 * @type {?}
13613 */
13614 Avatar.prototype.imgSrc;
13615 /**
13616 * Avatar name. Used to display its initials (Max 2).
13617 * @type {?}
13618 */
13619 Avatar.prototype.name;
13620 /**
13621 * Sets the avatar color.
13622 * @type {?}
13623 */
13624 Avatar.prototype.color;
13625 /**
13626 * Sets the avatar class
13627 * @type {?}
13628 */
13629 Avatar.prototype.class;
13630 /**
13631 * Sets the avatar size.
13632 * @type {?}
13633 */
13634 Avatar.prototype.size;
13635 }
13636
13637 /**
13638 * @fileoverview added by tsickle
13639 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
13640 */
13641 var AvatarModule = /** @class */ (function () {
13642 function AvatarModule() {
13643 }
13644 AvatarModule.decorators = [
13645 { type: core.NgModule, args: [{
13646 declarations: [Avatar],
13647 exports: [Avatar],
13648 imports: [common.CommonModule]
13649 },] }
13650 ];
13651 return AvatarModule;
13652 }());
13653
13654 /**
13655 * @fileoverview added by tsickle
13656 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
13657 */
13658 var DatePickerInput = /** @class */ (function () {
13659 function DatePickerInput(elementRef) {
13660 this.elementRef = elementRef;
13661 /**
13662 * Select a calendar type for the `model`.
13663 */
13664 this.type = 'simple';
13665 /**
13666 * Sets the id for the `DatePickerInput`.
13667 */
13668 this.id = "datepicker-" + DatePickerInput.datePickerCount++;
13669 /**
13670 * Set to `true` to display a calendar icon
13671 */
13672 this.hasIcon = false;
13673 /**
13674 * Sets the input's placeholder.
13675 */
13676 this.placeholder = 'dd/mm/yyyy';
13677 /**
13678 * Sets the pattern to follow.
13679 */
13680 this.pattern = '^\\d{1,2}/\\d{1,2}/\\d{4}$';
13681 /**
13682 * Emits event notifying other classes of a value change.
13683 */
13684 this.valueChange = new core.EventEmitter();
13685 /**
13686 * Set to `true` to disable the input
13687 */
13688 this.disabled = false;
13689 /**
13690 * Set to `true` to display invalid state.
13691 */
13692 this.invalid = false;
13693 /**
13694 * Skeleton state.
13695 */
13696 this.skeleton = false;
13697 /**
13698 * Sets the `DatepickerInput` value.
13699 */
13700 this.value = '';
13701 this.onTouched = (/**
13702 * @return {?}
13703 */
13704 function () { });
13705 this.propagateChange = (/**
13706 * @param {?} _
13707 * @return {?}
13708 */
13709 function (_) { });
13710 }
13711 /**
13712 * Sets the value, marks the input as touched and emits a value change event.
13713 * @param event
13714 */
13715 /**
13716 * Sets the value, marks the input as touched and emits a value change event.
13717 * @param {?} event
13718 * @return {?}
13719 */
13720 DatePickerInput.prototype.onChange = /**
13721 * Sets the value, marks the input as touched and emits a value change event.
13722 * @param {?} event
13723 * @return {?}
13724 */
13725 function (event) {
13726 this.value = event.target.value;
13727 this.valueChange.emit(this.value);
13728 this.propagateChange(this.value);
13729 this.onTouched();
13730 };
13731 /**
13732 * @param {?} value
13733 * @return {?}
13734 */
13735 DatePickerInput.prototype.writeValue = /**
13736 * @param {?} value
13737 * @return {?}
13738 */
13739 function (value) {
13740 this.value = value;
13741 };
13742 /**
13743 * @param {?} fn
13744 * @return {?}
13745 */
13746 DatePickerInput.prototype.registerOnChange = /**
13747 * @param {?} fn
13748 * @return {?}
13749 */
13750 function (fn) {
13751 this.propagateChange = fn;
13752 };
13753 /**
13754 * @param {?} fn
13755 * @return {?}
13756 */
13757 DatePickerInput.prototype.registerOnTouched = /**
13758 * @param {?} fn
13759 * @return {?}
13760 */
13761 function (fn) {
13762 this.onTouched = fn;
13763 };
13764 /**
13765 * @param {?} value
13766 * @return {?}
13767 */
13768 DatePickerInput.prototype.isTemplate = /**
13769 * @param {?} value
13770 * @return {?}
13771 */
13772 function (value) {
13773 return value instanceof core.TemplateRef;
13774 };
13775 DatePickerInput.datePickerCount = 0;
13776 DatePickerInput.decorators = [
13777 { type: core.Component, args: [{
13778 selector: 'suka-date-picker-input',
13779 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 </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 ",
13780 providers: [
13781 {
13782 provide: forms.NG_VALUE_ACCESSOR,
13783 useExisting: DatePickerInput,
13784 multi: true
13785 }
13786 ]
13787 }] }
13788 ];
13789 /** @nocollapse */
13790 DatePickerInput.ctorParameters = function () { return [
13791 { type: core.ElementRef }
13792 ]; };
13793 DatePickerInput.propDecorators = {
13794 type: [{ type: core.Input }],
13795 id: [{ type: core.Input }],
13796 hasIcon: [{ type: core.Input }],
13797 label: [{ type: core.Input }],
13798 placeholder: [{ type: core.Input }],
13799 pattern: [{ type: core.Input }],
13800 valueChange: [{ type: core.Output }],
13801 disabled: [{ type: core.Input }],
13802 invalid: [{ type: core.Input }],
13803 invalidText: [{ type: core.Input }],
13804 skeleton: [{ type: core.Input }],
13805 value: [{ type: core.Input }]
13806 };
13807 return DatePickerInput;
13808 }());
13809 if (false) {
13810 /**
13811 * @type {?}
13812 * @private
13813 */
13814 DatePickerInput.datePickerCount;
13815 /**
13816 * Select a calendar type for the `model`.
13817 * @type {?}
13818 */
13819 DatePickerInput.prototype.type;
13820 /**
13821 * Sets the id for the `DatePickerInput`.
13822 * @type {?}
13823 */
13824 DatePickerInput.prototype.id;
13825 /**
13826 * Set to `true` to display a calendar icon
13827 * @type {?}
13828 */
13829 DatePickerInput.prototype.hasIcon;
13830 /**
13831 * label content.
13832 * @type {?}
13833 */
13834 DatePickerInput.prototype.label;
13835 /**
13836 * Sets the input's placeholder.
13837 * @type {?}
13838 */
13839 DatePickerInput.prototype.placeholder;
13840 /**
13841 * Sets the pattern to follow.
13842 * @type {?}
13843 */
13844 DatePickerInput.prototype.pattern;
13845 /**
13846 * Emits event notifying other classes of a value change.
13847 * @type {?}
13848 */
13849 DatePickerInput.prototype.valueChange;
13850 /**
13851 * Set to `true` to disable the input
13852 * @type {?}
13853 */
13854 DatePickerInput.prototype.disabled;
13855 /**
13856 * Set to `true` to display invalid state.
13857 * @type {?}
13858 */
13859 DatePickerInput.prototype.invalid;
13860 /**
13861 * Feedback message to display when `DatepickerInput` is invalid.
13862 * @type {?}
13863 */
13864 DatePickerInput.prototype.invalidText;
13865 /**
13866 * Skeleton state.
13867 * @type {?}
13868 */
13869 DatePickerInput.prototype.skeleton;
13870 /**
13871 * Sets the `DatepickerInput` value.
13872 * @type {?}
13873 */
13874 DatePickerInput.prototype.value;
13875 /** @type {?} */
13876 DatePickerInput.prototype.onTouched;
13877 /** @type {?} */
13878 DatePickerInput.prototype.propagateChange;
13879 /**
13880 * @type {?}
13881 * @protected
13882 */
13883 DatePickerInput.prototype.elementRef;
13884 }
13885
13886 /**
13887 * @fileoverview added by tsickle
13888 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
13889 */
13890 var DatePickerInputModule = /** @class */ (function () {
13891 function DatePickerInputModule() {
13892 }
13893 DatePickerInputModule.decorators = [
13894 { type: core.NgModule, args: [{
13895 declarations: [
13896 DatePickerInput
13897 ],
13898 exports: [
13899 DatePickerInput
13900 ],
13901 imports: [
13902 common.CommonModule,
13903 IconModule,
13904 ]
13905 },] }
13906 ];
13907 return DatePickerInputModule;
13908 }());
13909
13910 /**
13911 * @fileoverview added by tsickle
13912 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
13913 */
13914 /** @type {?} */
13915 var monthToStr = (/**
13916 * @param {?} monthNumber
13917 * @param {?} shorthand
13918 * @param {?} locale
13919 * @return {?}
13920 */
13921 function (monthNumber, shorthand, locale) {
13922 return locale.months[shorthand ? 'shorthand' : 'longhand'][monthNumber];
13923 });
13924 var ɵ0$2 = monthToStr;
13925 /** @type {?} */
13926 var config = {
13927 selectorInit: '[data-date-picker]',
13928 selectorDatePickerInput: '[data-date-picker-input]',
13929 selectorDatePickerInputFrom: '[data-date-picker-input-from]',
13930 selectorDatePickerInputTo: '[data-date-picker-input-to]',
13931 selectorDatePickerIcon: '[data-date-picker-icon]',
13932 selectorFlatpickrMonthYearContainer: '.flatpickr-current-month',
13933 selectorFlatpickrYearContainer: '.numInputWrapper',
13934 selectorFlatpickrCurrentMonth: '.cur-month',
13935 classCalendarContainer: "date-picker__calendar",
13936 classMonth: "date-picker__month",
13937 classWeekdays: "date-picker__weekdays",
13938 classDays: "date-picker__days",
13939 classWeekday: "date-picker__weekday",
13940 classDay: "date-picker__day",
13941 classFocused: "focused",
13942 classVisuallyHidden: "visually-hidden",
13943 classFlatpickrCurrentMonth: 'cur-month',
13944 attribType: 'data-date-picker-type',
13945 dateFormat: 'd/m/Y',
13946 shorthand: false
13947 };
13948 /** @type {?} */
13949 var sukaFlatpickrMonthSelectPlugin = (/**
13950 * @param {?} fp
13951 * @return {?}
13952 */
13953 function (fp) {
13954 /** @type {?} */
13955 var setupElements = (/**
13956 * @return {?}
13957 */
13958 function () {
13959 var _a;
13960 if (!fp.monthElements) {
13961 return;
13962 }
13963 fp.monthElements.forEach((/**
13964 * @param {?} elem
13965 * @return {?}
13966 */
13967 function (elem) {
13968 if (!elem.parentNode) {
13969 return;
13970 }
13971 elem.parentNode.removeChild(elem);
13972 }));
13973 (_a = fp.monthElements).splice.apply(_a, __spread([0,
13974 fp.monthElements.length], fp.monthElements.map((/**
13975 * @return {?}
13976 */
13977 function () {
13978 /** @type {?} */
13979 var monthElement = fp._createElement('span', config.classFlatpickrCurrentMonth);
13980 monthElement.textContent = monthToStr(fp.currentMonth, config.shorthand === true, fp.l10n);
13981 fp.yearElements[0]
13982 .closest(config.selectorFlatpickrMonthYearContainer)
13983 .insertBefore(monthElement, fp.yearElements[0].closest(config.selectorFlatpickrYearContainer));
13984 return monthElement;
13985 }))));
13986 });
13987 /** @type {?} */
13988 var updateCurrentMonth = (/**
13989 * @return {?}
13990 */
13991 function () {
13992 /** @type {?} */
13993 var monthStr = monthToStr(fp.currentMonth, config.shorthand === true, fp.l10n);
13994 if (fp.yearElements) {
13995 fp.yearElements.forEach((/**
13996 * @param {?} elem
13997 * @return {?}
13998 */
13999 function (elem) {
14000 /** @type {?} */
14001 var currentMonthContainer = elem.closest(config.selectorFlatpickrMonthYearContainer);
14002 Array.prototype.forEach.call(currentMonthContainer.querySelectorAll('.cur-month'), (/**
14003 * @param {?} monthElement
14004 * @return {?}
14005 */
14006 function (monthElement) {
14007 monthElement.textContent = monthStr;
14008 }));
14009 }));
14010 }
14011 });
14012 /** @type {?} */
14013 var register = (/**
14014 * @return {?}
14015 */
14016 function () {
14017 fp.loadedPlugins.push('sukaFlatpickrMonthSelectPlugin');
14018 });
14019 return {
14020 onMonthChange: updateCurrentMonth,
14021 onOpen: updateCurrentMonth,
14022 onReady: [setupElements, updateCurrentMonth, register]
14023 };
14024 });
14025
14026 /**
14027 * @fileoverview added by tsickle
14028 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
14029 */
14030 var DatePicker = /** @class */ (function () {
14031 function DatePicker(elementRef) {
14032 var _this = this;
14033 this.elementRef = elementRef;
14034 /**
14035 * Select calendar range mode
14036 */
14037 this.range = false;
14038 /**
14039 * Format of date
14040 *
14041 * For reference: https://flatpickr.js.org/formatting/
14042 */
14043 this.dateFormat = 'd/m/Y';
14044 /**
14045 * Sets the placeholder text.
14046 */
14047 this.placeholder = 'dd/mm/yyyy';
14048 /**
14049 * Sets the pattern to follow.
14050 */
14051 this.pattern = '^\\d{1,2}/\\d{1,2}/\\d{4}$';
14052 /**
14053 * Date picker id.
14054 */
14055 this.id = "datepicker-" + DatePicker.datePickerCount++;
14056 /**
14057 * Set to `true` to disable the `Datepicker`
14058 */
14059 this.disabled = false;
14060 /**
14061 * Set to `true` to display invalid state.
14062 */
14063 this.invalid = false;
14064 /**
14065 * Skeleton state.
14066 */
14067 this.skeleton = false;
14068 /**
14069 * Array of date picker plugins.
14070 */
14071 this.plugins = [];
14072 /**
14073 * Emits event notifying other classes of a change.
14074 */
14075 this.valueChange = new core.EventEmitter();
14076 this._value = [];
14077 this._flatpickrOptions = {
14078 allowInput: true
14079 };
14080 this.flatpickrBaseOptions = {
14081 mode: 'single',
14082 dateFormat: 'd/m/Y',
14083 locale: es_js.Spanish,
14084 plugins: this.plugins,
14085 onOpen: (/**
14086 * @return {?}
14087 */
14088 function () { _this.updateClassNames(); }),
14089 value: this.value
14090 };
14091 this.flatpickrInstance = null;
14092 this.onTouched = (/**
14093 * @return {?}
14094 */
14095 function () { });
14096 this.propagateChange = (/**
14097 * @param {?} _
14098 * @return {?}
14099 */
14100 function (_) { });
14101 }
14102 Object.defineProperty(DatePicker.prototype, "value", {
14103 get: /**
14104 * @return {?}
14105 */
14106 function () {
14107 return this._value;
14108 },
14109 /**
14110 * Sets the value.
14111 */
14112 set: /**
14113 * Sets the value.
14114 * @param {?} v
14115 * @return {?}
14116 */
14117 function (v) {
14118 if (!v) {
14119 v = [];
14120 }
14121 this._value = v;
14122 },
14123 enumerable: true,
14124 configurable: true
14125 });
14126 Object.defineProperty(DatePicker.prototype, "flatpickrOptions", {
14127 get: /**
14128 * @return {?}
14129 */
14130 function () {
14131 /** @type {?} */
14132 var plugins = __spread(this.plugins, [sukaFlatpickrMonthSelectPlugin]);
14133 if (this.range) {
14134 plugins.push(rangePlugin({ input: "#" + this.id + "-rangeInput", position: 'left' }));
14135 }
14136 return Object.assign({}, this._flatpickrOptions, this.flatpickrBaseOptions, {
14137 mode: this.range ? 'range' : 'single',
14138 plugins: plugins,
14139 dateFormat: this.dateFormat
14140 });
14141 },
14142 /**
14143 * Flatpickr options
14144 */
14145 set: /**
14146 * Flatpickr options
14147 * @param {?} options
14148 * @return {?}
14149 */
14150 function (options) {
14151 this._flatpickrOptions = Object.assign({}, this._flatpickrOptions, options);
14152 },
14153 enumerable: true,
14154 configurable: true
14155 });
14156 /**
14157 * @param {?} changes
14158 * @return {?}
14159 */
14160 DatePicker.prototype.ngOnChanges = /**
14161 * @param {?} changes
14162 * @return {?}
14163 */
14164 function (changes) {
14165 if (this.isFlatpickrLoaded()) {
14166 /** @type {?} */
14167 var dates = this.flatpickrInstance.selectedDates;
14168 if (changes.value && this.didDateValueChange(changes.value.currentValue, changes.value.previousValue)) {
14169 dates = changes.value.currentValue;
14170 }
14171 // only reset the flatpickr instance on Input changes
14172 this.flatpickrInstance = flatpickr("#" + this.id, this.flatpickrOptions);
14173 this.setDateValues(dates);
14174 }
14175 };
14176 // because the actual view may be delayed in loading (think projection into a tab pane)
14177 // and because we rely on a library that operates outside the Angular view of the world
14178 // we need to keep trying to load the library, until the relevant DOM is actually live
14179 // because the actual view may be delayed in loading (think projection into a tab pane)
14180 // and because we rely on a library that operates outside the Angular view of the world
14181 // we need to keep trying to load the library, until the relevant DOM is actually live
14182 /**
14183 * @return {?}
14184 */
14185 DatePicker.prototype.ngAfterViewChecked =
14186 // because the actual view may be delayed in loading (think projection into a tab pane)
14187 // and because we rely on a library that operates outside the Angular view of the world
14188 // we need to keep trying to load the library, until the relevant DOM is actually live
14189 /**
14190 * @return {?}
14191 */
14192 function () {
14193 if (!this.isFlatpickrLoaded()) {
14194 this.flatpickrInstance = flatpickr("#" + this.id, this.flatpickrOptions);
14195 // if (and only if) the initialization succeeded, we can set the date values
14196 if (this.isFlatpickrLoaded()) {
14197 if (this.value.length > 0) {
14198 this.setDateValues(this.value);
14199 }
14200 }
14201 }
14202 };
14203 /**
14204 * @return {?}
14205 */
14206 DatePicker.prototype.onFocus = /**
14207 * @return {?}
14208 */
14209 function () {
14210 this.onTouched();
14211 };
14212 /**
14213 * Writes a value from the model to the component. Expects the value to be `null` or `(Date | string)[]`
14214 * @param value value received from the model
14215 */
14216 /**
14217 * Writes a value from the model to the component. Expects the value to be `null` or `(Date | string)[]`
14218 * @param {?} value value received from the model
14219 * @return {?}
14220 */
14221 DatePicker.prototype.writeValue = /**
14222 * Writes a value from the model to the component. Expects the value to be `null` or `(Date | string)[]`
14223 * @param {?} value value received from the model
14224 * @return {?}
14225 */
14226 function (value) {
14227 this.value = value;
14228 if (this.isFlatpickrLoaded() && this.flatpickrInstance.config) {
14229 this.setDateValues(this.value);
14230 }
14231 };
14232 /**
14233 * @param {?} fn
14234 * @return {?}
14235 */
14236 DatePicker.prototype.registerOnChange = /**
14237 * @param {?} fn
14238 * @return {?}
14239 */
14240 function (fn) {
14241 this.propagateChange = fn;
14242 };
14243 /**
14244 * @param {?} fn
14245 * @return {?}
14246 */
14247 DatePicker.prototype.registerOnTouched = /**
14248 * @param {?} fn
14249 * @return {?}
14250 */
14251 function (fn) {
14252 this.onTouched = fn;
14253 };
14254 /**
14255 * Cleans up our flatpickr instance
14256 */
14257 /**
14258 * Cleans up our flatpickr instance
14259 * @return {?}
14260 */
14261 DatePicker.prototype.ngOnDestroy = /**
14262 * Cleans up our flatpickr instance
14263 * @return {?}
14264 */
14265 function () {
14266 if (!this.isFlatpickrLoaded()) {
14267 return;
14268 }
14269 this.flatpickrInstance.destroy();
14270 };
14271 /**
14272 * Handles the `valueChange` event from the primary/single input
14273 */
14274 /**
14275 * Handles the `valueChange` event from the primary/single input
14276 * @param {?} event
14277 * @return {?}
14278 */
14279 DatePicker.prototype.onValueChange = /**
14280 * Handles the `valueChange` event from the primary/single input
14281 * @param {?} event
14282 * @return {?}
14283 */
14284 function (event) {
14285 if (this.isFlatpickrLoaded()) {
14286 /** @type {?} */
14287 var date = this.flatpickrInstance.parseDate(event, this.dateFormat);
14288 if (this.range) {
14289 this.setDateValues([date, this.flatpickrInstance.selectedDates[1]]);
14290 }
14291 else {
14292 this.setDateValues([date]);
14293 }
14294 this.doSelect(this.flatpickrInstance.selectedDates);
14295 }
14296 };
14297 /**
14298 * Handles the `valueChange` event from the range input
14299 */
14300 /**
14301 * Handles the `valueChange` event from the range input
14302 * @param {?} event
14303 * @return {?}
14304 */
14305 DatePicker.prototype.onRangeValueChange = /**
14306 * Handles the `valueChange` event from the range input
14307 * @param {?} event
14308 * @return {?}
14309 */
14310 function (event) {
14311 if (this.isFlatpickrLoaded()) {
14312 /** @type {?} */
14313 var date = this.flatpickrInstance.parseDate(event, this.dateFormat);
14314 this.setDateValues([this.flatpickrInstance.selectedDates[0], date]);
14315 this.doSelect(this.flatpickrInstance.selectedDates);
14316 }
14317 };
14318 /**
14319 * Carbon uses a number of specific classnames for parts of the flatpickr - this idempotent method applies them if needed.
14320 */
14321 /**
14322 * Carbon uses a number of specific classnames for parts of the flatpickr - this idempotent method applies them if needed.
14323 * @protected
14324 * @return {?}
14325 */
14326 DatePicker.prototype.updateClassNames = /**
14327 * Carbon uses a number of specific classnames for parts of the flatpickr - this idempotent method applies them if needed.
14328 * @protected
14329 * @return {?}
14330 */
14331 function () {
14332 var _this = this;
14333 if (!this.elementRef) {
14334 return;
14335 }
14336 // get all the possible flatpickrs in the document - we need to add classes to (potentially) all of them
14337 /** @type {?} */
14338 var calendarContainer = document.querySelectorAll('.flatpickr-calendar');
14339 /** @type {?} */
14340 var monthContainer = document.querySelectorAll('.flatpickr-month');
14341 /** @type {?} */
14342 var weekdaysContainer = document.querySelectorAll('.flatpickr-weekdays');
14343 /** @type {?} */
14344 var weekdayContainer = document.querySelectorAll('.flatpickr-weekday');
14345 /** @type {?} */
14346 var daysContainer = document.querySelectorAll('.flatpickr-days');
14347 /** @type {?} */
14348 var dayContainer = document.querySelectorAll('.flatpickr-day');
14349 // add classes to lists of elements
14350 /** @type {?} */
14351 var addClassIfNotExists = (/**
14352 * @param {?} classname
14353 * @param {?} elementList
14354 * @return {?}
14355 */
14356 function (classname, elementList) {
14357 Array.from(elementList).forEach((/**
14358 * @param {?} element
14359 * @return {?}
14360 */
14361 function (element) {
14362 if (!element.classList.contains(classname)) {
14363 element.classList.add(classname);
14364 }
14365 }));
14366 });
14367 // add classes (but only if they don't exist, small perf win)
14368 addClassIfNotExists('date-picker__calendar', calendarContainer);
14369 addClassIfNotExists('date-picker__month', monthContainer);
14370 addClassIfNotExists('date-picker__weekdays', weekdaysContainer);
14371 addClassIfNotExists('date-picker__days', daysContainer);
14372 // add weekday classes and format the text
14373 Array.from(weekdayContainer).forEach((/**
14374 * @param {?} element
14375 * @return {?}
14376 */
14377 function (element) {
14378 element.innerHTML = element.innerHTML.replace(/\s+/g, '');
14379 element.classList.add('date-picker__weekday');
14380 }));
14381 // add day classes and special case the "today" element based on `this.value`
14382 Array.from(dayContainer).forEach((/**
14383 * @param {?} element
14384 * @return {?}
14385 */
14386 function (element) {
14387 element.classList.add('date-picker__day');
14388 if (!_this.value) {
14389 return;
14390 }
14391 if (element.classList.contains('today') && _this.value.length > 0) {
14392 element.classList.add('no-border');
14393 }
14394 else if (element.classList.contains('today') && _this.value.length === 0) {
14395 element.classList.remove('no-border');
14396 }
14397 }));
14398 };
14399 /**
14400 * Applies the given date value array to both the flatpickr instance and the `input`(s)
14401 * @param dates the date values to apply
14402 */
14403 /**
14404 * Applies the given date value array to both the flatpickr instance and the `input`(s)
14405 * @protected
14406 * @param {?} dates the date values to apply
14407 * @return {?}
14408 */
14409 DatePicker.prototype.setDateValues = /**
14410 * Applies the given date value array to both the flatpickr instance and the `input`(s)
14411 * @protected
14412 * @param {?} dates the date values to apply
14413 * @return {?}
14414 */
14415 function (dates) {
14416 if (this.isFlatpickrLoaded()) {
14417 /** @type {?} */
14418 var singleInput_1 = this.elementRef.nativeElement.querySelector("#" + this.id);
14419 /** @type {?} */
14420 var rangeInput_1 = this.elementRef.nativeElement.querySelector("#" + this.id + "-rangeInput");
14421 // set the date on the instance
14422 this.flatpickrInstance.setDate(dates);
14423 // we can either set a date value or an empty string, so we start with an empty string
14424 /** @type {?} */
14425 var singleDate_1 = '';
14426 // if date is a string, parse and format
14427 if (typeof this.flatpickrInstance.selectedDates[0] === 'string') {
14428 singleDate_1 = this.flatpickrInstance.parseDate(this.flatpickrInstance.selectedDates[0], this.dateFormat);
14429 singleDate_1 = this.flatpickrInstance.formatDate(singleDate_1, this.dateFormat);
14430 // if date is not a string we can assume it's a Date and we should format
14431 }
14432 else if (!!this.flatpickrInstance.selectedDates[0]) {
14433 singleDate_1 = this.flatpickrInstance.formatDate(this.flatpickrInstance.selectedDates[0], this.dateFormat);
14434 }
14435 if (rangeInput_1) {
14436 // we can either set a date value or an empty string, so we start with an empty string
14437 /** @type {?} */
14438 var rangeDate_1 = '';
14439 // if date is a string, parse and format
14440 if (typeof this.flatpickrInstance.selectedDates[1] === 'string') {
14441 rangeDate_1 = this.flatpickrInstance.parseDate(this.flatpickrInstance.selectedDates[1].toString(), this.dateFormat);
14442 rangeDate_1 = this.flatpickrInstance.formatDate(rangeDate_1, this.dateFormat);
14443 // if date is not a string we can assume it's a Date and we should format
14444 }
14445 else if (!!this.flatpickrInstance.selectedDates[1]) {
14446 rangeDate_1 = this.flatpickrInstance.formatDate(this.flatpickrInstance.selectedDates[1], this.dateFormat);
14447 }
14448 setTimeout((/**
14449 * @return {?}
14450 */
14451 function () {
14452 // apply the values
14453 rangeInput_1.value = rangeDate_1;
14454 singleInput_1.value = singleDate_1;
14455 }));
14456 }
14457 }
14458 };
14459 /**
14460 * @protected
14461 * @param {?} selectedValue
14462 * @return {?}
14463 */
14464 DatePicker.prototype.doSelect = /**
14465 * @protected
14466 * @param {?} selectedValue
14467 * @return {?}
14468 */
14469 function (selectedValue) {
14470 this.valueChange.emit(selectedValue);
14471 this.propagateChange(selectedValue);
14472 };
14473 /**
14474 * @protected
14475 * @param {?} currentValue
14476 * @param {?} previousValue
14477 * @return {?}
14478 */
14479 DatePicker.prototype.didDateValueChange = /**
14480 * @protected
14481 * @param {?} currentValue
14482 * @param {?} previousValue
14483 * @return {?}
14484 */
14485 function (currentValue, previousValue) {
14486 return currentValue[0] !== previousValue[0] || currentValue[1] !== previousValue[1];
14487 };
14488 /**
14489 * More advanced checking of the loaded state of flatpickr
14490 */
14491 /**
14492 * More advanced checking of the loaded state of flatpickr
14493 * @protected
14494 * @return {?}
14495 */
14496 DatePicker.prototype.isFlatpickrLoaded = /**
14497 * More advanced checking of the loaded state of flatpickr
14498 * @protected
14499 * @return {?}
14500 */
14501 function () {
14502 // cast the instance to a boolean, and some method that has to exist for the library to be loaded in this case `setDate`
14503 return !!this.flatpickrInstance && !!this.flatpickrInstance.setDate;
14504 };
14505 DatePicker.datePickerCount = 0;
14506 DatePicker.decorators = [
14507 { type: core.Component, args: [{
14508 selector: 'suka-date-picker',
14509 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 '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 [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 [skeleton]=\"skeleton\"\n (valueChange)=\"onRangeValueChange($event)\">\n </suka-date-picker-input>\n </div>\n </div>\n </div>\n ",
14510 providers: [
14511 {
14512 provide: forms.NG_VALUE_ACCESSOR,
14513 useExisting: DatePicker,
14514 multi: true
14515 }
14516 ],
14517 encapsulation: core.ViewEncapsulation.None
14518 }] }
14519 ];
14520 /** @nocollapse */
14521 DatePicker.ctorParameters = function () { return [
14522 { type: core.ElementRef }
14523 ]; };
14524 DatePicker.propDecorators = {
14525 range: [{ type: core.Input }],
14526 dateFormat: [{ type: core.Input }],
14527 label: [{ type: core.Input }],
14528 rangeLabel: [{ type: core.Input }],
14529 placeholder: [{ type: core.Input }],
14530 pattern: [{ type: core.Input }],
14531 id: [{ type: core.Input }],
14532 value: [{ type: core.Input }],
14533 disabled: [{ type: core.Input }],
14534 invalid: [{ type: core.Input }],
14535 invalidText: [{ type: core.Input }],
14536 skeleton: [{ type: core.Input }],
14537 plugins: [{ type: core.Input }],
14538 flatpickrOptions: [{ type: core.Input }],
14539 valueChange: [{ type: core.Output }],
14540 onFocus: [{ type: core.HostListener, args: ['focusin',] }]
14541 };
14542 return DatePicker;
14543 }());
14544 if (false) {
14545 /**
14546 * @type {?}
14547 * @private
14548 */
14549 DatePicker.datePickerCount;
14550 /**
14551 * Select calendar range mode
14552 * @type {?}
14553 */
14554 DatePicker.prototype.range;
14555 /**
14556 * Format of date
14557 *
14558 * For reference: https://flatpickr.js.org/formatting/
14559 * @type {?}
14560 */
14561 DatePicker.prototype.dateFormat;
14562 /**
14563 * Date picker label.
14564 * @type {?}
14565 */
14566 DatePicker.prototype.label;
14567 /**
14568 * Label for date range selector.
14569 * @type {?}
14570 */
14571 DatePicker.prototype.rangeLabel;
14572 /**
14573 * Sets the placeholder text.
14574 * @type {?}
14575 */
14576 DatePicker.prototype.placeholder;
14577 /**
14578 * Sets the pattern to follow.
14579 * @type {?}
14580 */
14581 DatePicker.prototype.pattern;
14582 /**
14583 * Date picker id.
14584 * @type {?}
14585 */
14586 DatePicker.prototype.id;
14587 /**
14588 * Set to `true` to disable the `Datepicker`
14589 * @type {?}
14590 */
14591 DatePicker.prototype.disabled;
14592 /**
14593 * Set to `true` to display invalid state.
14594 * @type {?}
14595 */
14596 DatePicker.prototype.invalid;
14597 /**
14598 * Feedback message to display when `Datepicker` is invalid.
14599 * @type {?}
14600 */
14601 DatePicker.prototype.invalidText;
14602 /**
14603 * Skeleton state.
14604 * @type {?}
14605 */
14606 DatePicker.prototype.skeleton;
14607 /**
14608 * Array of date picker plugins.
14609 * @type {?}
14610 */
14611 DatePicker.prototype.plugins;
14612 /**
14613 * Emits event notifying other classes of a change.
14614 * @type {?}
14615 */
14616 DatePicker.prototype.valueChange;
14617 /**
14618 * @type {?}
14619 * @protected
14620 */
14621 DatePicker.prototype._value;
14622 /**
14623 * @type {?}
14624 * @protected
14625 */
14626 DatePicker.prototype._flatpickrOptions;
14627 /**
14628 * @type {?}
14629 * @protected
14630 */
14631 DatePicker.prototype.flatpickrBaseOptions;
14632 /**
14633 * @type {?}
14634 * @protected
14635 */
14636 DatePicker.prototype.flatpickrInstance;
14637 /** @type {?} */
14638 DatePicker.prototype.onTouched;
14639 /** @type {?} */
14640 DatePicker.prototype.propagateChange;
14641 /**
14642 * @type {?}
14643 * @protected
14644 */
14645 DatePicker.prototype.elementRef;
14646 }
14647
14648 /**
14649 * @fileoverview added by tsickle
14650 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
14651 */
14652 var DatePickerModule = /** @class */ (function () {
14653 function DatePickerModule() {
14654 }
14655 DatePickerModule.decorators = [
14656 { type: core.NgModule, args: [{
14657 declarations: [
14658 DatePicker
14659 ],
14660 exports: [
14661 DatePicker,
14662 DatePickerInputModule
14663 ],
14664 imports: [
14665 common.CommonModule,
14666 DatePickerInputModule
14667 ]
14668 },] }
14669 ];
14670 return DatePickerModule;
14671 }());
14672
14673 /**
14674 * @fileoverview added by tsickle
14675 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
14676 */
14677 var ToastRef = /** @class */ (function () {
14678 function ToastRef(overlayRef) {
14679 this.overlayRef = overlayRef;
14680 }
14681 /**
14682 * @return {?}
14683 */
14684 ToastRef.prototype.isVisible = /**
14685 * @return {?}
14686 */
14687 function () {
14688 return this.overlayRef && this.overlayRef.overlayElement;
14689 };
14690 /**
14691 * @return {?}
14692 */
14693 ToastRef.prototype.getPosition = /**
14694 * @return {?}
14695 */
14696 function () {
14697 return this.overlayRef.overlayElement.getBoundingClientRect();
14698 };
14699 /**
14700 * @param {?=} data
14701 * @return {?}
14702 */
14703 ToastRef.prototype.close = /**
14704 * @param {?=} data
14705 * @return {?}
14706 */
14707 function (data) {
14708 this.overlayRef.dispose();
14709 // tslint:disable-next-line: no-non-null-assertion
14710 this.componentInstance = (/** @type {?} */ (null));
14711 };
14712 return ToastRef;
14713 }());
14714 if (false) {
14715 /** @type {?} */
14716 ToastRef.prototype.componentInstance;
14717 /**
14718 * @type {?}
14719 * @private
14720 */
14721 ToastRef.prototype.overlayRef;
14722 }
14723
14724 /**
14725 * @fileoverview added by tsickle
14726 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
14727 */
14728 /** @type {?} */
14729 var TOAST_CONFIG_DATA = new core.InjectionToken('TOAST_CONFIG_DATA');
14730
14731 /**
14732 * @fileoverview added by tsickle
14733 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
14734 */
14735 /** @type {?} */
14736 var toastAnimations = {
14737 fadeToast: animations.trigger('fadeAnimation', [
14738 animations.state('default', animations.style({ opacity: 1, transform: '*' })),
14739 animations.transition('void => *', [animations.style({ opacity: 0, transform: 'scale(.9) translate3d(0, -50%, 0)' }), animations.animate('{{ fadeIn }}ms')]),
14740 animations.transition('default => closing', animations.animate('{{ fadeOut }}ms', animations.style({ opacity: 0 }))),
14741 ]),
14742 };
14743
14744 /**
14745 * @fileoverview added by tsickle
14746 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
14747 */
14748 var ToastContainer = /** @class */ (function () {
14749 function ToastContainer(toastRef, toastConfig) {
14750 this.toastRef = toastRef;
14751 this.toastConfig = toastConfig;
14752 this.animationState = 'default';
14753 this.animationStateChanged = new core.EventEmitter();
14754 this.showFooter = false;
14755 this.baseClass = true;
14756 }
14757 /**
14758 * @param {?} value
14759 * @return {?}
14760 */
14761 ToastContainer.prototype.isTemplate = /**
14762 * @param {?} value
14763 * @return {?}
14764 */
14765 function (value) {
14766 return value instanceof core.TemplateRef;
14767 };
14768 /**
14769 * @return {?}
14770 */
14771 ToastContainer.prototype.ngOnInit = /**
14772 * @return {?}
14773 */
14774 function () {
14775 var _this = this;
14776 this.content = this.toastConfig.content;
14777 this.intervalId = window.setTimeout((/**
14778 * @return {?}
14779 */
14780 function () { return _this.startExitAnimation(); }), 5000);
14781 };
14782 /**
14783 * @return {?}
14784 */
14785 ToastContainer.prototype.ngOnDestroy = /**
14786 * @return {?}
14787 */
14788 function () {
14789 clearTimeout(this.intervalId);
14790 };
14791 /**
14792 * @return {?}
14793 */
14794 ToastContainer.prototype.close = /**
14795 * @return {?}
14796 */
14797 function () {
14798 this.toastRef.close();
14799 };
14800 /**
14801 * @param {?} event
14802 * @return {?}
14803 */
14804 ToastContainer.prototype.onAnimationStart = /**
14805 * @param {?} event
14806 * @return {?}
14807 */
14808 function (event) {
14809 this.animationStateChanged.emit(event);
14810 };
14811 /**
14812 * @param {?} event
14813 * @return {?}
14814 */
14815 ToastContainer.prototype.onAnimationDone = /**
14816 * @param {?} event
14817 * @return {?}
14818 */
14819 function (event) {
14820 this.animationStateChanged.emit(event);
14821 };
14822 /**
14823 * @param {?} $event
14824 * @return {?}
14825 */
14826 ToastContainer.prototype.closeToast = /**
14827 * @param {?} $event
14828 * @return {?}
14829 */
14830 function ($event) {
14831 this.toastRef.close();
14832 };
14833 /**
14834 * @param {?} event
14835 * @return {?}
14836 */
14837 ToastContainer.prototype.onFadeFinished = /**
14838 * @param {?} event
14839 * @return {?}
14840 */
14841 function (event) {
14842 var toState = event.toState;
14843 /** @type {?} */
14844 var isFadeOut = ((/** @type {?} */ (toState))) === 'closing';
14845 /** @type {?} */
14846 var itFinished = this.animationState === 'closing';
14847 if (isFadeOut && itFinished) {
14848 this.close();
14849 }
14850 };
14851 /**
14852 * @return {?}
14853 */
14854 ToastContainer.prototype.startExitAnimation = /**
14855 * @return {?}
14856 */
14857 function () {
14858 this.animationState = 'closing';
14859 };
14860 ToastContainer.decorators = [
14861 { type: core.Component, args: [{
14862 selector: 'suka-toast',
14863 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 ",
14864 animations: [toastAnimations.fadeToast]
14865 }] }
14866 ];
14867 /** @nocollapse */
14868 ToastContainer.ctorParameters = function () { return [
14869 { type: ToastRef },
14870 { type: undefined, decorators: [{ type: core.Inject, args: [TOAST_CONFIG_DATA,] }] }
14871 ]; };
14872 ToastContainer.propDecorators = {
14873 baseClass: [{ type: core.HostBinding, args: ['class.toast--default',] }]
14874 };
14875 return ToastContainer;
14876 }());
14877 if (false) {
14878 /**
14879 * @type {?}
14880 * @private
14881 */
14882 ToastContainer.prototype.intervalId;
14883 /** @type {?} */
14884 ToastContainer.prototype.animationState;
14885 /** @type {?} */
14886 ToastContainer.prototype.animationStateChanged;
14887 /** @type {?} */
14888 ToastContainer.prototype.showFooter;
14889 /** @type {?} */
14890 ToastContainer.prototype.primaryActions;
14891 /** @type {?} */
14892 ToastContainer.prototype.secondaryActions;
14893 /** @type {?} */
14894 ToastContainer.prototype.content;
14895 /** @type {?} */
14896 ToastContainer.prototype.baseClass;
14897 /** @type {?} */
14898 ToastContainer.prototype.toastRef;
14899 /** @type {?} */
14900 ToastContainer.prototype.toastConfig;
14901 }
14902
14903 /**
14904 * @fileoverview added by tsickle
14905 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
14906 */
14907 /**
14908 * @record
14909 */
14910 function ToastContent() { }
14911 if (false) {
14912 /** @type {?} */
14913 ToastContent.prototype.type;
14914 /** @type {?|undefined} */
14915 ToastContent.prototype.body;
14916 }
14917 /**
14918 * @record
14919 */
14920 function ToastConfig() { }
14921 if (false) {
14922 /** @type {?|undefined} */
14923 ToastConfig.prototype.content;
14924 /** @type {?|undefined} */
14925 ToastConfig.prototype.position;
14926 /** @type {?|undefined} */
14927 ToastConfig.prototype.animation;
14928 }
14929 /** @type {?} */
14930 var DEFAULT_CONFIG$2 = {
14931 position: {
14932 top: 20,
14933 },
14934 animation: {
14935 fadeOut: 2500,
14936 fadeIn: 150,
14937 },
14938 content: null,
14939 };
14940 var ToastService = /** @class */ (function () {
14941 function ToastService(injector, overlay) {
14942 this.injector = injector;
14943 this.overlay = overlay;
14944 }
14945 /**
14946 * @param {?=} config
14947 * @return {?}
14948 */
14949 ToastService.prototype.show = /**
14950 * @param {?=} config
14951 * @return {?}
14952 */
14953 function (config) {
14954 if (config === void 0) { config = {}; }
14955 // Override default configuration
14956 /** @type {?} */
14957 var dialogConfig = __assign({}, DEFAULT_CONFIG$2, config);
14958 // Returns an OverlayRef which is a PortalHost
14959 /** @type {?} */
14960 var overlayRef = this.createOverlay(dialogConfig);
14961 // Instantiate remote control
14962 /** @type {?} */
14963 var toastRef = new ToastRef(overlayRef);
14964 this.lastToast = toastRef;
14965 /** @type {?} */
14966 var overlayComponent = this.attachToastContainer(overlayRef, dialogConfig, toastRef);
14967 toastRef.componentInstance = overlayComponent;
14968 return toastRef;
14969 };
14970 /**
14971 * @private
14972 * @param {?} config
14973 * @return {?}
14974 */
14975 ToastService.prototype.createOverlay = /**
14976 * @private
14977 * @param {?} config
14978 * @return {?}
14979 */
14980 function (config) {
14981 /** @type {?} */
14982 var overlayConfig = this.getOverlayConfig(config);
14983 return this.overlay.create(overlayConfig);
14984 };
14985 /**
14986 * @private
14987 * @param {?} overlayRef
14988 * @param {?} config
14989 * @param {?} toastRef
14990 * @return {?}
14991 */
14992 ToastService.prototype.attachToastContainer = /**
14993 * @private
14994 * @param {?} overlayRef
14995 * @param {?} config
14996 * @param {?} toastRef
14997 * @return {?}
14998 */
14999 function (overlayRef, config, toastRef) {
15000 /** @type {?} */
15001 var injector = this.createInjector(config, toastRef);
15002 /** @type {?} */
15003 var containerPortal = new portal.ComponentPortal(ToastContainer, null, injector);
15004 /** @type {?} */
15005 var containerRef = overlayRef.attach(containerPortal);
15006 return containerRef.instance;
15007 };
15008 /**
15009 * @private
15010 * @param {?} config
15011 * @param {?} toastRef
15012 * @return {?}
15013 */
15014 ToastService.prototype.createInjector = /**
15015 * @private
15016 * @param {?} config
15017 * @param {?} toastRef
15018 * @return {?}
15019 */
15020 function (config, toastRef) {
15021 /** @type {?} */
15022 var injectionTokens = new WeakMap();
15023 injectionTokens.set(ToastRef, toastRef);
15024 injectionTokens.set(TOAST_CONFIG_DATA, config);
15025 return new portal.PortalInjector(this.injector, injectionTokens);
15026 };
15027 /**
15028 * @private
15029 * @param {?} config
15030 * @return {?}
15031 */
15032 ToastService.prototype.getOverlayConfig = /**
15033 * @private
15034 * @param {?} config
15035 * @return {?}
15036 */
15037 function (config) {
15038 /** @type {?} */
15039 var positionStrategy = this.overlay.position()
15040 .global()
15041 .centerHorizontally()
15042 .top(this.getPosition(config));
15043 /** @type {?} */
15044 var overlayConfig = new overlay.OverlayConfig({
15045 positionStrategy: positionStrategy
15046 });
15047 return overlayConfig;
15048 };
15049 /**
15050 * @param {?} config
15051 * @return {?}
15052 */
15053 ToastService.prototype.getPosition = /**
15054 * @param {?} config
15055 * @return {?}
15056 */
15057 function (config) {
15058 /** @type {?} */
15059 var lastToastIsVisible = this.lastToast && this.lastToast.isVisible();
15060 /** @type {?} */
15061 var position = lastToastIsVisible
15062 ? this.lastToast.getPosition().bottom
15063 : config.position.top;
15064 return position + 'px';
15065 };
15066 ToastService.decorators = [
15067 { type: core.Injectable }
15068 ];
15069 /** @nocollapse */
15070 ToastService.ctorParameters = function () { return [
15071 { type: core.Injector },
15072 { type: overlay.Overlay }
15073 ]; };
15074 return ToastService;
15075 }());
15076 if (false) {
15077 /**
15078 * @type {?}
15079 * @private
15080 */
15081 ToastService.prototype.lastToast;
15082 /**
15083 * @type {?}
15084 * @private
15085 */
15086 ToastService.prototype.injector;
15087 /**
15088 * @type {?}
15089 * @private
15090 */
15091 ToastService.prototype.overlay;
15092 }
15093
15094 /**
15095 * @fileoverview added by tsickle
15096 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
15097 */
15098 var ToastModule = /** @class */ (function () {
15099 function ToastModule() {
15100 }
15101 ToastModule.decorators = [
15102 { type: core.NgModule, args: [{
15103 declarations: [
15104 ToastContainer,
15105 ],
15106 exports: [
15107 ToastContainer,
15108 ],
15109 imports: [
15110 common.CommonModule,
15111 overlay.OverlayModule,
15112 ButtonModule,
15113 IconModule,
15114 ],
15115 entryComponents: [
15116 ToastContainer
15117 ],
15118 providers: [
15119 ToastService,
15120 ],
15121 },] }
15122 ];
15123 return ToastModule;
15124 }());
15125
15126 /**
15127 * @fileoverview added by tsickle
15128 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
15129 */
15130 var Progress = /** @class */ (function () {
15131 function Progress() {
15132 this.baseClass = true;
15133 /**
15134 * Set to `true` to make the progress linear. This allows the user to access any of the steps at any time (like tabs).
15135 */
15136 this.linear = false;
15137 /**
15138 * Set to `true` to allow the user to edit a step after completed.
15139 */
15140 this.editable = false;
15141 /**
15142 * Emits an event when a index is selected
15143 */
15144 this.selected = new core.EventEmitter();
15145 /**
15146 * Emits an event when the steps change.
15147 */
15148 this.stepsChange = new core.EventEmitter();
15149 }
15150 Object.defineProperty(Progress.prototype, "steps", {
15151 /**
15152 * Sets the steps for the `Progress` component.
15153 */
15154 get: /**
15155 * Sets the steps for the `Progress` component.
15156 * @return {?}
15157 */
15158 function () {
15159 return this._steps;
15160 },
15161 set: /**
15162 * @param {?} value
15163 * @return {?}
15164 */
15165 function (value) {
15166 this._steps = value;
15167 this.stepsChange.emit(this._steps);
15168 },
15169 enumerable: true,
15170 configurable: true
15171 });
15172 /**
15173 * @param {?} newIndex
15174 * @return {?}
15175 */
15176 Progress.prototype.select = /**
15177 * @param {?} newIndex
15178 * @return {?}
15179 */
15180 function (newIndex) {
15181 this._steps.forEach((/**
15182 * @param {?} step
15183 * @param {?} index
15184 * @return {?}
15185 */
15186 function (step, index) {
15187 if (index === newIndex) {
15188 step.current = true;
15189 }
15190 else if (step.current) {
15191 delete step.current;
15192 }
15193 }));
15194 this.selected.emit(newIndex);
15195 this.steps = this._steps;
15196 };
15197 /**
15198 * Step is completed.
15199 */
15200 /**
15201 * Step is completed.
15202 * @param {?} step
15203 * @return {?}
15204 */
15205 Progress.prototype.isComplete = /**
15206 * Step is completed.
15207 * @param {?} step
15208 * @return {?}
15209 */
15210 function (step) {
15211 return step.state === 'complete';
15212 };
15213 /**
15214 * Step is editable.
15215 */
15216 /**
15217 * Step is editable.
15218 * @param {?} step
15219 * @return {?}
15220 */
15221 Progress.prototype.isEditable = /**
15222 * Step is editable.
15223 * @param {?} step
15224 * @return {?}
15225 */
15226 function (step) {
15227 return step.state === 'complete' && this.editable;
15228 };
15229 /**
15230 * Step is unclickable.
15231 */
15232 /**
15233 * Step is unclickable.
15234 * @param {?} step
15235 * @param {?} index
15236 * @return {?}
15237 */
15238 Progress.prototype.isUnclickable = /**
15239 * Step is unclickable.
15240 * @param {?} step
15241 * @param {?} index
15242 * @return {?}
15243 */
15244 function (step, index) {
15245 if (step.state === 'complete' && !this.editable) {
15246 return true;
15247 }
15248 if (step.state === 'incomplete' && !this.linear && index !== this.getNextUncompletedStepIndex()) {
15249 return true;
15250 }
15251 return false;
15252 };
15253 /**
15254 * Returns the index of the next uncompleted step.
15255 */
15256 /**
15257 * Returns the index of the next uncompleted step.
15258 * @return {?}
15259 */
15260 Progress.prototype.getNextUncompletedStepIndex = /**
15261 * Returns the index of the next uncompleted step.
15262 * @return {?}
15263 */
15264 function () {
15265 var e_1, _a;
15266 try {
15267 for (var _b = __values(this.steps.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {
15268 var _d = __read(_c.value, 2), index = _d[0], step = _d[1];
15269 if (step.state === 'incomplete') {
15270 return index;
15271 }
15272 }
15273 }
15274 catch (e_1_1) { e_1 = { error: e_1_1 }; }
15275 finally {
15276 try {
15277 if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
15278 }
15279 finally { if (e_1) throw e_1.error; }
15280 }
15281 return -1;
15282 };
15283 /**
15284 * Returns the current step.
15285 */
15286 /**
15287 * Returns the current step.
15288 * @return {?}
15289 */
15290 Progress.prototype.currentStep = /**
15291 * Returns the current step.
15292 * @return {?}
15293 */
15294 function () {
15295 var e_2, _a;
15296 try {
15297 for (var _b = __values(this.steps.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {
15298 var _d = __read(_c.value, 2), _ = _d[0], step = _d[1];
15299 if (step.current) {
15300 return step;
15301 }
15302 }
15303 }
15304 catch (e_2_1) { e_2 = { error: e_2_1 }; }
15305 finally {
15306 try {
15307 if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
15308 }
15309 finally { if (e_2) throw e_2.error; }
15310 }
15311 return null;
15312 };
15313 /**
15314 * Returns the next step.
15315 */
15316 /**
15317 * Returns the next step.
15318 * @return {?}
15319 */
15320 Progress.prototype.nextStep = /**
15321 * Returns the next step.
15322 * @return {?}
15323 */
15324 function () {
15325 var e_3, _a;
15326 /** @type {?} */
15327 var currentIndex = -1;
15328 try {
15329 for (var _b = __values(this.steps.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {
15330 var _d = __read(_c.value, 2), index = _d[0], step = _d[1];
15331 if (step.current) {
15332 currentIndex = index;
15333 }
15334 if (currentIndex >= 0 && currentIndex + 1 === index) {
15335 return step;
15336 }
15337 }
15338 }
15339 catch (e_3_1) { e_3 = { error: e_3_1 }; }
15340 finally {
15341 try {
15342 if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
15343 }
15344 finally { if (e_3) throw e_3.error; }
15345 }
15346 return null;
15347 };
15348 /**
15349 * Returns the current step index.
15350 */
15351 /**
15352 * Returns the current step index.
15353 * @return {?}
15354 */
15355 Progress.prototype.getCurrentStepIndex = /**
15356 * Returns the current step index.
15357 * @return {?}
15358 */
15359 function () {
15360 var e_4, _a;
15361 try {
15362 for (var _b = __values(this.steps.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {
15363 var _d = __read(_c.value, 2), index = _d[0], step = _d[1];
15364 if (step.current) {
15365 return index;
15366 }
15367 }
15368 }
15369 catch (e_4_1) { e_4 = { error: e_4_1 }; }
15370 finally {
15371 try {
15372 if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
15373 }
15374 finally { if (e_4) throw e_4.error; }
15375 }
15376 return -1;
15377 };
15378 Progress.decorators = [
15379 { type: core.Component, args: [{
15380 selector: 'suka-progress',
15381 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\u00F3ximo paso: {{nextStep().label}}</p>\n <p class=\"mobile-progress__label__next-step\" *ngIf=\"getCurrentStepIndex() + 1 >= steps.length\">\u00DAltimo 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 "
15382 }] }
15383 ];
15384 Progress.propDecorators = {
15385 baseClass: [{ type: core.HostBinding, args: ['class.progress',] }],
15386 linear: [{ type: core.Input }],
15387 editable: [{ type: core.Input }],
15388 selected: [{ type: core.Output }],
15389 stepsChange: [{ type: core.Output }],
15390 steps: [{ type: core.Input }]
15391 };
15392 return Progress;
15393 }());
15394 if (false) {
15395 /**
15396 * @type {?}
15397 * @private
15398 */
15399 Progress.prototype._steps;
15400 /** @type {?} */
15401 Progress.prototype.baseClass;
15402 /**
15403 * Set to `true` to make the progress linear. This allows the user to access any of the steps at any time (like tabs).
15404 * @type {?}
15405 */
15406 Progress.prototype.linear;
15407 /**
15408 * Set to `true` to allow the user to edit a step after completed.
15409 * @type {?}
15410 */
15411 Progress.prototype.editable;
15412 /**
15413 * Emits an event when a index is selected
15414 * @type {?}
15415 */
15416 Progress.prototype.selected;
15417 /**
15418 * Emits an event when the steps change.
15419 * @type {?}
15420 */
15421 Progress.prototype.stepsChange;
15422 }
15423
15424 /**
15425 * @fileoverview added by tsickle
15426 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
15427 */
15428 var ProgressModule = /** @class */ (function () {
15429 function ProgressModule() {
15430 }
15431 ProgressModule.decorators = [
15432 { type: core.NgModule, args: [{
15433 declarations: [
15434 Progress
15435 ],
15436 exports: [
15437 Progress
15438 ],
15439 imports: [
15440 common.CommonModule,
15441 IconModule,
15442 ]
15443 },] }
15444 ];
15445 return ProgressModule;
15446 }());
15447
15448 /**
15449 * @fileoverview added by tsickle
15450 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
15451 */
15452 var Layout = /** @class */ (function () {
15453 function Layout() {
15454 this.baseClass = true;
15455 }
15456 Layout.decorators = [
15457 { type: core.Component, args: [{
15458 selector: "suka-layout",
15459 template: "\n <ng-content></ng-content>\n "
15460 }] }
15461 ];
15462 Layout.propDecorators = {
15463 baseClass: [{ type: core.HostBinding, args: ['class.layout',] }]
15464 };
15465 return Layout;
15466 }());
15467 if (false) {
15468 /** @type {?} */
15469 Layout.prototype.baseClass;
15470 }
15471
15472 /**
15473 * @fileoverview added by tsickle
15474 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
15475 */
15476 var LayoutSection = /** @class */ (function () {
15477 function LayoutSection() {
15478 this.baseClass = true;
15479 this.secondary = false;
15480 this.oneHalf = false;
15481 this.oneThird = false;
15482 this.annotated = false;
15483 }
15484 LayoutSection.decorators = [
15485 { type: core.Component, args: [{
15486 selector: 'suka-layout-section',
15487 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 "
15488 }] }
15489 ];
15490 LayoutSection.propDecorators = {
15491 baseClass: [{ type: core.HostBinding, args: ['class.layout__section',] }],
15492 secondary: [{ type: core.HostBinding, args: ['class.layout__section--secondary',] }, { type: core.Input }],
15493 oneHalf: [{ type: core.HostBinding, args: ['class.layout__section--one-half',] }, { type: core.Input }],
15494 oneThird: [{ type: core.HostBinding, args: ['class.layout__section--one-third',] }, { type: core.Input }],
15495 annotated: [{ type: core.HostBinding, args: ['class.layout__section--annotated',] }, { type: core.Input }],
15496 title: [{ type: core.Input }],
15497 description: [{ type: core.Input }]
15498 };
15499 return LayoutSection;
15500 }());
15501 if (false) {
15502 /** @type {?} */
15503 LayoutSection.prototype.baseClass;
15504 /** @type {?} */
15505 LayoutSection.prototype.secondary;
15506 /** @type {?} */
15507 LayoutSection.prototype.oneHalf;
15508 /** @type {?} */
15509 LayoutSection.prototype.oneThird;
15510 /** @type {?} */
15511 LayoutSection.prototype.annotated;
15512 /**
15513 * Sets the title for an annotated layout section.
15514 * @type {?}
15515 */
15516 LayoutSection.prototype.title;
15517 /**
15518 * Sets the description for an annotated layout section.
15519 * @type {?}
15520 */
15521 LayoutSection.prototype.description;
15522 }
15523
15524 /**
15525 * @fileoverview added by tsickle
15526 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
15527 */
15528 var LayoutModule = /** @class */ (function () {
15529 function LayoutModule() {
15530 }
15531 LayoutModule.decorators = [
15532 { type: core.NgModule, args: [{
15533 declarations: [
15534 Layout,
15535 LayoutSection,
15536 ],
15537 exports: [
15538 Layout,
15539 LayoutSection,
15540 ],
15541 imports: [
15542 common.CommonModule,
15543 ]
15544 },] }
15545 ];
15546 return LayoutModule;
15547 }());
15548
15549 /**
15550 * @fileoverview added by tsickle
15551 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
15552 */
15553 /**
15554 * Informa a los usuarios sobre cambios importantes o condiciones persistentes.
15555 *
15556 * 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.
15557 */
15558 var Banner = /** @class */ (function () {
15559 function Banner() {
15560 this.hide = false;
15561 this.animationState = 'default';
15562 /**
15563 * Sets the status for the banner
15564 */
15565 this.status = 'default';
15566 /**
15567 * Displays a close button
15568 */
15569 this.dismissable = true;
15570 /**
15571 * Action label content
15572 */
15573 this.actionLabel = '';
15574 /**
15575 * Callback when the action
15576 */
15577 this.action = new core.EventEmitter();
15578 /**
15579 * Callback when the banner is dismissed.
15580 */
15581 this.dismiss = new core.EventEmitter();
15582 }
15583 /**
15584 * @return {?}
15585 */
15586 Banner.prototype.ngOnInit = /**
15587 * @return {?}
15588 */
15589 function () {
15590 switch (this.status) {
15591 case 'info':
15592 this.statusIcon = 'info';
15593 break;
15594 case 'success':
15595 this.statusIcon = 'check';
15596 break;
15597 case 'attention':
15598 this.statusIcon = 'alert-triangle';
15599 break;
15600 case 'alert':
15601 this.statusIcon = 'alert-circle';
15602 break;
15603 }
15604 };
15605 /**
15606 * Emits the action callback.
15607 */
15608 /**
15609 * Emits the action callback.
15610 * @return {?}
15611 */
15612 Banner.prototype.onAction = /**
15613 * Emits the action callback.
15614 * @return {?}
15615 */
15616 function () {
15617 this.action.emit();
15618 };
15619 /**
15620 * Closes the banner.
15621 * Emits the dismiss callback.
15622 */
15623 /**
15624 * Closes the banner.
15625 * Emits the dismiss callback.
15626 * @param {?=} event
15627 * @return {?}
15628 */
15629 Banner.prototype.onClose = /**
15630 * Closes the banner.
15631 * Emits the dismiss callback.
15632 * @param {?=} event
15633 * @return {?}
15634 */
15635 function (event) {
15636 this.animationState = 'closing';
15637 this.dismiss.emit();
15638 };
15639 /**
15640 * @param {?} event
15641 * @return {?}
15642 */
15643 Banner.prototype.onFadeFinished = /**
15644 * @param {?} event
15645 * @return {?}
15646 */
15647 function (event) {
15648 /** @type {?} */
15649 var itFinished = this.animationState === 'closing';
15650 if (itFinished) {
15651 this.hide = true;
15652 }
15653 };
15654 Banner.decorators = [
15655 { type: core.Component, args: [{
15656 selector: 'suka-banner',
15657 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 ",
15658 animations: [
15659 animations.trigger('fadeAnimation', [
15660 animations.state('default', animations.style({ opacity: 1, transform: '*' })),
15661 animations.transition('void => *', [animations.style({ opacity: 0, transform: 'scale(.9)' }), animations.animate('150ms cubic-bezier(.17,.67,.78,1.21)')]),
15662 animations.transition('default => closing', animations.animate('150ms', animations.style({ opacity: 0, transform: 'scale(.9)' }))),
15663 ]),
15664 ]
15665 }] }
15666 ];
15667 Banner.propDecorators = {
15668 title: [{ type: core.Input }],
15669 status: [{ type: core.Input }],
15670 dismissable: [{ type: core.Input }],
15671 actionLabel: [{ type: core.Input }],
15672 action: [{ type: core.Output }],
15673 dismiss: [{ type: core.Output }]
15674 };
15675 return Banner;
15676 }());
15677 if (false) {
15678 /** @type {?} */
15679 Banner.prototype.statusIcon;
15680 /** @type {?} */
15681 Banner.prototype.hide;
15682 /** @type {?} */
15683 Banner.prototype.animationState;
15684 /**
15685 * Title content for the banner
15686 * @type {?}
15687 */
15688 Banner.prototype.title;
15689 /**
15690 * Sets the status for the banner
15691 * @type {?}
15692 */
15693 Banner.prototype.status;
15694 /**
15695 * Displays a close button
15696 * @type {?}
15697 */
15698 Banner.prototype.dismissable;
15699 /**
15700 * Action label content
15701 * @type {?}
15702 */
15703 Banner.prototype.actionLabel;
15704 /**
15705 * Callback when the action
15706 * @type {?}
15707 */
15708 Banner.prototype.action;
15709 /**
15710 * Callback when the banner is dismissed.
15711 * @type {?}
15712 */
15713 Banner.prototype.dismiss;
15714 }
15715
15716 /**
15717 * @fileoverview added by tsickle
15718 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
15719 */
15720 var BannerModule = /** @class */ (function () {
15721 function BannerModule() {
15722 }
15723 BannerModule.decorators = [
15724 { type: core.NgModule, args: [{
15725 declarations: [
15726 Banner
15727 ],
15728 exports: [
15729 Banner
15730 ],
15731 imports: [
15732 common.CommonModule,
15733 IconModule,
15734 ButtonModule,
15735 ]
15736 },] }
15737 ];
15738 return BannerModule;
15739 }());
15740
15741 /**
15742 * @fileoverview added by tsickle
15743 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
15744 */
15745 /** @enum {string} */
15746 var SnippetType = {
15747 single: 'single',
15748 multi: 'multi',
15749 inline: 'inline',
15750 };
15751 /** @enum {string} */
15752 var SnippetLanguage = {
15753 javascript: 'javascript',
15754 json: 'json',
15755 typescript: 'typescript',
15756 markup: 'markup',
15757 markdown: 'markdown',
15758 php: 'php',
15759 ruby: 'ruby',
15760 scss: 'scss',
15761 css: 'css',
15762 html: 'html',
15763 xml: 'xml',
15764 clike: 'clike',
15765 java: 'java',
15766 swift: 'swift',
15767 };
15768 var CodeSnippet = /** @class */ (function () {
15769 /**
15770 * Creates an instance of CodeSnippet.
15771 */
15772 function CodeSnippet(sanitizer) {
15773 this.sanitizer = sanitizer;
15774 /**
15775 * It can be `"single"`, `"multi"` or `"inline"`
15776 */
15777 this.display = SnippetType.single;
15778 /**
15779 * Text displayed in the tooltip when user clicks button to copy code.
15780 *
15781 */
15782 this.feedbackText = 'Copiado'; // TODO: i18n
15783 /**
15784 * Snippet highlight language
15785 *
15786 */
15787 this.language = SnippetLanguage.javascript;
15788 /**
15789 * Time in miliseconds to keep the feedback tooltip displayed.
15790 *
15791 */
15792 this.feedbackTimeout = 3000;
15793 /**
15794 * Set to `true` to show an expanded code snippet.
15795 */
15796 this.expanded = false;
15797 /**
15798 * Set to `true` to show a loading code snippet.
15799 */
15800 this.skeleton = false;
15801 this.snippetClass = true;
15802 this.showFeedback = false;
15803 CodeSnippet.codeSnippetCount++;
15804 }
15805 Object.defineProperty(CodeSnippet.prototype, "snippetSingleClass", {
15806 get: /**
15807 * @return {?}
15808 */
15809 function () {
15810 return this.display === SnippetType.single;
15811 },
15812 enumerable: true,
15813 configurable: true
15814 });
15815 Object.defineProperty(CodeSnippet.prototype, "snippetMultiClass", {
15816 get: /**
15817 * @return {?}
15818 */
15819 function () {
15820 return this.display === SnippetType.multi;
15821 },
15822 enumerable: true,
15823 configurable: true
15824 });
15825 Object.defineProperty(CodeSnippet.prototype, "snippetInlineClass", {
15826 get: /**
15827 * @return {?}
15828 */
15829 function () {
15830 return this.display === SnippetType.inline;
15831 },
15832 enumerable: true,
15833 configurable: true
15834 });
15835 Object.defineProperty(CodeSnippet.prototype, "btnCopyClass", {
15836 get: /**
15837 * @return {?}
15838 */
15839 function () {
15840 return this.display === SnippetType.inline;
15841 },
15842 enumerable: true,
15843 configurable: true
15844 });
15845 Object.defineProperty(CodeSnippet.prototype, "displayStyle", {
15846 get: /**
15847 * @return {?}
15848 */
15849 function () {
15850 return this.display !== SnippetType.inline ? 'block' : null;
15851 },
15852 enumerable: true,
15853 configurable: true
15854 });
15855 Object.defineProperty(CodeSnippet.prototype, "attrType", {
15856 get: /**
15857 * @return {?}
15858 */
15859 function () {
15860 return this.display === SnippetType.inline ? 'button' : null;
15861 },
15862 enumerable: true,
15863 configurable: true
15864 });
15865 Object.defineProperty(CodeSnippet.prototype, "shouldShowExpandButton", {
15866 get: /**
15867 * @return {?}
15868 */
15869 function () {
15870 return this.code ? this.code.nativeElement.getBoundingClientRect().height > 255 : false;
15871 },
15872 enumerable: true,
15873 configurable: true
15874 });
15875 /**
15876 * @return {?}
15877 */
15878 CodeSnippet.prototype.ngOnInit = /**
15879 * @return {?}
15880 */
15881 function () {
15882 if (this.highlight) {
15883 this.content = prismjs.highlight(this.content, prismjs.languages[this.language], this.language);
15884 }
15885 this.codeHtml = this.sanitizer.sanitize(core.SecurityContext.HTML, this.content);
15886 };
15887 /**
15888 * @return {?}
15889 */
15890 CodeSnippet.prototype.toggleSnippetExpansion = /**
15891 * @return {?}
15892 */
15893 function () {
15894 this.expanded = !this.expanded;
15895 };
15896 /**
15897 * Copies the code from the `<code>` block to clipboard.
15898 */
15899 /**
15900 * Copies the code from the `<code>` block to clipboard.
15901 * @return {?}
15902 */
15903 CodeSnippet.prototype.copyCode = /**
15904 * Copies the code from the `<code>` block to clipboard.
15905 * @return {?}
15906 */
15907 function () {
15908 // create invisible, uneditable textarea with our code in it
15909 /** @type {?} */
15910 var textarea = document.createElement('textarea');
15911 textarea.value = this.code.nativeElement.innerText || this.code.nativeElement.textContent;
15912 textarea.setAttribute('readonly', '');
15913 textarea.style.position = 'absolute';
15914 textarea.style.right = '-99999px';
15915 document.body.appendChild(textarea);
15916 // save user selection
15917 /** @type {?} */
15918 var selected = document.getSelection().rangeCount ? document.getSelection().getRangeAt(0) : null;
15919 // copy to clipboard
15920 textarea.select();
15921 document.execCommand('copy');
15922 // remove textarea
15923 document.body.removeChild(textarea);
15924 // restore user selection
15925 if (selected) {
15926 document.getSelection().removeAllRanges();
15927 document.getSelection().addRange(selected);
15928 }
15929 };
15930 /**
15931 * On copy button click, copies the code and shows feedback.
15932 */
15933 /**
15934 * On copy button click, copies the code and shows feedback.
15935 * @return {?}
15936 */
15937 CodeSnippet.prototype.onCopyButtonClicked = /**
15938 * On copy button click, copies the code and shows feedback.
15939 * @return {?}
15940 */
15941 function () {
15942 var _this = this;
15943 this.copyCode();
15944 this.showFeedback = true;
15945 setTimeout((/**
15946 * @return {?}
15947 */
15948 function () {
15949 _this.showFeedback = false;
15950 }), this.feedbackTimeout);
15951 };
15952 /**
15953 * Inline code snippet acts as button and makes the whole component clickable.
15954 *
15955 * This handles clicks in that case.
15956 */
15957 /**
15958 * Inline code snippet acts as button and makes the whole component clickable.
15959 *
15960 * This handles clicks in that case.
15961 * @return {?}
15962 */
15963 CodeSnippet.prototype.hostClick = /**
15964 * Inline code snippet acts as button and makes the whole component clickable.
15965 *
15966 * This handles clicks in that case.
15967 * @return {?}
15968 */
15969 function () {
15970 if (this.display !== SnippetType.inline) {
15971 return;
15972 }
15973 this.onCopyButtonClicked();
15974 };
15975 /**
15976 * Variable used for creating unique ids for code-snippet components.
15977 */
15978 CodeSnippet.codeSnippetCount = 0;
15979 CodeSnippet.decorators = [
15980 { type: core.Component, args: [{
15981 selector: 'suka-code-snippet',
15982 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 "
15983 }] }
15984 ];
15985 /** @nocollapse */
15986 CodeSnippet.ctorParameters = function () { return [
15987 { type: platformBrowser.DomSanitizer }
15988 ]; };
15989 CodeSnippet.propDecorators = {
15990 display: [{ type: core.Input }],
15991 feedbackText: [{ type: core.Input }],
15992 content: [{ type: core.Input }],
15993 highlight: [{ type: core.Input }],
15994 language: [{ type: core.Input }],
15995 feedbackTimeout: [{ type: core.Input }],
15996 expanded: [{ type: core.HostBinding, args: ['class.snippet--expand',] }, { type: core.Input }],
15997 skeleton: [{ type: core.HostBinding, args: ['class.skeleton',] }, { type: core.Input }],
15998 snippetClass: [{ type: core.HostBinding, args: ['class.snippet',] }],
15999 snippetSingleClass: [{ type: core.HostBinding, args: ['class.snippet--single',] }],
16000 snippetMultiClass: [{ type: core.HostBinding, args: ['class.snippet--multi',] }],
16001 snippetInlineClass: [{ type: core.HostBinding, args: ['class.snippet--inline',] }],
16002 btnCopyClass: [{ type: core.HostBinding, args: ['class.btn--copy',] }],
16003 displayStyle: [{ type: core.HostBinding, args: ['style.display',] }],
16004 attrType: [{ type: core.HostBinding, args: ['attr.type',] }],
16005 code: [{ type: core.ViewChild, args: ['code', { static: false },] }],
16006 hostClick: [{ type: core.HostListener, args: ['click',] }]
16007 };
16008 return CodeSnippet;
16009 }());
16010 if (false) {
16011 /**
16012 * Variable used for creating unique ids for code-snippet components.
16013 * @type {?}
16014 */
16015 CodeSnippet.codeSnippetCount;
16016 /** @type {?} */
16017 CodeSnippet.prototype.codeHtml;
16018 /**
16019 * It can be `"single"`, `"multi"` or `"inline"`
16020 * @type {?}
16021 */
16022 CodeSnippet.prototype.display;
16023 /**
16024 * Text displayed in the tooltip when user clicks button to copy code.
16025 *
16026 * @type {?}
16027 */
16028 CodeSnippet.prototype.feedbackText;
16029 /**
16030 * Code content
16031 *
16032 * @type {?}
16033 */
16034 CodeSnippet.prototype.content;
16035 /**
16036 * Code highlight
16037 *
16038 * @type {?}
16039 */
16040 CodeSnippet.prototype.highlight;
16041 /**
16042 * Snippet highlight language
16043 *
16044 * @type {?}
16045 */
16046 CodeSnippet.prototype.language;
16047 /**
16048 * Time in miliseconds to keep the feedback tooltip displayed.
16049 *
16050 * @type {?}
16051 */
16052 CodeSnippet.prototype.feedbackTimeout;
16053 /**
16054 * Set to `true` to show an expanded code snippet.
16055 * @type {?}
16056 */
16057 CodeSnippet.prototype.expanded;
16058 /**
16059 * Set to `true` to show a loading code snippet.
16060 * @type {?}
16061 */
16062 CodeSnippet.prototype.skeleton;
16063 /** @type {?} */
16064 CodeSnippet.prototype.snippetClass;
16065 /** @type {?} */
16066 CodeSnippet.prototype.code;
16067 /** @type {?} */
16068 CodeSnippet.prototype.showFeedback;
16069 /**
16070 * @type {?}
16071 * @private
16072 */
16073 CodeSnippet.prototype.sanitizer;
16074 }
16075
16076 /**
16077 * @fileoverview added by tsickle
16078 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
16079 */
16080 var CodeSnippetModule = /** @class */ (function () {
16081 function CodeSnippetModule() {
16082 }
16083 CodeSnippetModule.decorators = [
16084 { type: core.NgModule, args: [{
16085 declarations: [
16086 CodeSnippet,
16087 ],
16088 exports: [
16089 CodeSnippet,
16090 ],
16091 imports: [
16092 common.CommonModule,
16093 forms.FormsModule,
16094 TooltipModule,
16095 IconModule,
16096 ]
16097 },] }
16098 ];
16099 return CodeSnippetModule;
16100 }());
16101
16102 /**
16103 * @fileoverview added by tsickle
16104 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
16105 */
16106 var EmptyState = /** @class */ (function () {
16107 function EmptyState() {
16108 /**
16109 * Heading content.
16110 */
16111 this.heading = '';
16112 /**
16113 * Emits the primary action event.
16114 */
16115 this.primaryAction = new core.EventEmitter();
16116 /**
16117 * Emits the secondary action event.
16118 */
16119 this.secondaryAction = new core.EventEmitter();
16120 }
16121 /**
16122 * On button click, emits a primary o secondary action event accordingly
16123 */
16124 /**
16125 * On button click, emits a primary o secondary action event accordingly
16126 * @param {?} type
16127 * @return {?}
16128 */
16129 EmptyState.prototype.onClick = /**
16130 * On button click, emits a primary o secondary action event accordingly
16131 * @param {?} type
16132 * @return {?}
16133 */
16134 function (type) {
16135 if (type === 'primary') {
16136 this.primaryAction.emit('primary');
16137 }
16138 if (type === 'secondary') {
16139 this.secondaryAction.emit('secondary');
16140 }
16141 };
16142 EmptyState.decorators = [
16143 { type: core.Component, args: [{
16144 selector: 'suka-empty-state',
16145 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 "
16146 }] }
16147 ];
16148 EmptyState.propDecorators = {
16149 heading: [{ type: core.Input }],
16150 imgSrc: [{ type: core.Input }],
16151 primaryActionLabel: [{ type: core.Input }],
16152 primaryAction: [{ type: core.Output }],
16153 secondaryActionLabel: [{ type: core.Input }],
16154 secondaryAction: [{ type: core.Output }]
16155 };
16156 return EmptyState;
16157 }());
16158 if (false) {
16159 /**
16160 * Heading content.
16161 * @type {?}
16162 */
16163 EmptyState.prototype.heading;
16164 /**
16165 * Sets an image url for the avatar. If it is set, it displays instead of the empty icon.
16166 * @type {?}
16167 */
16168 EmptyState.prototype.imgSrc;
16169 /**
16170 * Primary action label content
16171 * @type {?}
16172 */
16173 EmptyState.prototype.primaryActionLabel;
16174 /**
16175 * Emits the primary action event.
16176 * @type {?}
16177 */
16178 EmptyState.prototype.primaryAction;
16179 /**
16180 * Secondary action label content
16181 * @type {?}
16182 */
16183 EmptyState.prototype.secondaryActionLabel;
16184 /**
16185 * Emits the secondary action event.
16186 * @type {?}
16187 */
16188 EmptyState.prototype.secondaryAction;
16189 }
16190
16191 /**
16192 * @fileoverview added by tsickle
16193 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
16194 */
16195 var EmptyStateModule = /** @class */ (function () {
16196 function EmptyStateModule() {
16197 }
16198 EmptyStateModule.decorators = [
16199 { type: core.NgModule, args: [{
16200 declarations: [
16201 EmptyState,
16202 ],
16203 exports: [
16204 EmptyState,
16205 ],
16206 imports: [
16207 common.CommonModule,
16208 IconModule,
16209 ButtonModule,
16210 ]
16211 },] }
16212 ];
16213 return EmptyStateModule;
16214 }());
16215
16216 /**
16217 * @fileoverview added by tsickle
16218 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
16219 */
16220 /**
16221 * @param {?} r
16222 * @param {?} g
16223 * @param {?} b
16224 * @return {?}
16225 */
16226 function rgbToHsv(r, g, b) {
16227 /** @type {?} */
16228 var h;
16229 /** @type {?} */
16230 var s;
16231 /** @type {?} */
16232 var rabs = r / 255;
16233 /** @type {?} */
16234 var gabs = g / 255;
16235 /** @type {?} */
16236 var babs = b / 255;
16237 /** @type {?} */
16238 var v = Math.max(rabs, gabs, babs);
16239 /** @type {?} */
16240 var diff = v - Math.min(rabs, gabs, babs);
16241 /** @type {?} */
16242 var diffc = (/**
16243 * @param {?} c
16244 * @return {?}
16245 */
16246 function (c) { return (v - c) / 6 / diff + 1 / 2; });
16247 /** @type {?} */
16248 var percentRoundFn = (/**
16249 * @param {?} num
16250 * @return {?}
16251 */
16252 function (num) { return Math.round(num * 100) / 100; });
16253 if (diff === 0) {
16254 h = s = 0;
16255 }
16256 else {
16257 s = diff / v;
16258 /** @type {?} */
16259 var rr = diffc(rabs);
16260 /** @type {?} */
16261 var gg = diffc(gabs);
16262 /** @type {?} */
16263 var bb = diffc(babs);
16264 if (rabs === v) {
16265 h = bb - gg;
16266 }
16267 else if (gabs === v) {
16268 h = (1 / 3) + rr - bb;
16269 }
16270 else if (babs === v) {
16271 h = (2 / 3) + gg - rr;
16272 }
16273 if (h < 0) {
16274 h += 1;
16275 }
16276 else if (h > 1) {
16277 h -= 1;
16278 }
16279 }
16280 return {
16281 h: Math.round(h * 360),
16282 s: percentRoundFn(s * 100),
16283 v: percentRoundFn(v * 100)
16284 };
16285 }
16286 /**
16287 * @param {?} hex
16288 * @return {?}
16289 */
16290 function hexToRgb(hex) {
16291 // Expand shorthand form (e.g. "03F") to full form (e.g. "0033FF")
16292 /** @type {?} */
16293 var shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
16294 hex = hex.replace(shorthandRegex, (/**
16295 * @param {?} m
16296 * @param {?} r
16297 * @param {?} g
16298 * @param {?} b
16299 * @return {?}
16300 */
16301 function (m, r, g, b) {
16302 return r + r + g + g + b + b;
16303 }));
16304 /** @type {?} */
16305 var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
16306 return result ? {
16307 r: parseInt(result[1], 16),
16308 g: parseInt(result[2], 16),
16309 b: parseInt(result[3], 16)
16310 } : null;
16311 }
16312 /**
16313 * @param {?} r
16314 * @param {?} g
16315 * @param {?} b
16316 * @return {?}
16317 */
16318 function rgbToHex(r, g, b) {
16319 /**
16320 * @param {?} x
16321 * @return {?}
16322 */
16323 function hex(x) {
16324 return ('0' + parseInt(x).toString(16)).slice(-2);
16325 }
16326 return '#' + hex(r) + hex(g) + hex(b);
16327 }
16328 /**
16329 * @param {?} hue
16330 * @param {?} saturation
16331 * @param {?} value
16332 * @return {?}
16333 */
16334 function hsvToRgb(hue, saturation, value) {
16335 /** @type {?} */
16336 var h = hue / 60;
16337 /** @type {?} */
16338 var s = saturation / 100;
16339 /** @type {?} */
16340 var v = value / 100;
16341 /** @type {?} */
16342 var hi = Math.floor(h) % 6;
16343 /** @type {?} */
16344 var f = h - Math.floor(h);
16345 /** @type {?} */
16346 var p = 255 * v * (1 - s);
16347 /** @type {?} */
16348 var q = 255 * v * (1 - (s * f));
16349 /** @type {?} */
16350 var t = 255 * v * (1 - (s * (1 - f)));
16351 v *= 255;
16352 /** @type {?} */
16353 var rgbArray;
16354 switch (hi) {
16355 case 0:
16356 rgbArray = [v, t, p];
16357 break;
16358 case 1:
16359 rgbArray = [q, v, p];
16360 break;
16361 case 2:
16362 rgbArray = [p, v, t];
16363 break;
16364 case 3:
16365 rgbArray = [p, q, v];
16366 break;
16367 case 4:
16368 rgbArray = [t, p, v];
16369 break;
16370 case 5:
16371 rgbArray = [v, p, q];
16372 break;
16373 }
16374 return {
16375 r: rgbArray[0],
16376 g: rgbArray[1],
16377 b: rgbArray[2],
16378 };
16379 }
16380 /**
16381 * @param {?} h
16382 * @param {?} s
16383 * @param {?} v
16384 * @return {?}
16385 */
16386 function hsvToHex(h, s, v) {
16387 /** @type {?} */
16388 var rgbColor = hsvToRgb(h, s, v);
16389 return rgbToHex(rgbColor.r, rgbColor.g, rgbColor.b);
16390 }
16391
16392 /**
16393 * @fileoverview added by tsickle
16394 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
16395 */
16396 var ColorPicker = /** @class */ (function () {
16397 function ColorPicker() {
16398 this.baseClass = true;
16399 this.colorChange = new core.EventEmitter();
16400 this.showInput = true;
16401 }
16402 /**
16403 * @return {?}
16404 */
16405 ColorPicker.prototype.ngOnInit = /**
16406 * @return {?}
16407 */
16408 function () {
16409 /** @type {?} */
16410 var rgbColor = hexToRgb(this.color);
16411 if (rgbColor) {
16412 /** @type {?} */
16413 var hsv = rgbToHsv(rgbColor.r, rgbColor.g, rgbColor.b);
16414 this.hue = hsvToHex(hsv.h, 100, 100);
16415 }
16416 };
16417 /**
16418 * @param {?} event
16419 * @return {?}
16420 */
16421 ColorPicker.prototype.onColorChange = /**
16422 * @param {?} event
16423 * @return {?}
16424 */
16425 function (event) {
16426 /** @type {?} */
16427 var rgbColor = hexToRgb(event);
16428 if (rgbColor) {
16429 /** @type {?} */
16430 var hsv = rgbToHsv(rgbColor.r, rgbColor.g, rgbColor.b);
16431 this.hue = hsvToHex(hsv.h, 100, 100);
16432 this.color = event;
16433 }
16434 this.emitColorChange(this.color);
16435 };
16436 /**
16437 * @param {?} event
16438 * @return {?}
16439 */
16440 ColorPicker.prototype.onColorSelect = /**
16441 * @param {?} event
16442 * @return {?}
16443 */
16444 function (event) {
16445 this.color = event;
16446 this.emitColorChange(this.color);
16447 };
16448 /**
16449 * @private
16450 * @param {?} color
16451 * @return {?}
16452 */
16453 ColorPicker.prototype.emitColorChange = /**
16454 * @private
16455 * @param {?} color
16456 * @return {?}
16457 */
16458 function (color) {
16459 this.colorChange.emit(color);
16460 };
16461 ColorPicker.decorators = [
16462 { type: core.Component, args: [{
16463 selector: 'suka-color-picker',
16464 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 "
16465 }] }
16466 ];
16467 ColorPicker.propDecorators = {
16468 baseClass: [{ type: core.HostBinding, args: ['class.color-picker',] }],
16469 color: [{ type: core.Input }],
16470 colorChange: [{ type: core.Output }],
16471 showInput: [{ type: core.Input }]
16472 };
16473 return ColorPicker;
16474 }());
16475 if (false) {
16476 /** @type {?} */
16477 ColorPicker.prototype.baseClass;
16478 /** @type {?} */
16479 ColorPicker.prototype.color;
16480 /** @type {?} */
16481 ColorPicker.prototype.colorChange;
16482 /** @type {?} */
16483 ColorPicker.prototype.showInput;
16484 /** @type {?} */
16485 ColorPicker.prototype.hue;
16486 /** @type {?} */
16487 ColorPicker.prototype.globalHue;
16488 }
16489
16490 /**
16491 * @fileoverview added by tsickle
16492 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
16493 */
16494 var ColorSlider = /** @class */ (function () {
16495 function ColorSlider() {
16496 this.baseClass = true;
16497 this.mousedown = false;
16498 this.hueChange = new core.EventEmitter();
16499 }
16500 /**
16501 * @param {?} evt
16502 * @return {?}
16503 */
16504 ColorSlider.prototype.onMouseUp = /**
16505 * @param {?} evt
16506 * @return {?}
16507 */
16508 function (evt) {
16509 this.mousedown = false;
16510 };
16511 /**
16512 * @return {?}
16513 */
16514 ColorSlider.prototype.draw = /**
16515 * @return {?}
16516 */
16517 function () {
16518 if (!this.ctx) {
16519 this.ctx = this.canvas.nativeElement.getContext('2d');
16520 }
16521 /** @type {?} */
16522 var width = this.canvas.nativeElement.width;
16523 /** @type {?} */
16524 var height = this.canvas.nativeElement.height;
16525 this.ctx.clearRect(0, 0, width, height);
16526 /** @type {?} */
16527 var gradient = this.ctx.createLinearGradient(0, 0, 0, height);
16528 gradient.addColorStop(0, 'rgba(255, 0, 0, 1)');
16529 gradient.addColorStop(0.17, 'rgba(255, 255, 0, 1)');
16530 gradient.addColorStop(0.34, 'rgba(0, 255, 0, 1)');
16531 gradient.addColorStop(0.51, 'rgba(0, 255, 255, 1)');
16532 gradient.addColorStop(0.68, 'rgba(0, 0, 255, 1)');
16533 gradient.addColorStop(0.85, 'rgba(255, 0, 255, 1)');
16534 gradient.addColorStop(1, 'rgba(255, 0, 0, 1)');
16535 this.ctx.beginPath();
16536 this.ctx.rect(0, 0, width, height);
16537 this.ctx.fillStyle = gradient;
16538 this.ctx.fill();
16539 this.ctx.closePath();
16540 if (this.selectedHeight) {
16541 this.ctx.beginPath();
16542 this.ctx.strokeStyle = 'white';
16543 this.ctx.lineWidth = 4;
16544 this.ctx.rect(0, this.selectedHeight - 5, width, 10);
16545 this.ctx.stroke();
16546 this.ctx.closePath();
16547 }
16548 };
16549 /**
16550 * @param {?} evt
16551 * @return {?}
16552 */
16553 ColorSlider.prototype.onMouseDown = /**
16554 * @param {?} evt
16555 * @return {?}
16556 */
16557 function (evt) {
16558 this.mousedown = true;
16559 this.selectedHeight = evt.offsetY;
16560 this.draw();
16561 this.emitHue(evt.offsetY);
16562 };
16563 /**
16564 * @param {?} evt
16565 * @return {?}
16566 */
16567 ColorSlider.prototype.onMouseMove = /**
16568 * @param {?} evt
16569 * @return {?}
16570 */
16571 function (evt) {
16572 if (this.mousedown) {
16573 this.selectedHeight = evt.offsetY;
16574 this.draw();
16575 this.emitHue(evt.offsetY);
16576 }
16577 };
16578 /**
16579 * @param {?} y
16580 * @return {?}
16581 */
16582 ColorSlider.prototype.emitHue = /**
16583 * @param {?} y
16584 * @return {?}
16585 */
16586 function (y) {
16587 if (y < 0) {
16588 y = 0;
16589 }
16590 else if (y >= 250) {
16591 y = 249;
16592 }
16593 /** @type {?} */
16594 var color = this.getColorAtPosition(y);
16595 this.hueChange.emit(rgbToHex(color.r, color.g, color.b));
16596 };
16597 /**
16598 * @param {?} y
16599 * @return {?}
16600 */
16601 ColorSlider.prototype.getColorAtPosition = /**
16602 * @param {?} y
16603 * @return {?}
16604 */
16605 function (y) {
16606 /** @type {?} */
16607 var imageData = this.ctx.getImageData(5, y, 1, 1).data;
16608 return {
16609 r: imageData[0],
16610 g: imageData[1],
16611 b: imageData[2],
16612 };
16613 };
16614 /**
16615 * @param {?} changes
16616 * @return {?}
16617 */
16618 ColorSlider.prototype.ngOnChanges = /**
16619 * @param {?} changes
16620 * @return {?}
16621 */
16622 function (changes) {
16623 if (changes.hue && !changes.hue.isFirstChange()) {
16624 /** @type {?} */
16625 var rgbColor = hexToRgb(this.hue);
16626 if (rgbColor) {
16627 /** @type {?} */
16628 var hsvColor = rgbToHsv(rgbColor.r, rgbColor.g, rgbColor.b);
16629 /** @type {?} */
16630 var hueFactor = hsvColor.h / 360;
16631 this.selectedHeight = hueFactor * 250;
16632 this.draw();
16633 }
16634 }
16635 };
16636 /**
16637 * @return {?}
16638 */
16639 ColorSlider.prototype.ngAfterViewInit = /**
16640 * @return {?}
16641 */
16642 function () {
16643 if (this.hue) {
16644 /** @type {?} */
16645 var rgbColor = hexToRgb(this.hue);
16646 /** @type {?} */
16647 var hsvColor = rgbToHsv(rgbColor.r, rgbColor.g, rgbColor.b);
16648 /** @type {?} */
16649 var hueFactor = hsvColor.h / 360;
16650 this.selectedHeight = hueFactor * 250;
16651 }
16652 this.draw();
16653 };
16654 ColorSlider.decorators = [
16655 { type: core.Component, args: [{
16656 selector: 'suka-color-slider',
16657 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 "
16658 }] }
16659 ];
16660 ColorSlider.propDecorators = {
16661 baseClass: [{ type: core.HostBinding, args: ['class.color-slider-wrapper',] }],
16662 hue: [{ type: core.Input }],
16663 hueChange: [{ type: core.Output }],
16664 canvas: [{ type: core.ViewChild, args: ['canvas', { static: false },] }],
16665 onMouseUp: [{ type: core.HostListener, args: ['window:mouseup', ['$event'],] }]
16666 };
16667 return ColorSlider;
16668 }());
16669 if (false) {
16670 /** @type {?} */
16671 ColorSlider.prototype.baseClass;
16672 /**
16673 * @type {?}
16674 * @private
16675 */
16676 ColorSlider.prototype.ctx;
16677 /**
16678 * @type {?}
16679 * @private
16680 */
16681 ColorSlider.prototype.mousedown;
16682 /**
16683 * @type {?}
16684 * @private
16685 */
16686 ColorSlider.prototype.selectedHeight;
16687 /** @type {?} */
16688 ColorSlider.prototype.hue;
16689 /** @type {?} */
16690 ColorSlider.prototype.hueChange;
16691 /** @type {?} */
16692 ColorSlider.prototype.canvas;
16693 }
16694
16695 /**
16696 * @fileoverview added by tsickle
16697 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
16698 */
16699 var ColorPalette = /** @class */ (function () {
16700 function ColorPalette() {
16701 this.baseClass = true;
16702 this.colorChange = new core.EventEmitter(true);
16703 this.mousedown = false;
16704 }
16705 /**
16706 * @return {?}
16707 */
16708 ColorPalette.prototype.draw = /**
16709 * @return {?}
16710 */
16711 function () {
16712 if (!this.ctx) {
16713 this.ctx = this.canvas.nativeElement.getContext('2d');
16714 }
16715 /** @type {?} */
16716 var width = this.canvas.nativeElement.width;
16717 /** @type {?} */
16718 var height = this.canvas.nativeElement.height;
16719 if (this.hue) {
16720 this.ctx.fillStyle = this.hue;
16721 }
16722 else {
16723 this.ctx.fillStyle = '#ff0000';
16724 }
16725 this.ctx.fillRect(0, 0, width, height);
16726 /** @type {?} */
16727 var whiteGrad = this.ctx.createLinearGradient(0, 0, width, 0);
16728 whiteGrad.addColorStop(0, 'rgba(255,255,255,1)');
16729 whiteGrad.addColorStop(1, 'rgba(255,255,255,0)');
16730 this.ctx.fillStyle = whiteGrad;
16731 this.ctx.fillRect(0, 0, width, height);
16732 /** @type {?} */
16733 var blackGrad = this.ctx.createLinearGradient(0, 0, 0, height);
16734 blackGrad.addColorStop(0, 'rgba(0,0,0,0)');
16735 blackGrad.addColorStop(1, 'rgba(0,0,0,1)');
16736 this.ctx.fillStyle = blackGrad;
16737 this.ctx.fillRect(0, 0, width, height);
16738 if (this.selectedPosition) {
16739 this.ctx.strokeStyle = 'white';
16740 this.ctx.fillStyle = 'white';
16741 this.ctx.beginPath();
16742 this.ctx.arc(this.selectedPosition.x, this.selectedPosition.y, 5, 0, 2 * Math.PI);
16743 this.ctx.lineWidth = 3;
16744 this.ctx.stroke();
16745 this.ctx.closePath();
16746 }
16747 };
16748 /**
16749 * @param {?} changes
16750 * @return {?}
16751 */
16752 ColorPalette.prototype.ngOnChanges = /**
16753 * @param {?} changes
16754 * @return {?}
16755 */
16756 function (changes) {
16757 if (changes.color && !changes.color.isFirstChange()) {
16758 /** @type {?} */
16759 var rgbColor = hexToRgb(this.color);
16760 if (rgbColor) {
16761 /** @type {?} */
16762 var hsv = rgbToHsv(rgbColor.r, rgbColor.g, rgbColor.b);
16763 this.selectedPosition = {
16764 x: (hsv.s * 250) / 100,
16765 y: 250 - (hsv.v * 250) / 100
16766 };
16767 this.draw();
16768 }
16769 }
16770 else if (changes.hue && !changes.hue.isFirstChange()) {
16771 this.draw();
16772 /** @type {?} */
16773 var pos = this.selectedPosition;
16774 if (pos) {
16775 this.colorChange.emit(this.getColorAtPosition(pos.x, pos.y));
16776 }
16777 }
16778 };
16779 /**
16780 * @return {?}
16781 */
16782 ColorPalette.prototype.ngAfterViewInit = /**
16783 * @return {?}
16784 */
16785 function () {
16786 if (this.color) {
16787 /** @type {?} */
16788 var rgbColor = hexToRgb(this.color);
16789 if (rgbColor) {
16790 /** @type {?} */
16791 var hsv = rgbToHsv(rgbColor.r, rgbColor.g, rgbColor.b);
16792 this.selectedPosition = {
16793 x: (hsv.s * 250) / 100,
16794 y: 250 - (hsv.v * 250) / 100
16795 };
16796 }
16797 }
16798 this.draw();
16799 };
16800 /**
16801 * @param {?} evt
16802 * @return {?}
16803 */
16804 ColorPalette.prototype.onMouseUp = /**
16805 * @param {?} evt
16806 * @return {?}
16807 */
16808 function (evt) {
16809 this.mousedown = false;
16810 };
16811 /**
16812 * @param {?} evt
16813 * @return {?}
16814 */
16815 ColorPalette.prototype.onMouseDown = /**
16816 * @param {?} evt
16817 * @return {?}
16818 */
16819 function (evt) {
16820 this.mousedown = true;
16821 /** @type {?} */
16822 var xPos = evt.offsetX < 0 ? 0 : evt.offsetX >= 250 ? 249 : evt.offsetX;
16823 /** @type {?} */
16824 var yPos = evt.offsetY < 0 ? 0 : evt.offsetY >= 250 ? 249 : evt.offsetY;
16825 this.selectedPosition = {
16826 x: xPos,
16827 y: yPos,
16828 };
16829 this.draw();
16830 this.emitColor(xPos, yPos);
16831 };
16832 /**
16833 * @param {?} evt
16834 * @return {?}
16835 */
16836 ColorPalette.prototype.onMouseMove = /**
16837 * @param {?} evt
16838 * @return {?}
16839 */
16840 function (evt) {
16841 if (this.mousedown) {
16842 /** @type {?} */
16843 var xPos = evt.offsetX < 0 ? 0 : evt.offsetX >= 250 ? 249 : evt.offsetX;
16844 /** @type {?} */
16845 var yPos = evt.offsetY < 0 ? 0 : evt.offsetY >= 250 ? 249 : evt.offsetY;
16846 this.selectedPosition = {
16847 x: xPos,
16848 y: yPos,
16849 };
16850 this.draw();
16851 this.emitColor(xPos, yPos);
16852 }
16853 };
16854 /**
16855 * @param {?} x
16856 * @param {?} y
16857 * @return {?}
16858 */
16859 ColorPalette.prototype.emitColor = /**
16860 * @param {?} x
16861 * @param {?} y
16862 * @return {?}
16863 */
16864 function (x, y) {
16865 /** @type {?} */
16866 var rgbaColor = this.getColorAtPosition(x, y);
16867 this.colorChange.emit(rgbaColor);
16868 };
16869 /**
16870 * @param {?} x
16871 * @param {?} y
16872 * @return {?}
16873 */
16874 ColorPalette.prototype.getColorAtPosition = /**
16875 * @param {?} x
16876 * @param {?} y
16877 * @return {?}
16878 */
16879 function (x, y) {
16880 /** @type {?} */
16881 var imageData = this.ctx.getImageData(x, y, 1, 1).data;
16882 return rgbToHex(imageData[0], imageData[1], imageData[2]);
16883 };
16884 ColorPalette.decorators = [
16885 { type: core.Component, args: [{
16886 selector: 'suka-color-palette',
16887 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 "
16888 }] }
16889 ];
16890 ColorPalette.propDecorators = {
16891 baseClass: [{ type: core.HostBinding, args: ['class.color-palette-container',] }],
16892 hue: [{ type: core.Input }],
16893 color: [{ type: core.Input }],
16894 colorChange: [{ type: core.Output }],
16895 canvas: [{ type: core.ViewChild, args: ['canvas', { static: false },] }],
16896 onMouseUp: [{ type: core.HostListener, args: ['window:mouseup', ['$event'],] }]
16897 };
16898 return ColorPalette;
16899 }());
16900 if (false) {
16901 /** @type {?} */
16902 ColorPalette.prototype.baseClass;
16903 /** @type {?} */
16904 ColorPalette.prototype.hue;
16905 /** @type {?} */
16906 ColorPalette.prototype.color;
16907 /** @type {?} */
16908 ColorPalette.prototype.colorChange;
16909 /** @type {?} */
16910 ColorPalette.prototype.canvas;
16911 /**
16912 * @type {?}
16913 * @private
16914 */
16915 ColorPalette.prototype.ctx;
16916 /**
16917 * @type {?}
16918 * @private
16919 */
16920 ColorPalette.prototype.mousedown;
16921 /** @type {?} */
16922 ColorPalette.prototype.selectedPosition;
16923 }
16924
16925 /**
16926 * @fileoverview added by tsickle
16927 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
16928 */
16929 var ColorInput = /** @class */ (function () {
16930 /**
16931 * Creates an instance of `ColorInput`.
16932 */
16933 function ColorInput(_overlay, _viewContainerRef) {
16934 this._overlay = _overlay;
16935 this._viewContainerRef = _viewContainerRef;
16936 this.containerClass = true;
16937 /**
16938 * Set to `true` for a disabled color input.
16939 */
16940 this.disabled = false;
16941 /**
16942 * Set to `true` for a loading color input component.
16943 */
16944 this.skeleton = false;
16945 /**
16946 * Set to `true` for an invalid color input component.
16947 */
16948 this.invalid = false;
16949 /**
16950 * Set to `true` for a valid color input component.
16951 */
16952 this.valid = false;
16953 /**
16954 * The unique id for the color input component.
16955 */
16956 this.id = "color-input-" + ColorInput.colorInputCount;
16957 /**
16958 * Sets the value attribute on the `input` element.
16959 */
16960 this.value = '';
16961 /**
16962 * Sets the placeholder on the `input` element.
16963 */
16964 this.placeholder = '';
16965 /**
16966 * Emits event notifying other classes when a change in state occurs in the input.
16967 */
16968 // tslint:disable-next-line: no-output-native
16969 this.change = new core.EventEmitter();
16970 /**
16971 * Called when number input is blurred. Needed to properly implement `ControlValueAccessor`.
16972 */
16973 this.onTouched = (/**
16974 * @return {?}
16975 */
16976 function () { });
16977 /**
16978 * Method set in `registerOnChange` to propagate changes back to the form.
16979 */
16980 this.propagateChange = (/**
16981 * @param {?} _
16982 * @return {?}
16983 */
16984 function (_) { });
16985 ColorInput.colorInputCount++;
16986 }
16987 /**
16988 * This is the initial value set to the component
16989 * @param value The input value.
16990 */
16991 /**
16992 * This is the initial value set to the component
16993 * @param {?} value The input value.
16994 * @return {?}
16995 */
16996 ColorInput.prototype.writeValue = /**
16997 * This is the initial value set to the component
16998 * @param {?} value The input value.
16999 * @return {?}
17000 */
17001 function (value) {
17002 this.value = value;
17003 };
17004 /**
17005 * Sets a method in order to propagate changes back to the form.
17006 */
17007 /**
17008 * Sets a method in order to propagate changes back to the form.
17009 * @param {?} fn
17010 * @return {?}
17011 */
17012 ColorInput.prototype.registerOnChange = /**
17013 * Sets a method in order to propagate changes back to the form.
17014 * @param {?} fn
17015 * @return {?}
17016 */
17017 function (fn) {
17018 this.propagateChange = fn;
17019 };
17020 /**
17021 * Registers a callback to be triggered when the control has been touched.
17022 * @param fn Callback to be triggered when the number input is touched.
17023 */
17024 /**
17025 * Registers a callback to be triggered when the control has been touched.
17026 * @param {?} fn Callback to be triggered when the number input is touched.
17027 * @return {?}
17028 */
17029 ColorInput.prototype.registerOnTouched = /**
17030 * Registers a callback to be triggered when the control has been touched.
17031 * @param {?} fn Callback to be triggered when the number input is touched.
17032 * @return {?}
17033 */
17034 function (fn) {
17035 this.onTouched = fn;
17036 };
17037 /**
17038 * Sets the disabled state through the model
17039 */
17040 /**
17041 * Sets the disabled state through the model
17042 * @param {?} isDisabled
17043 * @return {?}
17044 */
17045 ColorInput.prototype.setDisabledState = /**
17046 * Sets the disabled state through the model
17047 * @param {?} isDisabled
17048 * @return {?}
17049 */
17050 function (isDisabled) {
17051 this.disabled = isDisabled;
17052 };
17053 /**
17054 * Creates a class of `NumberChange` to emit the change in the `Number`.
17055 */
17056 /**
17057 * Creates a class of `NumberChange` to emit the change in the `Number`.
17058 * @return {?}
17059 */
17060 ColorInput.prototype.emitChangeEvent = /**
17061 * Creates a class of `NumberChange` to emit the change in the `Number`.
17062 * @return {?}
17063 */
17064 function () {
17065 this.change.emit(this.value);
17066 this.propagateChange(this.value);
17067 };
17068 /**
17069 * @param {?} value
17070 * @return {?}
17071 */
17072 ColorInput.prototype.onColorChange = /**
17073 * @param {?} value
17074 * @return {?}
17075 */
17076 function (value) {
17077 this.value = value;
17078 this.emitChangeEvent();
17079 };
17080 /**
17081 * @param {?} event
17082 * @return {?}
17083 */
17084 ColorInput.prototype.onColorInputChange = /**
17085 * @param {?} event
17086 * @return {?}
17087 */
17088 function (event) {
17089 this.value = event.target.value;
17090 this.emitChangeEvent();
17091 };
17092 /**
17093 * Opens the color picker dialog
17094 */
17095 /**
17096 * Opens the color picker dialog
17097 * @return {?}
17098 */
17099 ColorInput.prototype.openColorDialog = /**
17100 * Opens the color picker dialog
17101 * @return {?}
17102 */
17103 function () {
17104 var _this = this;
17105 if (!this._overlayRef) {
17106 /** @type {?} */
17107 var positionStrategy = this._overlay
17108 .position()
17109 .flexibleConnectedTo(this.origin)
17110 .withPositions([{
17111 originX: 'start',
17112 originY: 'bottom',
17113 overlayX: 'start',
17114 overlayY: 'top',
17115 offsetY: 8,
17116 }]);
17117 this._overlayRef = this._overlay.create({
17118 hasBackdrop: true,
17119 backdropClass: 'cdk-overlay-transparent-backdrop',
17120 positionStrategy: positionStrategy,
17121 });
17122 this._overlayRef.backdropClick().subscribe((/**
17123 * @return {?}
17124 */
17125 function () { return _this._overlayRef.detach(); }));
17126 this._portal = new portal.TemplatePortal(this.dialog, this._viewContainerRef);
17127 }
17128 this._overlayRef.attach(this._portal);
17129 };
17130 /**
17131 * Closes the color picker dialog
17132 */
17133 /**
17134 * Closes the color picker dialog
17135 * @return {?}
17136 */
17137 ColorInput.prototype.closeColorDialog = /**
17138 * Closes the color picker dialog
17139 * @return {?}
17140 */
17141 function () {
17142 this._overlayRef.detach();
17143 };
17144 /**
17145 * Checks if it is a template
17146 */
17147 /**
17148 * Checks if it is a template
17149 * @param {?} value
17150 * @return {?}
17151 */
17152 ColorInput.prototype.isTemplate = /**
17153 * Checks if it is a template
17154 * @param {?} value
17155 * @return {?}
17156 */
17157 function (value) {
17158 return value instanceof core.TemplateRef;
17159 };
17160 /**
17161 * Variable used for creating unique ids for color input components.
17162 */
17163 ColorInput.colorInputCount = 0;
17164 ColorInput.decorators = [
17165 { type: core.Component, args: [{
17166 selector: 'suka-color-input',
17167 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 ",
17168 providers: [
17169 {
17170 provide: forms.NG_VALUE_ACCESSOR,
17171 useExisting: ColorInput,
17172 multi: true
17173 }
17174 ]
17175 }] }
17176 ];
17177 /** @nocollapse */
17178 ColorInput.ctorParameters = function () { return [
17179 { type: overlay.Overlay },
17180 { type: core.ViewContainerRef }
17181 ]; };
17182 ColorInput.propDecorators = {
17183 containerClass: [{ type: core.HostBinding, args: ['class.form-item',] }],
17184 disabled: [{ type: core.Input }],
17185 skeleton: [{ type: core.Input }],
17186 invalid: [{ type: core.Input }],
17187 valid: [{ type: core.Input }],
17188 id: [{ type: core.Input }],
17189 required: [{ type: core.Input }],
17190 value: [{ type: core.Input }],
17191 placeholder: [{ type: core.Input }],
17192 label: [{ type: core.Input }],
17193 helperText: [{ type: core.Input }],
17194 invalidText: [{ type: core.Input }],
17195 change: [{ type: core.Output }],
17196 origin: [{ type: core.ViewChild, args: ['origin', { static: false },] }],
17197 dialog: [{ type: core.ViewChild, args: ['colorPickerDialog', { static: false },] }]
17198 };
17199 return ColorInput;
17200 }());
17201 if (false) {
17202 /**
17203 * Variable used for creating unique ids for color input components.
17204 * @type {?}
17205 */
17206 ColorInput.colorInputCount;
17207 /**
17208 * @type {?}
17209 * @private
17210 */
17211 ColorInput.prototype._overlayRef;
17212 /**
17213 * @type {?}
17214 * @private
17215 */
17216 ColorInput.prototype._portal;
17217 /** @type {?} */
17218 ColorInput.prototype.containerClass;
17219 /**
17220 * Set to `true` for a disabled color input.
17221 * @type {?}
17222 */
17223 ColorInput.prototype.disabled;
17224 /**
17225 * Set to `true` for a loading color input component.
17226 * @type {?}
17227 */
17228 ColorInput.prototype.skeleton;
17229 /**
17230 * Set to `true` for an invalid color input component.
17231 * @type {?}
17232 */
17233 ColorInput.prototype.invalid;
17234 /**
17235 * Set to `true` for a valid color input component.
17236 * @type {?}
17237 */
17238 ColorInput.prototype.valid;
17239 /**
17240 * The unique id for the color input component.
17241 * @type {?}
17242 */
17243 ColorInput.prototype.id;
17244 /**
17245 * Reflects the required attribute of the `input` element.
17246 * @type {?}
17247 */
17248 ColorInput.prototype.required;
17249 /**
17250 * Sets the value attribute on the `input` element.
17251 * @type {?}
17252 */
17253 ColorInput.prototype.value;
17254 /**
17255 * Sets the placeholder on the `input` element.
17256 * @type {?}
17257 */
17258 ColorInput.prototype.placeholder;
17259 /**
17260 * Sets the text inside the `label` tag.
17261 * @type {?}
17262 */
17263 ColorInput.prototype.label;
17264 /**
17265 * Sets the optional helper text.
17266 * @type {?}
17267 */
17268 ColorInput.prototype.helperText;
17269 /**
17270 * Sets the invalid text.
17271 * @type {?}
17272 */
17273 ColorInput.prototype.invalidText;
17274 /**
17275 * Emits event notifying other classes when a change in state occurs in the input.
17276 * @type {?}
17277 */
17278 ColorInput.prototype.change;
17279 /** @type {?} */
17280 ColorInput.prototype.origin;
17281 /** @type {?} */
17282 ColorInput.prototype.dialog;
17283 /**
17284 * Called when number input is blurred. Needed to properly implement `ControlValueAccessor`.
17285 * @type {?}
17286 */
17287 ColorInput.prototype.onTouched;
17288 /**
17289 * Method set in `registerOnChange` to propagate changes back to the form.
17290 * @type {?}
17291 */
17292 ColorInput.prototype.propagateChange;
17293 /**
17294 * @type {?}
17295 * @private
17296 */
17297 ColorInput.prototype._overlay;
17298 /**
17299 * @type {?}
17300 * @private
17301 */
17302 ColorInput.prototype._viewContainerRef;
17303 }
17304
17305 /**
17306 * @fileoverview added by tsickle
17307 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
17308 */
17309 var ColorPickerModule = /** @class */ (function () {
17310 function ColorPickerModule() {
17311 }
17312 ColorPickerModule.decorators = [
17313 { type: core.NgModule, args: [{
17314 declarations: [
17315 ColorPicker,
17316 ColorSlider,
17317 ColorPalette,
17318 ColorInput,
17319 ],
17320 exports: [
17321 ColorPicker,
17322 ColorSlider,
17323 ColorPalette,
17324 ColorInput,
17325 ],
17326 imports: [
17327 common.CommonModule,
17328 overlay.OverlayModule,
17329 forms.FormsModule,
17330 IconModule,
17331 ],
17332 entryComponents: [
17333 ColorPicker,
17334 ],
17335 },] }
17336 ];
17337 return ColorPickerModule;
17338 }());
17339
17340 /**
17341 * @fileoverview added by tsickle
17342 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
17343 */
17344 var SheetRef = /** @class */ (function () {
17345 function SheetRef(overlayRef) {
17346 this.overlayRef = overlayRef;
17347 this._beforeClose = new rxjs.Subject();
17348 this._afterClosed = new rxjs.Subject();
17349 }
17350 /**
17351 * @param {?=} data
17352 * @return {?}
17353 */
17354 SheetRef.prototype.close = /**
17355 * @param {?=} data
17356 * @return {?}
17357 */
17358 function (data) {
17359 var _this = this;
17360 this._result = data;
17361 // Listen for animation 'start' events
17362 this.componentInstance.animationStateChanged.pipe(operators.filter((/**
17363 * @param {?} event
17364 * @return {?}
17365 */
17366 function (event) { return event.phaseName === 'start'; })), operators.take(1)).subscribe((/**
17367 * @return {?}
17368 */
17369 function () {
17370 _this._beforeClose.next(_this._result);
17371 _this._beforeClose.complete();
17372 _this.overlayRef.detachBackdrop();
17373 }));
17374 // Listen for animation 'done' events
17375 this.componentInstance.animationStateChanged.pipe(operators.filter((/**
17376 * @param {?} event
17377 * @return {?}
17378 */
17379 function (event) { return event.phaseName === 'done' && event.toState === 'leave'; })), operators.take(1)).subscribe((/**
17380 * @return {?}
17381 */
17382 function () {
17383 _this._afterClosed.next(_this._result);
17384 _this._afterClosed.complete();
17385 _this.overlayRef.dispose();
17386 // Make sure to also clear the reference to the
17387 // component instance to avoid memory leaks
17388 // tslint:disable-next-line: no-non-null-assertion
17389 _this.componentInstance = (/** @type {?} */ (null));
17390 }));
17391 // Start exit animation
17392 this.componentInstance.startExitAnimation();
17393 };
17394 /**
17395 * @return {?}
17396 */
17397 SheetRef.prototype.afterClosed = /**
17398 * @return {?}
17399 */
17400 function () {
17401 return this._afterClosed.asObservable();
17402 };
17403 /**
17404 * @return {?}
17405 */
17406 SheetRef.prototype.beforeClose = /**
17407 * @return {?}
17408 */
17409 function () {
17410 return this._beforeClose.asObservable();
17411 };
17412 return SheetRef;
17413 }());
17414 if (false) {
17415 /** @type {?} */
17416 SheetRef.prototype.componentInstance;
17417 /**
17418 * @type {?}
17419 * @private
17420 */
17421 SheetRef.prototype._beforeClose;
17422 /**
17423 * @type {?}
17424 * @private
17425 */
17426 SheetRef.prototype._afterClosed;
17427 /**
17428 * @type {?}
17429 * @private
17430 */
17431 SheetRef.prototype._result;
17432 /**
17433 * @type {?}
17434 * @private
17435 */
17436 SheetRef.prototype.overlayRef;
17437 }
17438
17439 /**
17440 * @fileoverview added by tsickle
17441 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
17442 */
17443 /** @type {?} */
17444 var SHEET_CONTENT_DATA = new core.InjectionToken('SHEET_CONTENT_DATA');
17445
17446 /**
17447 * @fileoverview added by tsickle
17448 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
17449 */
17450 /** @type {?} */
17451 var ESCAPE_KEY$2 = 27;
17452 /** @type {?} */
17453 var SHEET_ANIMATION_TIMINGS = '200ms cubic-bezier(0.64, 0, 0.35, 1)';
17454 var SheetContainer = /** @class */ (function () {
17455 function SheetContainer(dialogRef, content) {
17456 this.dialogRef = dialogRef;
17457 this.content = content;
17458 this.animationState = 'enter';
17459 this.animationStateChanged = new core.EventEmitter();
17460 this.showFooter = false;
17461 this.baseClass = true;
17462 }
17463 /**
17464 * @return {?}
17465 */
17466 SheetContainer.prototype.ngOnInit = /**
17467 * @return {?}
17468 */
17469 function () {
17470 if (this.content.actions && this.content.actions.length > 0) {
17471 this.showFooter = true;
17472 this.primaryActions = this.content.actions.filter((/**
17473 * @param {?} action
17474 * @return {?}
17475 */
17476 function (action) { return action.type === 'primary'; }));
17477 this.secondaryActions = this.content.actions.filter((/**
17478 * @param {?} action
17479 * @return {?}
17480 */
17481 function (action) { return action.type === 'secondary'; }));
17482 }
17483 };
17484 /**
17485 * @param {?} value
17486 * @return {?}
17487 */
17488 SheetContainer.prototype.isTemplate = /**
17489 * @param {?} value
17490 * @return {?}
17491 */
17492 function (value) {
17493 return value instanceof core.TemplateRef;
17494 };
17495 /**
17496 * @param {?=} event
17497 * @return {?}
17498 */
17499 SheetContainer.prototype.onClose = /**
17500 * @param {?=} event
17501 * @return {?}
17502 */
17503 function (event) {
17504 this.dialogRef.close('cancel');
17505 };
17506 /**
17507 * @param {?} tag
17508 * @return {?}
17509 */
17510 SheetContainer.prototype.onAction = /**
17511 * @param {?} tag
17512 * @return {?}
17513 */
17514 function (tag) {
17515 this.dialogRef.close(tag);
17516 };
17517 /**
17518 * @param {?} event
17519 * @return {?}
17520 */
17521 SheetContainer.prototype.handleKeydown = /**
17522 * @param {?} event
17523 * @return {?}
17524 */
17525 function (event) {
17526 // tslint:disable-next-line: deprecation
17527 if (event.keyCode === ESCAPE_KEY$2) {
17528 this.dialogRef.close('cancel');
17529 }
17530 };
17531 /**
17532 * @param {?} event
17533 * @return {?}
17534 */
17535 SheetContainer.prototype.onAnimationStart = /**
17536 * @param {?} event
17537 * @return {?}
17538 */
17539 function (event) {
17540 this.animationStateChanged.emit(event);
17541 };
17542 /**
17543 * @param {?} event
17544 * @return {?}
17545 */
17546 SheetContainer.prototype.onAnimationDone = /**
17547 * @param {?} event
17548 * @return {?}
17549 */
17550 function (event) {
17551 this.animationStateChanged.emit(event);
17552 };
17553 /**
17554 * @return {?}
17555 */
17556 SheetContainer.prototype.startExitAnimation = /**
17557 * @return {?}
17558 */
17559 function () {
17560 this.animationState = 'leave';
17561 };
17562 /**
17563 * @param {?} $event
17564 * @return {?}
17565 */
17566 SheetContainer.prototype.closeSheet = /**
17567 * @param {?} $event
17568 * @return {?}
17569 */
17570 function ($event) {
17571 this.dialogRef.close($event);
17572 };
17573 SheetContainer.decorators = [
17574 { type: core.Component, args: [{
17575 selector: 'suka-sheet',
17576 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 ",
17577 animations: [
17578 animations.trigger('slideContent', [
17579 animations.state('void', animations.style({ transform: 'translate3d(20rem, 0, 0)', opacity: 0 })),
17580 animations.state('enter', animations.style({ transform: 'none', opacity: 1 })),
17581 animations.state('leave', animations.style({ transform: 'translate3d(20rem, 0, 0)', opacity: 0 })),
17582 animations.transition('* => *', animations.animate(SHEET_ANIMATION_TIMINGS)),
17583 ])
17584 ]
17585 }] }
17586 ];
17587 /** @nocollapse */
17588 SheetContainer.ctorParameters = function () { return [
17589 { type: SheetRef },
17590 { type: undefined, decorators: [{ type: core.Inject, args: [SHEET_CONTENT_DATA,] }] }
17591 ]; };
17592 SheetContainer.propDecorators = {
17593 baseClass: [{ type: core.HostBinding, args: ['class.sheet--default',] }],
17594 handleKeydown: [{ type: core.HostListener, args: ['document:keydown', ['$event'],] }]
17595 };
17596 return SheetContainer;
17597 }());
17598 if (false) {
17599 /** @type {?} */
17600 SheetContainer.prototype.animationState;
17601 /** @type {?} */
17602 SheetContainer.prototype.animationStateChanged;
17603 /** @type {?} */
17604 SheetContainer.prototype.showFooter;
17605 /** @type {?} */
17606 SheetContainer.prototype.primaryActions;
17607 /** @type {?} */
17608 SheetContainer.prototype.secondaryActions;
17609 /** @type {?} */
17610 SheetContainer.prototype.baseClass;
17611 /** @type {?} */
17612 SheetContainer.prototype.dialogRef;
17613 /** @type {?} */
17614 SheetContainer.prototype.content;
17615 }
17616
17617 /**
17618 * @fileoverview added by tsickle
17619 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
17620 */
17621 /**
17622 * @record
17623 */
17624 function SheetContent() { }
17625 if (false) {
17626 /** @type {?|undefined} */
17627 SheetContent.prototype.title;
17628 /** @type {?|undefined} */
17629 SheetContent.prototype.body;
17630 /** @type {?|undefined} */
17631 SheetContent.prototype.closeButton;
17632 /** @type {?|undefined} */
17633 SheetContent.prototype.actions;
17634 }
17635 /**
17636 * @record
17637 */
17638 function SheetConfig() { }
17639 if (false) {
17640 /** @type {?|undefined} */
17641 SheetConfig.prototype.closeOnBackdropClick;
17642 /** @type {?|undefined} */
17643 SheetConfig.prototype.panelClass;
17644 /** @type {?|undefined} */
17645 SheetConfig.prototype.hasBackdrop;
17646 /** @type {?|undefined} */
17647 SheetConfig.prototype.backdropClass;
17648 /** @type {?|undefined} */
17649 SheetConfig.prototype.content;
17650 }
17651 /** @type {?} */
17652 var DEFAULT_CONFIG$3 = {
17653 closeOnBackdropClick: true,
17654 hasBackdrop: true,
17655 backdropClass: 'cdk-overlay-transparent-backdrop',
17656 panelClass: 'modal--default',
17657 content: null
17658 };
17659 var SheetService = /** @class */ (function () {
17660 function SheetService(injector, overlay) {
17661 this.injector = injector;
17662 this.overlay = overlay;
17663 }
17664 /**
17665 * @param {?=} config
17666 * @return {?}
17667 */
17668 SheetService.prototype.open = /**
17669 * @param {?=} config
17670 * @return {?}
17671 */
17672 function (config) {
17673 if (config === void 0) { config = {}; }
17674 // Override default configuration
17675 /** @type {?} */
17676 var dialogConfig = __assign({}, DEFAULT_CONFIG$3, config);
17677 // Returns an OverlayRef which is a PortalHost
17678 /** @type {?} */
17679 var overlayRef = this.createOverlay(dialogConfig);
17680 // Instantiate remote control
17681 /** @type {?} */
17682 var modalRef = new SheetRef(overlayRef);
17683 /** @type {?} */
17684 var overlayComponent = this.attachSheetContainer(overlayRef, dialogConfig, modalRef);
17685 modalRef.componentInstance = overlayComponent;
17686 if (dialogConfig.closeOnBackdropClick) {
17687 overlayRef.backdropClick().subscribe((/**
17688 * @param {?} _
17689 * @return {?}
17690 */
17691 function (_) { return modalRef.close('cancel'); }));
17692 }
17693 return modalRef;
17694 };
17695 /**
17696 * @private
17697 * @param {?} config
17698 * @return {?}
17699 */
17700 SheetService.prototype.createOverlay = /**
17701 * @private
17702 * @param {?} config
17703 * @return {?}
17704 */
17705 function (config) {
17706 /** @type {?} */
17707 var overlayConfig = this.getOverlayConfig(config);
17708 return this.overlay.create(overlayConfig);
17709 };
17710 /**
17711 * @private
17712 * @param {?} overlayRef
17713 * @param {?} config
17714 * @param {?} modalRef
17715 * @return {?}
17716 */
17717 SheetService.prototype.attachSheetContainer = /**
17718 * @private
17719 * @param {?} overlayRef
17720 * @param {?} config
17721 * @param {?} modalRef
17722 * @return {?}
17723 */
17724 function (overlayRef, config, modalRef) {
17725 /** @type {?} */
17726 var injector = this.createInjector(config, modalRef);
17727 /** @type {?} */
17728 var containerPortal = new portal.ComponentPortal(SheetContainer, null, injector);
17729 /** @type {?} */
17730 var containerRef = overlayRef.attach(containerPortal);
17731 return containerRef.instance;
17732 };
17733 /**
17734 * @private
17735 * @param {?} config
17736 * @param {?} modalRef
17737 * @return {?}
17738 */
17739 SheetService.prototype.createInjector = /**
17740 * @private
17741 * @param {?} config
17742 * @param {?} modalRef
17743 * @return {?}
17744 */
17745 function (config, modalRef) {
17746 /** @type {?} */
17747 var injectionTokens = new WeakMap();
17748 injectionTokens.set(SheetRef, modalRef);
17749 injectionTokens.set(SHEET_CONTENT_DATA, config.content);
17750 return new portal.PortalInjector(this.injector, injectionTokens);
17751 };
17752 /**
17753 * @private
17754 * @param {?} config
17755 * @return {?}
17756 */
17757 SheetService.prototype.getOverlayConfig = /**
17758 * @private
17759 * @param {?} config
17760 * @return {?}
17761 */
17762 function (config) {
17763 /** @type {?} */
17764 var positionStrategy = this.overlay.position()
17765 .global();
17766 /** @type {?} */
17767 var overlayConfig = new overlay.OverlayConfig({
17768 hasBackdrop: config.hasBackdrop,
17769 backdropClass: config.backdropClass,
17770 panelClass: config.panelClass,
17771 scrollStrategy: this.overlay.scrollStrategies.noop(),
17772 positionStrategy: positionStrategy
17773 });
17774 return overlayConfig;
17775 };
17776 SheetService.decorators = [
17777 { type: core.Injectable }
17778 ];
17779 /** @nocollapse */
17780 SheetService.ctorParameters = function () { return [
17781 { type: core.Injector },
17782 { type: overlay.Overlay }
17783 ]; };
17784 return SheetService;
17785 }());
17786 if (false) {
17787 /**
17788 * @type {?}
17789 * @private
17790 */
17791 SheetService.prototype.injector;
17792 /**
17793 * @type {?}
17794 * @private
17795 */
17796 SheetService.prototype.overlay;
17797 }
17798
17799 /**
17800 * @fileoverview added by tsickle
17801 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
17802 */
17803 /** @type {?} */
17804 var PRIMARY_ACTION_TAG$1 = 'primaryAction';
17805 /** @type {?} */
17806 var SECONDARY_ACTION_TAG$1 = 'secondaryAction';
17807 /**
17808 * 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.
17809 * It should be used thoughtfully and sparingly.
17810 */
17811 var SheetDirective = /** @class */ (function () {
17812 function SheetDirective(sheetService) {
17813 this.sheetService = sheetService;
17814 /**
17815 * Set to `true` to show a close button on the top right corner. Defaults to `false`.
17816 */
17817 this.closeButton = false;
17818 /**
17819 * Sets to `false` to stop the sheet from closing when the user clicks on the backdrop. Defaults to `true`.
17820 */
17821 this.closeOnBackdropClick = true;
17822 /**
17823 * Callback when the sheet closes.
17824 */
17825 this.close = new core.EventEmitter();
17826 /**
17827 * Callback when the secondary action is triggered.
17828 */
17829 this.secondaryAction = new core.EventEmitter();
17830 /**
17831 * Callback when the primary action is triggered.
17832 */
17833 this.primaryAction = new core.EventEmitter();
17834 }
17835 /**
17836 * @return {?}
17837 */
17838 SheetDirective.prototype.onClick = /**
17839 * @return {?}
17840 */
17841 function () {
17842 this.openSheet();
17843 };
17844 /**
17845 * Opens the sheet.
17846 */
17847 /**
17848 * Opens the sheet.
17849 * @private
17850 * @return {?}
17851 */
17852 SheetDirective.prototype.openSheet = /**
17853 * Opens the sheet.
17854 * @private
17855 * @return {?}
17856 */
17857 function () {
17858 var _this = this;
17859 /** @type {?} */
17860 var sheetConfig = {
17861 closeOnBackdropClick: this.closeOnBackdropClick,
17862 content: {
17863 closeButton: this.closeButton,
17864 title: this.title,
17865 body: this.body,
17866 }
17867 };
17868 if (this.primaryActionLabel || this.secondaryActionLabel) {
17869 sheetConfig.content.actions = [];
17870 if (this.primaryActionLabel) {
17871 sheetConfig.content.actions.push({
17872 label: this.primaryActionLabel,
17873 type: 'primary',
17874 tag: PRIMARY_ACTION_TAG$1
17875 });
17876 }
17877 if (this.secondaryActionLabel) {
17878 sheetConfig.content.actions.push({
17879 label: this.secondaryActionLabel,
17880 type: 'secondary',
17881 tag: SECONDARY_ACTION_TAG$1
17882 });
17883 }
17884 }
17885 /** @type {?} */
17886 var sheetRef = this.sheetService.open(sheetConfig);
17887 sheetRef.afterClosed().subscribe((/**
17888 * @param {?} result
17889 * @return {?}
17890 */
17891 function (result) {
17892 switch (result) {
17893 case PRIMARY_ACTION_TAG$1:
17894 if (_this.primaryAction.observers.length > 0) {
17895 _this.primaryAction.emit(result);
17896 }
17897 break;
17898 case SECONDARY_ACTION_TAG$1:
17899 if (_this.secondaryAction.observers.length > 0) {
17900 _this.secondaryAction.emit(result);
17901 }
17902 break;
17903 default:
17904 if (_this.close.observers.length > 0) {
17905 _this.close.emit();
17906 }
17907 break;
17908 }
17909 }));
17910 };
17911 SheetDirective.decorators = [
17912 { type: core.Directive, args: [{
17913 selector: '[sukaSheet]'
17914 },] }
17915 ];
17916 /** @nocollapse */
17917 SheetDirective.ctorParameters = function () { return [
17918 { type: SheetService }
17919 ]; };
17920 SheetDirective.propDecorators = {
17921 closeButton: [{ type: core.Input, args: ['sheetCloseButton',] }],
17922 title: [{ type: core.Input, args: ['sheetTitle',] }],
17923 body: [{ type: core.Input, args: ['sheetBody',] }],
17924 closeOnBackdropClick: [{ type: core.Input, args: ['sheetCloseOnBackdropClick',] }],
17925 close: [{ type: core.Output, args: ['sheetClose',] }],
17926 secondaryActionLabel: [{ type: core.Input, args: ['sheetSecondaryActionLabel',] }],
17927 secondaryAction: [{ type: core.Output, args: ['sheetSecondaryAction',] }],
17928 primaryActionLabel: [{ type: core.Input, args: ['sheetPrimaryActionLabel',] }],
17929 primaryAction: [{ type: core.Output, args: ['sheetPrimaryAction',] }],
17930 onClick: [{ type: core.HostListener, args: ['click',] }]
17931 };
17932 return SheetDirective;
17933 }());
17934 if (false) {
17935 /**
17936 * Set to `true` to show a close button on the top right corner. Defaults to `false`.
17937 * @type {?}
17938 */
17939 SheetDirective.prototype.closeButton;
17940 /**
17941 * Sets the sheet title.
17942 * @type {?}
17943 */
17944 SheetDirective.prototype.title;
17945 /**
17946 * Sets the body of the sheet.
17947 * @type {?}
17948 */
17949 SheetDirective.prototype.body;
17950 /**
17951 * Sets to `false` to stop the sheet from closing when the user clicks on the backdrop. Defaults to `true`.
17952 * @type {?}
17953 */
17954 SheetDirective.prototype.closeOnBackdropClick;
17955 /**
17956 * Callback when the sheet closes.
17957 * @type {?}
17958 */
17959 SheetDirective.prototype.close;
17960 /**
17961 * Sets the sheet secondary action button label.
17962 * @type {?}
17963 */
17964 SheetDirective.prototype.secondaryActionLabel;
17965 /**
17966 * Callback when the secondary action is triggered.
17967 * @type {?}
17968 */
17969 SheetDirective.prototype.secondaryAction;
17970 /**
17971 * Sets the sheet primary action button label.
17972 * @type {?}
17973 */
17974 SheetDirective.prototype.primaryActionLabel;
17975 /**
17976 * Callback when the primary action is triggered.
17977 * @type {?}
17978 */
17979 SheetDirective.prototype.primaryAction;
17980 /**
17981 * @type {?}
17982 * @protected
17983 */
17984 SheetDirective.prototype.sheetService;
17985 }
17986
17987 /**
17988 * @fileoverview added by tsickle
17989 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
17990 */
17991 var SheetModule = /** @class */ (function () {
17992 function SheetModule() {
17993 }
17994 SheetModule.decorators = [
17995 { type: core.NgModule, args: [{
17996 declarations: [
17997 SheetContainer,
17998 SheetDirective,
17999 ],
18000 exports: [
18001 SheetContainer,
18002 SheetDirective,
18003 ],
18004 imports: [
18005 common.CommonModule,
18006 overlay.OverlayModule,
18007 ButtonModule,
18008 IconModule,
18009 ],
18010 entryComponents: [
18011 SheetContainer
18012 ],
18013 providers: [
18014 SheetService,
18015 ],
18016 },] }
18017 ];
18018 return SheetModule;
18019 }());
18020
18021 /**
18022 * @fileoverview added by tsickle
18023 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
18024 */
18025 var CalendarDayPicker = /** @class */ (function () {
18026 /**
18027 * Creates an instance of `CalendarDayPicker`.
18028 */
18029 function CalendarDayPicker(_overlay, _viewContainerRef) {
18030 this._overlay = _overlay;
18031 this._viewContainerRef = _viewContainerRef;
18032 this._selectedDays = [];
18033 this.baseClass = true;
18034 this.containerClass = true;
18035 /**
18036 * Set to `true` for a disabled color input.
18037 */
18038 this.disabled = false;
18039 /**
18040 * Set to `true` for a loading color input component.
18041 */
18042 this.skeleton = false;
18043 /**
18044 * Set to `true` for an invalid color input component.
18045 */
18046 this.invalid = false;
18047 /**
18048 * Set to `true` for a valid color input component.
18049 */
18050 this.valid = false;
18051 /**
18052 * The unique id for the color input component.
18053 */
18054 this.id = "calendar-day-picker-" + CalendarDayPicker.calendarDayPickerCount;
18055 /**
18056 * Sets the value attribute on the `input` element.
18057 */
18058 this.value = '';
18059 /**
18060 * Sets the placeholder on the `input` element.
18061 */
18062 this.placeholder = '';
18063 /**
18064 * Emits event notifying other classes when a change in state occurs in the input.
18065 */
18066 // tslint:disable-next-line: no-output-native
18067 this.change = new core.EventEmitter();
18068 /**
18069 * Called when number input is blurred. Needed to properly implement `ControlValueAccessor`.
18070 */
18071 this.onTouched = (/**
18072 * @return {?}
18073 */
18074 function () { });
18075 /**
18076 * Method set in `registerOnChange` to propagate changes back to the form.
18077 */
18078 this.propagateChange = (/**
18079 * @param {?} _
18080 * @return {?}
18081 */
18082 function (_) { });
18083 CalendarDayPicker.calendarDayPickerCount++;
18084 }
18085 /**
18086 * This is the initial value set to the component
18087 * @param value The input value.
18088 */
18089 /**
18090 * This is the initial value set to the component
18091 * @param {?} value The input value.
18092 * @return {?}
18093 */
18094 CalendarDayPicker.prototype.writeValue = /**
18095 * This is the initial value set to the component
18096 * @param {?} value The input value.
18097 * @return {?}
18098 */
18099 function (value) {
18100 this.value = value || '';
18101 if (value) {
18102 this._selectedDays = JSON.parse('[' + value + ']');
18103 }
18104 };
18105 /**
18106 * Sets a method in order to propagate changes back to the form.
18107 */
18108 /**
18109 * Sets a method in order to propagate changes back to the form.
18110 * @param {?} fn
18111 * @return {?}
18112 */
18113 CalendarDayPicker.prototype.registerOnChange = /**
18114 * Sets a method in order to propagate changes back to the form.
18115 * @param {?} fn
18116 * @return {?}
18117 */
18118 function (fn) {
18119 this.propagateChange = fn;
18120 };
18121 /**
18122 * Registers a callback to be triggered when the control has been touched.
18123 * @param fn Callback to be triggered when the number input is touched.
18124 */
18125 /**
18126 * Registers a callback to be triggered when the control has been touched.
18127 * @param {?} fn Callback to be triggered when the number input is touched.
18128 * @return {?}
18129 */
18130 CalendarDayPicker.prototype.registerOnTouched = /**
18131 * Registers a callback to be triggered when the control has been touched.
18132 * @param {?} fn Callback to be triggered when the number input is touched.
18133 * @return {?}
18134 */
18135 function (fn) {
18136 this.onTouched = fn;
18137 };
18138 /**
18139 * Sets the disabled state through the model
18140 */
18141 /**
18142 * Sets the disabled state through the model
18143 * @param {?} isDisabled
18144 * @return {?}
18145 */
18146 CalendarDayPicker.prototype.setDisabledState = /**
18147 * Sets the disabled state through the model
18148 * @param {?} isDisabled
18149 * @return {?}
18150 */
18151 function (isDisabled) {
18152 this.disabled = isDisabled;
18153 };
18154 /**
18155 * Creates a class of `NumberChange` to emit the change in the `Number`.
18156 */
18157 /**
18158 * Creates a class of `NumberChange` to emit the change in the `Number`.
18159 * @return {?}
18160 */
18161 CalendarDayPicker.prototype.emitChangeEvent = /**
18162 * Creates a class of `NumberChange` to emit the change in the `Number`.
18163 * @return {?}
18164 */
18165 function () {
18166 this.change.emit(this.value);
18167 this.propagateChange(this.value);
18168 };
18169 /**
18170 * @param {?} days
18171 * @return {?}
18172 */
18173 CalendarDayPicker.prototype.onInputChange = /**
18174 * @param {?} days
18175 * @return {?}
18176 */
18177 function (days) {
18178 this.value = JSON.parse('[' + days + ']');
18179 this.emitChangeEvent();
18180 };
18181 /**
18182 * @param {?} days
18183 * @return {?}
18184 */
18185 CalendarDayPicker.prototype.onDaysChange = /**
18186 * @param {?} days
18187 * @return {?}
18188 */
18189 function (days) {
18190 this.value = days.toString();
18191 this._selectedDays = days;
18192 this.emitChangeEvent();
18193 };
18194 /**
18195 * Opens the color picker dialog
18196 */
18197 /**
18198 * Opens the color picker dialog
18199 * @return {?}
18200 */
18201 CalendarDayPicker.prototype.openCalendarDayOverlay = /**
18202 * Opens the color picker dialog
18203 * @return {?}
18204 */
18205 function () {
18206 var _this = this;
18207 if (!this._overlayRef) {
18208 /** @type {?} */
18209 var positionStrategy = this._overlay
18210 .position()
18211 .flexibleConnectedTo(this.origin)
18212 .withPositions([{
18213 originX: 'start',
18214 originY: 'bottom',
18215 overlayX: 'start',
18216 overlayY: 'top',
18217 offsetY: 8,
18218 }]);
18219 this._overlayRef = this._overlay.create({
18220 hasBackdrop: true,
18221 backdropClass: 'cdk-overlay-transparent-backdrop',
18222 positionStrategy: positionStrategy,
18223 });
18224 this._overlayRef.backdropClick().subscribe((/**
18225 * @return {?}
18226 */
18227 function () { return _this._overlayRef.detach(); }));
18228 this._portal = new portal.TemplatePortal(this.dialog, this._viewContainerRef);
18229 }
18230 this._overlayRef.attach(this._portal);
18231 };
18232 /**
18233 * Closes the calendar day dialog
18234 */
18235 /**
18236 * Closes the calendar day dialog
18237 * @return {?}
18238 */
18239 CalendarDayPicker.prototype.closeCalendarDayOverlay = /**
18240 * Closes the calendar day dialog
18241 * @return {?}
18242 */
18243 function () {
18244 this._overlayRef.detach();
18245 };
18246 /**
18247 * Checks if it is a template
18248 */
18249 /**
18250 * Checks if it is a template
18251 * @param {?} value
18252 * @return {?}
18253 */
18254 CalendarDayPicker.prototype.isTemplate = /**
18255 * Checks if it is a template
18256 * @param {?} value
18257 * @return {?}
18258 */
18259 function (value) {
18260 return value instanceof core.TemplateRef;
18261 };
18262 /**
18263 * Variable used for creating unique ids for color input components.
18264 */
18265 CalendarDayPicker.calendarDayPickerCount = 0;
18266 CalendarDayPicker.decorators = [
18267 { type: core.Component, args: [{
18268 selector: 'suka-calendar-day-picker',
18269 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 ",
18270 providers: [
18271 {
18272 provide: forms.NG_VALUE_ACCESSOR,
18273 useExisting: CalendarDayPicker,
18274 multi: true
18275 }
18276 ]
18277 }] }
18278 ];
18279 /** @nocollapse */
18280 CalendarDayPicker.ctorParameters = function () { return [
18281 { type: overlay.Overlay },
18282 { type: core.ViewContainerRef }
18283 ]; };
18284 CalendarDayPicker.propDecorators = {
18285 baseClass: [{ type: core.HostBinding, args: ['class.calendar-day-picker',] }],
18286 containerClass: [{ type: core.HostBinding, args: ['class.form-item',] }],
18287 disabled: [{ type: core.Input }],
18288 skeleton: [{ type: core.Input }],
18289 invalid: [{ type: core.Input }],
18290 valid: [{ type: core.Input }],
18291 id: [{ type: core.Input }],
18292 required: [{ type: core.Input }],
18293 value: [{ type: core.Input }],
18294 placeholder: [{ type: core.Input }],
18295 label: [{ type: core.Input }],
18296 helperText: [{ type: core.Input }],
18297 invalidText: [{ type: core.Input }],
18298 change: [{ type: core.Output }],
18299 origin: [{ type: core.ViewChild, args: ['origin', { static: false },] }],
18300 dialog: [{ type: core.ViewChild, args: ['calendarDayOverlay', { static: false },] }]
18301 };
18302 return CalendarDayPicker;
18303 }());
18304 if (false) {
18305 /**
18306 * Variable used for creating unique ids for color input components.
18307 * @type {?}
18308 */
18309 CalendarDayPicker.calendarDayPickerCount;
18310 /**
18311 * @type {?}
18312 * @private
18313 */
18314 CalendarDayPicker.prototype._overlayRef;
18315 /**
18316 * @type {?}
18317 * @private
18318 */
18319 CalendarDayPicker.prototype._portal;
18320 /** @type {?} */
18321 CalendarDayPicker.prototype._selectedDays;
18322 /** @type {?} */
18323 CalendarDayPicker.prototype.baseClass;
18324 /** @type {?} */
18325 CalendarDayPicker.prototype.containerClass;
18326 /**
18327 * Set to `true` for a disabled color input.
18328 * @type {?}
18329 */
18330 CalendarDayPicker.prototype.disabled;
18331 /**
18332 * Set to `true` for a loading color input component.
18333 * @type {?}
18334 */
18335 CalendarDayPicker.prototype.skeleton;
18336 /**
18337 * Set to `true` for an invalid color input component.
18338 * @type {?}
18339 */
18340 CalendarDayPicker.prototype.invalid;
18341 /**
18342 * Set to `true` for a valid color input component.
18343 * @type {?}
18344 */
18345 CalendarDayPicker.prototype.valid;
18346 /**
18347 * The unique id for the color input component.
18348 * @type {?}
18349 */
18350 CalendarDayPicker.prototype.id;
18351 /**
18352 * Reflects the required attribute of the `input` element.
18353 * @type {?}
18354 */
18355 CalendarDayPicker.prototype.required;
18356 /**
18357 * Sets the value attribute on the `input` element.
18358 * @type {?}
18359 */
18360 CalendarDayPicker.prototype.value;
18361 /**
18362 * Sets the placeholder on the `input` element.
18363 * @type {?}
18364 */
18365 CalendarDayPicker.prototype.placeholder;
18366 /**
18367 * Sets the text inside the `label` tag.
18368 * @type {?}
18369 */
18370 CalendarDayPicker.prototype.label;
18371 /**
18372 * Sets the optional helper text.
18373 * @type {?}
18374 */
18375 CalendarDayPicker.prototype.helperText;
18376 /**
18377 * Sets the invalid text.
18378 * @type {?}
18379 */
18380 CalendarDayPicker.prototype.invalidText;
18381 /**
18382 * Emits event notifying other classes when a change in state occurs in the input.
18383 * @type {?}
18384 */
18385 CalendarDayPicker.prototype.change;
18386 /** @type {?} */
18387 CalendarDayPicker.prototype.origin;
18388 /** @type {?} */
18389 CalendarDayPicker.prototype.dialog;
18390 /**
18391 * Called when number input is blurred. Needed to properly implement `ControlValueAccessor`.
18392 * @type {?}
18393 */
18394 CalendarDayPicker.prototype.onTouched;
18395 /**
18396 * Method set in `registerOnChange` to propagate changes back to the form.
18397 * @type {?}
18398 */
18399 CalendarDayPicker.prototype.propagateChange;
18400 /**
18401 * @type {?}
18402 * @private
18403 */
18404 CalendarDayPicker.prototype._overlay;
18405 /**
18406 * @type {?}
18407 * @private
18408 */
18409 CalendarDayPicker.prototype._viewContainerRef;
18410 }
18411
18412 /**
18413 * @fileoverview added by tsickle
18414 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
18415 */
18416 var CalendarDayOverlay = /** @class */ (function () {
18417 function CalendarDayOverlay() {
18418 this.baseClass = true;
18419 this.days = [];
18420 this.daysChange = new core.EventEmitter();
18421 this.numberOfDays = 31;
18422 }
18423 /**
18424 * @param {?} size
18425 * @param {?=} startAt
18426 * @return {?}
18427 */
18428 CalendarDayOverlay.prototype.range = /**
18429 * @param {?} size
18430 * @param {?=} startAt
18431 * @return {?}
18432 */
18433 function (size, startAt) {
18434 if (startAt === void 0) { startAt = 0; }
18435 return __spread(Array(size).keys()).map((/**
18436 * @param {?} i
18437 * @return {?}
18438 */
18439 function (i) { return i + startAt; }));
18440 };
18441 /**
18442 * @param {?} day
18443 * @return {?}
18444 */
18445 CalendarDayOverlay.prototype.toggleDay = /**
18446 * @param {?} day
18447 * @return {?}
18448 */
18449 function (day) {
18450 /** @type {?} */
18451 var indexOfDay = this.days.indexOf(day);
18452 if (indexOfDay < 0) {
18453 this.days.push(day);
18454 }
18455 else {
18456 this.days.splice(indexOfDay, 1);
18457 }
18458 this.days.sort((/**
18459 * @param {?} a
18460 * @param {?} b
18461 * @return {?}
18462 */
18463 function (a, b) {
18464 return a - b;
18465 }));
18466 this.daysChange.emit(this.days);
18467 };
18468 CalendarDayOverlay.decorators = [
18469 { type: core.Component, args: [{
18470 selector: 'suka-calendar-day-overlay',
18471 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 "
18472 }] }
18473 ];
18474 CalendarDayOverlay.propDecorators = {
18475 baseClass: [{ type: core.HostBinding, args: ['class.calendar-day-picker__overlay',] }],
18476 days: [{ type: core.Input }],
18477 daysChange: [{ type: core.Output }]
18478 };
18479 return CalendarDayOverlay;
18480 }());
18481 if (false) {
18482 /** @type {?} */
18483 CalendarDayOverlay.prototype.baseClass;
18484 /** @type {?} */
18485 CalendarDayOverlay.prototype.days;
18486 /** @type {?} */
18487 CalendarDayOverlay.prototype.daysChange;
18488 /** @type {?} */
18489 CalendarDayOverlay.prototype.numberOfDays;
18490 }
18491
18492 /**
18493 * @fileoverview added by tsickle
18494 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
18495 */
18496 var CalendarDayPickerModule = /** @class */ (function () {
18497 function CalendarDayPickerModule() {
18498 }
18499 CalendarDayPickerModule.decorators = [
18500 { type: core.NgModule, args: [{
18501 declarations: [
18502 CalendarDayPicker,
18503 CalendarDayOverlay,
18504 ],
18505 exports: [
18506 CalendarDayPicker,
18507 CalendarDayOverlay
18508 ],
18509 imports: [
18510 common.CommonModule,
18511 overlay.OverlayModule,
18512 forms.FormsModule,
18513 IconModule,
18514 ],
18515 entryComponents: [
18516 CalendarDayOverlay,
18517 ],
18518 },] }
18519 ];
18520 return CalendarDayPickerModule;
18521 }());
18522
18523 exports.Accordion = Accordion;
18524 exports.AccordionItem = AccordionItem;
18525 exports.AccordionModule = AccordionModule;
18526 exports.Avatar = Avatar;
18527 exports.AvatarModule = AvatarModule;
18528 exports.Badge = Badge;
18529 exports.BadgeModule = BadgeModule;
18530 exports.Banner = Banner;
18531 exports.BannerModule = BannerModule;
18532 exports.Breadcrumb = Breadcrumb;
18533 exports.BreadcrumbModule = BreadcrumbModule;
18534 exports.Button = Button;
18535 exports.ButtonGroup = ButtonGroup;
18536 exports.ButtonModule = ButtonModule;
18537 exports.ButtonRadio = ButtonRadio;
18538 exports.ButtonRadioChange = ButtonRadioChange;
18539 exports.ButtonRadioGroup = ButtonRadioGroup;
18540 exports.ButtonRadioModule = ButtonRadioModule;
18541 exports.CalendarDayOverlay = CalendarDayOverlay;
18542 exports.CalendarDayPicker = CalendarDayPicker;
18543 exports.CalendarDayPickerModule = CalendarDayPickerModule;
18544 exports.Card = Card;
18545 exports.CardFooter = CardFooter;
18546 exports.CardHeader = CardHeader;
18547 exports.CardModule = CardModule;
18548 exports.CardSection = CardSection;
18549 exports.Checkbox = Checkbox;
18550 exports.CheckboxModule = CheckboxModule;
18551 exports.CodeSnippet = CodeSnippet;
18552 exports.CodeSnippetModule = CodeSnippetModule;
18553 exports.ColorInput = ColorInput;
18554 exports.ColorPalette = ColorPalette;
18555 exports.ColorPicker = ColorPicker;
18556 exports.ColorPickerModule = ColorPickerModule;
18557 exports.ColorSlider = ColorSlider;
18558 exports.Container = Container;
18559 exports.ContainerModule = ContainerModule;
18560 exports.DatePickerModule = DatePickerModule;
18561 exports.EmptyState = EmptyState;
18562 exports.EmptyStateModule = EmptyStateModule;
18563 exports.FileUploader = FileUploader;
18564 exports.FileUploaderModule = FileUploaderModule;
18565 exports.FormLayout = FormLayout;
18566 exports.FormLayoutModule = FormLayoutModule;
18567 exports.Frame = Frame;
18568 exports.FrameModule = FrameModule;
18569 exports.GridModule = GridModule;
18570 exports.Icon = Icon;
18571 exports.IconModule = IconModule;
18572 exports.InputGroup = InputGroup;
18573 exports.InputGroupItem = InputGroupItem;
18574 exports.InputGroupModule = InputGroupModule;
18575 exports.InputModule = InputModule;
18576 exports.Label = Label;
18577 exports.Layout = Layout;
18578 exports.LayoutModule = LayoutModule;
18579 exports.LayoutSection = LayoutSection;
18580 exports.Link = Link;
18581 exports.LinkModule = LinkModule;
18582 exports.List = List;
18583 exports.ListItemDirective = ListItemDirective;
18584 exports.ListModule = ListModule;
18585 exports.Loading = Loading;
18586 exports.LoadingModule = LoadingModule;
18587 exports.MobileNavigation = MobileNavigation;
18588 exports.ModalContainer = ModalContainer;
18589 exports.ModalDirective = ModalDirective;
18590 exports.ModalModule = ModalModule;
18591 exports.ModalRef = ModalRef;
18592 exports.ModalService = ModalService;
18593 exports.Navigation = Navigation;
18594 exports.NavigationItem = NavigationItem;
18595 exports.NavigationMenu = NavigationMenu;
18596 exports.NavigationModule = NavigationModule;
18597 exports.Number = Number;
18598 exports.NumberModule = NumberModule;
18599 exports.OptGroup = OptGroup;
18600 exports.Option = Option;
18601 exports.Page = Page;
18602 exports.PageEvent = PageEvent;
18603 exports.PageModule = PageModule;
18604 exports.Pagination = Pagination;
18605 exports.PaginationModule = PaginationModule;
18606 exports.Popover = Popover;
18607 exports.PopoverActionItem = PopoverActionItem;
18608 exports.PopoverActionList = PopoverActionList;
18609 exports.PopoverContainer = PopoverContainer;
18610 exports.PopoverModule = PopoverModule;
18611 exports.PopoverSection = PopoverSection;
18612 exports.Progress = Progress;
18613 exports.ProgressModule = ProgressModule;
18614 exports.Radio = Radio;
18615 exports.RadioChange = RadioChange;
18616 exports.RadioGroup = RadioGroup;
18617 exports.RadioModule = RadioModule;
18618 exports.Search = Search;
18619 exports.SearchModule = SearchModule;
18620 exports.Select = Select;
18621 exports.SelectModule = SelectModule;
18622 exports.SheetContainer = SheetContainer;
18623 exports.SheetDirective = SheetDirective;
18624 exports.SheetModule = SheetModule;
18625 exports.SheetRef = SheetRef;
18626 exports.SheetService = SheetService;
18627 exports.SnippetLanguage = SnippetLanguage;
18628 exports.SnippetType = SnippetType;
18629 exports.SpacingModule = SpacingModule;
18630 exports.Stack = Stack;
18631 exports.StackItem = StackItem;
18632 exports.StackModule = StackModule;
18633 exports.SukaCell = SukaCell;
18634 exports.SukaCellDef = SukaCellDef;
18635 exports.SukaColumnDef = SukaColumnDef;
18636 exports.SukaFooterCell = SukaFooterCell;
18637 exports.SukaFooterCellDef = SukaFooterCellDef;
18638 exports.SukaFooterRow = SukaFooterRow;
18639 exports.SukaFooterRowDef = SukaFooterRowDef;
18640 exports.SukaHeaderCell = SukaHeaderCell;
18641 exports.SukaHeaderCellDef = SukaHeaderCellDef;
18642 exports.SukaHeaderRow = SukaHeaderRow;
18643 exports.SukaHeaderRowDef = SukaHeaderRowDef;
18644 exports.SukaRow = SukaRow;
18645 exports.SukaRowDef = SukaRowDef;
18646 exports.SukaTable = SukaTable;
18647 exports.SukaTableDataSource = SukaTableDataSource;
18648 exports.TabItem = TabItem;
18649 exports.TableModule = TableModule;
18650 exports.Tabs = Tabs;
18651 exports.TabsModule = TabsModule;
18652 exports.TextArea = TextArea;
18653 exports.TextInput = TextInput;
18654 exports.ToastContainer = ToastContainer;
18655 exports.ToastModule = ToastModule;
18656 exports.ToastRef = ToastRef;
18657 exports.ToastService = ToastService;
18658 exports.Toggle = Toggle;
18659 exports.ToggleModule = ToggleModule;
18660 exports.Tooltip = Tooltip;
18661 exports.TooltipContainer = TooltipContainer;
18662 exports.TooltipModule = TooltipModule;
18663 exports.Topbar = Topbar;
18664 exports.TopbarGlobal = TopbarGlobal;
18665 exports.TopbarItem = TopbarItem;
18666 exports.TopbarMenu = TopbarMenu;
18667 exports.TopbarModule = TopbarModule;
18668 exports.TopbarNavigation = TopbarNavigation;
18669 exports.ɵa = GridDirective;
18670 exports.ɵb = RowDirective;
18671 exports.ɵba = DatePickerInputModule;
18672 exports.ɵbb = DatePickerInput;
18673 exports.ɵbc = toastAnimations;
18674 exports.ɵbd = TOAST_CONFIG_DATA;
18675 exports.ɵbe = SHEET_CONTENT_DATA;
18676 exports.ɵc = ColumnDirective;
18677 exports.ɵd = MarginDirective;
18678 exports.ɵe = MarginTopDirective;
18679 exports.ɵf = MarginBottomDirective;
18680 exports.ɵg = MarginLeftDirective;
18681 exports.ɵh = MarginRightDirective;
18682 exports.ɵi = MarginHorizontalDirective;
18683 exports.ɵj = MarginVerticalDirective;
18684 exports.ɵk = PaddingDirective;
18685 exports.ɵl = PaddingTopDirective;
18686 exports.ɵm = PaddingBottomDirective;
18687 exports.ɵn = PaddingLeftDirective;
18688 exports.ɵo = PaddingRightDirective;
18689 exports.ɵp = PaddingHorizontalDirective;
18690 exports.ɵq = PaddingVerticalDirective;
18691 exports.ɵr = MODAL_CONTENT_DATA;
18692 exports.ɵs = POPOVER_CONTENT_DATA;
18693 exports.ɵt = PopoverRef;
18694 exports.ɵv = PopoverService;
18695 exports.ɵw = SukaTableSkeleton;
18696 exports.ɵx = PageHeader;
18697 exports.ɵy = File;
18698 exports.ɵz = DatePicker;
18699
18700 Object.defineProperty(exports, '__esModule', { value: true });
18701
18702})));
18703//# sourceMappingURL=kushki-ng-suka.umd.js.map