UNPKG

872 kBJavaScriptView Raw
1import { Component, ElementRef, Input, HostBinding, NgModule, Directive, ChangeDetectorRef, Renderer2, ViewContainerRef, ComponentFactoryResolver, ContentChildren, EventEmitter, ChangeDetectionStrategy, Output, ViewChild, TemplateRef, forwardRef, HostListener, ViewEncapsulation, Host, Inject, InjectionToken, Injectable, Injector, Optional, SecurityContext } from '@angular/core';
2import { CommonModule, DOCUMENT } from '@angular/common';
3import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
4import { DomSanitizer } from '@angular/platform-browser';
5import { Subject, BehaviorSubject, Subscription, merge, of, combineLatest } from 'rxjs';
6import { takeWhile, filter, take, map, distinctUntilChanged } from 'rxjs/operators';
7import { trigger, transition, style, animate, state } from '@angular/animations';
8import { Overlay, OverlayPositionBuilder, OverlayModule, OverlayConfig } from '@angular/cdk/overlay';
9import { ComponentPortal, PortalInjector, TemplatePortal } from '@angular/cdk/portal';
10import { __assign, __extends, __read, __spread, __values } from 'tslib';
11import { CDK_TABLE_TEMPLATE, CdkTable, CdkCellDef, CdkHeaderCellDef, CdkFooterCellDef, CdkColumnDef, CdkHeaderCell, CdkFooterCell, CdkCell, CdkHeaderRowDef, CdkFooterRowDef, CdkRowDef, CDK_ROW_TEMPLATE, CdkHeaderRow, CdkFooterRow, CdkRow, DataSource, CdkTableModule } from '@angular/cdk/table';
12import { coerceNumberProperty, coerceBooleanProperty } from '@angular/cdk/coercion';
13import { NavigationEnd, Router, ActivatedRoute, RouterModule } from '@angular/router';
14import { BreakpointObserver, LayoutModule as LayoutModule$1 } from '@angular/cdk/layout';
15import rangePlugin from 'flatpickr/dist/plugins/rangePlugin';
16import flatpickr from 'flatpickr';
17import { Spanish } from 'flatpickr/dist/l10n/es.js';
18import { highlight, languages } from 'prismjs';
19import 'prismjs/components/prism-markup-templating.js';
20import 'prismjs/components/prism-typescript';
21import 'prismjs/components/prism-php';
22import 'prismjs/components/prism-ruby';
23import 'prismjs/components/prism-json';
24import 'prismjs/components/prism-java';
25import 'prismjs/components/prism-markdown';
26import 'prismjs/components/prism-scss';
27import 'prismjs/components/prism-swift';
28
29/**
30 * @fileoverview added by tsickle
31 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
32 */
33var Loading = /** @class */ (function () {
34 function Loading(elementRef) {
35 this.elementRef = elementRef;
36 this.title = 'Loading';
37 /**
38 * set to `false` to stop the loading animation
39 */
40 this.isActive = true;
41 /**
42 * Specify the size of the button
43 */
44 this.size = 'normal';
45 /**
46 * Set to `true` to make loader with an overlay.
47 */
48 this.overlay = false;
49 }
50 Loading.decorators = [
51 { type: Component, args: [{
52 selector: 'suka-loading',
53 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 "
54 }] }
55 ];
56 /** @nocollapse */
57 Loading.ctorParameters = function () { return [
58 { type: ElementRef }
59 ]; };
60 Loading.propDecorators = {
61 title: [{ type: Input }],
62 isActive: [{ type: Input }],
63 size: [{ type: Input }],
64 overlay: [{ type: Input }, { type: HostBinding, args: ['class.loading-overlay',] }]
65 };
66 return Loading;
67}());
68if (false) {
69 /** @type {?} */
70 Loading.prototype.title;
71 /**
72 * set to `false` to stop the loading animation
73 * @type {?}
74 */
75 Loading.prototype.isActive;
76 /**
77 * Specify the size of the button
78 * @type {?}
79 */
80 Loading.prototype.size;
81 /**
82 * Set to `true` to make loader with an overlay.
83 * @type {?}
84 */
85 Loading.prototype.overlay;
86 /** @type {?} */
87 Loading.prototype.elementRef;
88}
89
90/**
91 * @fileoverview added by tsickle
92 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
93 */
94var LoadingModule = /** @class */ (function () {
95 function LoadingModule() {
96 }
97 LoadingModule.decorators = [
98 { type: NgModule, args: [{
99 declarations: [
100 Loading
101 ],
102 exports: [
103 Loading
104 ],
105 imports: [
106 CommonModule
107 ]
108 },] }
109 ];
110 return LoadingModule;
111}());
112
113/**
114 * @fileoverview added by tsickle
115 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
116 */
117/**
118 * Buttons are used primarily for actions, such as “Add”, “Close”, “Cancel”, or “Save”.
119 * Plain buttons, which look similar to links, are used for less important or less commonly used actions, such as “view shipping settings”.
120 *
121 * For navigational actions that appear within or directly following a sentence, use the link component.
122 */
123var Button = /** @class */ (function () {
124 function Button(ref, el, renderer, viewContainerRef, componentFactoryResolver) {
125 this.ref = ref;
126 this.el = el;
127 this.renderer = renderer;
128 this.viewContainerRef = viewContainerRef;
129 this.componentFactoryResolver = componentFactoryResolver;
130 /**
131 * Sets the button type. Can be `primary`, `basic`, `plain`, `destructive` or `outline_white`.
132 */
133 this.sukaButton = 'basic';
134 /**
135 * Button size. Can be `md` (Medium), `sm` (Small) or `lg` (Large).
136 */
137 this.size = 'md';
138 /**
139 * Set to `true` for a skeleton state button.
140 */
141 this.skeleton = false;
142 /**
143 * Set to `true` to display the outline version of the button.
144 */
145 this.outline = false;
146 /**
147 * Set to `true` for a hover effect.
148 */
149 this.hover = false;
150 /**
151 * Set to `true` for a button that uses the full horizontal width;
152 */
153 this.fullWidth = false;
154 /**
155 * Sets to `true` when the button is on a button group.
156 */
157 this.inGroup = false;
158 /**
159 * Set to `true` for a loading button.
160 */
161 this.loading = false;
162 }
163 Object.defineProperty(Button.prototype, "basic", {
164 get: /**
165 * @return {?}
166 */
167 function () {
168 return this.getType('basic');
169 },
170 enumerable: true,
171 configurable: true
172 });
173 Object.defineProperty(Button.prototype, "primary", {
174 get: /**
175 * @return {?}
176 */
177 function () {
178 return this.getType('primary');
179 },
180 enumerable: true,
181 configurable: true
182 });
183 Object.defineProperty(Button.prototype, "plain", {
184 get: /**
185 * @return {?}
186 */
187 function () {
188 return this.getType('plain');
189 },
190 enumerable: true,
191 configurable: true
192 });
193 Object.defineProperty(Button.prototype, "destructive", {
194 get: /**
195 * @return {?}
196 */
197 function () {
198 return this.getType('destructive');
199 },
200 enumerable: true,
201 configurable: true
202 });
203 Object.defineProperty(Button.prototype, "outline_white", {
204 get: /**
205 * @return {?}
206 */
207 function () {
208 return this.getType('outline_white');
209 },
210 enumerable: true,
211 configurable: true
212 });
213 Object.defineProperty(Button.prototype, "buttonSmall", {
214 get: /**
215 * @return {?}
216 */
217 function () {
218 return this.size === 'sm';
219 },
220 enumerable: true,
221 configurable: true
222 });
223 Object.defineProperty(Button.prototype, "buttonLarge", {
224 get: /**
225 * @return {?}
226 */
227 function () {
228 return this.size === 'lg';
229 },
230 enumerable: true,
231 configurable: true
232 });
233 /**
234 * @private
235 * @param {?} type
236 * @return {?}
237 */
238 Button.prototype.getType = /**
239 * @private
240 * @param {?} type
241 * @return {?}
242 */
243 function (type) {
244 return this.sukaButton === type;
245 };
246 /**
247 * @return {?}
248 */
249 Button.prototype.ngOnInit = /**
250 * @return {?}
251 */
252 function () {
253 if (!this.sukaButton) {
254 this.sukaButton = 'basic';
255 }
256 // Create the spinner
257 /** @type {?} */
258 var factory = this.componentFactoryResolver.resolveComponentFactory(Loading);
259 /** @type {?} */
260 var componentRef = this.viewContainerRef.createComponent(factory);
261 this.loadingSpinner = componentRef.instance;
262 this.loadingSpinner.size = 'sm';
263 this.renderer.setStyle(this.loadingSpinner.elementRef.nativeElement, 'display', 'none');
264 this.renderer.appendChild(this.el.nativeElement, this.loadingSpinner.elementRef.nativeElement);
265 if (this.loading) {
266 this.renderer.setStyle(this.loadingSpinner.elementRef.nativeElement, 'display', 'inherit');
267 this.el.nativeElement.disabled = true;
268 }
269 };
270 /**
271 * @param {?} changes
272 * @return {?}
273 */
274 Button.prototype.ngOnChanges = /**
275 * @param {?} changes
276 * @return {?}
277 */
278 function (changes) {
279 if (changes.loading && this.loadingSpinner) {
280 if (this.loading) {
281 this.renderer.setStyle(this.loadingSpinner.elementRef.nativeElement, 'display', 'inherit');
282 }
283 else {
284 this.renderer.setStyle(this.loadingSpinner.elementRef.nativeElement, 'display', 'none');
285 }
286 this.el.nativeElement.disabled = changes.loading.currentValue;
287 }
288 };
289 /**
290 * @return {?}
291 */
292 Button.prototype.ngAfterViewInit = /**
293 * @return {?}
294 */
295 function () {
296 this.ref.detectChanges();
297 };
298 Button.decorators = [
299 { type: Directive, args: [{
300 selector: '[sukaButton]'
301 },] }
302 ];
303 /** @nocollapse */
304 Button.ctorParameters = function () { return [
305 { type: ChangeDetectorRef },
306 { type: ElementRef },
307 { type: Renderer2 },
308 { type: ViewContainerRef },
309 { type: ComponentFactoryResolver }
310 ]; };
311 Button.propDecorators = {
312 sukaButton: [{ type: Input }],
313 size: [{ type: Input }],
314 basic: [{ type: HostBinding, args: ['class.btn--basic',] }],
315 primary: [{ type: HostBinding, args: ['class.btn--primary',] }],
316 plain: [{ type: HostBinding, args: ['class.btn--plain',] }],
317 destructive: [{ type: HostBinding, args: ['class.btn--destructive',] }],
318 outline_white: [{ type: HostBinding, args: ['class.btn--outline_white',] }],
319 skeleton: [{ type: HostBinding, args: ['class.skeleton',] }, { type: Input }],
320 outline: [{ type: HostBinding, args: ['class.btn--outline',] }, { type: Input }],
321 hover: [{ type: HostBinding, args: ['class.btn--hover',] }, { type: Input }],
322 fullWidth: [{ type: HostBinding, args: ['class.btn--full_width',] }, { type: Input }],
323 inGroup: [{ type: HostBinding, args: ['class.btn--group_item',] }, { type: Input }],
324 loading: [{ type: HostBinding, args: ['class.btn--loading',] }, { type: Input }],
325 buttonSmall: [{ type: HostBinding, args: ['class.btn--sm',] }],
326 buttonLarge: [{ type: HostBinding, args: ['class.btn--lg',] }]
327 };
328 return Button;
329}());
330if (false) {
331 /**
332 * Sets the button type. Can be `primary`, `basic`, `plain`, `destructive` or `outline_white`.
333 * @type {?}
334 */
335 Button.prototype.sukaButton;
336 /**
337 * Button size. Can be `md` (Medium), `sm` (Small) or `lg` (Large).
338 * @type {?}
339 */
340 Button.prototype.size;
341 /**
342 * Set to `true` for a skeleton state button.
343 * @type {?}
344 */
345 Button.prototype.skeleton;
346 /**
347 * Set to `true` to display the outline version of the button.
348 * @type {?}
349 */
350 Button.prototype.outline;
351 /**
352 * Set to `true` for a hover effect.
353 * @type {?}
354 */
355 Button.prototype.hover;
356 /**
357 * Set to `true` for a button that uses the full horizontal width;
358 * @type {?}
359 */
360 Button.prototype.fullWidth;
361 /**
362 * Sets to `true` when the button is on a button group.
363 * @type {?}
364 */
365 Button.prototype.inGroup;
366 /**
367 * Set to `true` for a loading button.
368 * @type {?}
369 */
370 Button.prototype.loading;
371 /**
372 * @ignore
373 * @type {?}
374 */
375 Button.prototype.loadingSpinner;
376 /**
377 * @type {?}
378 * @private
379 */
380 Button.prototype.ref;
381 /**
382 * @type {?}
383 * @private
384 */
385 Button.prototype.el;
386 /**
387 * @type {?}
388 * @private
389 */
390 Button.prototype.renderer;
391 /**
392 * @type {?}
393 * @private
394 */
395 Button.prototype.viewContainerRef;
396 /**
397 * @type {?}
398 * @private
399 */
400 Button.prototype.componentFactoryResolver;
401}
402
403/**
404 * @fileoverview added by tsickle
405 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
406 */
407var ButtonGroup = /** @class */ (function () {
408 function ButtonGroup() {
409 this.baseClass = true;
410 }
411 /**
412 * @return {?}
413 */
414 ButtonGroup.prototype.ngAfterContentInit = /**
415 * @return {?}
416 */
417 function () {
418 this.buttons.toArray().forEach((/**
419 * @param {?} button
420 * @return {?}
421 */
422 function (button) {
423 button.inGroup = true;
424 }));
425 };
426 ButtonGroup.decorators = [
427 { type: Component, args: [{
428 selector: 'suka-button-group',
429 template: "<div class=\"btn-group__wrapper\"><ng-content></ng-content></div>"
430 }] }
431 ];
432 ButtonGroup.propDecorators = {
433 baseClass: [{ type: HostBinding, args: ['class.btn-group',] }],
434 segmented: [{ type: HostBinding, args: ['class.btn-group--segmented',] }, { type: Input }],
435 buttons: [{ type: ContentChildren, args: [Button,] }]
436 };
437 return ButtonGroup;
438}());
439if (false) {
440 /** @type {?} */
441 ButtonGroup.prototype.baseClass;
442 /**
443 * Join buttons as segmented group
444 * @type {?}
445 */
446 ButtonGroup.prototype.segmented;
447 /** @type {?} */
448 ButtonGroup.prototype.buttons;
449}
450
451/**
452 * @fileoverview added by tsickle
453 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
454 */
455var ButtonModule = /** @class */ (function () {
456 function ButtonModule() {
457 }
458 ButtonModule.decorators = [
459 { type: NgModule, args: [{
460 declarations: [Button, ButtonGroup],
461 exports: [Button, ButtonGroup],
462 imports: [CommonModule, LoadingModule],
463 entryComponents: [Loading],
464 },] }
465 ];
466 return ButtonModule;
467}());
468
469/**
470 * @fileoverview added by tsickle
471 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
472 */
473/** @enum {number} */
474var CheckboxState = {
475 Init: 0,
476 Indeterminate: 1,
477 Checked: 2,
478 Unchecked: 3,
479};
480CheckboxState[CheckboxState.Init] = 'Init';
481CheckboxState[CheckboxState.Indeterminate] = 'Indeterminate';
482CheckboxState[CheckboxState.Checked] = 'Checked';
483CheckboxState[CheckboxState.Unchecked] = 'Unchecked';
484/**
485 * Used to emit changes performed on checkbox components.
486 */
487var /**
488 * Used to emit changes performed on checkbox components.
489 */
490CheckboxChange = /** @class */ (function () {
491 function CheckboxChange() {
492 }
493 return CheckboxChange;
494}());
495if (false) {
496 /** @type {?} */
497 CheckboxChange.prototype.source;
498 /** @type {?} */
499 CheckboxChange.prototype.checked;
500}
501var Checkbox = /** @class */ (function () {
502 /**
503 * Creates an instance of `Checkbox`.
504 */
505 function Checkbox(changeDetectorRef) {
506 this.changeDetectorRef = changeDetectorRef;
507 /**
508 * Size of the checkbox.
509 */
510 this.size = 'md';
511 /**
512 * Set to `true` for checkbox to be rendered without any classes on the host element.
513 */
514 this.inline = false;
515 /**
516 * Set to `true` for a disabled checkbox.
517 */
518 this.disabled = false;
519 /**
520 * Set to `true` for a loading checkbox.
521 */
522 this.skeleton = false;
523 /**
524 * Set to `true` to hide the checkbox labels.
525 */
526 this.hideLabel = false;
527 /**
528 * The unique id for the checkbox component.
529 */
530 this.id = "checkbox-" + Checkbox.checkboxCount;
531 /**
532 * Used to set the `aria-label` attribute on the input element.
533 */
534 // tslint:disable-next-line:no-input-rename
535 this.ariaLabel = '';
536 /**
537 * Emits event notifying other classes when a change in state occurs on a checkbox after a
538 * click.
539 */
540 // tslint:disable-next-line: no-output-native
541 this.change = new EventEmitter();
542 /**
543 * Emits event notifying other classes when a change in state occurs specifically
544 * on an indeterminate checkbox.
545 */
546 this.indeterminateChange = new EventEmitter();
547 /**
548 * Set to `true` if the input checkbox is selected (or checked).
549 */
550 // tslint:disable-next-line: variable-name
551 this._checked = false;
552 /**
553 * Set to `true` if the input checkbox is in state indeterminate.
554 */
555 // tslint:disable-next-line: variable-name
556 this._indeterminate = false;
557 this.currentCheckboxState = CheckboxState.Init;
558 /**
559 * Called when checkbox is blurred. Needed to properly implement `ControlValueAccessor`.
560 */
561 this.onTouched = (/**
562 * @return {?}
563 */
564 function () { });
565 /**
566 * Method set in `registerOnChange` to propagate changes back to the form.
567 */
568 this.propagateChange = (/**
569 * @param {?} _
570 * @return {?}
571 */
572 function (_) { });
573 Checkbox.checkboxCount++;
574 }
575 Object.defineProperty(Checkbox.prototype, "indeterminate", {
576 /**
577 * Reflects whether the checkbox state is indeterminate.
578 */
579 get: /**
580 * Reflects whether the checkbox state is indeterminate.
581 * @return {?}
582 */
583 function () {
584 return this._indeterminate;
585 },
586 /**
587 * Set the checkbox's indeterminate state to match the parameter and transition the view to reflect the change.
588 */
589 set: /**
590 * Set the checkbox's indeterminate state to match the parameter and transition the view to reflect the change.
591 * @param {?} indeterminate
592 * @return {?}
593 */
594 function (indeterminate) {
595 /** @type {?} */
596 var changed = this._indeterminate !== indeterminate;
597 this._indeterminate = indeterminate;
598 if (changed) {
599 this.transitionCheckboxState(CheckboxState.Indeterminate);
600 }
601 else {
602 this.transitionCheckboxState(this.checked ? CheckboxState.Checked : CheckboxState.Unchecked);
603 }
604 this.indeterminateChange.emit(this._indeterminate);
605 },
606 enumerable: true,
607 configurable: true
608 });
609 Object.defineProperty(Checkbox.prototype, "checked", {
610 /**
611 * Returns value `true` if state is selected for the checkbox.
612 */
613 get: /**
614 * Returns value `true` if state is selected for the checkbox.
615 * @return {?}
616 */
617 function () {
618 return this._checked;
619 },
620 /**
621 * Updating the state of a checkbox to match the state of the parameter passed in.
622 */
623 set: /**
624 * Updating the state of a checkbox to match the state of the parameter passed in.
625 * @param {?} checked
626 * @return {?}
627 */
628 function (checked) {
629 var _this = this;
630 if (checked !== this.checked) {
631 if (this._indeterminate) {
632 Promise.resolve().then((/**
633 * @return {?}
634 */
635 function () {
636 _this._indeterminate = false;
637 _this.indeterminateChange.emit(_this._indeterminate);
638 }));
639 }
640 this._checked = checked;
641 this.changeDetectorRef.markForCheck();
642 }
643 },
644 enumerable: true,
645 configurable: true
646 });
647 Object.defineProperty(Checkbox.prototype, "checkboxWrapperClass", {
648 get: /**
649 * @return {?}
650 */
651 function () {
652 return !this.inline;
653 },
654 enumerable: true,
655 configurable: true
656 });
657 Object.defineProperty(Checkbox.prototype, "formItemClass", {
658 get: /**
659 * @return {?}
660 */
661 function () {
662 return !this.inline;
663 },
664 enumerable: true,
665 configurable: true
666 });
667 /**
668 * Toggle the selected state of the checkbox.
669 */
670 /**
671 * Toggle the selected state of the checkbox.
672 * @return {?}
673 */
674 Checkbox.prototype.toggle = /**
675 * Toggle the selected state of the checkbox.
676 * @return {?}
677 */
678 function () {
679 this.checked = !this.checked;
680 };
681 // this is the initial value set to the component
682 // this is the initial value set to the component
683 /**
684 * @param {?} value
685 * @return {?}
686 */
687 Checkbox.prototype.writeValue =
688 // this is the initial value set to the component
689 /**
690 * @param {?} value
691 * @return {?}
692 */
693 function (value) {
694 this.checked = !!value;
695 };
696 /**
697 * Sets a method in order to propagate changes back to the form.
698 */
699 /**
700 * Sets a method in order to propagate changes back to the form.
701 * @param {?} fn
702 * @return {?}
703 */
704 Checkbox.prototype.registerOnChange = /**
705 * Sets a method in order to propagate changes back to the form.
706 * @param {?} fn
707 * @return {?}
708 */
709 function (fn) {
710 this.propagateChange = fn;
711 };
712 /**
713 * Registers a callback to be triggered when the control has been touched.
714 * @param fn Callback to be triggered when the checkbox is touched.
715 */
716 /**
717 * Registers a callback to be triggered when the control has been touched.
718 * @param {?} fn Callback to be triggered when the checkbox is touched.
719 * @return {?}
720 */
721 Checkbox.prototype.registerOnTouched = /**
722 * Registers a callback to be triggered when the control has been touched.
723 * @param {?} fn Callback to be triggered when the checkbox is touched.
724 * @return {?}
725 */
726 function (fn) {
727 this.onTouched = fn;
728 };
729 /**
730 * Executes on the event of a change within `Checkbox` to block propagation.
731 */
732 /**
733 * Executes on the event of a change within `Checkbox` to block propagation.
734 * @param {?} event
735 * @return {?}
736 */
737 Checkbox.prototype.onChange = /**
738 * Executes on the event of a change within `Checkbox` to block propagation.
739 * @param {?} event
740 * @return {?}
741 */
742 function (event) {
743 event.stopPropagation();
744 };
745 /**
746 * Handles click events on the `Checkbox` and emits changes to other classes.
747 */
748 /**
749 * Handles click events on the `Checkbox` and emits changes to other classes.
750 * @param {?} event
751 * @return {?}
752 */
753 Checkbox.prototype.onClick = /**
754 * Handles click events on the `Checkbox` and emits changes to other classes.
755 * @param {?} event
756 * @return {?}
757 */
758 function (event) {
759 if (!this.disabled) {
760 this.toggle();
761 this.transitionCheckboxState(this._checked ? CheckboxState.Checked : CheckboxState.Unchecked);
762 this.emitChangeEvent();
763 }
764 };
765 /**
766 * Handles changes between checkbox states.
767 */
768 /**
769 * Handles changes between checkbox states.
770 * @param {?} newState
771 * @return {?}
772 */
773 Checkbox.prototype.transitionCheckboxState = /**
774 * Handles changes between checkbox states.
775 * @param {?} newState
776 * @return {?}
777 */
778 function (newState) {
779 /** @type {?} */
780 var oldState = this.currentCheckboxState;
781 // Indeterminate has to be set always if it's transitioned to
782 // checked has to be set before indeterminate or it overrides
783 // indeterminate's dash
784 if (newState === CheckboxState.Indeterminate) {
785 this.checked = false;
786 this.inputCheckbox.nativeElement.indeterminate = true;
787 }
788 if (oldState === newState) {
789 return;
790 }
791 this.currentCheckboxState = newState;
792 };
793 /**
794 * Creates instance of `CheckboxChange` used to propagate the change event.
795 */
796 /**
797 * Creates instance of `CheckboxChange` used to propagate the change event.
798 * @return {?}
799 */
800 Checkbox.prototype.emitChangeEvent = /**
801 * Creates instance of `CheckboxChange` used to propagate the change event.
802 * @return {?}
803 */
804 function () {
805 /** @type {?} */
806 var event = new CheckboxChange();
807 event.source = this;
808 event.checked = this.checked;
809 this.propagateChange(this.checked);
810 this.change.emit(event);
811 };
812 /**
813 * Updates the checkbox if it is in the indeterminate state.
814 */
815 /**
816 * Updates the checkbox if it is in the indeterminate state.
817 * @return {?}
818 */
819 Checkbox.prototype.ngAfterViewInit = /**
820 * Updates the checkbox if it is in the indeterminate state.
821 * @return {?}
822 */
823 function () {
824 if (this.indeterminate) {
825 this.inputCheckbox.nativeElement.indeterminate = true;
826 this.checked = false;
827 }
828 };
829 /**
830 * Variable used for creating unique ids for checkbox components.
831 */
832 Checkbox.checkboxCount = 0;
833 Checkbox.decorators = [
834 { type: Component, args: [{
835 selector: 'suka-checkbox',
836 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 ",
837 providers: [
838 {
839 provide: NG_VALUE_ACCESSOR,
840 useExisting: Checkbox,
841 multi: true
842 }
843 ],
844 changeDetection: ChangeDetectionStrategy.OnPush
845 }] }
846 ];
847 /** @nocollapse */
848 Checkbox.ctorParameters = function () { return [
849 { type: ChangeDetectorRef }
850 ]; };
851 Checkbox.propDecorators = {
852 size: [{ type: Input }],
853 nested: [{ type: Input }],
854 inline: [{ type: Input }],
855 disabled: [{ type: Input }],
856 skeleton: [{ type: Input }],
857 hideLabel: [{ type: Input }],
858 name: [{ type: Input }],
859 id: [{ type: Input }],
860 required: [{ type: Input }],
861 value: [{ type: Input }],
862 ariaLabel: [{ type: Input, args: ['aria-label',] }],
863 ariaLabelledby: [{ type: Input, args: ['aria-labelledby',] }],
864 indeterminate: [{ type: Input }],
865 checked: [{ type: Input }],
866 checkboxWrapperClass: [{ type: HostBinding, args: ['class.checkbox-wrapper',] }],
867 formItemClass: [{ type: HostBinding, args: ['class.form-item',] }],
868 change: [{ type: Output }],
869 indeterminateChange: [{ type: Output }],
870 inputCheckbox: [{ type: ViewChild, args: ['inputCheckbox', { static: true },] }]
871 };
872 return Checkbox;
873}());
874if (false) {
875 /**
876 * Variable used for creating unique ids for checkbox components.
877 * @type {?}
878 */
879 Checkbox.checkboxCount;
880 /**
881 * Size of the checkbox.
882 * @type {?}
883 */
884 Checkbox.prototype.size;
885 /**
886 * Set to `true` for checkbox to be rendered with nested styles.
887 * @type {?}
888 */
889 Checkbox.prototype.nested;
890 /**
891 * Set to `true` for checkbox to be rendered without any classes on the host element.
892 * @type {?}
893 */
894 Checkbox.prototype.inline;
895 /**
896 * Set to `true` for a disabled checkbox.
897 * @type {?}
898 */
899 Checkbox.prototype.disabled;
900 /**
901 * Set to `true` for a loading checkbox.
902 * @type {?}
903 */
904 Checkbox.prototype.skeleton;
905 /**
906 * Set to `true` to hide the checkbox labels.
907 * @type {?}
908 */
909 Checkbox.prototype.hideLabel;
910 /**
911 * Sets the name attribute on the `input` element.
912 * @type {?}
913 */
914 Checkbox.prototype.name;
915 /**
916 * The unique id for the checkbox component.
917 * @type {?}
918 */
919 Checkbox.prototype.id;
920 /**
921 * Reflects the required attribute of the `input` element.
922 * @type {?}
923 */
924 Checkbox.prototype.required;
925 /**
926 * Sets the value attribute on the `input` element.
927 * @type {?}
928 */
929 Checkbox.prototype.value;
930 /**
931 * Used to set the `aria-label` attribute on the input element.
932 * @type {?}
933 */
934 Checkbox.prototype.ariaLabel;
935 /**
936 * Used to set the `aria-labelledby` attribute on the input element.
937 * @type {?}
938 */
939 Checkbox.prototype.ariaLabelledby;
940 /**
941 * Emits event notifying other classes when a change in state occurs on a checkbox after a
942 * click.
943 * @type {?}
944 */
945 Checkbox.prototype.change;
946 /**
947 * Emits event notifying other classes when a change in state occurs specifically
948 * on an indeterminate checkbox.
949 * @type {?}
950 */
951 Checkbox.prototype.indeterminateChange;
952 /**
953 * Set to `true` if the input checkbox is selected (or checked).
954 * @type {?}
955 */
956 Checkbox.prototype._checked;
957 /**
958 * Set to `true` if the input checkbox is in state indeterminate.
959 * @type {?}
960 */
961 Checkbox.prototype._indeterminate;
962 /** @type {?} */
963 Checkbox.prototype.currentCheckboxState;
964 /**
965 * Maintains a reference to the view DOM element of the `Checkbox`.
966 * @type {?}
967 */
968 Checkbox.prototype.inputCheckbox;
969 /**
970 * Called when checkbox is blurred. Needed to properly implement `ControlValueAccessor`.
971 * @type {?}
972 */
973 Checkbox.prototype.onTouched;
974 /**
975 * Method set in `registerOnChange` to propagate changes back to the form.
976 * @type {?}
977 */
978 Checkbox.prototype.propagateChange;
979 /**
980 * @type {?}
981 * @protected
982 */
983 Checkbox.prototype.changeDetectorRef;
984}
985
986/**
987 * @fileoverview added by tsickle
988 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
989 */
990var CheckboxModule = /** @class */ (function () {
991 function CheckboxModule() {
992 }
993 CheckboxModule.decorators = [
994 { type: NgModule, args: [{
995 declarations: [
996 Checkbox
997 ],
998 exports: [
999 Checkbox
1000 ],
1001 imports: [
1002 CommonModule,
1003 FormsModule
1004 ]
1005 },] }
1006 ];
1007 return CheckboxModule;
1008}());
1009
1010/**
1011 * @fileoverview added by tsickle
1012 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1013 */
1014// tslint:disable: max-line-length
1015/**
1016 * @record
1017 */
1018function IconDef() { }
1019if (false) {
1020 /** @type {?} */
1021 IconDef.prototype.name;
1022 /** @type {?} */
1023 IconDef.prototype.template;
1024}
1025/** @type {?} */
1026var iconDefs = [
1027 {
1028 name: 'activity',
1029 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 "
1030 },
1031 {
1032 name: 'airplay',
1033 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 "
1034 },
1035 {
1036 name: 'alert-circle',
1037 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 "
1038 },
1039 {
1040 name: 'alert-octagon',
1041 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 "
1042 },
1043 {
1044 name: 'alert-triangle',
1045 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 "
1046 },
1047 {
1048 name: 'align-center',
1049 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 "
1050 },
1051 {
1052 name: 'align-justify',
1053 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 "
1054 },
1055 {
1056 name: 'align-left',
1057 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 "
1058 },
1059 {
1060 name: 'align-right',
1061 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 "
1062 },
1063 {
1064 name: 'anchor',
1065 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 "
1066 },
1067 {
1068 name: 'aperture',
1069 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 "
1070 },
1071 {
1072 name: 'archive',
1073 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 "
1074 },
1075 {
1076 name: 'arrow-down-circle',
1077 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 "
1078 },
1079 {
1080 name: 'arrow-down-left',
1081 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 "
1082 },
1083 {
1084 name: 'arrow-down-right',
1085 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 "
1086 },
1087 {
1088 name: 'arrow-down',
1089 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 "
1090 },
1091 {
1092 name: 'arrow-left-circle',
1093 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 "
1094 },
1095 {
1096 name: 'arrow-left',
1097 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 "
1098 },
1099 {
1100 name: 'arrow-right-circle',
1101 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 "
1102 },
1103 {
1104 name: 'arrow-right',
1105 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 "
1106 },
1107 {
1108 name: 'arrow-up-circle',
1109 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 "
1110 },
1111 {
1112 name: 'arrow-up-left',
1113 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 "
1114 },
1115 {
1116 name: 'arrow-up-right',
1117 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 "
1118 },
1119 {
1120 name: 'arrow-up',
1121 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 "
1122 },
1123 {
1124 name: 'at-sign',
1125 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 "
1126 },
1127 {
1128 name: 'award',
1129 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 "
1130 },
1131 {
1132 name: 'bar-chart-2',
1133 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 "
1134 },
1135 {
1136 name: 'bar-chart',
1137 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 "
1138 },
1139 {
1140 name: 'battery-charging',
1141 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 "
1142 },
1143 {
1144 name: 'battery',
1145 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 "
1146 },
1147 {
1148 name: 'bell-off',
1149 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 "
1150 },
1151 {
1152 name: 'bell',
1153 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 "
1154 },
1155 {
1156 name: 'bluetooth',
1157 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 "
1158 },
1159 {
1160 name: 'bold',
1161 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 "
1162 },
1163 {
1164 name: 'book-open',
1165 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 "
1166 },
1167 {
1168 name: 'book',
1169 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 "
1170 },
1171 {
1172 name: 'bookmark',
1173 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 "
1174 },
1175 {
1176 name: 'box',
1177 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 "
1178 },
1179 {
1180 name: 'briefcase',
1181 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 "
1182 },
1183 {
1184 name: 'calendar',
1185 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 "
1186 },
1187 {
1188 name: 'camera-off',
1189 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 "
1190 },
1191 {
1192 name: 'camera',
1193 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 "
1194 },
1195 {
1196 name: 'cast',
1197 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 "
1198 },
1199 {
1200 name: 'check-circle',
1201 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 "
1202 },
1203 {
1204 name: 'check-square',
1205 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 "
1206 },
1207 {
1208 name: 'check',
1209 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 "
1210 },
1211 {
1212 name: 'chevron-down',
1213 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 "
1214 },
1215 {
1216 name: 'chevron-left',
1217 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 "
1218 },
1219 {
1220 name: 'chevron-right',
1221 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 "
1222 },
1223 {
1224 name: 'chevron-up',
1225 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 "
1226 },
1227 {
1228 name: 'chevrons-down',
1229 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 "
1230 },
1231 {
1232 name: 'chevrons-left',
1233 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 "
1234 },
1235 {
1236 name: 'chevrons-right',
1237 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 "
1238 },
1239 {
1240 name: 'chevrons-up',
1241 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 "
1242 },
1243 {
1244 name: 'chrome',
1245 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 "
1246 },
1247 {
1248 name: 'circle',
1249 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 "
1250 },
1251 {
1252 name: 'clipboard',
1253 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 "
1254 },
1255 {
1256 name: 'clock',
1257 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 "
1258 },
1259 {
1260 name: 'cloud-drizzle',
1261 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 "
1262 },
1263 {
1264 name: 'cloud-lightning',
1265 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 "
1266 },
1267 {
1268 name: 'cloud-off',
1269 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 "
1270 },
1271 {
1272 name: 'cloud-rain',
1273 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 "
1274 },
1275 {
1276 name: 'cloud-snow',
1277 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 "
1278 },
1279 {
1280 name: 'cloud',
1281 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 "
1282 },
1283 {
1284 name: 'code',
1285 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 "
1286 },
1287 {
1288 name: 'codepen',
1289 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 "
1290 },
1291 {
1292 name: 'codesandbox',
1293 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 "
1294 },
1295 {
1296 name: 'coffee',
1297 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 "
1298 },
1299 {
1300 name: 'columns',
1301 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 "
1302 },
1303 {
1304 name: 'command',
1305 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 "
1306 },
1307 {
1308 name: 'compass',
1309 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 "
1310 },
1311 {
1312 name: 'copy',
1313 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 "
1314 },
1315 {
1316 name: 'corner-down-left',
1317 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 "
1318 },
1319 {
1320 name: 'corner-down-right',
1321 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 "
1322 },
1323 {
1324 name: 'corner-left-down',
1325 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 "
1326 },
1327 {
1328 name: 'corner-left-up',
1329 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 "
1330 },
1331 {
1332 name: 'corner-right-down',
1333 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 "
1334 },
1335 {
1336 name: 'corner-right-up',
1337 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 "
1338 },
1339 {
1340 name: 'corner-up-left',
1341 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 "
1342 },
1343 {
1344 name: 'corner-up-right',
1345 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 "
1346 },
1347 {
1348 name: 'cpu',
1349 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 "
1350 },
1351 {
1352 name: 'credit-card',
1353 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 "
1354 },
1355 {
1356 name: 'crop',
1357 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 "
1358 },
1359 {
1360 name: 'crosshair',
1361 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 "
1362 },
1363 {
1364 name: 'database',
1365 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 "
1366 },
1367 {
1368 name: 'delete',
1369 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 "
1370 },
1371 {
1372 name: 'disc',
1373 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 "
1374 },
1375 {
1376 name: 'dollar-sign',
1377 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 "
1378 },
1379 {
1380 name: 'download-cloud',
1381 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 "
1382 },
1383 {
1384 name: 'download',
1385 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 "
1386 },
1387 {
1388 name: 'droplet',
1389 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 "
1390 },
1391 {
1392 name: 'edit-2',
1393 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 "
1394 },
1395 {
1396 name: 'edit-3',
1397 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 "
1398 },
1399 {
1400 name: 'edit',
1401 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 "
1402 },
1403 {
1404 name: 'external-link',
1405 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 "
1406 },
1407 {
1408 name: 'eye-off',
1409 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 "
1410 },
1411 {
1412 name: 'eye',
1413 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 "
1414 },
1415 {
1416 name: 'facebook',
1417 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 "
1418 },
1419 {
1420 name: 'fast-forward',
1421 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 "
1422 },
1423 {
1424 name: 'feather',
1425 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 "
1426 },
1427 {
1428 name: 'figma',
1429 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 "
1430 },
1431 {
1432 name: 'file-minus',
1433 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 "
1434 },
1435 {
1436 name: 'file-plus',
1437 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 "
1438 },
1439 {
1440 name: 'file-text',
1441 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 "
1442 },
1443 {
1444 name: 'file',
1445 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 "
1446 },
1447 {
1448 name: 'film',
1449 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 "
1450 },
1451 {
1452 name: 'filter',
1453 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 "
1454 },
1455 {
1456 name: 'flag',
1457 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 "
1458 },
1459 {
1460 name: 'folder-minus',
1461 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 "
1462 },
1463 {
1464 name: 'folder-plus',
1465 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 "
1466 },
1467 {
1468 name: 'folder',
1469 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 "
1470 },
1471 {
1472 name: 'framer',
1473 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 "
1474 },
1475 {
1476 name: 'frown',
1477 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 "
1478 },
1479 {
1480 name: 'gift',
1481 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 "
1482 },
1483 {
1484 name: 'git-branch',
1485 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 "
1486 },
1487 {
1488 name: 'git-commit',
1489 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 "
1490 },
1491 {
1492 name: 'git-merge',
1493 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 "
1494 },
1495 {
1496 name: 'git-pull-request',
1497 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 "
1498 },
1499 {
1500 name: 'github',
1501 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 "
1502 },
1503 {
1504 name: 'gitlab',
1505 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 "
1506 },
1507 {
1508 name: 'globe',
1509 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 "
1510 },
1511 {
1512 name: 'grid',
1513 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 "
1514 },
1515 {
1516 name: 'hard-drive',
1517 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 "
1518 },
1519 {
1520 name: 'hash',
1521 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 "
1522 },
1523 {
1524 name: 'headphones',
1525 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 "
1526 },
1527 {
1528 name: 'heart',
1529 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 "
1530 },
1531 {
1532 name: 'help-circle',
1533 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 "
1534 },
1535 {
1536 name: 'hexagon',
1537 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 "
1538 },
1539 {
1540 name: 'home',
1541 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 "
1542 },
1543 {
1544 name: 'image',
1545 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 "
1546 },
1547 {
1548 name: 'inbox',
1549 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 "
1550 },
1551 {
1552 name: 'info',
1553 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 "
1554 },
1555 {
1556 name: 'instagram',
1557 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 "
1558 },
1559 {
1560 name: 'italic',
1561 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 "
1562 },
1563 {
1564 name: 'key',
1565 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 "
1566 },
1567 {
1568 name: 'layers',
1569 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 "
1570 },
1571 {
1572 name: 'layout',
1573 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 "
1574 },
1575 {
1576 name: 'life-buoy',
1577 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 "
1578 },
1579 {
1580 name: 'link-2',
1581 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 "
1582 },
1583 {
1584 name: 'link',
1585 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 "
1586 },
1587 {
1588 name: 'linkedin',
1589 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 "
1590 },
1591 {
1592 name: 'list',
1593 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 "
1594 },
1595 {
1596 name: 'loader',
1597 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 "
1598 },
1599 {
1600 name: 'lock',
1601 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 "
1602 },
1603 {
1604 name: 'log-in',
1605 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 "
1606 },
1607 {
1608 name: 'log-out',
1609 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 "
1610 },
1611 {
1612 name: 'mail',
1613 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 "
1614 },
1615 {
1616 name: 'map-pin',
1617 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 "
1618 },
1619 {
1620 name: 'map',
1621 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 "
1622 },
1623 {
1624 name: 'maximize-2',
1625 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 "
1626 },
1627 {
1628 name: 'maximize',
1629 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 "
1630 },
1631 {
1632 name: 'meh',
1633 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 "
1634 },
1635 {
1636 name: 'menu',
1637 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 "
1638 },
1639 {
1640 name: 'message-circle',
1641 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 "
1642 },
1643 {
1644 name: 'message-square',
1645 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 "
1646 },
1647 {
1648 name: 'mic-off',
1649 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 "
1650 },
1651 {
1652 name: 'mic',
1653 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 "
1654 },
1655 {
1656 name: 'minimize-2',
1657 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 "
1658 },
1659 {
1660 name: 'minimize',
1661 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 "
1662 },
1663 {
1664 name: 'minus-circle',
1665 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 "
1666 },
1667 {
1668 name: 'minus-square',
1669 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 "
1670 },
1671 {
1672 name: 'minus',
1673 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 "
1674 },
1675 {
1676 name: 'monitor',
1677 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 "
1678 },
1679 {
1680 name: 'moon',
1681 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 "
1682 },
1683 {
1684 name: 'more-horizontal',
1685 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 "
1686 },
1687 {
1688 name: 'more-vertical',
1689 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 "
1690 },
1691 {
1692 name: 'mouse-pointer',
1693 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 "
1694 },
1695 {
1696 name: 'move',
1697 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 "
1698 },
1699 {
1700 name: 'music',
1701 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 "
1702 },
1703 {
1704 name: 'navigation-2',
1705 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 "
1706 },
1707 {
1708 name: 'navigation',
1709 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 "
1710 },
1711 {
1712 name: 'octagon',
1713 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 "
1714 },
1715 {
1716 name: 'package',
1717 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 "
1718 },
1719 {
1720 name: 'paperclip',
1721 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 "
1722 },
1723 {
1724 name: 'pause-circle',
1725 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 "
1726 },
1727 {
1728 name: 'pause',
1729 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 "
1730 },
1731 {
1732 name: 'pen-tool',
1733 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 "
1734 },
1735 {
1736 name: 'percent',
1737 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 "
1738 },
1739 {
1740 name: 'phone-call',
1741 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 "
1742 },
1743 {
1744 name: 'phone-forwarded',
1745 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 "
1746 },
1747 {
1748 name: 'phone-incoming',
1749 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 "
1750 },
1751 {
1752 name: 'phone-missed',
1753 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 "
1754 },
1755 {
1756 name: 'phone-off',
1757 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 "
1758 },
1759 {
1760 name: 'phone-outgoing',
1761 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 "
1762 },
1763 {
1764 name: 'phone',
1765 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 "
1766 },
1767 {
1768 name: 'pie-chart',
1769 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 "
1770 },
1771 {
1772 name: 'play-circle',
1773 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 "
1774 },
1775 {
1776 name: 'play',
1777 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 "
1778 },
1779 {
1780 name: 'plus-circle',
1781 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 "
1782 },
1783 {
1784 name: 'plus-square',
1785 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 "
1786 },
1787 {
1788 name: 'plus',
1789 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 "
1790 },
1791 {
1792 name: 'pocket',
1793 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 "
1794 },
1795 {
1796 name: 'power',
1797 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 "
1798 },
1799 {
1800 name: 'printer',
1801 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 "
1802 },
1803 {
1804 name: 'radio',
1805 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 "
1806 },
1807 {
1808 name: 'refresh-ccw',
1809 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 "
1810 },
1811 {
1812 name: 'refresh-cw',
1813 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 "
1814 },
1815 {
1816 name: 'repeat',
1817 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 "
1818 },
1819 {
1820 name: 'rewind',
1821 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 "
1822 },
1823 {
1824 name: 'rotate-ccw',
1825 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 "
1826 },
1827 {
1828 name: 'rotate-cw',
1829 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 "
1830 },
1831 {
1832 name: 'rss',
1833 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 "
1834 },
1835 {
1836 name: 'save',
1837 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 "
1838 },
1839 {
1840 name: 'scissors',
1841 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 "
1842 },
1843 {
1844 name: 'search',
1845 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 "
1846 },
1847 {
1848 name: 'send',
1849 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 "
1850 },
1851 {
1852 name: 'server',
1853 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 "
1854 },
1855 {
1856 name: 'settings',
1857 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 "
1858 },
1859 {
1860 name: 'share-2',
1861 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 "
1862 },
1863 {
1864 name: 'share',
1865 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 "
1866 },
1867 {
1868 name: 'shield-off',
1869 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 "
1870 },
1871 {
1872 name: 'shield',
1873 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 "
1874 },
1875 {
1876 name: 'shopping-bag',
1877 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 "
1878 },
1879 {
1880 name: 'shopping-cart',
1881 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 "
1882 },
1883 {
1884 name: 'shuffle',
1885 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 "
1886 },
1887 {
1888 name: 'sidebar',
1889 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 "
1890 },
1891 {
1892 name: 'skip-back',
1893 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 "
1894 },
1895 {
1896 name: 'skip-forward',
1897 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 "
1898 },
1899 {
1900 name: 'slack',
1901 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 "
1902 },
1903 {
1904 name: 'slash',
1905 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 "
1906 },
1907 {
1908 name: 'sliders',
1909 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 "
1910 },
1911 {
1912 name: 'smartphone',
1913 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 "
1914 },
1915 {
1916 name: 'smile',
1917 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 "
1918 },
1919 {
1920 name: 'speaker',
1921 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 "
1922 },
1923 {
1924 name: 'square',
1925 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 "
1926 },
1927 {
1928 name: 'star',
1929 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 "
1930 },
1931 {
1932 name: 'stop-circle',
1933 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 "
1934 },
1935 {
1936 name: 'sun',
1937 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 "
1938 },
1939 {
1940 name: 'sunrise',
1941 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 "
1942 },
1943 {
1944 name: 'sunset',
1945 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 "
1946 },
1947 {
1948 name: 'tablet',
1949 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 "
1950 },
1951 {
1952 name: 'tag',
1953 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 "
1954 },
1955 {
1956 name: 'target',
1957 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 "
1958 },
1959 {
1960 name: 'terminal',
1961 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 "
1962 },
1963 {
1964 name: 'thermometer',
1965 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 "
1966 },
1967 {
1968 name: 'thumbs-down',
1969 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 "
1970 },
1971 {
1972 name: 'thumbs-up',
1973 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 "
1974 },
1975 {
1976 name: 'toggle-left',
1977 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 "
1978 },
1979 {
1980 name: 'toggle-right',
1981 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 "
1982 },
1983 {
1984 name: 'trash-2',
1985 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 "
1986 },
1987 {
1988 name: 'trash',
1989 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 "
1990 },
1991 {
1992 name: 'trello',
1993 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 "
1994 },
1995 {
1996 name: 'trending-down',
1997 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 "
1998 },
1999 {
2000 name: 'trending-up',
2001 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 "
2002 },
2003 {
2004 name: 'triangle',
2005 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 "
2006 },
2007 {
2008 name: 'truck',
2009 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 "
2010 },
2011 {
2012 name: 'tv',
2013 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 "
2014 },
2015 {
2016 name: 'twitter',
2017 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 "
2018 },
2019 {
2020 name: 'type',
2021 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 "
2022 },
2023 {
2024 name: 'umbrella',
2025 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 "
2026 },
2027 {
2028 name: 'underline',
2029 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 "
2030 },
2031 {
2032 name: 'unlock',
2033 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 "
2034 },
2035 {
2036 name: 'upload-cloud',
2037 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 "
2038 },
2039 {
2040 name: 'upload',
2041 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 "
2042 },
2043 {
2044 name: 'user-check',
2045 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 "
2046 },
2047 {
2048 name: 'user-minus',
2049 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 "
2050 },
2051 {
2052 name: 'user-plus',
2053 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 "
2054 },
2055 {
2056 name: 'user-x',
2057 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 "
2058 },
2059 {
2060 name: 'user',
2061 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 "
2062 },
2063 {
2064 name: 'users',
2065 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 "
2066 },
2067 {
2068 name: 'video-off',
2069 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 "
2070 },
2071 {
2072 name: 'video',
2073 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 "
2074 },
2075 {
2076 name: 'voicemail',
2077 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 "
2078 },
2079 {
2080 name: 'volume-1',
2081 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 "
2082 },
2083 {
2084 name: 'volume-2',
2085 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 "
2086 },
2087 {
2088 name: 'volume-x',
2089 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 "
2090 },
2091 {
2092 name: 'volume',
2093 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 "
2094 },
2095 {
2096 name: 'watch',
2097 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 "
2098 },
2099 {
2100 name: 'wifi-off',
2101 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 "
2102 },
2103 {
2104 name: 'wifi',
2105 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 "
2106 },
2107 {
2108 name: 'wind',
2109 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 "
2110 },
2111 {
2112 name: 'x-circle',
2113 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 "
2114 },
2115 {
2116 name: 'x-octagon',
2117 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 "
2118 },
2119 {
2120 name: 'x-square',
2121 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 "
2122 },
2123 {
2124 name: 'x',
2125 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 "
2126 },
2127 {
2128 name: 'youtube',
2129 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 "
2130 },
2131 {
2132 name: 'zap-off',
2133 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 "
2134 },
2135 {
2136 name: 'zap',
2137 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 "
2138 },
2139 {
2140 name: 'zoom-in',
2141 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 "
2142 },
2143 {
2144 name: 'zoom-out',
2145 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 "
2146 }
2147];
2148
2149/**
2150 * @fileoverview added by tsickle
2151 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2152 */
2153var Icon = /** @class */ (function () {
2154 function Icon(sanitizer) {
2155 this.sanitizer = sanitizer;
2156 this.baseClass = true;
2157 }
2158 Object.defineProperty(Icon.prototype, "icon", {
2159 get: /**
2160 * @return {?}
2161 */
2162 function () {
2163 return this._icon;
2164 },
2165 /**
2166 * Sets the icon.
2167 */
2168 set: /**
2169 * Sets the icon.
2170 * @param {?} value
2171 * @return {?}
2172 */
2173 function (value) {
2174 this._icon = value;
2175 this.getIconDef();
2176 },
2177 enumerable: true,
2178 configurable: true
2179 });
2180 /**
2181 * @private
2182 * @return {?}
2183 */
2184 Icon.prototype.getIconDef = /**
2185 * @private
2186 * @return {?}
2187 */
2188 function () {
2189 var _this = this;
2190 /** @type {?} */
2191 var iconDefinition = iconDefs.filter((/**
2192 * @param {?} iconDef
2193 * @return {?}
2194 */
2195 function (iconDef) { return iconDef.name === _this._icon; }))[0];
2196 if (!iconDefinition) {
2197 throw new Error("Cant find '" + this._icon + "' icon.");
2198 }
2199 this.content = this.sanitizer.bypassSecurityTrustHtml(iconDefinition.template);
2200 };
2201 Icon.decorators = [
2202 { type: Component, args: [{
2203 selector: 'suka-icon',
2204 template: "\n <span [innerHTML]=\"content\"></span>\n "
2205 }] }
2206 ];
2207 /** @nocollapse */
2208 Icon.ctorParameters = function () { return [
2209 { type: DomSanitizer }
2210 ]; };
2211 Icon.propDecorators = {
2212 baseClass: [{ type: HostBinding, args: ['class.suka-icon',] }],
2213 accessibilityLabel: [{ type: HostBinding, args: ['attr.aria-label',] }, { type: Input }],
2214 icon: [{ type: Input }]
2215 };
2216 return Icon;
2217}());
2218if (false) {
2219 /**
2220 * @type {?}
2221 * @protected
2222 */
2223 Icon.prototype._icon;
2224 /** @type {?} */
2225 Icon.prototype.content;
2226 /** @type {?} */
2227 Icon.prototype.baseClass;
2228 /**
2229 * Label for accesibility applications
2230 * @type {?}
2231 */
2232 Icon.prototype.accessibilityLabel;
2233 /**
2234 * @type {?}
2235 * @private
2236 */
2237 Icon.prototype.sanitizer;
2238}
2239
2240/**
2241 * @fileoverview added by tsickle
2242 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2243 */
2244var IconModule = /** @class */ (function () {
2245 function IconModule() {
2246 }
2247 IconModule.decorators = [
2248 { type: NgModule, args: [{
2249 declarations: [
2250 Icon,
2251 ],
2252 exports: [
2253 Icon,
2254 ],
2255 imports: [
2256 CommonModule,
2257 ]
2258 },] }
2259 ];
2260 return IconModule;
2261}());
2262
2263/**
2264 * @fileoverview added by tsickle
2265 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2266 */
2267var Select = /** @class */ (function () {
2268 function Select() {
2269 this._value = '';
2270 /**
2271 * `inline` or `default` select displays
2272 */
2273 this.display = 'default';
2274 /**
2275 * Sets the unique ID. Defaults to `select-${total count of selects instantiated}`
2276 */
2277 this.id = "select-" + Select.selectCount++;
2278 /**
2279 * Set to true to disable component.
2280 */
2281 this.disabled = false;
2282 /**
2283 * Set to true for a loading select.
2284 */
2285 this.skeleton = false;
2286 /**
2287 * Set to `true` for an invalid select component.
2288 */
2289 this.invalid = false;
2290 /**
2291 * Set to `true` for an valid select component.
2292 */
2293 this.valid = false;
2294 /**
2295 * emits the selected options `value`
2296 */
2297 this.valueChange = new EventEmitter();
2298 /**
2299 * placeholder declarations. Replaced by the functions provided to `registerOnChange` and `registerOnTouched`
2300 */
2301 this.onChangeHandler = (/**
2302 * @param {?} _
2303 * @return {?}
2304 */
2305 function (_) { });
2306 this.onTouchedHandler = (/**
2307 * @return {?}
2308 */
2309 function () { });
2310 }
2311 Object.defineProperty(Select.prototype, "value", {
2312 get: /**
2313 * @return {?}
2314 */
2315 function () {
2316 // return this._value;
2317 return this.select.nativeElement.value || this._value;
2318 },
2319 set: /**
2320 * @param {?} v
2321 * @return {?}
2322 */
2323 function (v) {
2324 this._value = v;
2325 this.select.nativeElement.value = v;
2326 },
2327 enumerable: true,
2328 configurable: true
2329 });
2330 /**
2331 * Receives a value from the model.
2332 */
2333 /**
2334 * Receives a value from the model.
2335 * @param {?} obj
2336 * @return {?}
2337 */
2338 Select.prototype.writeValue = /**
2339 * Receives a value from the model.
2340 * @param {?} obj
2341 * @return {?}
2342 */
2343 function (obj) {
2344 this.value = obj;
2345 };
2346 /**
2347 * Registers a listener that notifies the model when the control updates
2348 */
2349 /**
2350 * Registers a listener that notifies the model when the control updates
2351 * @param {?} fn
2352 * @return {?}
2353 */
2354 Select.prototype.registerOnChange = /**
2355 * Registers a listener that notifies the model when the control updates
2356 * @param {?} fn
2357 * @return {?}
2358 */
2359 function (fn) {
2360 this.onChangeHandler = fn;
2361 };
2362 /**
2363 * Registers a listener that notifies the model when the control is blurred
2364 */
2365 /**
2366 * Registers a listener that notifies the model when the control is blurred
2367 * @param {?} fn
2368 * @return {?}
2369 */
2370 Select.prototype.registerOnTouched = /**
2371 * Registers a listener that notifies the model when the control is blurred
2372 * @param {?} fn
2373 * @return {?}
2374 */
2375 function (fn) {
2376 this.onTouchedHandler = fn;
2377 };
2378 /**
2379 * Sets the disabled state through the model
2380 */
2381 /**
2382 * Sets the disabled state through the model
2383 * @param {?} isDisabled
2384 * @return {?}
2385 */
2386 Select.prototype.setDisabledState = /**
2387 * Sets the disabled state through the model
2388 * @param {?} isDisabled
2389 * @return {?}
2390 */
2391 function (isDisabled) {
2392 this.disabled = isDisabled;
2393 };
2394 /**
2395 * Handles the change event from the `select`.
2396 * Sends events to the change handler and emits a `selected` event.
2397 */
2398 /**
2399 * Handles the change event from the `select`.
2400 * Sends events to the change handler and emits a `selected` event.
2401 * @param {?} event
2402 * @return {?}
2403 */
2404 Select.prototype.onChange = /**
2405 * Handles the change event from the `select`.
2406 * Sends events to the change handler and emits a `selected` event.
2407 * @param {?} event
2408 * @return {?}
2409 */
2410 function (event) {
2411 this.onChangeHandler(event.target.value);
2412 this.valueChange.emit(event.target.value);
2413 };
2414 /**
2415 * Listens for the host blurring, and notifies the model
2416 */
2417 /**
2418 * Listens for the host blurring, and notifies the model
2419 * @param {?} target
2420 * @return {?}
2421 */
2422 Select.prototype.onBlur = /**
2423 * Listens for the host blurring, and notifies the model
2424 * @param {?} target
2425 * @return {?}
2426 */
2427 function (target) {
2428 this.onTouchedHandler();
2429 };
2430 /**
2431 * @param {?} value
2432 * @return {?}
2433 */
2434 Select.prototype.isTemplate = /**
2435 * @param {?} value
2436 * @return {?}
2437 */
2438 function (value) {
2439 return value instanceof TemplateRef;
2440 };
2441 /**
2442 * @return {?}
2443 */
2444 Select.prototype.ngOnInit = /**
2445 * @return {?}
2446 */
2447 function () {
2448 // console.log(this.select.nativeElement);
2449 this.value = this.select.nativeElement.value;
2450 };
2451 /**
2452 * Tracks the total number of selects instantiated. Used to generate unique IDs
2453 */
2454 Select.selectCount = 0;
2455 Select.decorators = [
2456 { type: Component, args: [{
2457 selector: 'suka-select',
2458 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 ",
2459 providers: [
2460 {
2461 provide: NG_VALUE_ACCESSOR,
2462 useExisting: forwardRef((/**
2463 * @return {?}
2464 */
2465 function () { return Select; })),
2466 multi: true
2467 }
2468 ],
2469 styles: ["\n [data-invalid] ~ .select__arrow {\n bottom: 2.25rem;\n }\n "]
2470 }] }
2471 ];
2472 Select.propDecorators = {
2473 display: [{ type: Input }],
2474 label: [{ type: Input }],
2475 helperText: [{ type: Input }],
2476 invalidText: [{ type: Input }],
2477 id: [{ type: Input }],
2478 disabled: [{ type: Input }],
2479 skeleton: [{ type: Input }],
2480 invalid: [{ type: Input }],
2481 valid: [{ type: Input }],
2482 valueChange: [{ type: Output }],
2483 select: [{ type: ViewChild, args: ['selectInput', { static: true },] }],
2484 onBlur: [{ type: HostListener, args: ['blur', ['$event.target'],] }]
2485 };
2486 return Select;
2487}());
2488if (false) {
2489 /**
2490 * Tracks the total number of selects instantiated. Used to generate unique IDs
2491 * @type {?}
2492 */
2493 Select.selectCount;
2494 /**
2495 * @type {?}
2496 * @private
2497 */
2498 Select.prototype._value;
2499 /**
2500 * `inline` or `default` select displays
2501 * @type {?}
2502 */
2503 Select.prototype.display;
2504 /**
2505 * Label for the select. Appears above the input.
2506 * @type {?}
2507 */
2508 Select.prototype.label;
2509 /**
2510 * Optional helper text that appears under the label.
2511 * @type {?}
2512 */
2513 Select.prototype.helperText;
2514 /**
2515 * Sets the invalid text.
2516 * @type {?}
2517 */
2518 Select.prototype.invalidText;
2519 /**
2520 * Sets the unique ID. Defaults to `select-${total count of selects instantiated}`
2521 * @type {?}
2522 */
2523 Select.prototype.id;
2524 /**
2525 * Set to true to disable component.
2526 * @type {?}
2527 */
2528 Select.prototype.disabled;
2529 /**
2530 * Set to true for a loading select.
2531 * @type {?}
2532 */
2533 Select.prototype.skeleton;
2534 /**
2535 * Set to `true` for an invalid select component.
2536 * @type {?}
2537 */
2538 Select.prototype.invalid;
2539 /**
2540 * Set to `true` for an valid select component.
2541 * @type {?}
2542 */
2543 Select.prototype.valid;
2544 /**
2545 * emits the selected options `value`
2546 * @type {?}
2547 */
2548 Select.prototype.valueChange;
2549 /** @type {?} */
2550 Select.prototype.select;
2551 /**
2552 * placeholder declarations. Replaced by the functions provided to `registerOnChange` and `registerOnTouched`
2553 * @type {?}
2554 * @protected
2555 */
2556 Select.prototype.onChangeHandler;
2557 /**
2558 * @type {?}
2559 * @protected
2560 */
2561 Select.prototype.onTouchedHandler;
2562}
2563
2564/**
2565 * @fileoverview added by tsickle
2566 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2567 */
2568var Option = /** @class */ (function () {
2569 function Option() {
2570 this.inputClass = 'select-option';
2571 }
2572 Option.decorators = [
2573 { type: Directive, args: [{
2574 // tslint:disable-next-line
2575 selector: "option"
2576 },] }
2577 ];
2578 Option.propDecorators = {
2579 inputClass: [{ type: HostBinding, args: ['class',] }]
2580 };
2581 return Option;
2582}());
2583if (false) {
2584 /** @type {?} */
2585 Option.prototype.inputClass;
2586}
2587
2588/**
2589 * @fileoverview added by tsickle
2590 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2591 */
2592var OptGroup = /** @class */ (function () {
2593 function OptGroup() {
2594 this.inputClass = 'select-option';
2595 }
2596 OptGroup.decorators = [
2597 { type: Directive, args: [{
2598 // tslint:disable-next-line
2599 selector: "optgroup"
2600 },] }
2601 ];
2602 OptGroup.propDecorators = {
2603 inputClass: [{ type: HostBinding, args: ['class',] }]
2604 };
2605 return OptGroup;
2606}());
2607if (false) {
2608 /** @type {?} */
2609 OptGroup.prototype.inputClass;
2610}
2611
2612/**
2613 * @fileoverview added by tsickle
2614 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2615 */
2616var SelectModule = /** @class */ (function () {
2617 function SelectModule() {
2618 }
2619 SelectModule.decorators = [
2620 { type: NgModule, args: [{
2621 declarations: [
2622 Select,
2623 Option,
2624 OptGroup
2625 ],
2626 exports: [
2627 Select,
2628 Option,
2629 OptGroup
2630 ],
2631 imports: [
2632 CommonModule,
2633 FormsModule,
2634 IconModule,
2635 ]
2636 },] }
2637 ];
2638 return SelectModule;
2639}());
2640
2641/**
2642 * @fileoverview added by tsickle
2643 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2644 */
2645var Label = /** @class */ (function () {
2646 function Label() {
2647 /**
2648 * Sets the unique ID. Defaults to `input-${total count of selects instantiated}`
2649 */
2650 this.id = "input-" + Label.labelCounter++;
2651 /**
2652 * Set to `true` to display a loading label.
2653 */
2654 this.skeleton = false;
2655 /**
2656 * Set to `true` to display the invalid state.
2657 */
2658 this.invalid = false;
2659 /**
2660 * Set to `true` to display the valid state.
2661 */
2662 this.valid = false;
2663 this.labelClass = true;
2664 Label.labelCounter++;
2665 }
2666 /**
2667 * @return {?}
2668 */
2669 Label.prototype.ngAfterContentInit = /**
2670 * @return {?}
2671 */
2672 function () {
2673 this.wrapper.nativeElement.querySelector('input,textarea,div').setAttribute('id', this.id);
2674 };
2675 /**
2676 * @param {?} value
2677 * @return {?}
2678 */
2679 Label.prototype.isTemplate = /**
2680 * @param {?} value
2681 * @return {?}
2682 */
2683 function (value) {
2684 return value instanceof TemplateRef;
2685 };
2686 /**
2687 * Used to build the id of the input item associated with the `Label`.
2688 */
2689 Label.labelCounter = 0;
2690 Label.decorators = [
2691 { type: Component, args: [{
2692 selector: 'suka-label',
2693 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 "
2694 }] }
2695 ];
2696 /** @nocollapse */
2697 Label.ctorParameters = function () { return []; };
2698 Label.propDecorators = {
2699 id: [{ type: Input }],
2700 skeleton: [{ type: Input }],
2701 helperText: [{ type: Input }],
2702 invalidText: [{ type: Input }],
2703 invalid: [{ type: Input }],
2704 valid: [{ type: Input }],
2705 wrapper: [{ type: ViewChild, args: ['wrapper', { static: true },] }],
2706 labelClass: [{ type: HostBinding, args: ['class.form-item',] }]
2707 };
2708 return Label;
2709}());
2710if (false) {
2711 /**
2712 * Used to build the id of the input item associated with the `Label`.
2713 * @type {?}
2714 */
2715 Label.labelCounter;
2716 /**
2717 * Sets the unique ID. Defaults to `input-${total count of selects instantiated}`
2718 * @type {?}
2719 */
2720 Label.prototype.id;
2721 /**
2722 * Set to `true` to display a loading label.
2723 * @type {?}
2724 */
2725 Label.prototype.skeleton;
2726 /**
2727 * Sets the label helper text.
2728 * @type {?}
2729 */
2730 Label.prototype.helperText;
2731 /**
2732 * Sets the invalid text to display when the label is invalid.
2733 * @type {?}
2734 */
2735 Label.prototype.invalidText;
2736 /**
2737 * Set to `true` to display the invalid state.
2738 * @type {?}
2739 */
2740 Label.prototype.invalid;
2741 /**
2742 * Set to `true` to display the valid state.
2743 * @type {?}
2744 */
2745 Label.prototype.valid;
2746 /** @type {?} */
2747 Label.prototype.wrapper;
2748 /** @type {?} */
2749 Label.prototype.labelClass;
2750}
2751
2752/**
2753 * @fileoverview added by tsickle
2754 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2755 */
2756var TextInput = /** @class */ (function () {
2757 function TextInput() {
2758 this.inputClass = true;
2759 /**
2760 * Set to `true` to display the invalid state.
2761 */
2762 this.invalid = false;
2763 /**
2764 * Set to `true` to display the valid state.
2765 */
2766 this.valid = false;
2767 /**
2768 * Set to `true` to display a loading text input.
2769 */
2770 this.skeleton = false;
2771 }
2772 TextInput.decorators = [
2773 { type: Directive, args: [{
2774 selector: '[sukaText]'
2775 },] }
2776 ];
2777 TextInput.propDecorators = {
2778 inputClass: [{ type: HostBinding, args: ['class.text-input',] }],
2779 invalid: [{ type: HostBinding, args: ['class.text-input--invalid',] }, { type: Input }],
2780 valid: [{ type: HostBinding, args: ['class.text-input--valid',] }, { type: Input }],
2781 skeleton: [{ type: HostBinding, args: ['class.skeleton',] }, { type: Input }]
2782 };
2783 return TextInput;
2784}());
2785if (false) {
2786 /** @type {?} */
2787 TextInput.prototype.inputClass;
2788 /**
2789 * Set to `true` to display the invalid state.
2790 * @type {?}
2791 */
2792 TextInput.prototype.invalid;
2793 /**
2794 * Set to `true` to display the valid state.
2795 * @type {?}
2796 */
2797 TextInput.prototype.valid;
2798 /**
2799 * Set to `true` to display a loading text input.
2800 * @type {?}
2801 */
2802 TextInput.prototype.skeleton;
2803}
2804
2805/**
2806 * @fileoverview added by tsickle
2807 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2808 */
2809var TextArea = /** @class */ (function () {
2810 function TextArea() {
2811 this.baseClass = true;
2812 /**
2813 * Set to `true` to display the invalid state.
2814 */
2815 this.invalid = false;
2816 /**
2817 * Set to `true` to display the valid state.
2818 */
2819 this.valid = false;
2820 /**
2821 * Set to `true` to display a loading text area.
2822 */
2823 this.skeleton = false;
2824 }
2825 TextArea.decorators = [
2826 { type: Directive, args: [{
2827 selector: '[sukaTextArea]'
2828 },] }
2829 ];
2830 TextArea.propDecorators = {
2831 baseClass: [{ type: HostBinding, args: ['class.text-area',] }],
2832 invalid: [{ type: HostBinding, args: ['class.text-area--invalid',] }, { type: Input }],
2833 valid: [{ type: HostBinding, args: ['class.text-area--valid',] }, { type: Input }],
2834 skeleton: [{ type: HostBinding, args: ['class.skeleton',] }, { type: Input }]
2835 };
2836 return TextArea;
2837}());
2838if (false) {
2839 /** @type {?} */
2840 TextArea.prototype.baseClass;
2841 /**
2842 * Set to `true` to display the invalid state.
2843 * @type {?}
2844 */
2845 TextArea.prototype.invalid;
2846 /**
2847 * Set to `true` to display the valid state.
2848 * @type {?}
2849 */
2850 TextArea.prototype.valid;
2851 /**
2852 * Set to `true` to display a loading text area.
2853 * @type {?}
2854 */
2855 TextArea.prototype.skeleton;
2856}
2857
2858/**
2859 * @fileoverview added by tsickle
2860 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2861 */
2862var InputModule = /** @class */ (function () {
2863 function InputModule() {
2864 }
2865 InputModule.decorators = [
2866 { type: NgModule, args: [{
2867 declarations: [
2868 Label,
2869 TextInput,
2870 TextArea,
2871 ],
2872 exports: [
2873 Label,
2874 TextInput,
2875 TextArea,
2876 ],
2877 imports: [
2878 CommonModule,
2879 FormsModule,
2880 IconModule,
2881 ]
2882 },] }
2883 ];
2884 return InputModule;
2885}());
2886
2887/**
2888 * @fileoverview added by tsickle
2889 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2890 */
2891var GridDirective = /** @class */ (function () {
2892 function GridDirective() {
2893 this.baseClass = true;
2894 }
2895 GridDirective.decorators = [
2896 { type: Directive, args: [{
2897 selector: '[sukaGrid]'
2898 },] }
2899 ];
2900 GridDirective.propDecorators = {
2901 baseClass: [{ type: HostBinding, args: ['class.grid',] }]
2902 };
2903 return GridDirective;
2904}());
2905if (false) {
2906 /** @type {?} */
2907 GridDirective.prototype.baseClass;
2908}
2909var RowDirective = /** @class */ (function () {
2910 function RowDirective() {
2911 this.baseClass = true;
2912 /**
2913 * Set to `true` for no gutters between columns.
2914 */
2915 this.noGutters = false;
2916 /**
2917 * Set to `true` to make the columns distribute their height accordingly to the row total height.
2918 */
2919 this.rowDeck = false;
2920 }
2921 RowDirective.decorators = [
2922 { type: Directive, args: [{
2923 selector: '[sukaRow]'
2924 },] }
2925 ];
2926 RowDirective.propDecorators = {
2927 baseClass: [{ type: HostBinding, args: ['class.row',] }],
2928 noGutters: [{ type: HostBinding, args: ['class.no-gutters',] }, { type: Input }],
2929 rowDeck: [{ type: HostBinding, args: ['class.row-deck',] }, { type: Input }]
2930 };
2931 return RowDirective;
2932}());
2933if (false) {
2934 /** @type {?} */
2935 RowDirective.prototype.baseClass;
2936 /**
2937 * Set to `true` for no gutters between columns.
2938 * @type {?}
2939 */
2940 RowDirective.prototype.noGutters;
2941 /**
2942 * Set to `true` to make the columns distribute their height accordingly to the row total height.
2943 * @type {?}
2944 */
2945 RowDirective.prototype.rowDeck;
2946}
2947var ColumnDirective = /** @class */ (function () {
2948 function ColumnDirective() {
2949 /**
2950 * Sets the class
2951 */
2952 this.class = '';
2953 /**
2954 * Object that sets the column numbers according to the breakpoint.
2955 * Breakpoints can be:<br>
2956 * - xs: From 0px<br>
2957 * - sm: From 576px<br>
2958 * - md: From 768px<br>
2959 * - lg: From 992px<br>
2960 * - xl: From 1200px<br>
2961 * - xxl: From 1600px<br>
2962 * - nobreak: For all viewports.
2963 * <br>
2964 * Example:
2965 * ```{xs: 12, sm: 6, md: 4}```
2966 */
2967 this.columnNumbers = {};
2968 /**
2969 * Object that sets the column offset according to the breakpoint.
2970 * Breakpoints can be:<br>
2971 * - xs: From 0px<br>
2972 * - sm: From 576px<br>
2973 * - md: From 768px<br>
2974 * - lg: From 992px<br>
2975 * - xl: From 1200px<br>
2976 * - xxl: From 1600px<br>
2977 * - nobreak: For all viewports.
2978 * <br>
2979 * Example:
2980 * ```{xs: 12, sm: 6, md: 4}```
2981 */
2982 this.offsets = {};
2983 // tslint:disable-next-line: variable-name
2984 this._columnClasses = [];
2985 }
2986 Object.defineProperty(ColumnDirective.prototype, "columnClasses", {
2987 get: /**
2988 * @return {?}
2989 */
2990 function () {
2991 return this._columnClasses.join(' ');
2992 },
2993 enumerable: true,
2994 configurable: true
2995 });
2996 /**
2997 * @param {?} classes
2998 * @return {?}
2999 */
3000 ColumnDirective.prototype.set = /**
3001 * @param {?} classes
3002 * @return {?}
3003 */
3004 function (classes) {
3005 this._columnClasses = classes.split(' ');
3006 };
3007 /**
3008 * @return {?}
3009 */
3010 ColumnDirective.prototype.ngOnInit = /**
3011 * @return {?}
3012 */
3013 function () {
3014 var _this = this;
3015 try {
3016 /** @type {?} */
3017 var columnKeys = Object.keys(this.columnNumbers);
3018 if (columnKeys.length <= 0) {
3019 this._columnClasses.push('col');
3020 }
3021 columnKeys.forEach((/**
3022 * @param {?} key
3023 * @return {?}
3024 */
3025 function (key) {
3026 if (_this.columnNumbers[key] === 'nobreak') {
3027 _this._columnClasses.push("col-" + key);
3028 }
3029 else {
3030 _this._columnClasses.push("col-" + key + "-" + _this.columnNumbers[key]);
3031 }
3032 }));
3033 Object.keys(this.offsets).forEach((/**
3034 * @param {?} key
3035 * @return {?}
3036 */
3037 function (key) {
3038 _this._columnClasses.push("offset-" + key + "-" + _this.offsets[key]);
3039 }));
3040 }
3041 catch (err) {
3042 console.error("Malformed `offsets` or `columnNumbers`: " + err);
3043 }
3044 if (this.class) {
3045 this._columnClasses.push(this.class);
3046 }
3047 };
3048 ColumnDirective.decorators = [
3049 { type: Directive, args: [{
3050 selector: '[sukaCol]'
3051 },] }
3052 ];
3053 ColumnDirective.propDecorators = {
3054 class: [{ type: Input }],
3055 columnNumbers: [{ type: Input }],
3056 offsets: [{ type: Input }],
3057 columnClasses: [{ type: HostBinding, args: ['class',] }]
3058 };
3059 return ColumnDirective;
3060}());
3061if (false) {
3062 /**
3063 * Sets the class
3064 * @type {?}
3065 */
3066 ColumnDirective.prototype.class;
3067 /**
3068 * Object that sets the column numbers according to the breakpoint.
3069 * Breakpoints can be:<br>
3070 * - xs: From 0px<br>
3071 * - sm: From 576px<br>
3072 * - md: From 768px<br>
3073 * - lg: From 992px<br>
3074 * - xl: From 1200px<br>
3075 * - xxl: From 1600px<br>
3076 * - nobreak: For all viewports.
3077 * <br>
3078 * Example:
3079 * ```{xs: 12, sm: 6, md: 4}```
3080 * @type {?}
3081 */
3082 ColumnDirective.prototype.columnNumbers;
3083 /**
3084 * Object that sets the column offset according to the breakpoint.
3085 * Breakpoints can be:<br>
3086 * - xs: From 0px<br>
3087 * - sm: From 576px<br>
3088 * - md: From 768px<br>
3089 * - lg: From 992px<br>
3090 * - xl: From 1200px<br>
3091 * - xxl: From 1600px<br>
3092 * - nobreak: For all viewports.
3093 * <br>
3094 * Example:
3095 * ```{xs: 12, sm: 6, md: 4}```
3096 * @type {?}
3097 */
3098 ColumnDirective.prototype.offsets;
3099 /**
3100 * @type {?}
3101 * @protected
3102 */
3103 ColumnDirective.prototype._columnClasses;
3104}
3105
3106/**
3107 * @fileoverview added by tsickle
3108 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3109 */
3110var GridModule = /** @class */ (function () {
3111 function GridModule() {
3112 }
3113 GridModule.decorators = [
3114 { type: NgModule, args: [{
3115 declarations: [
3116 ColumnDirective,
3117 GridDirective,
3118 RowDirective
3119 ],
3120 exports: [
3121 ColumnDirective,
3122 GridDirective,
3123 RowDirective
3124 ],
3125 imports: [CommonModule]
3126 },] }
3127 ];
3128 return GridModule;
3129}());
3130
3131/**
3132 * @fileoverview added by tsickle
3133 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3134 */
3135/** @enum {number} */
3136var ToggleState = {
3137 Init: 0,
3138 Checked: 1,
3139 Unchecked: 2,
3140};
3141ToggleState[ToggleState.Init] = 'Init';
3142ToggleState[ToggleState.Checked] = 'Checked';
3143ToggleState[ToggleState.Unchecked] = 'Unchecked';
3144var ToggleChange = /** @class */ (function () {
3145 function ToggleChange() {
3146 }
3147 return ToggleChange;
3148}());
3149if (false) {
3150 /** @type {?} */
3151 ToggleChange.prototype.source;
3152 /** @type {?} */
3153 ToggleChange.prototype.checked;
3154}
3155var Toggle = /** @class */ (function () {
3156 /**
3157 * Creates an instance of `Toggle`.
3158 */
3159 function Toggle(changeDetectorRef) {
3160 this.changeDetectorRef = changeDetectorRef;
3161 /**
3162 * Set to `true` for toggle to be rendered without any classes on the host element.
3163 */
3164 this.inline = false;
3165 /**
3166 * Set to `true` for a disabled toggle.
3167 */
3168 this.disabled = false;
3169 /**
3170 * Set to `true` for a loading toggle.
3171 */
3172 this.skeleton = false;
3173 /**
3174 * Set to `true` to hide the toggle labels.
3175 */
3176 this.hideLabel = false;
3177 /**
3178 * The unique id for the toggle component.
3179 */
3180 this.id = "toggle-" + Toggle.toggleCount;
3181 /**
3182 * Used to set the `aria-label` attribute on the input element.
3183 */
3184 // tslint:disable-next-line:no-input-rename
3185 this.ariaLabel = '';
3186 /**
3187 * Horizontal distribution of elements
3188 */
3189 this.distribution = 'equalSpacing';
3190 /**
3191 * Emits event notifying other classes when a change in state occurs on a toggle after a
3192 * click.
3193 */
3194 // tslint:disable-next-line: no-output-native
3195 this.change = new EventEmitter();
3196 /**
3197 * Set to `true` if the input toggle is selected (or checked).
3198 */
3199 // tslint:disable-next-line: variable-name
3200 this._checked = false;
3201 this.currentToggleState = ToggleState.Init;
3202 /**
3203 * Called when toggle is blurred. Needed to properly implement `ControlValueAccessor`.
3204 */
3205 this.onTouched = (/**
3206 * @return {?}
3207 */
3208 function () { });
3209 /**
3210 * Method set in `registerOnChange` to propagate changes back to the form.
3211 */
3212 this.propagateChange = (/**
3213 * @param {?} _
3214 * @return {?}
3215 */
3216 function (_) { });
3217 Toggle.toggleCount++;
3218 }
3219 Object.defineProperty(Toggle.prototype, "checked", {
3220 /**
3221 * Returns value `true` if state is selected for the toggle.
3222 */
3223 get: /**
3224 * Returns value `true` if state is selected for the toggle.
3225 * @return {?}
3226 */
3227 function () {
3228 return this._checked;
3229 },
3230 /**
3231 * Updating the state of a toggle to match the state of the parameter passed in.
3232 */
3233 set: /**
3234 * Updating the state of a toggle to match the state of the parameter passed in.
3235 * @param {?} checked
3236 * @return {?}
3237 */
3238 function (checked) {
3239 if (checked !== this.checked) {
3240 this._checked = checked;
3241 this.changeDetectorRef.markForCheck();
3242 }
3243 },
3244 enumerable: true,
3245 configurable: true
3246 });
3247 Object.defineProperty(Toggle.prototype, "toggleWrapperClass", {
3248 get: /**
3249 * @return {?}
3250 */
3251 function () {
3252 return !this.inline;
3253 },
3254 enumerable: true,
3255 configurable: true
3256 });
3257 Object.defineProperty(Toggle.prototype, "formItemClass", {
3258 get: /**
3259 * @return {?}
3260 */
3261 function () {
3262 return !this.inline;
3263 },
3264 enumerable: true,
3265 configurable: true
3266 });
3267 /**
3268 * Toggle the selected state of the toggle.
3269 */
3270 /**
3271 * Toggle the selected state of the toggle.
3272 * @return {?}
3273 */
3274 Toggle.prototype.toggle = /**
3275 * Toggle the selected state of the toggle.
3276 * @return {?}
3277 */
3278 function () {
3279 this.checked = !this.checked;
3280 };
3281 // this is the initial value set to the component
3282 // this is the initial value set to the component
3283 /**
3284 * @param {?} value
3285 * @return {?}
3286 */
3287 Toggle.prototype.writeValue =
3288 // this is the initial value set to the component
3289 /**
3290 * @param {?} value
3291 * @return {?}
3292 */
3293 function (value) {
3294 this.checked = !!value;
3295 };
3296 /**
3297 * Sets a method in order to propagate changes back to the form.
3298 */
3299 /**
3300 * Sets a method in order to propagate changes back to the form.
3301 * @param {?} fn
3302 * @return {?}
3303 */
3304 Toggle.prototype.registerOnChange = /**
3305 * Sets a method in order to propagate changes back to the form.
3306 * @param {?} fn
3307 * @return {?}
3308 */
3309 function (fn) {
3310 this.propagateChange = fn;
3311 };
3312 /**
3313 * Registers a callback to be triggered when the control has been touched.
3314 * @param fn Callback to be triggered when the toggle is touched.
3315 */
3316 /**
3317 * Registers a callback to be triggered when the control has been touched.
3318 * @param {?} fn Callback to be triggered when the toggle is touched.
3319 * @return {?}
3320 */
3321 Toggle.prototype.registerOnTouched = /**
3322 * Registers a callback to be triggered when the control has been touched.
3323 * @param {?} fn Callback to be triggered when the toggle is touched.
3324 * @return {?}
3325 */
3326 function (fn) {
3327 this.onTouched = fn;
3328 };
3329 /**
3330 * Executes on the event of a change within `Toggle` to block propagation.
3331 */
3332 /**
3333 * Executes on the event of a change within `Toggle` to block propagation.
3334 * @param {?} event
3335 * @return {?}
3336 */
3337 Toggle.prototype.onChange = /**
3338 * Executes on the event of a change within `Toggle` to block propagation.
3339 * @param {?} event
3340 * @return {?}
3341 */
3342 function (event) {
3343 event.stopPropagation();
3344 };
3345 /**
3346 * Handles click events on the `Toggle` and emits changes to other classes.
3347 */
3348 /**
3349 * Handles click events on the `Toggle` and emits changes to other classes.
3350 * @param {?} event
3351 * @return {?}
3352 */
3353 Toggle.prototype.onClick = /**
3354 * Handles click events on the `Toggle` and emits changes to other classes.
3355 * @param {?} event
3356 * @return {?}
3357 */
3358 function (event) {
3359 if (!this.disabled) {
3360 this.toggle();
3361 this.transitionToggleState(this._checked ? ToggleState.Checked : ToggleState.Unchecked);
3362 this.emitChangeEvent();
3363 }
3364 };
3365 /**
3366 * Handles changes between toggle states.
3367 */
3368 /**
3369 * Handles changes between toggle states.
3370 * @param {?} newState
3371 * @return {?}
3372 */
3373 Toggle.prototype.transitionToggleState = /**
3374 * Handles changes between toggle states.
3375 * @param {?} newState
3376 * @return {?}
3377 */
3378 function (newState) {
3379 this.currentToggleState = newState;
3380 };
3381 /**
3382 * Creates instance of `ToggleChange` used to propagate the change event.
3383 */
3384 /**
3385 * Creates instance of `ToggleChange` used to propagate the change event.
3386 * @return {?}
3387 */
3388 Toggle.prototype.emitChangeEvent = /**
3389 * Creates instance of `ToggleChange` used to propagate the change event.
3390 * @return {?}
3391 */
3392 function () {
3393 /** @type {?} */
3394 var event = new ToggleChange();
3395 event.source = this;
3396 event.checked = this.checked;
3397 this.propagateChange(this.checked);
3398 this.change.emit(event);
3399 };
3400 /**
3401 * Variable used for creating unique ids for toggle components.
3402 */
3403 Toggle.toggleCount = 0;
3404 Toggle.decorators = [
3405 { type: Component, args: [{
3406 selector: 'suka-toggle',
3407 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 ",
3408 providers: [
3409 {
3410 provide: NG_VALUE_ACCESSOR,
3411 useExisting: Toggle,
3412 multi: true
3413 }
3414 ],
3415 changeDetection: ChangeDetectionStrategy.OnPush
3416 }] }
3417 ];
3418 /** @nocollapse */
3419 Toggle.ctorParameters = function () { return [
3420 { type: ChangeDetectorRef }
3421 ]; };
3422 Toggle.propDecorators = {
3423 nested: [{ type: Input }],
3424 inline: [{ type: Input }],
3425 disabled: [{ type: Input }],
3426 skeleton: [{ type: Input }],
3427 hideLabel: [{ type: Input }],
3428 name: [{ type: Input }],
3429 id: [{ type: Input }],
3430 required: [{ type: Input }],
3431 value: [{ type: Input }],
3432 ariaLabel: [{ type: Input, args: ['aria-label',] }],
3433 ariaLabelledby: [{ type: Input, args: ['aria-labelledby',] }],
3434 distribution: [{ type: Input }],
3435 checked: [{ type: Input }],
3436 toggleWrapperClass: [{ type: HostBinding, args: ['class.toggle-wrapper',] }],
3437 formItemClass: [{ type: HostBinding, args: ['class.form-item',] }],
3438 change: [{ type: Output }],
3439 inputToggle: [{ type: ViewChild, args: ['inputToggle', { static: true },] }]
3440 };
3441 return Toggle;
3442}());
3443if (false) {
3444 /**
3445 * Variable used for creating unique ids for toggle components.
3446 * @type {?}
3447 */
3448 Toggle.toggleCount;
3449 /**
3450 * Set to `true` for toggle to be rendered with nested styles.
3451 * @type {?}
3452 */
3453 Toggle.prototype.nested;
3454 /**
3455 * Set to `true` for toggle to be rendered without any classes on the host element.
3456 * @type {?}
3457 */
3458 Toggle.prototype.inline;
3459 /**
3460 * Set to `true` for a disabled toggle.
3461 * @type {?}
3462 */
3463 Toggle.prototype.disabled;
3464 /**
3465 * Set to `true` for a loading toggle.
3466 * @type {?}
3467 */
3468 Toggle.prototype.skeleton;
3469 /**
3470 * Set to `true` to hide the toggle labels.
3471 * @type {?}
3472 */
3473 Toggle.prototype.hideLabel;
3474 /**
3475 * Sets the name attribute on the `input` element.
3476 * @type {?}
3477 */
3478 Toggle.prototype.name;
3479 /**
3480 * The unique id for the toggle component.
3481 * @type {?}
3482 */
3483 Toggle.prototype.id;
3484 /**
3485 * Reflects the required attribute of the `input` element.
3486 * @type {?}
3487 */
3488 Toggle.prototype.required;
3489 /**
3490 * Sets the value attribute on the `input` element.
3491 * @type {?}
3492 */
3493 Toggle.prototype.value;
3494 /**
3495 * Used to set the `aria-label` attribute on the input element.
3496 * @type {?}
3497 */
3498 Toggle.prototype.ariaLabel;
3499 /**
3500 * Used to set the `aria-labelledby` attribute on the input element.
3501 * @type {?}
3502 */
3503 Toggle.prototype.ariaLabelledby;
3504 /**
3505 * Horizontal distribution of elements
3506 * @type {?}
3507 */
3508 Toggle.prototype.distribution;
3509 /**
3510 * Emits event notifying other classes when a change in state occurs on a toggle after a
3511 * click.
3512 * @type {?}
3513 */
3514 Toggle.prototype.change;
3515 /**
3516 * Set to `true` if the input toggle is selected (or checked).
3517 * @type {?}
3518 */
3519 Toggle.prototype._checked;
3520 /** @type {?} */
3521 Toggle.prototype.currentToggleState;
3522 /**
3523 * Maintains a reference to the view DOM element of the `Toggle`.
3524 * @type {?}
3525 */
3526 Toggle.prototype.inputToggle;
3527 /**
3528 * Called when toggle is blurred. Needed to properly implement `ControlValueAccessor`.
3529 * @type {?}
3530 */
3531 Toggle.prototype.onTouched;
3532 /**
3533 * Method set in `registerOnChange` to propagate changes back to the form.
3534 * @type {?}
3535 */
3536 Toggle.prototype.propagateChange;
3537 /**
3538 * @type {?}
3539 * @protected
3540 */
3541 Toggle.prototype.changeDetectorRef;
3542}
3543
3544/**
3545 * @fileoverview added by tsickle
3546 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3547 */
3548var ToggleModule = /** @class */ (function () {
3549 function ToggleModule() {
3550 }
3551 ToggleModule.decorators = [
3552 { type: NgModule, args: [{
3553 declarations: [
3554 Toggle
3555 ],
3556 exports: [
3557 Toggle
3558 ],
3559 imports: [
3560 CommonModule,
3561 FormsModule,
3562 ]
3563 },] }
3564 ];
3565 return ToggleModule;
3566}());
3567
3568/**
3569 * @fileoverview added by tsickle
3570 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3571 */
3572/**
3573 * Used to emit changes performed on a `Radio`.
3574 */
3575var /**
3576 * Used to emit changes performed on a `Radio`.
3577 */
3578RadioChange = /** @class */ (function () {
3579 function RadioChange(source, value) {
3580 this.source = source;
3581 this.value = value;
3582 }
3583 return RadioChange;
3584}());
3585if (false) {
3586 /**
3587 * Contains the `Radio` that has been changed.
3588 * @type {?}
3589 */
3590 RadioChange.prototype.source;
3591 /**
3592 * The value of the `Radio` encompassed in the `RadioChange` class.
3593 * @type {?}
3594 */
3595 RadioChange.prototype.value;
3596}
3597
3598/**
3599 * @fileoverview added by tsickle
3600 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3601 */
3602var Radio = /** @class */ (function () {
3603 function Radio() {
3604 /**
3605 * Sets the checked status.
3606 */
3607 this.checked = false;
3608 /**
3609 * Sets the `Radio` `<input>` name.
3610 */
3611 this.name = '';
3612 /**
3613 * Set to `true` to disable the `Radio`.
3614 */
3615 this.disabled = false;
3616 /**
3617 * Sets the label placement. Default to `right`.
3618 */
3619 this.labelPlacement = 'right';
3620 /**
3621 * Sets the HTML required attribute
3622 */
3623 this.required = false;
3624 /**
3625 * The value of the `Radio`.
3626 */
3627 this.value = '';
3628 /**
3629 * Set to `true` for a loading radio.
3630 */
3631 this.skeleton = false;
3632 /**
3633 * The id for the `Radio`.
3634 */
3635 this.id = "radio-" + Radio.radioCount++;
3636 /**
3637 * emits when the state of the radio changes
3638 */
3639 // tslint:disable-next-line: no-output-native
3640 this.change = new EventEmitter();
3641 /**
3642 * Binds 'radio' value to the role attribute for `Radio`.
3643 */
3644 this.role = 'radio';
3645 this.hostClass = true;
3646 // tslint:disable-next-line: variable-name
3647 this._labelledby = '';
3648 /**
3649 * Handler provided by the `RadioGroup` to bubble events up
3650 */
3651 this.radioChangeHandler = (/**
3652 * @param {?} event
3653 * @return {?}
3654 */
3655 function (event) { });
3656 }
3657 Object.defineProperty(Radio.prototype, "ariaLabelledby", {
3658 get: /**
3659 * @return {?}
3660 */
3661 function () {
3662 if (this._labelledby) {
3663 return this._labelledby;
3664 }
3665 return "label-" + this.id;
3666 },
3667 set: /**
3668 * @param {?} value
3669 * @return {?}
3670 */
3671 function (value) {
3672 this._labelledby = value;
3673 },
3674 enumerable: true,
3675 configurable: true
3676 });
3677 Object.defineProperty(Radio.prototype, "labelLeft", {
3678 get: /**
3679 * @return {?}
3680 */
3681 function () {
3682 return this.labelPlacement === 'left';
3683 },
3684 enumerable: true,
3685 configurable: true
3686 });
3687 /**
3688 * Synchronizes with the `RadioGroup` in the event of a changed `Radio`.
3689 * Emits the changes of both the `RadioGroup` and `Radio`.
3690 */
3691 /**
3692 * Synchronizes with the `RadioGroup` in the event of a changed `Radio`.
3693 * Emits the changes of both the `RadioGroup` and `Radio`.
3694 * @param {?} event
3695 * @return {?}
3696 */
3697 Radio.prototype.onChange = /**
3698 * Synchronizes with the `RadioGroup` in the event of a changed `Radio`.
3699 * Emits the changes of both the `RadioGroup` and `Radio`.
3700 * @param {?} event
3701 * @return {?}
3702 */
3703 function (event) {
3704 event.stopPropagation();
3705 this.checked = ((/** @type {?} */ (event.target))).checked;
3706 /** @type {?} */
3707 var radioEvent = new RadioChange(this, this.value);
3708 this.change.emit(radioEvent);
3709 this.radioChangeHandler(radioEvent);
3710 };
3711 /**
3712 * Method called by `RadioGroup` with a callback function to bubble `RadioChange` events
3713 * @param fn callback that expects a `RadioChange` as an argument
3714 */
3715 /**
3716 * Method called by `RadioGroup` with a callback function to bubble `RadioChange` events
3717 * @param {?} fn callback that expects a `RadioChange` as an argument
3718 * @return {?}
3719 */
3720 Radio.prototype.registerRadioChangeHandler = /**
3721 * Method called by `RadioGroup` with a callback function to bubble `RadioChange` events
3722 * @param {?} fn callback that expects a `RadioChange` as an argument
3723 * @return {?}
3724 */
3725 function (fn) {
3726 this.radioChangeHandler = fn;
3727 };
3728 /**
3729 * Used to dynamically create unique ids for the `Radio`.
3730 */
3731 Radio.radioCount = 0;
3732 Radio.decorators = [
3733 { type: Component, args: [{
3734 selector: 'suka-radio',
3735 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 ",
3736 providers: [
3737 {
3738 provide: NG_VALUE_ACCESSOR,
3739 useExisting: Radio,
3740 multi: true
3741 }
3742 ]
3743 }] }
3744 ];
3745 Radio.propDecorators = {
3746 checked: [{ type: Input }],
3747 name: [{ type: Input }],
3748 disabled: [{ type: Input }],
3749 labelPlacement: [{ type: Input }],
3750 ariaLabelledby: [{ type: Input }],
3751 required: [{ type: Input }],
3752 value: [{ type: Input }],
3753 skeleton: [{ type: Input }],
3754 id: [{ type: Input }],
3755 change: [{ type: Output }],
3756 role: [{ type: HostBinding, args: ['attr.role',] }],
3757 hostClass: [{ type: HostBinding, args: ['class.radio-button-wrapper',] }],
3758 labelLeft: [{ type: HostBinding, args: ['class.radio-button-wrapper--label-left',] }]
3759 };
3760 return Radio;
3761}());
3762if (false) {
3763 /**
3764 * Used to dynamically create unique ids for the `Radio`.
3765 * @type {?}
3766 */
3767 Radio.radioCount;
3768 /**
3769 * Sets the checked status.
3770 * @type {?}
3771 */
3772 Radio.prototype.checked;
3773 /**
3774 * Sets the `Radio` `<input>` name.
3775 * @type {?}
3776 */
3777 Radio.prototype.name;
3778 /**
3779 * Set to `true` to disable the `Radio`.
3780 * @type {?}
3781 */
3782 Radio.prototype.disabled;
3783 /**
3784 * Sets the label placement. Default to `right`.
3785 * @type {?}
3786 */
3787 Radio.prototype.labelPlacement;
3788 /**
3789 * Sets the HTML required attribute
3790 * @type {?}
3791 */
3792 Radio.prototype.required;
3793 /**
3794 * The value of the `Radio`.
3795 * @type {?}
3796 */
3797 Radio.prototype.value;
3798 /**
3799 * Set to `true` for a loading radio.
3800 * @type {?}
3801 */
3802 Radio.prototype.skeleton;
3803 /**
3804 * The id for the `Radio`.
3805 * @type {?}
3806 */
3807 Radio.prototype.id;
3808 /**
3809 * emits when the state of the radio changes
3810 * @type {?}
3811 */
3812 Radio.prototype.change;
3813 /**
3814 * Binds 'radio' value to the role attribute for `Radio`.
3815 * @type {?}
3816 */
3817 Radio.prototype.role;
3818 /** @type {?} */
3819 Radio.prototype.hostClass;
3820 /**
3821 * @type {?}
3822 * @protected
3823 */
3824 Radio.prototype._labelledby;
3825 /**
3826 * Handler provided by the `RadioGroup` to bubble events up
3827 * @type {?}
3828 */
3829 Radio.prototype.radioChangeHandler;
3830}
3831
3832/**
3833 * @fileoverview added by tsickle
3834 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3835 */
3836var RadioGroup = /** @class */ (function () {
3837 function RadioGroup() {
3838 this.orientation = 'horizontal';
3839 this.radioLabelPlacement = 'right';
3840 /**
3841 * Emits event notifying other classes of a change using a `RadioChange` class.
3842 */
3843 // tslint:disable-next-line: no-output-native
3844 this.change = new EventEmitter();
3845 /**
3846 * Set to true to disable the whole radio group
3847 */
3848 this.disabled = false;
3849 /**
3850 * Binds 'form-item' value to the class for `RadioGroup`.
3851 */
3852 this.radioButtonGroupClass = true;
3853 /**
3854 * To track whether the `RadioGroup` has been initialized.
3855 */
3856 this.isInitialized = false;
3857 /**
3858 * Reflects whether or not the input is disabled and cannot be selected.
3859 */
3860 this._disabled = false;
3861 /**
3862 * Reflects whether or not the dropdown is loading.
3863 */
3864 this._skeleton = false;
3865 /**
3866 * The value of the selected option within the `RadioGroup`.
3867 */
3868 this._value = null;
3869 /**
3870 * The `Radio` within the `RadioGroup` that is selected.
3871 */
3872 this._selected = null;
3873 /**
3874 * The name attribute associated with the `RadioGroup`.
3875 */
3876 this._name = "radio-group-" + RadioGroup.radioGroupCount++;
3877 /**
3878 * Needed to properly implement ControlValueAccessor.
3879 */
3880 this.onTouched = (/**
3881 * @return {?}
3882 */
3883 function () { });
3884 /**
3885 * Method set in registerOnChange to propagate changes back to the form.
3886 */
3887 this.propagateChange = (/**
3888 * @param {?} _
3889 * @return {?}
3890 */
3891 function (_) { });
3892 }
3893 Object.defineProperty(RadioGroup.prototype, "selected", {
3894 /**
3895 * Returns the `Radio` that is selected within the `RadioGroup`.
3896 */
3897 get: /**
3898 * Returns the `Radio` that is selected within the `RadioGroup`.
3899 * @return {?}
3900 */
3901 function () {
3902 return this._selected;
3903 },
3904 /**
3905 * Sets the passed in `Radio` item as the selected input within the `RadioGroup`.
3906 */
3907 set: /**
3908 * Sets the passed in `Radio` item as the selected input within the `RadioGroup`.
3909 * @param {?} selected
3910 * @return {?}
3911 */
3912 function (selected) {
3913 this._selected = selected;
3914 this.value = selected ? selected.value : null;
3915 this.checkSelectedRadio();
3916 },
3917 enumerable: true,
3918 configurable: true
3919 });
3920 Object.defineProperty(RadioGroup.prototype, "value", {
3921 /**
3922 * Returns the value/state of the selected `Radio` within the `RadioGroup`.
3923 */
3924 get: /**
3925 * Returns the value/state of the selected `Radio` within the `RadioGroup`.
3926 * @return {?}
3927 */
3928 function () {
3929 return this._value;
3930 },
3931 /**
3932 * Sets the value/state of the selected `Radio` within the `RadioGroup` to the passed in value.
3933 */
3934 set: /**
3935 * Sets the value/state of the selected `Radio` within the `RadioGroup` to the passed in value.
3936 * @param {?} newValue
3937 * @return {?}
3938 */
3939 function (newValue) {
3940 if (this._value !== newValue) {
3941 this._value = newValue;
3942 this.updateSelectedRadioFromValue();
3943 this.checkSelectedRadio();
3944 }
3945 },
3946 enumerable: true,
3947 configurable: true
3948 });
3949 Object.defineProperty(RadioGroup.prototype, "name", {
3950 /**
3951 * Returns the associated name of the `RadioGroup`.
3952 */
3953 get: /**
3954 * Returns the associated name of the `RadioGroup`.
3955 * @return {?}
3956 */
3957 function () {
3958 return this._name;
3959 },
3960 /**
3961 * Replaces the name associated with the `RadioGroup` with the provided parameter.
3962 */
3963 set: /**
3964 * Replaces the name associated with the `RadioGroup` with the provided parameter.
3965 * @param {?} name
3966 * @return {?}
3967 */
3968 function (name) {
3969 this._name = name;
3970 this.updateRadios();
3971 },
3972 enumerable: true,
3973 configurable: true
3974 });
3975 Object.defineProperty(RadioGroup.prototype, "skeleton", {
3976 /**
3977 * Returns the skeleton value in the `RadioGroup` if there is one.
3978 */
3979 get: /**
3980 * Returns the skeleton value in the `RadioGroup` if there is one.
3981 * @return {?}
3982 */
3983 function () {
3984 return this._skeleton;
3985 },
3986 /**
3987 * Sets the skeleton value for all `Radio` to the skeleton value of `RadioGroup`.
3988 */
3989 set: /**
3990 * Sets the skeleton value for all `Radio` to the skeleton value of `RadioGroup`.
3991 * @param {?} value
3992 * @return {?}
3993 */
3994 function (value) {
3995 this._skeleton = value;
3996 this.updateChildren();
3997 },
3998 enumerable: true,
3999 configurable: true
4000 });
4001 /**
4002 * Updates the selected `Radio` to be checked (selected).
4003 */
4004 /**
4005 * Updates the selected `Radio` to be checked (selected).
4006 * @return {?}
4007 */
4008 RadioGroup.prototype.checkSelectedRadio = /**
4009 * Updates the selected `Radio` to be checked (selected).
4010 * @return {?}
4011 */
4012 function () {
4013 if (this.selected && !this._selected.checked) {
4014 this.selected.checked = true;
4015 }
4016 };
4017 /**
4018 * Use the value of the `RadioGroup` to update the selected radio to the right state (selected state).
4019 */
4020 /**
4021 * Use the value of the `RadioGroup` to update the selected radio to the right state (selected state).
4022 * @return {?}
4023 */
4024 RadioGroup.prototype.updateSelectedRadioFromValue = /**
4025 * Use the value of the `RadioGroup` to update the selected radio to the right state (selected state).
4026 * @return {?}
4027 */
4028 function () {
4029 var _this = this;
4030 /** @type {?} */
4031 var alreadySelected = this._selected != null && this._selected.value === this._value;
4032 if (this.radios && !alreadySelected) {
4033 this._selected = null;
4034 this.radios.forEach((/**
4035 * @param {?} radio
4036 * @return {?}
4037 */
4038 function (radio) {
4039 if (radio.checked) {
4040 _this._selected = radio;
4041 }
4042 }));
4043 }
4044 };
4045 /**
4046 * Creates a class of `RadioChange` to emit the change in the `RadioGroup`.
4047 */
4048 /**
4049 * Creates a class of `RadioChange` to emit the change in the `RadioGroup`.
4050 * @param {?} event
4051 * @return {?}
4052 */
4053 RadioGroup.prototype.emitChangeEvent = /**
4054 * Creates a class of `RadioChange` to emit the change in the `RadioGroup`.
4055 * @param {?} event
4056 * @return {?}
4057 */
4058 function (event) {
4059 this.change.emit(event);
4060 this.propagateChange(event.value);
4061 this.onTouched();
4062 };
4063 /**
4064 * Synchronizes radio properties.
4065 */
4066 /**
4067 * Synchronizes radio properties.
4068 * @return {?}
4069 */
4070 RadioGroup.prototype.updateRadios = /**
4071 * Synchronizes radio properties.
4072 * @return {?}
4073 */
4074 function () {
4075 var _this = this;
4076 if (this.radios) {
4077 setTimeout((/**
4078 * @return {?}
4079 */
4080 function () {
4081 _this.radios.forEach((/**
4082 * @param {?} radio
4083 * @return {?}
4084 */
4085 function (radio) { return radio.name = _this.name; }));
4086 if (_this.radioLabelPlacement === 'left') {
4087 _this.radios.forEach((/**
4088 * @param {?} radio
4089 * @return {?}
4090 */
4091 function (radio) { return radio.labelPlacement = 'left'; }));
4092 }
4093 }));
4094 }
4095 };
4096 /**
4097 * Updates the value of the `RadioGroup` using the provided parameter.
4098 */
4099 /**
4100 * Updates the value of the `RadioGroup` using the provided parameter.
4101 * @param {?} value
4102 * @return {?}
4103 */
4104 RadioGroup.prototype.writeValue = /**
4105 * Updates the value of the `RadioGroup` using the provided parameter.
4106 * @param {?} value
4107 * @return {?}
4108 */
4109 function (value) {
4110 this.value = value;
4111 };
4112 /**
4113 * @return {?}
4114 */
4115 RadioGroup.prototype.ngAfterContentInit = /**
4116 * @return {?}
4117 */
4118 function () {
4119 var _this = this;
4120 this.radios.changes.subscribe((/**
4121 * @return {?}
4122 */
4123 function () {
4124 _this.updateRadios();
4125 _this.updateRadioChangeHandler();
4126 }));
4127 this.updateChildren();
4128 this.updateRadioChangeHandler();
4129 };
4130 /**
4131 * @return {?}
4132 */
4133 RadioGroup.prototype.ngAfterViewInit = /**
4134 * @return {?}
4135 */
4136 function () {
4137 this.updateRadios();
4138 };
4139 /**
4140 * Used to set method to propagate changes back to the form.
4141 */
4142 /**
4143 * Used to set method to propagate changes back to the form.
4144 * @param {?} fn
4145 * @return {?}
4146 */
4147 RadioGroup.prototype.registerOnChange = /**
4148 * Used to set method to propagate changes back to the form.
4149 * @param {?} fn
4150 * @return {?}
4151 */
4152 function (fn) {
4153 this.propagateChange = fn;
4154 };
4155 /**
4156 * Registers a callback to be triggered when the control has been touched.
4157 * @param fn Callback to be triggered when the checkbox is touched.
4158 */
4159 /**
4160 * Registers a callback to be triggered when the control has been touched.
4161 * @param {?} fn Callback to be triggered when the checkbox is touched.
4162 * @return {?}
4163 */
4164 RadioGroup.prototype.registerOnTouched = /**
4165 * Registers a callback to be triggered when the control has been touched.
4166 * @param {?} fn Callback to be triggered when the checkbox is touched.
4167 * @return {?}
4168 */
4169 function (fn) {
4170 this.onTouched = fn;
4171 };
4172 /**
4173 * @protected
4174 * @return {?}
4175 */
4176 RadioGroup.prototype.updateChildren = /**
4177 * @protected
4178 * @return {?}
4179 */
4180 function () {
4181 var _this = this;
4182 if (this.radios) {
4183 this.radios.forEach((/**
4184 * @param {?} child
4185 * @return {?}
4186 */
4187 function (child) { return child.skeleton = _this.skeleton; }));
4188 }
4189 };
4190 /**
4191 * @protected
4192 * @return {?}
4193 */
4194 RadioGroup.prototype.updateRadioChangeHandler = /**
4195 * @protected
4196 * @return {?}
4197 */
4198 function () {
4199 var _this = this;
4200 this.radios.forEach((/**
4201 * @param {?} radio
4202 * @return {?}
4203 */
4204 function (radio) {
4205 radio.registerRadioChangeHandler((/**
4206 * @param {?} event
4207 * @return {?}
4208 */
4209 function (event) {
4210 // update selected and value from the event
4211 _this._selected = event.source;
4212 _this._value = event.value;
4213 // bubble the event
4214 _this.emitChangeEvent(event);
4215 }));
4216 }));
4217 };
4218 RadioGroup.radioGroupCount = 0;
4219 RadioGroup.decorators = [
4220 { type: Component, args: [{
4221 selector: 'suka-radio-group',
4222 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 ",
4223 providers: [
4224 {
4225 provide: NG_VALUE_ACCESSOR,
4226 useExisting: RadioGroup,
4227 multi: true
4228 }
4229 ]
4230 }] }
4231 ];
4232 RadioGroup.propDecorators = {
4233 orientation: [{ type: Input }],
4234 radioLabelPlacement: [{ type: Input }],
4235 change: [{ type: Output }],
4236 radios: [{ type: ContentChildren, args: [forwardRef((/**
4237 * @return {?}
4238 */
4239 function () { return Radio; })),] }],
4240 selected: [{ type: Input }],
4241 value: [{ type: Input }],
4242 name: [{ type: Input }],
4243 disabled: [{ type: Input }],
4244 skeleton: [{ type: Input }],
4245 radioButtonGroupClass: [{ type: HostBinding, args: ['class.form-item',] }]
4246 };
4247 return RadioGroup;
4248}());
4249if (false) {
4250 /** @type {?} */
4251 RadioGroup.radioGroupCount;
4252 /** @type {?} */
4253 RadioGroup.prototype.orientation;
4254 /** @type {?} */
4255 RadioGroup.prototype.radioLabelPlacement;
4256 /**
4257 * Emits event notifying other classes of a change using a `RadioChange` class.
4258 * @type {?}
4259 */
4260 RadioGroup.prototype.change;
4261 /**
4262 * The `Radio` input items in the `RadioGroup`.
4263 * @type {?}
4264 */
4265 RadioGroup.prototype.radios;
4266 /**
4267 * Set to true to disable the whole radio group
4268 * @type {?}
4269 */
4270 RadioGroup.prototype.disabled;
4271 /**
4272 * Binds 'form-item' value to the class for `RadioGroup`.
4273 * @type {?}
4274 */
4275 RadioGroup.prototype.radioButtonGroupClass;
4276 /**
4277 * To track whether the `RadioGroup` has been initialized.
4278 * @type {?}
4279 * @protected
4280 */
4281 RadioGroup.prototype.isInitialized;
4282 /**
4283 * Reflects whether or not the input is disabled and cannot be selected.
4284 * @type {?}
4285 * @protected
4286 */
4287 RadioGroup.prototype._disabled;
4288 /**
4289 * Reflects whether or not the dropdown is loading.
4290 * @type {?}
4291 * @protected
4292 */
4293 RadioGroup.prototype._skeleton;
4294 /**
4295 * The value of the selected option within the `RadioGroup`.
4296 * @type {?}
4297 * @protected
4298 */
4299 RadioGroup.prototype._value;
4300 /**
4301 * The `Radio` within the `RadioGroup` that is selected.
4302 * @type {?}
4303 * @protected
4304 */
4305 RadioGroup.prototype._selected;
4306 /**
4307 * The name attribute associated with the `RadioGroup`.
4308 * @type {?}
4309 * @protected
4310 */
4311 RadioGroup.prototype._name;
4312 /**
4313 * Needed to properly implement ControlValueAccessor.
4314 * @type {?}
4315 */
4316 RadioGroup.prototype.onTouched;
4317 /**
4318 * Method set in registerOnChange to propagate changes back to the form.
4319 * @type {?}
4320 */
4321 RadioGroup.prototype.propagateChange;
4322}
4323
4324/**
4325 * @fileoverview added by tsickle
4326 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4327 */
4328var RadioModule = /** @class */ (function () {
4329 function RadioModule() {
4330 }
4331 RadioModule.decorators = [
4332 { type: NgModule, args: [{
4333 declarations: [
4334 Radio,
4335 RadioGroup
4336 ],
4337 exports: [
4338 Radio,
4339 RadioGroup
4340 ],
4341 imports: [
4342 CommonModule,
4343 FormsModule
4344 ]
4345 },] }
4346 ];
4347 return RadioModule;
4348}());
4349
4350/**
4351 * @fileoverview added by tsickle
4352 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4353 */
4354/**
4355 * Used to emit changes performed on a `ButtonRadio`.
4356 */
4357var /**
4358 * Used to emit changes performed on a `ButtonRadio`.
4359 */
4360ButtonRadioChange = /** @class */ (function () {
4361 function ButtonRadioChange(source, value) {
4362 this.source = source;
4363 this.value = value;
4364 }
4365 return ButtonRadioChange;
4366}());
4367if (false) {
4368 /**
4369 * Contains the `ButtonRadio` that has been changed.
4370 * @type {?}
4371 */
4372 ButtonRadioChange.prototype.source;
4373 /**
4374 * The value of the `ButtonRadio` encompassed in the `ButtonRadioChange` class.
4375 * @type {?}
4376 */
4377 ButtonRadioChange.prototype.value;
4378}
4379
4380/**
4381 * @fileoverview added by tsickle
4382 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4383 */
4384var ButtonRadio = /** @class */ (function () {
4385 function ButtonRadio() {
4386 /**
4387 * Sets the checked status
4388 */
4389 this.checked = false;
4390 /**
4391 * Sets the name of the `ButtonRadio`
4392 */
4393 this.name = '';
4394 /**
4395 * Set to `true` to disable it.
4396 */
4397 this.disabled = false;
4398 /**
4399 * Sets the HTML required attribute
4400 */
4401 this.required = false;
4402 /**
4403 * The value of the `ButtonRadio`.
4404 */
4405 this.value = '';
4406 /**
4407 * Set to `true` for a loading state.
4408 */
4409 this.skeleton = false;
4410 /**
4411 * The id for the `ButtonRadio`.
4412 */
4413 this.id = "button-radio-" + ButtonRadio.buttonRadioCount++;
4414 /**
4415 * emits when the state of the button radio changes
4416 */
4417 // tslint:disable-next-line: no-output-native
4418 this.change = new EventEmitter();
4419 /**
4420 * Binds 'radio' value to the role attribute for `ButtonRadio`.
4421 */
4422 this.role = 'radio';
4423 this.hostClass = true;
4424 // tslint:disable-next-line: variable-name
4425 this._labelledby = '';
4426 /**
4427 * Handler provided by the `ButtonRadioGroup` to bubble events up
4428 */
4429 this.buttonRadioChangeHandler = (/**
4430 * @param {?} event
4431 * @return {?}
4432 */
4433 function (event) { });
4434 }
4435 Object.defineProperty(ButtonRadio.prototype, "ariaLabelledby", {
4436 get: /**
4437 * @return {?}
4438 */
4439 function () {
4440 if (this._labelledby) {
4441 return this._labelledby;
4442 }
4443 return "label-" + this.id;
4444 },
4445 set: /**
4446 * @param {?} value
4447 * @return {?}
4448 */
4449 function (value) {
4450 this._labelledby = value;
4451 },
4452 enumerable: true,
4453 configurable: true
4454 });
4455 /**
4456 * Synchronizes with the `ButtonRadioGroup` in the event of a changed `ButtonRadio`.
4457 * Emits the changes of both the `ButtonRadioGroup` and `ButtonRadio`.
4458 */
4459 /**
4460 * Synchronizes with the `ButtonRadioGroup` in the event of a changed `ButtonRadio`.
4461 * Emits the changes of both the `ButtonRadioGroup` and `ButtonRadio`.
4462 * @param {?} event
4463 * @return {?}
4464 */
4465 ButtonRadio.prototype.onChange = /**
4466 * Synchronizes with the `ButtonRadioGroup` in the event of a changed `ButtonRadio`.
4467 * Emits the changes of both the `ButtonRadioGroup` and `ButtonRadio`.
4468 * @param {?} event
4469 * @return {?}
4470 */
4471 function (event) {
4472 event.stopPropagation();
4473 this.checked = ((/** @type {?} */ (event.target))).checked;
4474 /** @type {?} */
4475 var ButtonRadioEvent = new ButtonRadioChange(this, this.value);
4476 this.change.emit(ButtonRadioEvent);
4477 this.buttonRadioChangeHandler(ButtonRadioEvent);
4478 };
4479 /**
4480 * Method called by `ButtonRadioGroup` with a callback function to bubble `ButtonRadioChange` events
4481 * @param fn callback that expects a `ButtonRadioChange` as an argument
4482 */
4483 /**
4484 * Method called by `ButtonRadioGroup` with a callback function to bubble `ButtonRadioChange` events
4485 * @param {?} fn callback that expects a `ButtonRadioChange` as an argument
4486 * @return {?}
4487 */
4488 ButtonRadio.prototype.registerButtonRadioChangeHandler = /**
4489 * Method called by `ButtonRadioGroup` with a callback function to bubble `ButtonRadioChange` events
4490 * @param {?} fn callback that expects a `ButtonRadioChange` as an argument
4491 * @return {?}
4492 */
4493 function (fn) {
4494 this.buttonRadioChangeHandler = fn;
4495 };
4496 /**
4497 * Used to dynamically create unique ids for the `ButtonRadio`.
4498 */
4499 ButtonRadio.buttonRadioCount = 0;
4500 ButtonRadio.decorators = [
4501 { type: Component, args: [{
4502 selector: 'suka-button-radio',
4503 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 ",
4504 providers: [
4505 {
4506 provide: NG_VALUE_ACCESSOR,
4507 useExisting: ButtonRadio,
4508 multi: true
4509 }
4510 ]
4511 }] }
4512 ];
4513 ButtonRadio.propDecorators = {
4514 checked: [{ type: Input }],
4515 name: [{ type: Input }],
4516 disabled: [{ type: Input }],
4517 ariaLabelledby: [{ type: Input }],
4518 required: [{ type: Input }],
4519 value: [{ type: Input }],
4520 skeleton: [{ type: Input }],
4521 id: [{ type: Input }],
4522 change: [{ type: Output }],
4523 role: [{ type: HostBinding, args: ['attr.role',] }],
4524 hostClass: [{ type: HostBinding, args: ['class.button-radio-wrapper',] }]
4525 };
4526 return ButtonRadio;
4527}());
4528if (false) {
4529 /**
4530 * Used to dynamically create unique ids for the `ButtonRadio`.
4531 * @type {?}
4532 */
4533 ButtonRadio.buttonRadioCount;
4534 /**
4535 * Sets the checked status
4536 * @type {?}
4537 */
4538 ButtonRadio.prototype.checked;
4539 /**
4540 * Sets the name of the `ButtonRadio`
4541 * @type {?}
4542 */
4543 ButtonRadio.prototype.name;
4544 /**
4545 * Set to `true` to disable it.
4546 * @type {?}
4547 */
4548 ButtonRadio.prototype.disabled;
4549 /**
4550 * Sets the HTML required attribute
4551 * @type {?}
4552 */
4553 ButtonRadio.prototype.required;
4554 /**
4555 * The value of the `ButtonRadio`.
4556 * @type {?}
4557 */
4558 ButtonRadio.prototype.value;
4559 /**
4560 * Set to `true` for a loading state.
4561 * @type {?}
4562 */
4563 ButtonRadio.prototype.skeleton;
4564 /**
4565 * The id for the `ButtonRadio`.
4566 * @type {?}
4567 */
4568 ButtonRadio.prototype.id;
4569 /**
4570 * emits when the state of the button radio changes
4571 * @type {?}
4572 */
4573 ButtonRadio.prototype.change;
4574 /**
4575 * Binds 'radio' value to the role attribute for `ButtonRadio`.
4576 * @type {?}
4577 */
4578 ButtonRadio.prototype.role;
4579 /** @type {?} */
4580 ButtonRadio.prototype.hostClass;
4581 /**
4582 * @type {?}
4583 * @protected
4584 */
4585 ButtonRadio.prototype._labelledby;
4586 /**
4587 * Handler provided by the `ButtonRadioGroup` to bubble events up
4588 * @type {?}
4589 */
4590 ButtonRadio.prototype.buttonRadioChangeHandler;
4591}
4592
4593/**
4594 * @fileoverview added by tsickle
4595 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4596 */
4597var ButtonRadioGroup = /** @class */ (function () {
4598 function ButtonRadioGroup() {
4599 /**
4600 * Emits event notifying other classes of a change using a `ButtonRadioChange` class.
4601 */
4602 // tslint:disable-next-line: no-output-native
4603 this.change = new EventEmitter();
4604 /**
4605 * Set to true to disable the whole buttonRadio group
4606 */
4607 this.disabled = false;
4608 /**
4609 * Binds 'form-item' value to the class for `ButtonRadioGroup`.
4610 */
4611 this.buttonRadioButtonGroupClass = true;
4612 /**
4613 * To track whether the `ButtonRadioGroup` has been initialized.
4614 */
4615 this.isInitialized = false;
4616 /**
4617 * Reflects whether or not the input is disabled and cannot be selected.
4618 */
4619 this._disabled = false;
4620 /**
4621 * Reflects whether or not the dropdown is loading.
4622 */
4623 this._skeleton = false;
4624 /**
4625 * The value of the selected option within the `ButtonRadioGroup`.
4626 */
4627 this._value = null;
4628 /**
4629 * The `ButtonRadio` within the `ButtonRadioGroup` that is selected.
4630 */
4631 this._selected = null;
4632 /**
4633 * The name attribute associated with the `ButtonRadioGroup`.
4634 */
4635 this._name = "button-radio-group-" + ButtonRadioGroup.buttonRadioGroupCount++;
4636 /**
4637 * Needed to properly implement ControlValueAccessor.
4638 */
4639 this.onTouched = (/**
4640 * @return {?}
4641 */
4642 function () { });
4643 /**
4644 * Method set in registerOnChange to propagate changes back to the form.
4645 */
4646 this.propagateChange = (/**
4647 * @param {?} _
4648 * @return {?}
4649 */
4650 function (_) { });
4651 }
4652 Object.defineProperty(ButtonRadioGroup.prototype, "selected", {
4653 /**
4654 * Returns the `ButtonRadio` that is selected within the `ButtonRadioGroup`.
4655 */
4656 get: /**
4657 * Returns the `ButtonRadio` that is selected within the `ButtonRadioGroup`.
4658 * @return {?}
4659 */
4660 function () {
4661 return this._selected;
4662 },
4663 /**
4664 * Sets the passed in `ButtonRadio` item as the selected input within the `ButtonRadioGroup`.
4665 */
4666 set: /**
4667 * Sets the passed in `ButtonRadio` item as the selected input within the `ButtonRadioGroup`.
4668 * @param {?} selected
4669 * @return {?}
4670 */
4671 function (selected) {
4672 this._selected = selected;
4673 this.value = selected ? selected.value : null;
4674 this.checkSelectedButtonRadio();
4675 },
4676 enumerable: true,
4677 configurable: true
4678 });
4679 Object.defineProperty(ButtonRadioGroup.prototype, "value", {
4680 /**
4681 * Returns the value/state of the selected `ButtonRadio` within the `ButtonRadioGroup`.
4682 */
4683 get: /**
4684 * Returns the value/state of the selected `ButtonRadio` within the `ButtonRadioGroup`.
4685 * @return {?}
4686 */
4687 function () {
4688 return this._value;
4689 },
4690 /**
4691 * Sets the value/state of the selected `ButtonRadio` within the `ButtonRadioGroup` to the passed in value.
4692 */
4693 set: /**
4694 * Sets the value/state of the selected `ButtonRadio` within the `ButtonRadioGroup` to the passed in value.
4695 * @param {?} newValue
4696 * @return {?}
4697 */
4698 function (newValue) {
4699 if (this._value !== newValue) {
4700 this._value = newValue;
4701 this.updateSelectedButtonRadioFromValue();
4702 this.checkSelectedButtonRadio();
4703 }
4704 },
4705 enumerable: true,
4706 configurable: true
4707 });
4708 Object.defineProperty(ButtonRadioGroup.prototype, "name", {
4709 /**
4710 * Returns the associated name of the `ButtonRadioGroup`.
4711 */
4712 get: /**
4713 * Returns the associated name of the `ButtonRadioGroup`.
4714 * @return {?}
4715 */
4716 function () {
4717 return this._name;
4718 },
4719 /**
4720 * Replaces the name associated with the `ButtonRadioGroup` with the provided parameter.
4721 */
4722 set: /**
4723 * Replaces the name associated with the `ButtonRadioGroup` with the provided parameter.
4724 * @param {?} name
4725 * @return {?}
4726 */
4727 function (name) {
4728 this._name = name;
4729 this.updateButtonRadios();
4730 },
4731 enumerable: true,
4732 configurable: true
4733 });
4734 Object.defineProperty(ButtonRadioGroup.prototype, "skeleton", {
4735 /**
4736 * Returns the skeleton value in the `ButtonRadioGroup` if there is one.
4737 */
4738 get: /**
4739 * Returns the skeleton value in the `ButtonRadioGroup` if there is one.
4740 * @return {?}
4741 */
4742 function () {
4743 return this._skeleton;
4744 },
4745 /**
4746 * Sets the skeleton value for all `ButtonRadio` to the skeleton value of `ButtonRadioGroup`.
4747 */
4748 set: /**
4749 * Sets the skeleton value for all `ButtonRadio` to the skeleton value of `ButtonRadioGroup`.
4750 * @param {?} value
4751 * @return {?}
4752 */
4753 function (value) {
4754 this._skeleton = value;
4755 this.updateChildren();
4756 },
4757 enumerable: true,
4758 configurable: true
4759 });
4760 /**
4761 * Updates the selected `ButtonRadio` to be checked (selected).
4762 */
4763 /**
4764 * Updates the selected `ButtonRadio` to be checked (selected).
4765 * @return {?}
4766 */
4767 ButtonRadioGroup.prototype.checkSelectedButtonRadio = /**
4768 * Updates the selected `ButtonRadio` to be checked (selected).
4769 * @return {?}
4770 */
4771 function () {
4772 if (this.selected && !this._selected.checked) {
4773 this.selected.checked = true;
4774 }
4775 };
4776 /**
4777 * Use the value of the `ButtonRadioGroup` to update the selected buttonRadio to the right state (selected state).
4778 */
4779 /**
4780 * Use the value of the `ButtonRadioGroup` to update the selected buttonRadio to the right state (selected state).
4781 * @return {?}
4782 */
4783 ButtonRadioGroup.prototype.updateSelectedButtonRadioFromValue = /**
4784 * Use the value of the `ButtonRadioGroup` to update the selected buttonRadio to the right state (selected state).
4785 * @return {?}
4786 */
4787 function () {
4788 var _this = this;
4789 /** @type {?} */
4790 var alreadySelected = this._selected != null && this._selected.value === this._value;
4791 if (this.buttonRadios && !alreadySelected) {
4792 this._selected = null;
4793 this.buttonRadios.forEach((/**
4794 * @param {?} buttonRadio
4795 * @return {?}
4796 */
4797 function (buttonRadio) {
4798 if (buttonRadio.checked) {
4799 _this._selected = buttonRadio;
4800 }
4801 }));
4802 }
4803 };
4804 /**
4805 * Creates a class of `ButtonRadioChange` to emit the change in the `ButtonRadioGroup`.
4806 */
4807 /**
4808 * Creates a class of `ButtonRadioChange` to emit the change in the `ButtonRadioGroup`.
4809 * @param {?} event
4810 * @return {?}
4811 */
4812 ButtonRadioGroup.prototype.emitChangeEvent = /**
4813 * Creates a class of `ButtonRadioChange` to emit the change in the `ButtonRadioGroup`.
4814 * @param {?} event
4815 * @return {?}
4816 */
4817 function (event) {
4818 this.change.emit(event);
4819 this.propagateChange(event.value);
4820 this.onTouched();
4821 };
4822 /**
4823 * Synchronizes buttonRadio properties.
4824 */
4825 /**
4826 * Synchronizes buttonRadio properties.
4827 * @return {?}
4828 */
4829 ButtonRadioGroup.prototype.updateButtonRadios = /**
4830 * Synchronizes buttonRadio properties.
4831 * @return {?}
4832 */
4833 function () {
4834 var _this = this;
4835 if (this.buttonRadios) {
4836 setTimeout((/**
4837 * @return {?}
4838 */
4839 function () {
4840 _this.buttonRadios.forEach((/**
4841 * @param {?} buttonRadio
4842 * @return {?}
4843 */
4844 function (buttonRadio) { return buttonRadio.name = _this.name; }));
4845 }));
4846 }
4847 };
4848 /**
4849 * Updates the value of the `ButtonRadioGroup` using the provided parameter.
4850 */
4851 /**
4852 * Updates the value of the `ButtonRadioGroup` using the provided parameter.
4853 * @param {?} value
4854 * @return {?}
4855 */
4856 ButtonRadioGroup.prototype.writeValue = /**
4857 * Updates the value of the `ButtonRadioGroup` using the provided parameter.
4858 * @param {?} value
4859 * @return {?}
4860 */
4861 function (value) {
4862 this.value = value;
4863 };
4864 /**
4865 * @return {?}
4866 */
4867 ButtonRadioGroup.prototype.ngAfterContentInit = /**
4868 * @return {?}
4869 */
4870 function () {
4871 var _this = this;
4872 this.buttonRadios.changes.subscribe((/**
4873 * @return {?}
4874 */
4875 function () {
4876 _this.updateButtonRadios();
4877 _this.updateButtonRadioChangeHandler();
4878 }));
4879 this.updateChildren();
4880 this.updateButtonRadioChangeHandler();
4881 };
4882 /**
4883 * @return {?}
4884 */
4885 ButtonRadioGroup.prototype.ngAfterViewInit = /**
4886 * @return {?}
4887 */
4888 function () {
4889 this.updateButtonRadios();
4890 };
4891 /**
4892 * Used to set method to propagate changes back to the form.
4893 */
4894 /**
4895 * Used to set method to propagate changes back to the form.
4896 * @param {?} fn
4897 * @return {?}
4898 */
4899 ButtonRadioGroup.prototype.registerOnChange = /**
4900 * Used to set method to propagate changes back to the form.
4901 * @param {?} fn
4902 * @return {?}
4903 */
4904 function (fn) {
4905 this.propagateChange = fn;
4906 };
4907 /**
4908 * Registers a callback to be triggered when the control has been touched.
4909 * @param fn Callback to be triggered when the checkbox is touched.
4910 */
4911 /**
4912 * Registers a callback to be triggered when the control has been touched.
4913 * @param {?} fn Callback to be triggered when the checkbox is touched.
4914 * @return {?}
4915 */
4916 ButtonRadioGroup.prototype.registerOnTouched = /**
4917 * Registers a callback to be triggered when the control has been touched.
4918 * @param {?} fn Callback to be triggered when the checkbox is touched.
4919 * @return {?}
4920 */
4921 function (fn) {
4922 this.onTouched = fn;
4923 };
4924 /**
4925 * @protected
4926 * @return {?}
4927 */
4928 ButtonRadioGroup.prototype.updateChildren = /**
4929 * @protected
4930 * @return {?}
4931 */
4932 function () {
4933 var _this = this;
4934 if (this.buttonRadios) {
4935 this.buttonRadios.forEach((/**
4936 * @param {?} child
4937 * @return {?}
4938 */
4939 function (child) { return child.skeleton = _this.skeleton; }));
4940 }
4941 };
4942 /**
4943 * @protected
4944 * @return {?}
4945 */
4946 ButtonRadioGroup.prototype.updateButtonRadioChangeHandler = /**
4947 * @protected
4948 * @return {?}
4949 */
4950 function () {
4951 var _this = this;
4952 this.buttonRadios.forEach((/**
4953 * @param {?} buttonRadio
4954 * @return {?}
4955 */
4956 function (buttonRadio) {
4957 buttonRadio.registerButtonRadioChangeHandler((/**
4958 * @param {?} event
4959 * @return {?}
4960 */
4961 function (event) {
4962 // update selected and value from the event
4963 _this._selected = event.source;
4964 _this._value = event.value;
4965 // bubble the event
4966 _this.emitChangeEvent(event);
4967 }));
4968 }));
4969 };
4970 ButtonRadioGroup.buttonRadioGroupCount = 0;
4971 ButtonRadioGroup.decorators = [
4972 { type: Component, args: [{
4973 selector: 'suka-button-radio-group',
4974 template: "\n <div\n class=\"button-radio-group\"\n role=\"buttonRadiogroup\">\n <ng-content></ng-content>\n </div>\n ",
4975 providers: [
4976 {
4977 provide: NG_VALUE_ACCESSOR,
4978 useExisting: ButtonRadioGroup,
4979 multi: true
4980 }
4981 ]
4982 }] }
4983 ];
4984 ButtonRadioGroup.propDecorators = {
4985 change: [{ type: Output }],
4986 buttonRadios: [{ type: ContentChildren, args: [forwardRef((/**
4987 * @return {?}
4988 */
4989 function () { return ButtonRadio; })),] }],
4990 selected: [{ type: Input }],
4991 value: [{ type: Input }],
4992 name: [{ type: Input }],
4993 disabled: [{ type: Input }],
4994 skeleton: [{ type: Input }],
4995 buttonRadioButtonGroupClass: [{ type: HostBinding, args: ['class.form-item',] }]
4996 };
4997 return ButtonRadioGroup;
4998}());
4999if (false) {
5000 /** @type {?} */
5001 ButtonRadioGroup.buttonRadioGroupCount;
5002 /**
5003 * Emits event notifying other classes of a change using a `ButtonRadioChange` class.
5004 * @type {?}
5005 */
5006 ButtonRadioGroup.prototype.change;
5007 /**
5008 * The `ButtonRadio` input items in the `ButtonRadioGroup`.
5009 * @type {?}
5010 */
5011 ButtonRadioGroup.prototype.buttonRadios;
5012 /**
5013 * Set to true to disable the whole buttonRadio group
5014 * @type {?}
5015 */
5016 ButtonRadioGroup.prototype.disabled;
5017 /**
5018 * Binds 'form-item' value to the class for `ButtonRadioGroup`.
5019 * @type {?}
5020 */
5021 ButtonRadioGroup.prototype.buttonRadioButtonGroupClass;
5022 /**
5023 * To track whether the `ButtonRadioGroup` has been initialized.
5024 * @type {?}
5025 * @protected
5026 */
5027 ButtonRadioGroup.prototype.isInitialized;
5028 /**
5029 * Reflects whether or not the input is disabled and cannot be selected.
5030 * @type {?}
5031 * @protected
5032 */
5033 ButtonRadioGroup.prototype._disabled;
5034 /**
5035 * Reflects whether or not the dropdown is loading.
5036 * @type {?}
5037 * @protected
5038 */
5039 ButtonRadioGroup.prototype._skeleton;
5040 /**
5041 * The value of the selected option within the `ButtonRadioGroup`.
5042 * @type {?}
5043 * @protected
5044 */
5045 ButtonRadioGroup.prototype._value;
5046 /**
5047 * The `ButtonRadio` within the `ButtonRadioGroup` that is selected.
5048 * @type {?}
5049 * @protected
5050 */
5051 ButtonRadioGroup.prototype._selected;
5052 /**
5053 * The name attribute associated with the `ButtonRadioGroup`.
5054 * @type {?}
5055 * @protected
5056 */
5057 ButtonRadioGroup.prototype._name;
5058 /**
5059 * Needed to properly implement ControlValueAccessor.
5060 * @type {?}
5061 */
5062 ButtonRadioGroup.prototype.onTouched;
5063 /**
5064 * Method set in registerOnChange to propagate changes back to the form.
5065 * @type {?}
5066 */
5067 ButtonRadioGroup.prototype.propagateChange;
5068}
5069
5070/**
5071 * @fileoverview added by tsickle
5072 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5073 */
5074var ButtonRadioModule = /** @class */ (function () {
5075 function ButtonRadioModule() {
5076 }
5077 ButtonRadioModule.decorators = [
5078 { type: NgModule, args: [{
5079 declarations: [
5080 ButtonRadio,
5081 ButtonRadioGroup
5082 ],
5083 exports: [
5084 ButtonRadio,
5085 ButtonRadioGroup
5086 ],
5087 imports: [
5088 CommonModule,
5089 FormsModule
5090 ]
5091 },] }
5092 ];
5093 return ButtonRadioModule;
5094}());
5095
5096/**
5097 * @fileoverview added by tsickle
5098 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5099 */
5100var Container = /** @class */ (function () {
5101 function Container() {
5102 /**
5103 * Sets the container type. Set to `fluid` for a full width container.
5104 */
5105 this.sukaContainer = 'default';
5106 this.default = true;
5107 this.fluid = false;
5108 }
5109 /**
5110 * @return {?}
5111 */
5112 Container.prototype.ngOnInit = /**
5113 * @return {?}
5114 */
5115 function () {
5116 if (this.sukaContainer === 'fluid') {
5117 this.fluid = true;
5118 this.default = false;
5119 }
5120 };
5121 Container.decorators = [
5122 { type: Directive, args: [{
5123 selector: '[sukaContainer]'
5124 },] }
5125 ];
5126 Container.propDecorators = {
5127 sukaContainer: [{ type: Input }],
5128 default: [{ type: HostBinding, args: ['class.container',] }],
5129 fluid: [{ type: HostBinding, args: ['class.container--fluid',] }]
5130 };
5131 return Container;
5132}());
5133if (false) {
5134 /**
5135 * Sets the container type. Set to `fluid` for a full width container.
5136 * @type {?}
5137 */
5138 Container.prototype.sukaContainer;
5139 /** @type {?} */
5140 Container.prototype.default;
5141 /** @type {?} */
5142 Container.prototype.fluid;
5143}
5144
5145/**
5146 * @fileoverview added by tsickle
5147 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5148 */
5149var ContainerModule = /** @class */ (function () {
5150 function ContainerModule() {
5151 }
5152 ContainerModule.decorators = [
5153 { type: NgModule, args: [{
5154 declarations: [
5155 Container,
5156 ],
5157 exports: [
5158 Container,
5159 ],
5160 imports: [
5161 CommonModule,
5162 ]
5163 },] }
5164 ];
5165 return ContainerModule;
5166}());
5167
5168/**
5169 * @fileoverview added by tsickle
5170 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5171 */
5172var MarginDirective = /** @class */ (function () {
5173 function MarginDirective(elementRef) {
5174 this.m = {};
5175 this.elementRef = elementRef;
5176 }
5177 /**
5178 * @return {?}
5179 */
5180 MarginDirective.prototype.ngOnInit = /**
5181 * @return {?}
5182 */
5183 function () {
5184 var _this = this;
5185 try {
5186 /** @type {?} */
5187 var marginKeys = Object.keys(this.m);
5188 marginKeys.forEach((/**
5189 * @param {?} key
5190 * @return {?}
5191 */
5192 function (key) {
5193 if (key === 'all') {
5194 _this.elementRef.nativeElement.classList.add("m-" + _this.m[key]);
5195 }
5196 else {
5197 _this.elementRef.nativeElement.classList.add("m-" + key + "-" + _this.m[key]);
5198 }
5199 }));
5200 }
5201 catch (err) {
5202 console.error("Malformed margins`: " + err);
5203 }
5204 };
5205 MarginDirective.decorators = [
5206 { type: Directive, args: [{
5207 // tslint:disable-next-line: directive-selector
5208 selector: '[m]'
5209 },] }
5210 ];
5211 /** @nocollapse */
5212 MarginDirective.ctorParameters = function () { return [
5213 { type: ElementRef }
5214 ]; };
5215 MarginDirective.propDecorators = {
5216 m: [{ type: Input }]
5217 };
5218 return MarginDirective;
5219}());
5220if (false) {
5221 /** @type {?} */
5222 MarginDirective.prototype.m;
5223 /**
5224 * @type {?}
5225 * @private
5226 */
5227 MarginDirective.prototype.elementRef;
5228}
5229var MarginTopDirective = /** @class */ (function () {
5230 function MarginTopDirective(elementRef) {
5231 this.mt = {};
5232 this.elementRef = elementRef;
5233 }
5234 /**
5235 * @return {?}
5236 */
5237 MarginTopDirective.prototype.ngOnInit = /**
5238 * @return {?}
5239 */
5240 function () {
5241 var _this = this;
5242 try {
5243 /** @type {?} */
5244 var marginKeys = Object.keys(this.mt);
5245 marginKeys.forEach((/**
5246 * @param {?} key
5247 * @return {?}
5248 */
5249 function (key) {
5250 if (key === 'all') {
5251 _this.elementRef.nativeElement.classList.add("mt-" + _this.mt[key]);
5252 }
5253 else {
5254 _this.elementRef.nativeElement.classList.add("mt-" + key + "-" + _this.mt[key]);
5255 }
5256 }));
5257 }
5258 catch (err) {
5259 console.error("Malformed margins`: " + err);
5260 }
5261 };
5262 MarginTopDirective.decorators = [
5263 { type: Directive, args: [{
5264 selector: '[mt]'
5265 },] }
5266 ];
5267 /** @nocollapse */
5268 MarginTopDirective.ctorParameters = function () { return [
5269 { type: ElementRef }
5270 ]; };
5271 MarginTopDirective.propDecorators = {
5272 mt: [{ type: Input }]
5273 };
5274 return MarginTopDirective;
5275}());
5276if (false) {
5277 /** @type {?} */
5278 MarginTopDirective.prototype.mt;
5279 /**
5280 * @type {?}
5281 * @private
5282 */
5283 MarginTopDirective.prototype.elementRef;
5284}
5285var MarginBottomDirective = /** @class */ (function () {
5286 function MarginBottomDirective(elementRef) {
5287 this.mb = {};
5288 this.elementRef = elementRef;
5289 }
5290 /**
5291 * @return {?}
5292 */
5293 MarginBottomDirective.prototype.ngOnInit = /**
5294 * @return {?}
5295 */
5296 function () {
5297 var _this = this;
5298 try {
5299 /** @type {?} */
5300 var marginKeys = Object.keys(this.mb);
5301 marginKeys.forEach((/**
5302 * @param {?} key
5303 * @return {?}
5304 */
5305 function (key) {
5306 if (key === 'all') {
5307 _this.elementRef.nativeElement.classList.add("mb-" + _this.mb[key]);
5308 }
5309 else {
5310 _this.elementRef.nativeElement.classList.add("mb-" + key + "-" + _this.mb[key]);
5311 }
5312 }));
5313 }
5314 catch (err) {
5315 console.error("Malformed margins`: " + err);
5316 }
5317 };
5318 MarginBottomDirective.decorators = [
5319 { type: Directive, args: [{
5320 // tslint:disable-next-line: directive-selector
5321 selector: '[mb]'
5322 },] }
5323 ];
5324 /** @nocollapse */
5325 MarginBottomDirective.ctorParameters = function () { return [
5326 { type: ElementRef }
5327 ]; };
5328 MarginBottomDirective.propDecorators = {
5329 mb: [{ type: Input }]
5330 };
5331 return MarginBottomDirective;
5332}());
5333if (false) {
5334 /** @type {?} */
5335 MarginBottomDirective.prototype.mb;
5336 /**
5337 * @type {?}
5338 * @private
5339 */
5340 MarginBottomDirective.prototype.elementRef;
5341}
5342var MarginLeftDirective = /** @class */ (function () {
5343 function MarginLeftDirective(elementRef) {
5344 this.ml = {};
5345 this.elementRef = elementRef;
5346 }
5347 /**
5348 * @return {?}
5349 */
5350 MarginLeftDirective.prototype.ngOnInit = /**
5351 * @return {?}
5352 */
5353 function () {
5354 var _this = this;
5355 try {
5356 /** @type {?} */
5357 var marginKeys = Object.keys(this.ml);
5358 marginKeys.forEach((/**
5359 * @param {?} key
5360 * @return {?}
5361 */
5362 function (key) {
5363 if (key === 'all') {
5364 _this.elementRef.nativeElement.classList.add("ml-" + _this.ml[key]);
5365 }
5366 else {
5367 _this.elementRef.nativeElement.classList.add("ml-" + key + "-" + _this.ml[key]);
5368 }
5369 }));
5370 }
5371 catch (err) {
5372 console.error("Malformed margins`: " + err);
5373 }
5374 };
5375 MarginLeftDirective.decorators = [
5376 { type: Directive, args: [{
5377 // tslint:disable-next-line: directive-selector
5378 selector: '[ml]'
5379 },] }
5380 ];
5381 /** @nocollapse */
5382 MarginLeftDirective.ctorParameters = function () { return [
5383 { type: ElementRef }
5384 ]; };
5385 MarginLeftDirective.propDecorators = {
5386 ml: [{ type: Input }]
5387 };
5388 return MarginLeftDirective;
5389}());
5390if (false) {
5391 /** @type {?} */
5392 MarginLeftDirective.prototype.ml;
5393 /**
5394 * @type {?}
5395 * @private
5396 */
5397 MarginLeftDirective.prototype.elementRef;
5398}
5399var MarginRightDirective = /** @class */ (function () {
5400 function MarginRightDirective(elementRef) {
5401 this.mr = {};
5402 this.elementRef = elementRef;
5403 }
5404 /**
5405 * @return {?}
5406 */
5407 MarginRightDirective.prototype.ngOnInit = /**
5408 * @return {?}
5409 */
5410 function () {
5411 var _this = this;
5412 try {
5413 /** @type {?} */
5414 var marginKeys = Object.keys(this.mr);
5415 marginKeys.forEach((/**
5416 * @param {?} key
5417 * @return {?}
5418 */
5419 function (key) {
5420 if (key === 'all') {
5421 _this.elementRef.nativeElement.classList.add("mr-" + _this.mr[key]);
5422 }
5423 else {
5424 _this.elementRef.nativeElement.classList.add("mr-" + key + "-" + _this.mr[key]);
5425 }
5426 }));
5427 }
5428 catch (err) {
5429 console.error("Malformed margins`: " + err);
5430 }
5431 };
5432 MarginRightDirective.decorators = [
5433 { type: Directive, args: [{
5434 // tslint:disable-next-line: directive-selector
5435 selector: '[mr]'
5436 },] }
5437 ];
5438 /** @nocollapse */
5439 MarginRightDirective.ctorParameters = function () { return [
5440 { type: ElementRef }
5441 ]; };
5442 MarginRightDirective.propDecorators = {
5443 mr: [{ type: Input }]
5444 };
5445 return MarginRightDirective;
5446}());
5447if (false) {
5448 /** @type {?} */
5449 MarginRightDirective.prototype.mr;
5450 /**
5451 * @type {?}
5452 * @private
5453 */
5454 MarginRightDirective.prototype.elementRef;
5455}
5456var MarginHorizontalDirective = /** @class */ (function () {
5457 function MarginHorizontalDirective(elementRef) {
5458 this.mx = {};
5459 this.elementRef = elementRef;
5460 }
5461 /**
5462 * @return {?}
5463 */
5464 MarginHorizontalDirective.prototype.ngOnInit = /**
5465 * @return {?}
5466 */
5467 function () {
5468 var _this = this;
5469 try {
5470 /** @type {?} */
5471 var marginKeys = Object.keys(this.mx);
5472 marginKeys.forEach((/**
5473 * @param {?} key
5474 * @return {?}
5475 */
5476 function (key) {
5477 if (key === 'all') {
5478 _this.elementRef.nativeElement.classList.add("mx-" + _this.mx[key]);
5479 }
5480 else {
5481 _this.elementRef.nativeElement.classList.add("mx-" + key + "-" + _this.mx[key]);
5482 }
5483 }));
5484 }
5485 catch (err) {
5486 console.error("Malformed margins`: " + err);
5487 }
5488 };
5489 MarginHorizontalDirective.decorators = [
5490 { type: Directive, args: [{
5491 // tslint:disable-next-line: directive-selector
5492 selector: '[mx]'
5493 },] }
5494 ];
5495 /** @nocollapse */
5496 MarginHorizontalDirective.ctorParameters = function () { return [
5497 { type: ElementRef }
5498 ]; };
5499 MarginHorizontalDirective.propDecorators = {
5500 mx: [{ type: Input }]
5501 };
5502 return MarginHorizontalDirective;
5503}());
5504if (false) {
5505 /** @type {?} */
5506 MarginHorizontalDirective.prototype.mx;
5507 /**
5508 * @type {?}
5509 * @private
5510 */
5511 MarginHorizontalDirective.prototype.elementRef;
5512}
5513var MarginVerticalDirective = /** @class */ (function () {
5514 function MarginVerticalDirective(elementRef) {
5515 this.my = {};
5516 this.elementRef = elementRef;
5517 }
5518 /**
5519 * @return {?}
5520 */
5521 MarginVerticalDirective.prototype.ngOnInit = /**
5522 * @return {?}
5523 */
5524 function () {
5525 var _this = this;
5526 try {
5527 /** @type {?} */
5528 var marginKeys = Object.keys(this.my);
5529 marginKeys.forEach((/**
5530 * @param {?} key
5531 * @return {?}
5532 */
5533 function (key) {
5534 if (key === 'all') {
5535 _this.elementRef.nativeElement.classList.add("my-" + _this.my[key]);
5536 }
5537 else {
5538 _this.elementRef.nativeElement.classList.add("my-" + key + "-" + _this.my[key]);
5539 }
5540 }));
5541 }
5542 catch (err) {
5543 console.error("Malformed margins`: " + err);
5544 }
5545 };
5546 MarginVerticalDirective.decorators = [
5547 { type: Directive, args: [{
5548 // tslint:disable-next-line: directive-selector
5549 selector: '[my]'
5550 },] }
5551 ];
5552 /** @nocollapse */
5553 MarginVerticalDirective.ctorParameters = function () { return [
5554 { type: ElementRef }
5555 ]; };
5556 MarginVerticalDirective.propDecorators = {
5557 my: [{ type: Input }]
5558 };
5559 return MarginVerticalDirective;
5560}());
5561if (false) {
5562 /** @type {?} */
5563 MarginVerticalDirective.prototype.my;
5564 /**
5565 * @type {?}
5566 * @private
5567 */
5568 MarginVerticalDirective.prototype.elementRef;
5569}
5570
5571/**
5572 * @fileoverview added by tsickle
5573 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5574 */
5575var PaddingDirective = /** @class */ (function () {
5576 function PaddingDirective(elementRef) {
5577 this.p = {};
5578 this.elementRef = elementRef;
5579 }
5580 /**
5581 * @return {?}
5582 */
5583 PaddingDirective.prototype.ngOnInit = /**
5584 * @return {?}
5585 */
5586 function () {
5587 var _this = this;
5588 try {
5589 /** @type {?} */
5590 var paddingKeys = Object.keys(this.p);
5591 paddingKeys.forEach((/**
5592 * @param {?} key
5593 * @return {?}
5594 */
5595 function (key) {
5596 if (key === 'all') {
5597 _this.elementRef.nativeElement.classList.add("p-" + _this.p[key]);
5598 }
5599 else {
5600 _this.elementRef.nativeElement.classList.add("p-" + key + "-" + _this.p[key]);
5601 }
5602 }));
5603 }
5604 catch (err) {
5605 console.error("Malformed paddings`: " + err);
5606 }
5607 };
5608 PaddingDirective.decorators = [
5609 { type: Directive, args: [{
5610 // tslint:disable-next-line: directive-selector
5611 selector: '[p]'
5612 },] }
5613 ];
5614 /** @nocollapse */
5615 PaddingDirective.ctorParameters = function () { return [
5616 { type: ElementRef }
5617 ]; };
5618 PaddingDirective.propDecorators = {
5619 p: [{ type: Input }]
5620 };
5621 return PaddingDirective;
5622}());
5623if (false) {
5624 /** @type {?} */
5625 PaddingDirective.prototype.p;
5626 /**
5627 * @type {?}
5628 * @private
5629 */
5630 PaddingDirective.prototype.elementRef;
5631}
5632var PaddingTopDirective = /** @class */ (function () {
5633 function PaddingTopDirective(elementRef) {
5634 this.pt = {};
5635 this.elementRef = elementRef;
5636 }
5637 /**
5638 * @return {?}
5639 */
5640 PaddingTopDirective.prototype.ngOnInit = /**
5641 * @return {?}
5642 */
5643 function () {
5644 var _this = this;
5645 try {
5646 /** @type {?} */
5647 var paddingKeys = Object.keys(this.pt);
5648 paddingKeys.forEach((/**
5649 * @param {?} key
5650 * @return {?}
5651 */
5652 function (key) {
5653 if (key === 'all') {
5654 _this.elementRef.nativeElement.classList.add("pt-" + _this.pt[key]);
5655 }
5656 else {
5657 _this.elementRef.nativeElement.classList.add("pt-" + key + "-" + _this.pt[key]);
5658 }
5659 }));
5660 }
5661 catch (err) {
5662 console.error("Malformed paddings`: " + err);
5663 }
5664 };
5665 PaddingTopDirective.decorators = [
5666 { type: Directive, args: [{
5667 // tslint:disable-next-line: directive-selector
5668 selector: '[pt]'
5669 },] }
5670 ];
5671 /** @nocollapse */
5672 PaddingTopDirective.ctorParameters = function () { return [
5673 { type: ElementRef }
5674 ]; };
5675 PaddingTopDirective.propDecorators = {
5676 pt: [{ type: Input }]
5677 };
5678 return PaddingTopDirective;
5679}());
5680if (false) {
5681 /** @type {?} */
5682 PaddingTopDirective.prototype.pt;
5683 /**
5684 * @type {?}
5685 * @private
5686 */
5687 PaddingTopDirective.prototype.elementRef;
5688}
5689var PaddingBottomDirective = /** @class */ (function () {
5690 function PaddingBottomDirective(elementRef) {
5691 this.pb = {};
5692 this.elementRef = elementRef;
5693 }
5694 /**
5695 * @return {?}
5696 */
5697 PaddingBottomDirective.prototype.ngOnInit = /**
5698 * @return {?}
5699 */
5700 function () {
5701 var _this = this;
5702 try {
5703 /** @type {?} */
5704 var paddingKeys = Object.keys(this.pb);
5705 paddingKeys.forEach((/**
5706 * @param {?} key
5707 * @return {?}
5708 */
5709 function (key) {
5710 if (key === 'all') {
5711 _this.elementRef.nativeElement.classList.add("pb-" + _this.pb[key]);
5712 }
5713 else {
5714 _this.elementRef.nativeElement.classList.add("pb-" + key + "-" + _this.pb[key]);
5715 }
5716 }));
5717 }
5718 catch (err) {
5719 console.error("Malformed paddings`: " + err);
5720 }
5721 };
5722 PaddingBottomDirective.decorators = [
5723 { type: Directive, args: [{
5724 // tslint:disable-next-line: directive-selector
5725 selector: '[pb]'
5726 },] }
5727 ];
5728 /** @nocollapse */
5729 PaddingBottomDirective.ctorParameters = function () { return [
5730 { type: ElementRef }
5731 ]; };
5732 PaddingBottomDirective.propDecorators = {
5733 pb: [{ type: Input }]
5734 };
5735 return PaddingBottomDirective;
5736}());
5737if (false) {
5738 /** @type {?} */
5739 PaddingBottomDirective.prototype.pb;
5740 /**
5741 * @type {?}
5742 * @private
5743 */
5744 PaddingBottomDirective.prototype.elementRef;
5745}
5746var PaddingLeftDirective = /** @class */ (function () {
5747 function PaddingLeftDirective(elementRef) {
5748 this.pl = {};
5749 this.elementRef = elementRef;
5750 }
5751 /**
5752 * @return {?}
5753 */
5754 PaddingLeftDirective.prototype.ngOnInit = /**
5755 * @return {?}
5756 */
5757 function () {
5758 var _this = this;
5759 try {
5760 /** @type {?} */
5761 var paddingKeys = Object.keys(this.pl);
5762 paddingKeys.forEach((/**
5763 * @param {?} key
5764 * @return {?}
5765 */
5766 function (key) {
5767 if (key === 'all') {
5768 _this.elementRef.nativeElement.classList.add("pl-" + _this.pl[key]);
5769 }
5770 else {
5771 _this.elementRef.nativeElement.classList.add("pl-" + key + "-" + _this.pl[key]);
5772 }
5773 }));
5774 }
5775 catch (err) {
5776 console.error("Malformed paddings`: " + err);
5777 }
5778 };
5779 PaddingLeftDirective.decorators = [
5780 { type: Directive, args: [{
5781 // tslint:disable-next-line: directive-selector
5782 selector: '[pl]'
5783 },] }
5784 ];
5785 /** @nocollapse */
5786 PaddingLeftDirective.ctorParameters = function () { return [
5787 { type: ElementRef }
5788 ]; };
5789 PaddingLeftDirective.propDecorators = {
5790 pl: [{ type: Input }]
5791 };
5792 return PaddingLeftDirective;
5793}());
5794if (false) {
5795 /** @type {?} */
5796 PaddingLeftDirective.prototype.pl;
5797 /**
5798 * @type {?}
5799 * @private
5800 */
5801 PaddingLeftDirective.prototype.elementRef;
5802}
5803var PaddingRightDirective = /** @class */ (function () {
5804 function PaddingRightDirective(elementRef) {
5805 this.pr = {};
5806 this.elementRef = elementRef;
5807 }
5808 /**
5809 * @return {?}
5810 */
5811 PaddingRightDirective.prototype.ngOnInit = /**
5812 * @return {?}
5813 */
5814 function () {
5815 var _this = this;
5816 try {
5817 /** @type {?} */
5818 var paddingKeys = Object.keys(this.pr);
5819 paddingKeys.forEach((/**
5820 * @param {?} key
5821 * @return {?}
5822 */
5823 function (key) {
5824 if (key === 'all') {
5825 _this.elementRef.nativeElement.classList.add("pr-" + _this.pr[key]);
5826 }
5827 else {
5828 _this.elementRef.nativeElement.classList.add("pr-" + key + "-" + _this.pr[key]);
5829 }
5830 }));
5831 }
5832 catch (err) {
5833 console.error("Malformed paddings`: " + err);
5834 }
5835 };
5836 PaddingRightDirective.decorators = [
5837 { type: Directive, args: [{
5838 // tslint:disable-next-line: directive-selector
5839 selector: '[pr]'
5840 },] }
5841 ];
5842 /** @nocollapse */
5843 PaddingRightDirective.ctorParameters = function () { return [
5844 { type: ElementRef }
5845 ]; };
5846 PaddingRightDirective.propDecorators = {
5847 pr: [{ type: Input }]
5848 };
5849 return PaddingRightDirective;
5850}());
5851if (false) {
5852 /** @type {?} */
5853 PaddingRightDirective.prototype.pr;
5854 /**
5855 * @type {?}
5856 * @private
5857 */
5858 PaddingRightDirective.prototype.elementRef;
5859}
5860var PaddingHorizontalDirective = /** @class */ (function () {
5861 function PaddingHorizontalDirective(elementRef) {
5862 this.px = {};
5863 this.elementRef = elementRef;
5864 }
5865 /**
5866 * @return {?}
5867 */
5868 PaddingHorizontalDirective.prototype.ngOnInit = /**
5869 * @return {?}
5870 */
5871 function () {
5872 var _this = this;
5873 try {
5874 /** @type {?} */
5875 var paddingKeys = Object.keys(this.px);
5876 paddingKeys.forEach((/**
5877 * @param {?} key
5878 * @return {?}
5879 */
5880 function (key) {
5881 if (key === 'all') {
5882 _this.elementRef.nativeElement.classList.add("px-" + _this.px[key]);
5883 }
5884 else {
5885 _this.elementRef.nativeElement.classList.add("px-" + key + "-" + _this.px[key]);
5886 }
5887 }));
5888 }
5889 catch (err) {
5890 console.error("Malformed paddings`: " + err);
5891 }
5892 };
5893 PaddingHorizontalDirective.decorators = [
5894 { type: Directive, args: [{
5895 // tslint:disable-next-line: directive-selector
5896 selector: '[px]'
5897 },] }
5898 ];
5899 /** @nocollapse */
5900 PaddingHorizontalDirective.ctorParameters = function () { return [
5901 { type: ElementRef }
5902 ]; };
5903 PaddingHorizontalDirective.propDecorators = {
5904 px: [{ type: Input }]
5905 };
5906 return PaddingHorizontalDirective;
5907}());
5908if (false) {
5909 /** @type {?} */
5910 PaddingHorizontalDirective.prototype.px;
5911 /**
5912 * @type {?}
5913 * @private
5914 */
5915 PaddingHorizontalDirective.prototype.elementRef;
5916}
5917var PaddingVerticalDirective = /** @class */ (function () {
5918 function PaddingVerticalDirective(elementRef) {
5919 this.py = {};
5920 this.elementRef = elementRef;
5921 }
5922 /**
5923 * @return {?}
5924 */
5925 PaddingVerticalDirective.prototype.ngOnInit = /**
5926 * @return {?}
5927 */
5928 function () {
5929 var _this = this;
5930 try {
5931 /** @type {?} */
5932 var paddingKeys = Object.keys(this.py);
5933 paddingKeys.forEach((/**
5934 * @param {?} key
5935 * @return {?}
5936 */
5937 function (key) {
5938 if (key === 'all') {
5939 _this.elementRef.nativeElement.classList.add("py-" + _this.py[key]);
5940 }
5941 else {
5942 _this.elementRef.nativeElement.classList.add("py-" + key + "-" + _this.py[key]);
5943 }
5944 }));
5945 }
5946 catch (err) {
5947 console.error("Malformed paddings`: " + err);
5948 }
5949 };
5950 PaddingVerticalDirective.decorators = [
5951 { type: Directive, args: [{
5952 // tslint:disable-next-line: directive-selector
5953 selector: '[py]'
5954 },] }
5955 ];
5956 /** @nocollapse */
5957 PaddingVerticalDirective.ctorParameters = function () { return [
5958 { type: ElementRef }
5959 ]; };
5960 PaddingVerticalDirective.propDecorators = {
5961 py: [{ type: Input }]
5962 };
5963 return PaddingVerticalDirective;
5964}());
5965if (false) {
5966 /** @type {?} */
5967 PaddingVerticalDirective.prototype.py;
5968 /**
5969 * @type {?}
5970 * @private
5971 */
5972 PaddingVerticalDirective.prototype.elementRef;
5973}
5974
5975/**
5976 * @fileoverview added by tsickle
5977 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5978 */
5979var SpacingModule = /** @class */ (function () {
5980 function SpacingModule() {
5981 }
5982 SpacingModule.decorators = [
5983 { type: NgModule, args: [{
5984 declarations: [
5985 MarginDirective,
5986 MarginTopDirective,
5987 MarginBottomDirective,
5988 MarginLeftDirective,
5989 MarginRightDirective,
5990 MarginHorizontalDirective,
5991 MarginVerticalDirective,
5992 PaddingDirective,
5993 PaddingTopDirective,
5994 PaddingBottomDirective,
5995 PaddingLeftDirective,
5996 PaddingRightDirective,
5997 PaddingHorizontalDirective,
5998 PaddingVerticalDirective,
5999 ],
6000 exports: [
6001 MarginDirective,
6002 MarginTopDirective,
6003 MarginBottomDirective,
6004 MarginLeftDirective,
6005 MarginRightDirective,
6006 MarginHorizontalDirective,
6007 MarginVerticalDirective,
6008 PaddingDirective,
6009 PaddingTopDirective,
6010 PaddingBottomDirective,
6011 PaddingLeftDirective,
6012 PaddingRightDirective,
6013 PaddingHorizontalDirective,
6014 PaddingVerticalDirective,
6015 ],
6016 imports: [CommonModule]
6017 },] }
6018 ];
6019 return SpacingModule;
6020}());
6021
6022/**
6023 * @fileoverview added by tsickle
6024 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6025 */
6026var Card = /** @class */ (function () {
6027 function Card() {
6028 /**
6029 * Callback for the primary action
6030 */
6031 this.primaryFooterAction = new EventEmitter();
6032 /**
6033 * Callback for the secondary action
6034 */
6035 this.secondaryFooterAction = new EventEmitter();
6036 /**
6037 * Callback for the card header action
6038 */
6039 this.headerAction = new EventEmitter();
6040 this.cardClass = true;
6041 /**
6042 * Set to `true` to display a loading card.
6043 */
6044 this.skeleton = false;
6045 /**
6046 * Display footer state.
6047 */
6048 this.showFooter = false;
6049 }
6050 /**
6051 * @return {?}
6052 */
6053 Card.prototype.ngOnInit = /**
6054 * @return {?}
6055 */
6056 function () {
6057 this.showFooter = this.primaryFooterAction.observers.length > 0;
6058 };
6059 /**
6060 * Emits the cards primary footer action callback
6061 */
6062 /**
6063 * Emits the cards primary footer action callback
6064 * @param {?} $event
6065 * @return {?}
6066 */
6067 Card.prototype.onPrimaryFooterAction = /**
6068 * Emits the cards primary footer action callback
6069 * @param {?} $event
6070 * @return {?}
6071 */
6072 function ($event) {
6073 this.primaryFooterAction.emit($event);
6074 };
6075 /**
6076 * Emits the cards secondary footer action callback
6077 */
6078 /**
6079 * Emits the cards secondary footer action callback
6080 * @param {?} $event
6081 * @return {?}
6082 */
6083 Card.prototype.onSecondaryFooterAction = /**
6084 * Emits the cards secondary footer action callback
6085 * @param {?} $event
6086 * @return {?}
6087 */
6088 function ($event) {
6089 this.secondaryFooterAction.emit($event);
6090 };
6091 /**
6092 * Emits the cards header action callback
6093 */
6094 /**
6095 * Emits the cards header action callback
6096 * @param {?} $event
6097 * @return {?}
6098 */
6099 Card.prototype.onHeaderAction = /**
6100 * Emits the cards header action callback
6101 * @param {?} $event
6102 * @return {?}
6103 */
6104 function ($event) {
6105 this.headerAction.emit($event);
6106 };
6107 Card.decorators = [
6108 { type: Component, args: [{
6109 selector: 'suka-card',
6110 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 ",
6111 encapsulation: ViewEncapsulation.None
6112 }] }
6113 ];
6114 Card.propDecorators = {
6115 title: [{ type: Input }],
6116 sectioned: [{ type: Input }],
6117 primaryFooterActionLabel: [{ type: Input }],
6118 primaryFooterAction: [{ type: Output }],
6119 secondaryFooterActionLabel: [{ type: Input }],
6120 secondaryFooterAction: [{ type: Output }],
6121 headerActionLabel: [{ type: Input }],
6122 headerAction: [{ type: Output }],
6123 cardClass: [{ type: HostBinding, args: ['class.card',] }],
6124 skeleton: [{ type: Input }]
6125 };
6126 return Card;
6127}());
6128if (false) {
6129 /**
6130 * Title content for the card.
6131 * @type {?}
6132 */
6133 Card.prototype.title;
6134 /**
6135 * Set to `true` to auto-wrap content in section
6136 * @type {?}
6137 */
6138 Card.prototype.sectioned;
6139 /**
6140 * Primary action label.
6141 * @type {?}
6142 */
6143 Card.prototype.primaryFooterActionLabel;
6144 /**
6145 * Callback for the primary action
6146 * @type {?}
6147 */
6148 Card.prototype.primaryFooterAction;
6149 /**
6150 * Secondary action label.
6151 * @type {?}
6152 */
6153 Card.prototype.secondaryFooterActionLabel;
6154 /**
6155 * Callback for the secondary action
6156 * @type {?}
6157 */
6158 Card.prototype.secondaryFooterAction;
6159 /**
6160 * Card header action label
6161 * @type {?}
6162 */
6163 Card.prototype.headerActionLabel;
6164 /**
6165 * Callback for the card header action
6166 * @type {?}
6167 */
6168 Card.prototype.headerAction;
6169 /** @type {?} */
6170 Card.prototype.cardClass;
6171 /**
6172 * Set to `true` to display a loading card.
6173 * @type {?}
6174 */
6175 Card.prototype.skeleton;
6176 /**
6177 * Display footer state.
6178 * @type {?}
6179 */
6180 Card.prototype.showFooter;
6181}
6182
6183/**
6184 * @fileoverview added by tsickle
6185 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6186 */
6187var CardHeader = /** @class */ (function () {
6188 function CardHeader() {
6189 this.showAction = false;
6190 this.cardHeaderClass = true;
6191 this.skeleton = false;
6192 this.action = new EventEmitter();
6193 }
6194 /**
6195 * @return {?}
6196 */
6197 CardHeader.prototype.ngOnInit = /**
6198 * @return {?}
6199 */
6200 function () {
6201 this.showAction = this.action.observers.length > 0;
6202 };
6203 /**
6204 * @param {?} $event
6205 * @return {?}
6206 */
6207 CardHeader.prototype.onClick = /**
6208 * @param {?} $event
6209 * @return {?}
6210 */
6211 function ($event) {
6212 this.action.emit($event);
6213 };
6214 CardHeader.decorators = [
6215 { type: Component, args: [{
6216 selector: 'suka-card-header',
6217 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 ",
6218 encapsulation: ViewEncapsulation.None
6219 }] }
6220 ];
6221 CardHeader.propDecorators = {
6222 cardHeaderClass: [{ type: HostBinding, args: ['class.card-header',] }],
6223 skeleton: [{ type: Input }],
6224 actionLabel: [{ type: Input }],
6225 action: [{ type: Output }]
6226 };
6227 return CardHeader;
6228}());
6229if (false) {
6230 /** @type {?} */
6231 CardHeader.prototype.showAction;
6232 /** @type {?} */
6233 CardHeader.prototype.cardHeaderClass;
6234 /** @type {?} */
6235 CardHeader.prototype.skeleton;
6236 /** @type {?} */
6237 CardHeader.prototype.actionLabel;
6238 /** @type {?} */
6239 CardHeader.prototype.action;
6240}
6241
6242/**
6243 * @fileoverview added by tsickle
6244 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6245 */
6246var CardSection = /** @class */ (function () {
6247 function CardSection() {
6248 this.cardSectionClass = true;
6249 }
6250 CardSection.decorators = [
6251 { type: Component, args: [{
6252 selector: 'suka-card-section',
6253 template: "\n <ng-content></ng-content>\n ",
6254 encapsulation: ViewEncapsulation.None
6255 }] }
6256 ];
6257 CardSection.propDecorators = {
6258 cardSectionClass: [{ type: HostBinding, args: ['class.card-section',] }]
6259 };
6260 return CardSection;
6261}());
6262if (false) {
6263 /** @type {?} */
6264 CardSection.prototype.cardSectionClass;
6265}
6266
6267/**
6268 * @fileoverview added by tsickle
6269 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6270 */
6271var CardFooter = /** @class */ (function () {
6272 function CardFooter() {
6273 this.showSecondaryButton = false;
6274 this.baseClass = true;
6275 this.primaryAction = new EventEmitter();
6276 this.secondaryAction = new EventEmitter();
6277 }
6278 /**
6279 * @return {?}
6280 */
6281 CardFooter.prototype.ngOnInit = /**
6282 * @return {?}
6283 */
6284 function () {
6285 this.showSecondaryButton = this.secondaryAction.observers.length > 0;
6286 };
6287 /**
6288 * @param {?} buttonType
6289 * @return {?}
6290 */
6291 CardFooter.prototype.onButtonClick = /**
6292 * @param {?} buttonType
6293 * @return {?}
6294 */
6295 function (buttonType) {
6296 if (buttonType === 'primary') {
6297 this.primaryAction.emit();
6298 }
6299 if (buttonType === 'secondary') {
6300 this.secondaryAction.emit();
6301 }
6302 };
6303 CardFooter.decorators = [
6304 { type: Component, args: [{
6305 selector: 'suka-card-footer',
6306 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 ",
6307 encapsulation: ViewEncapsulation.None
6308 }] }
6309 ];
6310 CardFooter.propDecorators = {
6311 baseClass: [{ type: HostBinding, args: ['class.card-footer',] }],
6312 primaryLabel: [{ type: Input }],
6313 secondaryLabel: [{ type: Input }],
6314 primaryAction: [{ type: Output }],
6315 secondaryAction: [{ type: Output }]
6316 };
6317 return CardFooter;
6318}());
6319if (false) {
6320 /** @type {?} */
6321 CardFooter.prototype.showSecondaryButton;
6322 /** @type {?} */
6323 CardFooter.prototype.baseClass;
6324 /** @type {?} */
6325 CardFooter.prototype.primaryLabel;
6326 /** @type {?} */
6327 CardFooter.prototype.secondaryLabel;
6328 /** @type {?} */
6329 CardFooter.prototype.primaryAction;
6330 /** @type {?} */
6331 CardFooter.prototype.secondaryAction;
6332}
6333
6334/**
6335 * @fileoverview added by tsickle
6336 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6337 */
6338var CardModule = /** @class */ (function () {
6339 function CardModule() {
6340 }
6341 CardModule.decorators = [
6342 { type: NgModule, args: [{
6343 declarations: [
6344 Card,
6345 CardHeader,
6346 CardSection,
6347 CardFooter,
6348 ],
6349 exports: [
6350 Card,
6351 CardHeader,
6352 CardSection,
6353 CardFooter,
6354 ],
6355 imports: [
6356 CommonModule,
6357 ButtonModule,
6358 ]
6359 },] }
6360 ];
6361 return CardModule;
6362}());
6363
6364/**
6365 * @fileoverview added by tsickle
6366 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6367 */
6368var Accordion = /** @class */ (function () {
6369 function Accordion() {
6370 this._skeleton = false;
6371 this.openCloseItems = new Subject();
6372 this.skeletons = new Subject();
6373 /**
6374 * Set to `true` to allow multiple accordion items to be expanded.
6375 */
6376 this.multi = false;
6377 this.role = 'list';
6378 this.baseClass = true;
6379 }
6380 Object.defineProperty(Accordion.prototype, "skeleton", {
6381 get: /**
6382 * @return {?}
6383 */
6384 function () {
6385 return this._skeleton;
6386 },
6387 /**
6388 * Set to `true` to display a loading accordion.
6389 */
6390 set: /**
6391 * Set to `true` to display a loading accordion.
6392 * @param {?} value
6393 * @return {?}
6394 */
6395 function (value) {
6396 this._skeleton = value;
6397 this.updateSkeletons();
6398 },
6399 enumerable: true,
6400 configurable: true
6401 });
6402 /**
6403 * @protected
6404 * @return {?}
6405 */
6406 Accordion.prototype.updateSkeletons = /**
6407 * @protected
6408 * @return {?}
6409 */
6410 function () {
6411 this.skeletons.next(this._skeleton);
6412 };
6413 Accordion.decorators = [
6414 { type: Component, args: [{
6415 selector: 'suka-accordion',
6416 template: "\n <ng-content select=\"suka-accordion-item\"></ng-content>\n "
6417 }] }
6418 ];
6419 Accordion.propDecorators = {
6420 multi: [{ type: Input }],
6421 role: [{ type: HostBinding, args: ['attr.role',] }],
6422 baseClass: [{ type: HostBinding, args: ['class.accordion',] }],
6423 skeleton: [{ type: Input }]
6424 };
6425 return Accordion;
6426}());
6427if (false) {
6428 /**
6429 * @type {?}
6430 * @protected
6431 */
6432 Accordion.prototype._skeleton;
6433 /** @type {?} */
6434 Accordion.prototype.openCloseItems;
6435 /** @type {?} */
6436 Accordion.prototype.skeletons;
6437 /**
6438 * Set to `true` to allow multiple accordion items to be expanded.
6439 * @type {?}
6440 */
6441 Accordion.prototype.multi;
6442 /** @type {?} */
6443 Accordion.prototype.role;
6444 /** @type {?} */
6445 Accordion.prototype.baseClass;
6446}
6447
6448/**
6449 * @fileoverview added by tsickle
6450 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6451 */
6452var AccordionItem = /** @class */ (function () {
6453 function AccordionItem(accordion) {
6454 this.accordion = accordion;
6455 /**
6456 * Sets the accordion title. Can be a `string` or a `TemplateRef`. Defaults to Title plus the current accordion item count.
6457 */
6458 this.title = "Title " + AccordionItem.accordionItemCount;
6459 /**
6460 * Used to set a custom id to the element. Defaults to a counter
6461 */
6462 this.id = "accordion-item-" + AccordionItem.accordionItemCount;
6463 /**
6464 * Skeleton state. Set to `true` to display a skeleton accordion.
6465 */
6466 this.skeleton = false;
6467 /**
6468 * Emits an event when the accordion item is opened.
6469 */
6470 this.opened = new EventEmitter();
6471 /**
6472 * Emits an event when the accordion item is closed.
6473 */
6474 this.closed = new EventEmitter();
6475 this.itemClass = true;
6476 /**
6477 * Sets if the item is expanded.
6478 */
6479 this.expanded = false;
6480 this.itemType = 'list-item';
6481 this.role = 'heading';
6482 this.ariaLevel = 3;
6483 this.alive = true;
6484 AccordionItem.accordionItemCount++;
6485 }
6486 /**
6487 * Toggles the accordion opened state.
6488 */
6489 /**
6490 * Toggles the accordion opened state.
6491 * @return {?}
6492 */
6493 AccordionItem.prototype.toggle = /**
6494 * Toggles the accordion opened state.
6495 * @return {?}
6496 */
6497 function () {
6498 if (!this.skeleton) {
6499 if (!this.expanded) {
6500 if (!this.accordion.multi) {
6501 this.accordion.openCloseItems.next(true);
6502 }
6503 this.open();
6504 }
6505 else {
6506 this.close();
6507 }
6508 }
6509 };
6510 /**
6511 * @protected
6512 * @return {?}
6513 */
6514 AccordionItem.prototype.open = /**
6515 * @protected
6516 * @return {?}
6517 */
6518 function () {
6519 if (!this.expanded) {
6520 this.opened.emit({ id: this.id });
6521 }
6522 this.expanded = true;
6523 };
6524 /**
6525 * @protected
6526 * @return {?}
6527 */
6528 AccordionItem.prototype.close = /**
6529 * @protected
6530 * @return {?}
6531 */
6532 function () {
6533 if (this.expanded) {
6534 this.closed.emit({ id: this.id });
6535 }
6536 this.expanded = false;
6537 };
6538 /**
6539 * @return {?}
6540 */
6541 AccordionItem.prototype.ngOnInit = /**
6542 * @return {?}
6543 */
6544 function () {
6545 var _this = this;
6546 this.openSubscription = this.accordion.openCloseItems
6547 .pipe(takeWhile((/**
6548 * @return {?}
6549 */
6550 function () { return _this.alive; })))
6551 .subscribe((/**
6552 * @param {?} collapsed
6553 * @return {?}
6554 */
6555 function (collapsed) {
6556 if (!_this.skeleton) {
6557 collapsed ? _this.close() : _this.open();
6558 }
6559 }));
6560 this.skeletonSubscription = this.accordion.skeletons
6561 .pipe(takeWhile((/**
6562 * @return {?}
6563 */
6564 function () { return _this.alive; })))
6565 .subscribe((/**
6566 * @param {?} skeletonValue
6567 * @return {?}
6568 */
6569 function (skeletonValue) { return _this.skeleton = skeletonValue; }));
6570 this.skeleton = this.accordion.skeleton;
6571 };
6572 /**
6573 * @return {?}
6574 */
6575 AccordionItem.prototype.ngOnDestroy = /**
6576 * @return {?}
6577 */
6578 function () {
6579 this.alive = false;
6580 this.openSubscription.unsubscribe();
6581 this.skeletonSubscription.unsubscribe();
6582 };
6583 /**
6584 * @param {?} value
6585 * @return {?}
6586 */
6587 AccordionItem.prototype.isTemplate = /**
6588 * @param {?} value
6589 * @return {?}
6590 */
6591 function (value) {
6592 return value instanceof TemplateRef;
6593 };
6594 AccordionItem.accordionItemCount = 0;
6595 AccordionItem.decorators = [
6596 { type: Component, args: [{
6597 selector: 'suka-accordion-item',
6598 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 "
6599 }] }
6600 ];
6601 /** @nocollapse */
6602 AccordionItem.ctorParameters = function () { return [
6603 { type: Accordion, decorators: [{ type: Host }] }
6604 ]; };
6605 AccordionItem.propDecorators = {
6606 title: [{ type: Input }],
6607 id: [{ type: Input }],
6608 skeleton: [{ type: Input }],
6609 opened: [{ type: Output }],
6610 closed: [{ type: Output }],
6611 itemClass: [{ type: HostBinding, args: ['class.accordion__item',] }],
6612 expanded: [{ type: HostBinding, args: ['class.accordion__item--active',] }, { type: Input }],
6613 itemType: [{ type: HostBinding, args: ['style.display',] }],
6614 role: [{ type: HostBinding, args: ['attr.role',] }],
6615 ariaLevel: [{ type: HostBinding, args: ['attr.aria-level',] }, { type: Input }]
6616 };
6617 return AccordionItem;
6618}());
6619if (false) {
6620 /** @type {?} */
6621 AccordionItem.accordionItemCount;
6622 /**
6623 * Sets the accordion title. Can be a `string` or a `TemplateRef`. Defaults to Title plus the current accordion item count.
6624 * @type {?}
6625 */
6626 AccordionItem.prototype.title;
6627 /**
6628 * Used to set a custom id to the element. Defaults to a counter
6629 * @type {?}
6630 */
6631 AccordionItem.prototype.id;
6632 /**
6633 * Skeleton state. Set to `true` to display a skeleton accordion.
6634 * @type {?}
6635 */
6636 AccordionItem.prototype.skeleton;
6637 /**
6638 * Emits an event when the accordion item is opened.
6639 * @type {?}
6640 */
6641 AccordionItem.prototype.opened;
6642 /**
6643 * Emits an event when the accordion item is closed.
6644 * @type {?}
6645 */
6646 AccordionItem.prototype.closed;
6647 /** @type {?} */
6648 AccordionItem.prototype.itemClass;
6649 /**
6650 * Sets if the item is expanded.
6651 * @type {?}
6652 */
6653 AccordionItem.prototype.expanded;
6654 /** @type {?} */
6655 AccordionItem.prototype.itemType;
6656 /** @type {?} */
6657 AccordionItem.prototype.role;
6658 /** @type {?} */
6659 AccordionItem.prototype.ariaLevel;
6660 /**
6661 * @type {?}
6662 * @private
6663 */
6664 AccordionItem.prototype.alive;
6665 /**
6666 * @type {?}
6667 * @private
6668 */
6669 AccordionItem.prototype.skeletonSubscription;
6670 /**
6671 * @type {?}
6672 * @private
6673 */
6674 AccordionItem.prototype.openSubscription;
6675 /**
6676 * @type {?}
6677 * @private
6678 */
6679 AccordionItem.prototype.accordion;
6680}
6681
6682/**
6683 * @fileoverview added by tsickle
6684 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6685 */
6686var AccordionModule = /** @class */ (function () {
6687 function AccordionModule() {
6688 }
6689 AccordionModule.decorators = [
6690 { type: NgModule, args: [{
6691 declarations: [
6692 Accordion,
6693 AccordionItem
6694 ],
6695 exports: [
6696 Accordion,
6697 AccordionItem
6698 ],
6699 imports: [
6700 CommonModule,
6701 IconModule,
6702 ]
6703 },] }
6704 ];
6705 return AccordionModule;
6706}());
6707
6708/**
6709 * @fileoverview added by tsickle
6710 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6711 */
6712var ListItemDirective = /** @class */ (function () {
6713 function ListItemDirective() {
6714 this.wrapper = true;
6715 }
6716 ListItemDirective.decorators = [
6717 { type: Directive, args: [{
6718 selector: '[sukaListItem]'
6719 },] }
6720 ];
6721 ListItemDirective.propDecorators = {
6722 wrapper: [{ type: HostBinding, args: ['class.list__item',] }]
6723 };
6724 return ListItemDirective;
6725}());
6726if (false) {
6727 /** @type {?} */
6728 ListItemDirective.prototype.wrapper;
6729}
6730
6731/**
6732 * @fileoverview added by tsickle
6733 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6734 */
6735var List = /** @class */ (function () {
6736 function List(elementRef) {
6737 this.elementRef = elementRef;
6738 }
6739 Object.defineProperty(List.prototype, "ordered", {
6740 get: /**
6741 * @return {?}
6742 */
6743 function () {
6744 if (this.nested) {
6745 return false;
6746 }
6747 return this.elementRef.nativeElement.tagName === 'OL';
6748 },
6749 enumerable: true,
6750 configurable: true
6751 });
6752 Object.defineProperty(List.prototype, "unordered", {
6753 get: /**
6754 * @return {?}
6755 */
6756 function () {
6757 if (this.nested) {
6758 return false;
6759 }
6760 return this.elementRef.nativeElement.tagName === 'UL';
6761 },
6762 enumerable: true,
6763 configurable: true
6764 });
6765 Object.defineProperty(List.prototype, "nested", {
6766 get: /**
6767 * @return {?}
6768 */
6769 function () {
6770 return this.elementRef.nativeElement.parentElement.tagName === 'LI';
6771 },
6772 enumerable: true,
6773 configurable: true
6774 });
6775 List.decorators = [
6776 { type: Directive, args: [{
6777 selector: '[sukaList]'
6778 },] }
6779 ];
6780 /** @nocollapse */
6781 List.ctorParameters = function () { return [
6782 { type: ElementRef }
6783 ]; };
6784 List.propDecorators = {
6785 ordered: [{ type: HostBinding, args: ['class.list--ordered',] }],
6786 unordered: [{ type: HostBinding, args: ['class.list--unordered',] }],
6787 nested: [{ type: HostBinding, args: ['class.list--nested',] }]
6788 };
6789 return List;
6790}());
6791if (false) {
6792 /**
6793 * @type {?}
6794 * @protected
6795 */
6796 List.prototype.elementRef;
6797}
6798
6799/**
6800 * @fileoverview added by tsickle
6801 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6802 */
6803var ListModule = /** @class */ (function () {
6804 function ListModule() {
6805 }
6806 ListModule.decorators = [
6807 { type: NgModule, args: [{
6808 declarations: [
6809 ListItemDirective,
6810 List
6811 ],
6812 exports: [
6813 ListItemDirective,
6814 List
6815 ],
6816 imports: [CommonModule]
6817 },] }
6818 ];
6819 return ListModule;
6820}());
6821
6822/**
6823 * @fileoverview added by tsickle
6824 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6825 */
6826/**
6827 * Used to emit changes performed on number input components.
6828 */
6829var /**
6830 * Used to emit changes performed on number input components.
6831 */
6832NumberChange = /** @class */ (function () {
6833 function NumberChange() {
6834 }
6835 return NumberChange;
6836}());
6837if (false) {
6838 /**
6839 * Contains the `Number` that has been changed.
6840 * @type {?}
6841 */
6842 NumberChange.prototype.source;
6843 /**
6844 * The value of the `Number` field encompassed in the `NumberChange` class.
6845 * @type {?}
6846 */
6847 NumberChange.prototype.value;
6848}
6849
6850/**
6851 * @fileoverview added by tsickle
6852 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6853 */
6854var Number = /** @class */ (function () {
6855 /**
6856 * Creates an instance of `Number`.
6857 */
6858 function Number() {
6859 this.containerClass = true;
6860 /**
6861 * Set to `true` for a disabled number input.
6862 */
6863 this.disabled = false;
6864 /**
6865 * Set to `true` for a loading number component.
6866 */
6867 this.skeleton = false;
6868 /**
6869 * Set to `true` for an invalid number component.
6870 */
6871 this.invalid = false;
6872 /**
6873 * Set to `true` for a valid number component.
6874 */
6875 this.valid = false;
6876 /**
6877 * The unique id for the number component.
6878 */
6879 this.id = "number-input-" + Number.numberCount;
6880 /**
6881 * Sets the value attribute on the `input` element.
6882 */
6883 this.value = 0;
6884 /**
6885 * Sets the min attribute on the `input` element.
6886 */
6887 this.min = null;
6888 /**
6889 * Sets the max attribute on the `input` element.
6890 */
6891 this.max = null;
6892 /**
6893 * Emits event notifying other classes when a change in state occurs in the input.
6894 */
6895 // tslint:disable-next-line: no-output-native
6896 this.change = new EventEmitter();
6897 /**
6898 * Called when number input is blurred. Needed to properly implement `ControlValueAccessor`.
6899 */
6900 this.onTouched = (/**
6901 * @return {?}
6902 */
6903 function () { });
6904 /**
6905 * Method set in `registerOnChange` to propagate changes back to the form.
6906 */
6907 this.propagateChange = (/**
6908 * @param {?} _
6909 * @return {?}
6910 */
6911 function (_) { });
6912 Number.numberCount++;
6913 }
6914 /**
6915 * This is the initial value set to the component
6916 * @param value The input value.
6917 */
6918 /**
6919 * This is the initial value set to the component
6920 * @param {?} value The input value.
6921 * @return {?}
6922 */
6923 Number.prototype.writeValue = /**
6924 * This is the initial value set to the component
6925 * @param {?} value The input value.
6926 * @return {?}
6927 */
6928 function (value) {
6929 this.value = value;
6930 };
6931 /**
6932 * Sets a method in order to propagate changes back to the form.
6933 */
6934 /**
6935 * Sets a method in order to propagate changes back to the form.
6936 * @param {?} fn
6937 * @return {?}
6938 */
6939 Number.prototype.registerOnChange = /**
6940 * Sets a method in order to propagate changes back to the form.
6941 * @param {?} fn
6942 * @return {?}
6943 */
6944 function (fn) {
6945 this.propagateChange = fn;
6946 };
6947 /**
6948 * Registers a callback to be triggered when the control has been touched.
6949 * @param fn Callback to be triggered when the number input is touched.
6950 */
6951 /**
6952 * Registers a callback to be triggered when the control has been touched.
6953 * @param {?} fn Callback to be triggered when the number input is touched.
6954 * @return {?}
6955 */
6956 Number.prototype.registerOnTouched = /**
6957 * Registers a callback to be triggered when the control has been touched.
6958 * @param {?} fn Callback to be triggered when the number input is touched.
6959 * @return {?}
6960 */
6961 function (fn) {
6962 this.onTouched = fn;
6963 };
6964 /**
6965 * Sets the disabled state through the model
6966 */
6967 /**
6968 * Sets the disabled state through the model
6969 * @param {?} isDisabled
6970 * @return {?}
6971 */
6972 Number.prototype.setDisabledState = /**
6973 * Sets the disabled state through the model
6974 * @param {?} isDisabled
6975 * @return {?}
6976 */
6977 function (isDisabled) {
6978 this.disabled = isDisabled;
6979 };
6980 /**
6981 * Adds 1 to the current `value`.
6982 */
6983 /**
6984 * Adds 1 to the current `value`.
6985 * @return {?}
6986 */
6987 Number.prototype.onIncrement = /**
6988 * Adds 1 to the current `value`.
6989 * @return {?}
6990 */
6991 function () {
6992 if (this.max === null || this.value < this.max) {
6993 this.value++;
6994 this.emitChangeEvent();
6995 }
6996 };
6997 /**
6998 * Subtracts 1 to the current `value`.
6999 */
7000 /**
7001 * Subtracts 1 to the current `value`.
7002 * @return {?}
7003 */
7004 Number.prototype.onDecrement = /**
7005 * Subtracts 1 to the current `value`.
7006 * @return {?}
7007 */
7008 function () {
7009 if (this.min === null || this.value > this.min) {
7010 this.value--;
7011 this.emitChangeEvent();
7012 }
7013 };
7014 /**
7015 * Creates a class of `NumberChange` to emit the change in the `Number`.
7016 */
7017 /**
7018 * Creates a class of `NumberChange` to emit the change in the `Number`.
7019 * @return {?}
7020 */
7021 Number.prototype.emitChangeEvent = /**
7022 * Creates a class of `NumberChange` to emit the change in the `Number`.
7023 * @return {?}
7024 */
7025 function () {
7026 /** @type {?} */
7027 var event = new NumberChange();
7028 event.source = this;
7029 event.value = this.value;
7030 this.change.emit(event);
7031 this.propagateChange(this.value);
7032 };
7033 /**
7034 * @param {?} event
7035 * @return {?}
7036 */
7037 Number.prototype.onNumberInputChange = /**
7038 * @param {?} event
7039 * @return {?}
7040 */
7041 function (event) {
7042 this.value = event.target.value;
7043 this.emitChangeEvent();
7044 };
7045 /**
7046 * @param {?} value
7047 * @return {?}
7048 */
7049 Number.prototype.isTemplate = /**
7050 * @param {?} value
7051 * @return {?}
7052 */
7053 function (value) {
7054 return value instanceof TemplateRef;
7055 };
7056 /**
7057 * Variable used for creating unique ids for number input components.
7058 */
7059 Number.numberCount = 0;
7060 Number.decorators = [
7061 { type: Component, args: [{
7062 selector: 'suka-number',
7063 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 ",
7064 providers: [
7065 {
7066 provide: NG_VALUE_ACCESSOR,
7067 useExisting: Number,
7068 multi: true
7069 }
7070 ]
7071 }] }
7072 ];
7073 /** @nocollapse */
7074 Number.ctorParameters = function () { return []; };
7075 Number.propDecorators = {
7076 containerClass: [{ type: HostBinding, args: ['class.form-item',] }],
7077 disabled: [{ type: Input }],
7078 skeleton: [{ type: Input }],
7079 invalid: [{ type: Input }],
7080 valid: [{ type: Input }],
7081 id: [{ type: Input }],
7082 required: [{ type: Input }],
7083 value: [{ type: Input }],
7084 min: [{ type: Input }],
7085 max: [{ type: Input }],
7086 label: [{ type: Input }],
7087 prefix: [{ type: Input }],
7088 helperText: [{ type: Input }],
7089 invalidText: [{ type: Input }],
7090 change: [{ type: Output }]
7091 };
7092 return Number;
7093}());
7094if (false) {
7095 /**
7096 * Variable used for creating unique ids for number input components.
7097 * @type {?}
7098 */
7099 Number.numberCount;
7100 /** @type {?} */
7101 Number.prototype.containerClass;
7102 /**
7103 * Set to `true` for a disabled number input.
7104 * @type {?}
7105 */
7106 Number.prototype.disabled;
7107 /**
7108 * Set to `true` for a loading number component.
7109 * @type {?}
7110 */
7111 Number.prototype.skeleton;
7112 /**
7113 * Set to `true` for an invalid number component.
7114 * @type {?}
7115 */
7116 Number.prototype.invalid;
7117 /**
7118 * Set to `true` for a valid number component.
7119 * @type {?}
7120 */
7121 Number.prototype.valid;
7122 /**
7123 * The unique id for the number component.
7124 * @type {?}
7125 */
7126 Number.prototype.id;
7127 /**
7128 * Reflects the required attribute of the `input` element.
7129 * @type {?}
7130 */
7131 Number.prototype.required;
7132 /**
7133 * Sets the value attribute on the `input` element.
7134 * @type {?}
7135 */
7136 Number.prototype.value;
7137 /**
7138 * Sets the min attribute on the `input` element.
7139 * @type {?}
7140 */
7141 Number.prototype.min;
7142 /**
7143 * Sets the max attribute on the `input` element.
7144 * @type {?}
7145 */
7146 Number.prototype.max;
7147 /**
7148 * Sets the text inside the `label` tag.
7149 * @type {?}
7150 */
7151 Number.prototype.label;
7152 /**
7153 * Sets the a prefix for the input wrapper.
7154 * @type {?}
7155 */
7156 Number.prototype.prefix;
7157 /**
7158 * Sets the optional helper text.
7159 * @type {?}
7160 */
7161 Number.prototype.helperText;
7162 /**
7163 * Sets the invalid text.
7164 * @type {?}
7165 */
7166 Number.prototype.invalidText;
7167 /**
7168 * Emits event notifying other classes when a change in state occurs in the input.
7169 * @type {?}
7170 */
7171 Number.prototype.change;
7172 /**
7173 * Called when number input is blurred. Needed to properly implement `ControlValueAccessor`.
7174 * @type {?}
7175 */
7176 Number.prototype.onTouched;
7177 /**
7178 * Method set in `registerOnChange` to propagate changes back to the form.
7179 * @type {?}
7180 */
7181 Number.prototype.propagateChange;
7182}
7183
7184/**
7185 * @fileoverview added by tsickle
7186 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
7187 */
7188var NumberModule = /** @class */ (function () {
7189 function NumberModule() {
7190 }
7191 NumberModule.decorators = [
7192 { type: NgModule, args: [{
7193 declarations: [
7194 Number
7195 ],
7196 exports: [
7197 Number
7198 ],
7199 imports: [
7200 FormsModule,
7201 CommonModule,
7202 IconModule,
7203 ]
7204 },] }
7205 ];
7206 return NumberModule;
7207}());
7208
7209/**
7210 * @fileoverview added by tsickle
7211 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
7212 */
7213var Search = /** @class */ (function () {
7214 /**
7215 * Creates an instance of `Search`.
7216 */
7217 function Search(elementRef) {
7218 this.elementRef = elementRef;
7219 /**
7220 * Set to `true` for a disabled search input.
7221 */
7222 this.disabled = false;
7223 /**
7224 * Set to `true` for a toolbar search component.
7225 */
7226 this.toolbar = false;
7227 /**
7228 * Set to `true` for a loading search component.
7229 */
7230 this.skeleton = false;
7231 /**
7232 * Set to `true` to expand the toolbar search component.
7233 */
7234 this.active = false;
7235 /**
7236 * Specifies whether the search component is used in the table toolbar.
7237 */
7238 this.tableSearch = false;
7239 /**
7240 * The unique id for the search component.
7241 */
7242 this.id = "search-" + Search.searchCount;
7243 /**
7244 * Sets the value attribute on the `input` element.
7245 */
7246 this.value = '';
7247 /**
7248 * Sets the autocomplete attribute on the `input` element.
7249 * For reference: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete#Values
7250 */
7251 this.autocomplete = 'on';
7252 /**
7253 * Sets the text inside the `label` tag.
7254 */
7255 this.label = 'Búsqueda'; // TODO: i18n
7256 // TODO: i18n
7257 /**
7258 * Sets the placeholder attribute on the `input` element.
7259 */
7260 this.placeholder = 'Buscar'; // TODO: i18n
7261 // TODO: i18n
7262 /**
7263 * Used to set the `title` attribute of the clear button.
7264 */
7265 this.clearButtonTitle = 'Limpiar'; // TODO: i18n
7266 // TODO: i18n
7267 /**
7268 * Emits an event when value is changed.
7269 */
7270 this.valueChange = new EventEmitter();
7271 /**
7272 * Emits an event when the clear button is clicked.
7273 */
7274 this.clear = new EventEmitter();
7275 /**
7276 * Called when search input is blurred. Needed to properly implement `ControlValueAccessor`.
7277 */
7278 this.onTouched = (/**
7279 * @return {?}
7280 */
7281 function () { });
7282 /**
7283 * Method set in `registerOnChange` to propagate changes back to the form.
7284 */
7285 this.propagateChange = (/**
7286 * @param {?} _
7287 * @return {?}
7288 */
7289 function (_) { });
7290 Search.searchCount++;
7291 }
7292 Object.defineProperty(Search.prototype, "containerClass", {
7293 get: /**
7294 * @return {?}
7295 */
7296 function () { return !this.toolbar; },
7297 enumerable: true,
7298 configurable: true
7299 });
7300 /**
7301 * This is the initial value set to the component
7302 * @param value The input value.
7303 */
7304 /**
7305 * This is the initial value set to the component
7306 * @param {?} value The input value.
7307 * @return {?}
7308 */
7309 Search.prototype.writeValue = /**
7310 * This is the initial value set to the component
7311 * @param {?} value The input value.
7312 * @return {?}
7313 */
7314 function (value) {
7315 this.value = value;
7316 };
7317 /**
7318 * Sets a method in order to propagate changes back to the form.
7319 */
7320 /**
7321 * Sets a method in order to propagate changes back to the form.
7322 * @param {?} fn
7323 * @return {?}
7324 */
7325 Search.prototype.registerOnChange = /**
7326 * Sets a method in order to propagate changes back to the form.
7327 * @param {?} fn
7328 * @return {?}
7329 */
7330 function (fn) {
7331 this.propagateChange = fn;
7332 };
7333 /**
7334 * Registers a callback to be triggered when the control has been touched.
7335 * @param fn Callback to be triggered when the search input is touched.
7336 */
7337 /**
7338 * Registers a callback to be triggered when the control has been touched.
7339 * @param {?} fn Callback to be triggered when the search input is touched.
7340 * @return {?}
7341 */
7342 Search.prototype.registerOnTouched = /**
7343 * Registers a callback to be triggered when the control has been touched.
7344 * @param {?} fn Callback to be triggered when the search input is touched.
7345 * @return {?}
7346 */
7347 function (fn) {
7348 this.onTouched = fn;
7349 };
7350 /**
7351 * Called when text is written in the input.
7352 * @param search The input text.
7353 */
7354 /**
7355 * Called when text is written in the input.
7356 * @param {?} search The input text.
7357 * @return {?}
7358 */
7359 Search.prototype.onSearch = /**
7360 * Called when text is written in the input.
7361 * @param {?} search The input text.
7362 * @return {?}
7363 */
7364 function (search) {
7365 this.value = search;
7366 this.doValueChange();
7367 };
7368 /**
7369 * Called when clear button is clicked.
7370 */
7371 /**
7372 * Called when clear button is clicked.
7373 * @return {?}
7374 */
7375 Search.prototype.clearSearch = /**
7376 * Called when clear button is clicked.
7377 * @return {?}
7378 */
7379 function () {
7380 this.value = '';
7381 this.clear.emit();
7382 this.propagateChange(this.value);
7383 };
7384 /**
7385 * @return {?}
7386 */
7387 Search.prototype.doValueChange = /**
7388 * @return {?}
7389 */
7390 function () {
7391 this.valueChange.emit(this.value);
7392 this.propagateChange(this.value);
7393 };
7394 /**
7395 * @return {?}
7396 */
7397 Search.prototype.openSearch = /**
7398 * @return {?}
7399 */
7400 function () {
7401 var _this = this;
7402 this.active = true;
7403 setTimeout((/**
7404 * @return {?}
7405 */
7406 function () { return _this.inputRef.nativeElement.focus(); }));
7407 };
7408 /**
7409 * @param {?} event
7410 * @return {?}
7411 */
7412 Search.prototype.keyDown = /**
7413 * @param {?} event
7414 * @return {?}
7415 */
7416 function (event) {
7417 if (this.toolbar) {
7418 if (event.key === 'Escape') {
7419 this.active = false;
7420 }
7421 else if (event.key === 'Enter') {
7422 this.openSearch();
7423 }
7424 }
7425 };
7426 /**
7427 * @param {?} event
7428 * @return {?}
7429 */
7430 Search.prototype.focusOut = /**
7431 * @param {?} event
7432 * @return {?}
7433 */
7434 function (event) {
7435 if (this.toolbar &&
7436 this.inputRef.nativeElement.value === '' &&
7437 event.relatedTarget === null) {
7438 this.active = false;
7439 }
7440 };
7441 /**
7442 * Variable used for creating unique ids for search components.
7443 */
7444 Search.searchCount = 0;
7445 Search.decorators = [
7446 { type: Component, args: [{
7447 selector: 'suka-search',
7448 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 ",
7449 providers: [
7450 {
7451 provide: NG_VALUE_ACCESSOR,
7452 useExisting: Search,
7453 multi: true
7454 }
7455 ]
7456 }] }
7457 ];
7458 /** @nocollapse */
7459 Search.ctorParameters = function () { return [
7460 { type: ElementRef }
7461 ]; };
7462 Search.propDecorators = {
7463 containerClass: [{ type: HostBinding, args: ['class.form-item',] }],
7464 disabled: [{ type: Input }],
7465 toolbar: [{ type: Input }],
7466 skeleton: [{ type: Input }],
7467 active: [{ type: Input }],
7468 tableSearch: [{ type: Input }],
7469 name: [{ type: Input }],
7470 id: [{ type: Input }],
7471 required: [{ type: Input }],
7472 value: [{ type: Input }],
7473 autocomplete: [{ type: Input }],
7474 label: [{ type: Input }],
7475 placeholder: [{ type: Input }],
7476 clearButtonTitle: [{ type: Input }],
7477 valueChange: [{ type: Output }],
7478 clear: [{ type: Output }],
7479 inputRef: [{ type: ViewChild, args: ['input', { static: false },] }],
7480 keyDown: [{ type: HostListener, args: ['keydown', ['$event'],] }],
7481 focusOut: [{ type: HostListener, args: ['focusout', ['$event'],] }]
7482 };
7483 return Search;
7484}());
7485if (false) {
7486 /**
7487 * Variable used for creating unique ids for search components.
7488 * @type {?}
7489 */
7490 Search.searchCount;
7491 /**
7492 * Set to `true` for a disabled search input.
7493 * @type {?}
7494 */
7495 Search.prototype.disabled;
7496 /**
7497 * Set to `true` for a toolbar search component.
7498 * @type {?}
7499 */
7500 Search.prototype.toolbar;
7501 /**
7502 * Set to `true` for a loading search component.
7503 * @type {?}
7504 */
7505 Search.prototype.skeleton;
7506 /**
7507 * Set to `true` to expand the toolbar search component.
7508 * @type {?}
7509 */
7510 Search.prototype.active;
7511 /**
7512 * Specifies whether the search component is used in the table toolbar.
7513 * @type {?}
7514 */
7515 Search.prototype.tableSearch;
7516 /**
7517 * Sets the name attribute on the `input` element.
7518 * @type {?}
7519 */
7520 Search.prototype.name;
7521 /**
7522 * The unique id for the search component.
7523 * @type {?}
7524 */
7525 Search.prototype.id;
7526 /**
7527 * Reflects the required attribute of the `input` element.
7528 * @type {?}
7529 */
7530 Search.prototype.required;
7531 /**
7532 * Sets the value attribute on the `input` element.
7533 * @type {?}
7534 */
7535 Search.prototype.value;
7536 /**
7537 * Sets the autocomplete attribute on the `input` element.
7538 * For reference: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete#Values
7539 * @type {?}
7540 */
7541 Search.prototype.autocomplete;
7542 /**
7543 * Sets the text inside the `label` tag.
7544 * @type {?}
7545 */
7546 Search.prototype.label;
7547 /**
7548 * Sets the placeholder attribute on the `input` element.
7549 * @type {?}
7550 */
7551 Search.prototype.placeholder;
7552 /**
7553 * Used to set the `title` attribute of the clear button.
7554 * @type {?}
7555 */
7556 Search.prototype.clearButtonTitle;
7557 /**
7558 * Emits an event when value is changed.
7559 * @type {?}
7560 */
7561 Search.prototype.valueChange;
7562 /**
7563 * Emits an event when the clear button is clicked.
7564 * @type {?}
7565 */
7566 Search.prototype.clear;
7567 /** @type {?} */
7568 Search.prototype.inputRef;
7569 /**
7570 * Called when search input is blurred. Needed to properly implement `ControlValueAccessor`.
7571 * @type {?}
7572 */
7573 Search.prototype.onTouched;
7574 /**
7575 * Method set in `registerOnChange` to propagate changes back to the form.
7576 * @type {?}
7577 */
7578 Search.prototype.propagateChange;
7579 /**
7580 * @type {?}
7581 * @protected
7582 */
7583 Search.prototype.elementRef;
7584}
7585
7586/**
7587 * @fileoverview added by tsickle
7588 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
7589 */
7590var SearchModule = /** @class */ (function () {
7591 function SearchModule() {
7592 }
7593 SearchModule.decorators = [
7594 { type: NgModule, args: [{
7595 declarations: [
7596 Search
7597 ],
7598 exports: [
7599 Search
7600 ],
7601 imports: [
7602 FormsModule,
7603 CommonModule,
7604 IconModule,
7605 ]
7606 },] }
7607 ];
7608 return SearchModule;
7609}());
7610
7611/**
7612 * @fileoverview added by tsickle
7613 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
7614 */
7615var TabItem = /** @class */ (function () {
7616 function TabItem() {
7617 /**
7618 * Set to `true` to activate the tab (display it).
7619 */
7620 this.active = false;
7621 /**
7622 * Callback when the tab is selected.
7623 */
7624 this.selected = new EventEmitter();
7625 }
7626 /**
7627 * @return {?}
7628 */
7629 TabItem.prototype.ngOnChanges = /**
7630 * @return {?}
7631 */
7632 function () {
7633 if (this.active === true) {
7634 this.selected.emit(this.title);
7635 }
7636 };
7637 TabItem.decorators = [
7638 { type: Component, args: [{
7639 selector: 'suka-tab',
7640 template: "\n <div [hidden]=\"!active\" class=\"tabs__tab-item\">\n <ng-content></ng-content>\n </div>\n "
7641 }] }
7642 ];
7643 TabItem.propDecorators = {
7644 title: [{ type: Input }],
7645 active: [{ type: Input }],
7646 selected: [{ type: Output }]
7647 };
7648 return TabItem;
7649}());
7650if (false) {
7651 /**
7652 * Sets the tab title.
7653 * @type {?}
7654 */
7655 TabItem.prototype.title;
7656 /**
7657 * Set to `true` to activate the tab (display it).
7658 * @type {?}
7659 */
7660 TabItem.prototype.active;
7661 /**
7662 * Callback when the tab is selected.
7663 * @type {?}
7664 */
7665 TabItem.prototype.selected;
7666}
7667
7668/**
7669 * @fileoverview added by tsickle
7670 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
7671 */
7672var Tabs = /** @class */ (function () {
7673 function Tabs() {
7674 /**
7675 * Set to `true` to fit tabs to container.
7676 */
7677 this.fitted = false;
7678 }
7679 /**
7680 * @return {?}
7681 */
7682 Tabs.prototype.ngAfterContentInit = /**
7683 * @return {?}
7684 */
7685 function () {
7686 /** @type {?} */
7687 var activeTabs = this.tabs.filter((/**
7688 * @param {?} tab
7689 * @return {?}
7690 */
7691 function (tab) { return tab.active; }));
7692 if (activeTabs.length === 0) {
7693 this.selectTab(this.tabs.first);
7694 }
7695 };
7696 /**
7697 * Selects a particular tab and activates it.
7698 */
7699 /**
7700 * Selects a particular tab and activates it.
7701 * @param {?} tabItem
7702 * @return {?}
7703 */
7704 Tabs.prototype.selectTab = /**
7705 * Selects a particular tab and activates it.
7706 * @param {?} tabItem
7707 * @return {?}
7708 */
7709 function (tabItem) {
7710 this.tabs.toArray().forEach((/**
7711 * @param {?} tab
7712 * @return {?}
7713 */
7714 function (tab) { return tab.active = false; }));
7715 tabItem.active = true;
7716 tabItem.ngOnChanges();
7717 };
7718 Tabs.decorators = [
7719 { type: Component, args: [{
7720 selector: 'suka-tabs',
7721 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 "
7722 }] }
7723 ];
7724 Tabs.propDecorators = {
7725 fitted: [{ type: HostBinding, args: ['class.tabs-fitted',] }, { type: Input }],
7726 tabs: [{ type: ContentChildren, args: [TabItem,] }]
7727 };
7728 return Tabs;
7729}());
7730if (false) {
7731 /**
7732 * Set to `true` to fit tabs to container.
7733 * @type {?}
7734 */
7735 Tabs.prototype.fitted;
7736 /**
7737 * List of tabs associated to the main wrapper.
7738 * @type {?}
7739 */
7740 Tabs.prototype.tabs;
7741}
7742
7743/**
7744 * @fileoverview added by tsickle
7745 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
7746 */
7747var TabsModule = /** @class */ (function () {
7748 function TabsModule() {
7749 }
7750 TabsModule.decorators = [
7751 { type: NgModule, args: [{
7752 declarations: [
7753 Tabs,
7754 TabItem,
7755 ],
7756 exports: [
7757 Tabs,
7758 TabItem,
7759 ],
7760 imports: [
7761 CommonModule
7762 ]
7763 },] }
7764 ];
7765 return TabsModule;
7766}());
7767
7768/**
7769 * @fileoverview added by tsickle
7770 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
7771 */
7772var TooltipContainer = /** @class */ (function () {
7773 function TooltipContainer() {
7774 this.renderMethod = 'component';
7775 this.position = 'bottom';
7776 }
7777 /**
7778 * @return {?}
7779 */
7780 TooltipContainer.prototype.ngOnInit = /**
7781 * @return {?}
7782 */
7783 function () {
7784 if (typeof this.content === 'string') {
7785 this.renderMethod = 'text';
7786 }
7787 if (this.content instanceof TemplateRef) {
7788 this.renderMethod = 'template';
7789 }
7790 };
7791 TooltipContainer.decorators = [
7792 { type: Component, args: [{
7793 selector: 'suka-tooltip',
7794 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>",
7795 animations: [
7796 trigger('tooltip', [
7797 transition(':enter', [
7798 style({ opacity: 0 }),
7799 animate('0.2s ease-in', style({ opacity: 1 })),
7800 ]),
7801 transition(':leave', [
7802 animate(200, style({ opacity: 0 })),
7803 ]),
7804 ]),
7805 ]
7806 }] }
7807 ];
7808 TooltipContainer.propDecorators = {
7809 content: [{ type: Input }],
7810 position: [{ type: Input }]
7811 };
7812 return TooltipContainer;
7813}());
7814if (false) {
7815 /** @type {?} */
7816 TooltipContainer.prototype.renderMethod;
7817 /** @type {?} */
7818 TooltipContainer.prototype.content;
7819 /** @type {?} */
7820 TooltipContainer.prototype.position;
7821}
7822
7823/**
7824 * @fileoverview added by tsickle
7825 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
7826 */
7827/** @type {?} */
7828var positions = {
7829 top: {
7830 originX: 'center',
7831 originY: 'top',
7832 overlayX: 'center',
7833 overlayY: 'bottom',
7834 offsetY: -8,
7835 },
7836 right: {
7837 originX: 'end',
7838 originY: 'center',
7839 overlayX: 'start',
7840 overlayY: 'center',
7841 offsetX: 8,
7842 },
7843 bottom: {
7844 originX: 'center',
7845 originY: 'bottom',
7846 overlayX: 'center',
7847 overlayY: 'top',
7848 offsetY: 8,
7849 },
7850 left: {
7851 originX: 'start',
7852 originY: 'center',
7853 overlayX: 'end',
7854 overlayY: 'center',
7855 offsetX: -8,
7856 }
7857};
7858var Tooltip = /** @class */ (function () {
7859 function Tooltip(overlay, overlayPositionBuilder, elementRef) {
7860 this.overlay = overlay;
7861 this.overlayPositionBuilder = overlayPositionBuilder;
7862 this.elementRef = elementRef;
7863 this.open = false;
7864 /**
7865 * The tooltip content
7866 */
7867 this.content = '';
7868 /**
7869 * Sets the tooltip trigger behaviour. Defaults to `hover`.
7870 */
7871 this.trigger = 'hover';
7872 /**
7873 * Sets the tooltip position according to the trigger component.
7874 */
7875 this.position = 'bottom';
7876 }
7877 /**
7878 * @return {?}
7879 */
7880 Tooltip.prototype.ngOnInit = /**
7881 * @return {?}
7882 */
7883 function () {
7884 /** @type {?} */
7885 var positionStrategy = this.overlayPositionBuilder
7886 .flexibleConnectedTo(this.elementRef)
7887 .withPositions([(/** @type {?} */ (positions[this.position]))]);
7888 this.overlayRef = this.overlay.create({
7889 positionStrategy: positionStrategy,
7890 scrollStrategy: this.overlay.scrollStrategies.close(),
7891 });
7892 };
7893 /**
7894 * @private
7895 * @return {?}
7896 */
7897 Tooltip.prototype.show = /**
7898 * @private
7899 * @return {?}
7900 */
7901 function () {
7902 this.open = true;
7903 /** @type {?} */
7904 var tooltipRef = this.overlayRef.attach(new ComponentPortal(TooltipContainer));
7905 tooltipRef.instance.content = this.content;
7906 tooltipRef.instance.position = this.position;
7907 };
7908 /**
7909 * @private
7910 * @return {?}
7911 */
7912 Tooltip.prototype.hide = /**
7913 * @private
7914 * @return {?}
7915 */
7916 function () {
7917 this.open = false;
7918 this.overlayRef.detach();
7919 };
7920 /**
7921 * @return {?}
7922 */
7923 Tooltip.prototype.onMouseEnter = /**
7924 * @return {?}
7925 */
7926 function () {
7927 if (this.trigger === 'hover') {
7928 this.show();
7929 }
7930 };
7931 /**
7932 * @return {?}
7933 */
7934 Tooltip.prototype.onMouseOut = /**
7935 * @return {?}
7936 */
7937 function () {
7938 if (this.trigger === 'hover') {
7939 this.hide();
7940 }
7941 };
7942 /**
7943 * @return {?}
7944 */
7945 Tooltip.prototype.onClick = /**
7946 * @return {?}
7947 */
7948 function () {
7949 var _this = this;
7950 if (this.trigger === 'click') {
7951 this.open ? this.hide() : this.show();
7952 if (this.duration) {
7953 setTimeout((/**
7954 * @return {?}
7955 */
7956 function () {
7957 _this.hide();
7958 }), this.duration);
7959 }
7960 }
7961 };
7962 Tooltip.decorators = [
7963 { type: Directive, args: [{ selector: '[sukaTooltip]' },] }
7964 ];
7965 /** @nocollapse */
7966 Tooltip.ctorParameters = function () { return [
7967 { type: Overlay },
7968 { type: OverlayPositionBuilder },
7969 { type: ElementRef }
7970 ]; };
7971 Tooltip.propDecorators = {
7972 content: [{ type: Input, args: ['sukaTooltip',] }],
7973 trigger: [{ type: Input, args: ['tooltipTrigger',] }],
7974 position: [{ type: Input, args: ['tooltipPosition',] }],
7975 duration: [{ type: Input, args: ['tooltipDuration',] }],
7976 onMouseEnter: [{ type: HostListener, args: ['mouseenter',] }],
7977 onMouseOut: [{ type: HostListener, args: ['mouseout',] }],
7978 onClick: [{ type: HostListener, args: ['click',] }]
7979 };
7980 return Tooltip;
7981}());
7982if (false) {
7983 /**
7984 * @type {?}
7985 * @private
7986 */
7987 Tooltip.prototype.overlayRef;
7988 /**
7989 * @type {?}
7990 * @private
7991 */
7992 Tooltip.prototype.open;
7993 /**
7994 * The tooltip content
7995 * @type {?}
7996 */
7997 Tooltip.prototype.content;
7998 /**
7999 * Sets the tooltip trigger behaviour. Defaults to `hover`.
8000 * @type {?}
8001 */
8002 Tooltip.prototype.trigger;
8003 /**
8004 * Sets the tooltip position according to the trigger component.
8005 * @type {?}
8006 */
8007 Tooltip.prototype.position;
8008 /**
8009 * Sets a duration for the tooltip. If not set, it runs indefinitely.
8010 * @type {?}
8011 */
8012 Tooltip.prototype.duration;
8013 /**
8014 * @type {?}
8015 * @private
8016 */
8017 Tooltip.prototype.overlay;
8018 /**
8019 * @type {?}
8020 * @private
8021 */
8022 Tooltip.prototype.overlayPositionBuilder;
8023 /**
8024 * @type {?}
8025 * @private
8026 */
8027 Tooltip.prototype.elementRef;
8028}
8029
8030/**
8031 * @fileoverview added by tsickle
8032 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
8033 */
8034var TooltipModule = /** @class */ (function () {
8035 function TooltipModule() {
8036 }
8037 TooltipModule.decorators = [
8038 { type: NgModule, args: [{
8039 declarations: [
8040 TooltipContainer,
8041 Tooltip,
8042 ],
8043 exports: [
8044 TooltipContainer,
8045 Tooltip,
8046 ],
8047 imports: [
8048 CommonModule,
8049 OverlayModule
8050 ],
8051 entryComponents: [
8052 TooltipContainer
8053 ]
8054 },] }
8055 ];
8056 return TooltipModule;
8057}());
8058
8059/**
8060 * @fileoverview added by tsickle
8061 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
8062 */
8063var ɵ0 = /**
8064 * @param {?} iconDef
8065 * @return {?}
8066 */
8067function (iconDef) { return iconDef.name === 'arrow-right'; };
8068/** @type {?} */
8069var arrowImg = iconDefs.find((ɵ0)).template;
8070var ɵ1 = /**
8071 * @param {?} iconDef
8072 * @return {?}
8073 */
8074function (iconDef) { return iconDef.name === 'external-link'; };
8075/** @type {?} */
8076var externalImg = iconDefs.find((ɵ1)).template;
8077var Link = /** @class */ (function () {
8078 function Link(elementRef, renderer, document) {
8079 this.elementRef = elementRef;
8080 this.renderer = renderer;
8081 this.document = document;
8082 this.baseClass = true;
8083 /**
8084 * Set to `true` to display an arrow next to the link
8085 */
8086 this.arrow = false;
8087 }
8088 Object.defineProperty(Link.prototype, "disabled", {
8089 get: /**
8090 * @return {?}
8091 */
8092 function () {
8093 return this._disabled;
8094 },
8095 /**
8096 * Set to `true` to disable the link.
8097 */
8098 set: /**
8099 * Set to `true` to disable the link.
8100 * @param {?} disabled
8101 * @return {?}
8102 */
8103 function (disabled) {
8104 this._disabled = disabled;
8105 this.tabindex = this.disabled ? -1 : null;
8106 },
8107 enumerable: true,
8108 configurable: true
8109 });
8110 Object.defineProperty(Link.prototype, "external", {
8111 get: /**
8112 * @return {?}
8113 */
8114 function () {
8115 return this._external;
8116 },
8117 /**
8118 * Set to `true` to display an icon describing an external link (going to a new page)
8119 */
8120 set: /**
8121 * Set to `true` to display an icon describing an external link (going to a new page)
8122 * @param {?} external
8123 * @return {?}
8124 */
8125 function (external) {
8126 this._external = external;
8127 this.target = this.external ? '_blank' : null;
8128 this.ref = this.external ? 'noopener' : null;
8129 },
8130 enumerable: true,
8131 configurable: true
8132 });
8133 /**
8134 * @return {?}
8135 */
8136 Link.prototype.ngOnInit = /**
8137 * @return {?}
8138 */
8139 function () {
8140 if (this.arrow || this.external) {
8141 /** @type {?} */
8142 var child = document.createElement('span');
8143 child.className = 'link__icon';
8144 if (this.arrow) {
8145 child.className += ' link__icon--arrow';
8146 child.innerHTML = arrowImg;
8147 }
8148 if (this.external) {
8149 child.innerHTML = externalImg;
8150 }
8151 this.renderer.appendChild(this.elementRef.nativeElement, child);
8152 }
8153 };
8154 Link.decorators = [
8155 { type: Directive, args: [{
8156 selector: '[sukaLink]'
8157 },] }
8158 ];
8159 /** @nocollapse */
8160 Link.ctorParameters = function () { return [
8161 { type: ElementRef },
8162 { type: Renderer2 },
8163 { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
8164 ]; };
8165 Link.propDecorators = {
8166 baseClass: [{ type: HostBinding, args: ['class.link',] }],
8167 tabindex: [{ type: HostBinding, args: ['attr.tabindex',] }],
8168 target: [{ type: HostBinding, args: ['attr.target',] }],
8169 ref: [{ type: HostBinding, args: ['attr.ref',] }],
8170 disabled: [{ type: Input }, { type: HostBinding, args: ['attr.aria-disabled',] }, { type: HostBinding, args: ['class.link--disabled',] }],
8171 arrow: [{ type: HostBinding, args: ['class.link--arrow',] }, { type: Input }],
8172 external: [{ type: Input }, { type: HostBinding, args: ['class.link--external',] }]
8173 };
8174 return Link;
8175}());
8176if (false) {
8177 /** @type {?} */
8178 Link.prototype.baseClass;
8179 /**
8180 * Automatically set to `-1` when link is disabled.
8181 * @type {?}
8182 */
8183 Link.prototype.tabindex;
8184 /**
8185 * Set target and ref for external links
8186 * @type {?}
8187 */
8188 Link.prototype.target;
8189 /** @type {?} */
8190 Link.prototype.ref;
8191 /**
8192 * @type {?}
8193 * @private
8194 */
8195 Link.prototype._disabled;
8196 /**
8197 * Set to `true` to display an arrow next to the link
8198 * @type {?}
8199 */
8200 Link.prototype.arrow;
8201 /**
8202 * @type {?}
8203 * @private
8204 */
8205 Link.prototype._external;
8206 /**
8207 * @type {?}
8208 * @private
8209 */
8210 Link.prototype.elementRef;
8211 /**
8212 * @type {?}
8213 * @private
8214 */
8215 Link.prototype.renderer;
8216 /**
8217 * @type {?}
8218 * @private
8219 */
8220 Link.prototype.document;
8221}
8222
8223/**
8224 * @fileoverview added by tsickle
8225 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
8226 */
8227var LinkModule = /** @class */ (function () {
8228 function LinkModule() {
8229 }
8230 LinkModule.decorators = [
8231 { type: NgModule, args: [{
8232 declarations: [
8233 Link
8234 ],
8235 exports: [
8236 Link
8237 ],
8238 imports: [
8239 CommonModule
8240 ]
8241 },] }
8242 ];
8243 return LinkModule;
8244}());
8245
8246/**
8247 * @fileoverview added by tsickle
8248 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
8249 */
8250var InputGroup = /** @class */ (function () {
8251 function InputGroup() {
8252 this.containerClass = true;
8253 /**
8254 * Set to `true` for an invalid input group component.
8255 */
8256 this.invalid = false;
8257 /**
8258 * Set to `true` for a condesned input group component;
8259 */
8260 this.condensed = false;
8261 }
8262 /**
8263 * @param {?} value
8264 * @return {?}
8265 */
8266 InputGroup.prototype.isTemplate = /**
8267 * @param {?} value
8268 * @return {?}
8269 */
8270 function (value) {
8271 return value instanceof TemplateRef;
8272 };
8273 InputGroup.decorators = [
8274 { type: Component, args: [{
8275 selector: 'suka-input-group',
8276 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 "
8277 }] }
8278 ];
8279 InputGroup.propDecorators = {
8280 containerClass: [{ type: HostBinding, args: ['class.form-item',] }],
8281 invalid: [{ type: Input }],
8282 label: [{ type: Input }],
8283 helperText: [{ type: Input }],
8284 invalidText: [{ type: Input }],
8285 condensed: [{ type: Input }]
8286 };
8287 return InputGroup;
8288}());
8289if (false) {
8290 /** @type {?} */
8291 InputGroup.prototype.containerClass;
8292 /**
8293 * Set to `true` for an invalid input group component.
8294 * @type {?}
8295 */
8296 InputGroup.prototype.invalid;
8297 /**
8298 * Sets the text inside the `label` tag.
8299 * @type {?}
8300 */
8301 InputGroup.prototype.label;
8302 /**
8303 * Sets the optional helper text.
8304 * @type {?}
8305 */
8306 InputGroup.prototype.helperText;
8307 /**
8308 * Sets the invalid text.
8309 * @type {?}
8310 */
8311 InputGroup.prototype.invalidText;
8312 /**
8313 * Set to `true` for a condesned input group component;
8314 * @type {?}
8315 */
8316 InputGroup.prototype.condensed;
8317}
8318
8319/**
8320 * @fileoverview added by tsickle
8321 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
8322 */
8323var InputGroupItem = /** @class */ (function () {
8324 function InputGroupItem() {
8325 this.type = 'default';
8326 this.baseClass = true;
8327 this.auto = false;
8328 this.full = false;
8329 }
8330 /**
8331 * @return {?}
8332 */
8333 InputGroupItem.prototype.ngOnChanges = /**
8334 * @return {?}
8335 */
8336 function () {
8337 this.auto = this.full = false;
8338 switch (this.type) {
8339 case 'auto':
8340 this.auto = true;
8341 break;
8342 case 'full':
8343 this.full = true;
8344 break;
8345 default: break;
8346 }
8347 };
8348 InputGroupItem.decorators = [
8349 { type: Directive, args: [{
8350 selector: '[sukaInputGroupItem]'
8351 },] }
8352 ];
8353 InputGroupItem.propDecorators = {
8354 type: [{ type: Input, args: ['sukaInputGroupItem',] }],
8355 baseClass: [{ type: HostBinding, args: ['class.input-group__item',] }],
8356 auto: [{ type: HostBinding, args: ['class.input-group__item--auto',] }],
8357 full: [{ type: HostBinding, args: ['class.input-group__item--full',] }]
8358 };
8359 return InputGroupItem;
8360}());
8361if (false) {
8362 /** @type {?} */
8363 InputGroupItem.prototype.type;
8364 /** @type {?} */
8365 InputGroupItem.prototype.baseClass;
8366 /** @type {?} */
8367 InputGroupItem.prototype.auto;
8368 /** @type {?} */
8369 InputGroupItem.prototype.full;
8370}
8371
8372/**
8373 * @fileoverview added by tsickle
8374 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
8375 */
8376var InputGroupModule = /** @class */ (function () {
8377 function InputGroupModule() {
8378 }
8379 InputGroupModule.decorators = [
8380 { type: NgModule, args: [{
8381 declarations: [
8382 InputGroup,
8383 InputGroupItem,
8384 ],
8385 exports: [
8386 InputGroup,
8387 InputGroupItem,
8388 ],
8389 imports: [
8390 CommonModule,
8391 ]
8392 },] }
8393 ];
8394 return InputGroupModule;
8395}());
8396
8397/**
8398 * @fileoverview added by tsickle
8399 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
8400 */
8401var ModalRef = /** @class */ (function () {
8402 function ModalRef(overlayRef) {
8403 this.overlayRef = overlayRef;
8404 this._beforeClose = new Subject();
8405 this._afterClosed = new Subject();
8406 }
8407 /**
8408 * @param {?=} data
8409 * @return {?}
8410 */
8411 ModalRef.prototype.close = /**
8412 * @param {?=} data
8413 * @return {?}
8414 */
8415 function (data) {
8416 var _this = this;
8417 this._result = data;
8418 // Listen for animation 'start' events
8419 this.componentInstance.animationStateChanged.pipe(filter((/**
8420 * @param {?} event
8421 * @return {?}
8422 */
8423 function (event) { return event.phaseName === 'start'; })), take(1)).subscribe((/**
8424 * @return {?}
8425 */
8426 function () {
8427 _this._beforeClose.next(_this._result);
8428 _this._beforeClose.complete();
8429 _this.overlayRef.detachBackdrop();
8430 }));
8431 // Listen for animation 'done' events
8432 this.componentInstance.animationStateChanged.pipe(filter((/**
8433 * @param {?} event
8434 * @return {?}
8435 */
8436 function (event) { return event.phaseName === 'done' && event.toState === 'leave'; })), take(1)).subscribe((/**
8437 * @return {?}
8438 */
8439 function () {
8440 _this._afterClosed.next(_this._result);
8441 _this._afterClosed.complete();
8442 _this.overlayRef.dispose();
8443 // Make sure to also clear the reference to the
8444 // component instance to avoid memory leaks
8445 // tslint:disable-next-line: no-non-null-assertion
8446 _this.componentInstance = (/** @type {?} */ (null));
8447 }));
8448 // Start exit animation
8449 this.componentInstance.startExitAnimation();
8450 };
8451 /**
8452 * @return {?}
8453 */
8454 ModalRef.prototype.afterClosed = /**
8455 * @return {?}
8456 */
8457 function () {
8458 return this._afterClosed.asObservable();
8459 };
8460 /**
8461 * @return {?}
8462 */
8463 ModalRef.prototype.beforeClose = /**
8464 * @return {?}
8465 */
8466 function () {
8467 return this._beforeClose.asObservable();
8468 };
8469 return ModalRef;
8470}());
8471if (false) {
8472 /** @type {?} */
8473 ModalRef.prototype.componentInstance;
8474 /**
8475 * @type {?}
8476 * @private
8477 */
8478 ModalRef.prototype._beforeClose;
8479 /**
8480 * @type {?}
8481 * @private
8482 */
8483 ModalRef.prototype._afterClosed;
8484 /**
8485 * @type {?}
8486 * @private
8487 */
8488 ModalRef.prototype._result;
8489 /**
8490 * @type {?}
8491 * @private
8492 */
8493 ModalRef.prototype.overlayRef;
8494}
8495
8496/**
8497 * @fileoverview added by tsickle
8498 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
8499 */
8500/** @type {?} */
8501var MODAL_CONTENT_DATA = new InjectionToken('MODAL_CONTENT_DATA');
8502
8503/**
8504 * @fileoverview added by tsickle
8505 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
8506 */
8507/** @type {?} */
8508var ESCAPE_KEY = 27;
8509/** @type {?} */
8510var MODAL_ANIMATION_TIMINGS = '200ms cubic-bezier(0.64, 0, 0.35, 1)';
8511var ModalContainer = /** @class */ (function () {
8512 function ModalContainer(dialogRef, content) {
8513 this.dialogRef = dialogRef;
8514 this.content = content;
8515 this.animationState = 'enter';
8516 this.animationStateChanged = new EventEmitter();
8517 this.showFooter = false;
8518 this.baseClass = true;
8519 }
8520 /**
8521 * @return {?}
8522 */
8523 ModalContainer.prototype.ngOnInit = /**
8524 * @return {?}
8525 */
8526 function () {
8527 if (this.content.actions && this.content.actions.length > 0) {
8528 this.showFooter = true;
8529 this.primaryActions = this.content.actions.filter((/**
8530 * @param {?} action
8531 * @return {?}
8532 */
8533 function (action) { return action.type === 'primary'; }));
8534 this.secondaryActions = this.content.actions.filter((/**
8535 * @param {?} action
8536 * @return {?}
8537 */
8538 function (action) { return action.type === 'secondary'; }));
8539 }
8540 };
8541 /**
8542 * @param {?} value
8543 * @return {?}
8544 */
8545 ModalContainer.prototype.isTemplate = /**
8546 * @param {?} value
8547 * @return {?}
8548 */
8549 function (value) {
8550 return value instanceof TemplateRef;
8551 };
8552 /**
8553 * @param {?=} event
8554 * @return {?}
8555 */
8556 ModalContainer.prototype.onClose = /**
8557 * @param {?=} event
8558 * @return {?}
8559 */
8560 function (event) {
8561 this.dialogRef.close('cancel');
8562 };
8563 /**
8564 * @param {?} tag
8565 * @return {?}
8566 */
8567 ModalContainer.prototype.onAction = /**
8568 * @param {?} tag
8569 * @return {?}
8570 */
8571 function (tag) {
8572 this.dialogRef.close(tag);
8573 };
8574 /**
8575 * @param {?} event
8576 * @return {?}
8577 */
8578 ModalContainer.prototype.handleKeydown = /**
8579 * @param {?} event
8580 * @return {?}
8581 */
8582 function (event) {
8583 // tslint:disable-next-line: deprecation
8584 if (event.keyCode === ESCAPE_KEY) {
8585 this.dialogRef.close('cancel');
8586 }
8587 };
8588 /**
8589 * @param {?} event
8590 * @return {?}
8591 */
8592 ModalContainer.prototype.onAnimationStart = /**
8593 * @param {?} event
8594 * @return {?}
8595 */
8596 function (event) {
8597 this.animationStateChanged.emit(event);
8598 };
8599 /**
8600 * @param {?} event
8601 * @return {?}
8602 */
8603 ModalContainer.prototype.onAnimationDone = /**
8604 * @param {?} event
8605 * @return {?}
8606 */
8607 function (event) {
8608 this.animationStateChanged.emit(event);
8609 };
8610 /**
8611 * @return {?}
8612 */
8613 ModalContainer.prototype.startExitAnimation = /**
8614 * @return {?}
8615 */
8616 function () {
8617 this.animationState = 'leave';
8618 };
8619 /**
8620 * @param {?} $event
8621 * @return {?}
8622 */
8623 ModalContainer.prototype.closeModal = /**
8624 * @param {?} $event
8625 * @return {?}
8626 */
8627 function ($event) {
8628 this.dialogRef.close($event);
8629 };
8630 ModalContainer.decorators = [
8631 { type: Component, args: [{
8632 selector: 'suka-modal',
8633 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 ",
8634 animations: [
8635 trigger('slideContent', [
8636 state('void', style({ transform: 'translate3d(0, 20rem, 0)', opacity: 0 })),
8637 state('enter', style({ transform: 'none', opacity: 1 })),
8638 state('leave', style({ transform: 'translate3d(0, 20rem, 0)', opacity: 0 })),
8639 transition('* => *', animate(MODAL_ANIMATION_TIMINGS)),
8640 ])
8641 ]
8642 }] }
8643 ];
8644 /** @nocollapse */
8645 ModalContainer.ctorParameters = function () { return [
8646 { type: ModalRef },
8647 { type: undefined, decorators: [{ type: Inject, args: [MODAL_CONTENT_DATA,] }] }
8648 ]; };
8649 ModalContainer.propDecorators = {
8650 baseClass: [{ type: HostBinding, args: ['class.modal--default',] }],
8651 handleKeydown: [{ type: HostListener, args: ['document:keydown', ['$event'],] }]
8652 };
8653 return ModalContainer;
8654}());
8655if (false) {
8656 /** @type {?} */
8657 ModalContainer.prototype.animationState;
8658 /** @type {?} */
8659 ModalContainer.prototype.animationStateChanged;
8660 /** @type {?} */
8661 ModalContainer.prototype.showFooter;
8662 /** @type {?} */
8663 ModalContainer.prototype.primaryActions;
8664 /** @type {?} */
8665 ModalContainer.prototype.secondaryActions;
8666 /** @type {?} */
8667 ModalContainer.prototype.baseClass;
8668 /** @type {?} */
8669 ModalContainer.prototype.dialogRef;
8670 /** @type {?} */
8671 ModalContainer.prototype.content;
8672}
8673
8674/**
8675 * @fileoverview added by tsickle
8676 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
8677 */
8678/**
8679 * @record
8680 */
8681function ModalContent() { }
8682if (false) {
8683 /** @type {?|undefined} */
8684 ModalContent.prototype.title;
8685 /** @type {?|undefined} */
8686 ModalContent.prototype.body;
8687 /** @type {?|undefined} */
8688 ModalContent.prototype.closeButton;
8689 /** @type {?|undefined} */
8690 ModalContent.prototype.actions;
8691}
8692/**
8693 * @record
8694 */
8695function ModalConfig() { }
8696if (false) {
8697 /** @type {?|undefined} */
8698 ModalConfig.prototype.closeOnBackdropClick;
8699 /** @type {?|undefined} */
8700 ModalConfig.prototype.panelClass;
8701 /** @type {?|undefined} */
8702 ModalConfig.prototype.hasBackdrop;
8703 /** @type {?|undefined} */
8704 ModalConfig.prototype.backdropClass;
8705 /** @type {?|undefined} */
8706 ModalConfig.prototype.content;
8707}
8708/** @type {?} */
8709var DEFAULT_CONFIG = {
8710 closeOnBackdropClick: true,
8711 hasBackdrop: true,
8712 backdropClass: 'backdrop--dark',
8713 panelClass: 'modal--default',
8714 content: null
8715};
8716var ModalService = /** @class */ (function () {
8717 function ModalService(injector, overlay) {
8718 this.injector = injector;
8719 this.overlay = overlay;
8720 }
8721 /**
8722 * @param {?=} config
8723 * @return {?}
8724 */
8725 ModalService.prototype.open = /**
8726 * @param {?=} config
8727 * @return {?}
8728 */
8729 function (config) {
8730 if (config === void 0) { config = {}; }
8731 // Override default configuration
8732 /** @type {?} */
8733 var dialogConfig = __assign({}, DEFAULT_CONFIG, config);
8734 // Returns an OverlayRef which is a PortalHost
8735 /** @type {?} */
8736 var overlayRef = this.createOverlay(dialogConfig);
8737 // Instantiate remote control
8738 /** @type {?} */
8739 var modalRef = new ModalRef(overlayRef);
8740 /** @type {?} */
8741 var overlayComponent = this.attachModalContainer(overlayRef, dialogConfig, modalRef);
8742 modalRef.componentInstance = overlayComponent;
8743 if (dialogConfig.closeOnBackdropClick) {
8744 overlayRef.backdropClick().subscribe((/**
8745 * @param {?} _
8746 * @return {?}
8747 */
8748 function (_) { return modalRef.close('cancel'); }));
8749 }
8750 return modalRef;
8751 };
8752 /**
8753 * @private
8754 * @param {?} config
8755 * @return {?}
8756 */
8757 ModalService.prototype.createOverlay = /**
8758 * @private
8759 * @param {?} config
8760 * @return {?}
8761 */
8762 function (config) {
8763 /** @type {?} */
8764 var overlayConfig = this.getOverlayConfig(config);
8765 return this.overlay.create(overlayConfig);
8766 };
8767 /**
8768 * @private
8769 * @param {?} overlayRef
8770 * @param {?} config
8771 * @param {?} modalRef
8772 * @return {?}
8773 */
8774 ModalService.prototype.attachModalContainer = /**
8775 * @private
8776 * @param {?} overlayRef
8777 * @param {?} config
8778 * @param {?} modalRef
8779 * @return {?}
8780 */
8781 function (overlayRef, config, modalRef) {
8782 /** @type {?} */
8783 var injector = this.createInjector(config, modalRef);
8784 /** @type {?} */
8785 var containerPortal = new ComponentPortal(ModalContainer, null, injector);
8786 /** @type {?} */
8787 var containerRef = overlayRef.attach(containerPortal);
8788 return containerRef.instance;
8789 };
8790 /**
8791 * @private
8792 * @param {?} config
8793 * @param {?} modalRef
8794 * @return {?}
8795 */
8796 ModalService.prototype.createInjector = /**
8797 * @private
8798 * @param {?} config
8799 * @param {?} modalRef
8800 * @return {?}
8801 */
8802 function (config, modalRef) {
8803 /** @type {?} */
8804 var injectionTokens = new WeakMap();
8805 injectionTokens.set(ModalRef, modalRef);
8806 injectionTokens.set(MODAL_CONTENT_DATA, config.content);
8807 return new PortalInjector(this.injector, injectionTokens);
8808 };
8809 /**
8810 * @private
8811 * @param {?} config
8812 * @return {?}
8813 */
8814 ModalService.prototype.getOverlayConfig = /**
8815 * @private
8816 * @param {?} config
8817 * @return {?}
8818 */
8819 function (config) {
8820 /** @type {?} */
8821 var positionStrategy = this.overlay.position()
8822 .global()
8823 .centerHorizontally()
8824 .centerVertically();
8825 /** @type {?} */
8826 var overlayConfig = new OverlayConfig({
8827 hasBackdrop: config.hasBackdrop,
8828 backdropClass: config.backdropClass,
8829 panelClass: config.panelClass,
8830 scrollStrategy: this.overlay.scrollStrategies.noop(),
8831 positionStrategy: positionStrategy
8832 });
8833 return overlayConfig;
8834 };
8835 ModalService.decorators = [
8836 { type: Injectable }
8837 ];
8838 /** @nocollapse */
8839 ModalService.ctorParameters = function () { return [
8840 { type: Injector },
8841 { type: Overlay }
8842 ]; };
8843 return ModalService;
8844}());
8845if (false) {
8846 /**
8847 * @type {?}
8848 * @private
8849 */
8850 ModalService.prototype.injector;
8851 /**
8852 * @type {?}
8853 * @private
8854 */
8855 ModalService.prototype.overlay;
8856}
8857
8858/**
8859 * @fileoverview added by tsickle
8860 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
8861 */
8862/** @type {?} */
8863var PRIMARY_ACTION_TAG = 'primaryAction';
8864/** @type {?} */
8865var SECONDARY_ACTION_TAG = 'secondaryAction';
8866/**
8867 * 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.
8868 * It should be used thoughtfully and sparingly.
8869 */
8870var ModalDirective = /** @class */ (function () {
8871 function ModalDirective(modalService) {
8872 this.modalService = modalService;
8873 /**
8874 * Set to `true` to show a close button on the top right corner. Defaults to `false`.
8875 */
8876 this.closeButton = false;
8877 /**
8878 * Sets to `false` to stop the modal from closing when the user clicks on the backdrop. Defaults to `true`.
8879 */
8880 this.closeOnBackdropClick = true;
8881 /**
8882 * Callback when the modal closes.
8883 */
8884 this.close = new EventEmitter();
8885 /**
8886 * Callback when the secondary action is triggered.
8887 */
8888 this.secondaryAction = new EventEmitter();
8889 /**
8890 * Callback when the primary action is triggered.
8891 */
8892 this.primaryAction = new EventEmitter();
8893 }
8894 /**
8895 * @return {?}
8896 */
8897 ModalDirective.prototype.onClick = /**
8898 * @return {?}
8899 */
8900 function () {
8901 this.openModal();
8902 };
8903 /**
8904 * Opens the modal.
8905 */
8906 /**
8907 * Opens the modal.
8908 * @private
8909 * @return {?}
8910 */
8911 ModalDirective.prototype.openModal = /**
8912 * Opens the modal.
8913 * @private
8914 * @return {?}
8915 */
8916 function () {
8917 var _this = this;
8918 /** @type {?} */
8919 var modalConfig = {
8920 closeOnBackdropClick: this.closeOnBackdropClick,
8921 content: {
8922 closeButton: this.closeButton,
8923 title: this.title,
8924 body: this.body,
8925 }
8926 };
8927 if (this.primaryActionLabel || this.secondaryActionLabel) {
8928 modalConfig.content.actions = [];
8929 if (this.primaryActionLabel) {
8930 modalConfig.content.actions.push({
8931 label: this.primaryActionLabel,
8932 type: 'primary',
8933 tag: PRIMARY_ACTION_TAG
8934 });
8935 }
8936 if (this.secondaryActionLabel) {
8937 modalConfig.content.actions.push({
8938 label: this.secondaryActionLabel,
8939 type: 'secondary',
8940 tag: SECONDARY_ACTION_TAG
8941 });
8942 }
8943 }
8944 /** @type {?} */
8945 var modalRef = this.modalService.open(modalConfig);
8946 modalRef.afterClosed().subscribe((/**
8947 * @param {?} result
8948 * @return {?}
8949 */
8950 function (result) {
8951 switch (result) {
8952 case PRIMARY_ACTION_TAG:
8953 if (_this.primaryAction.observers.length > 0) {
8954 _this.primaryAction.emit(result);
8955 }
8956 break;
8957 case SECONDARY_ACTION_TAG:
8958 if (_this.secondaryAction.observers.length > 0) {
8959 _this.secondaryAction.emit(result);
8960 }
8961 break;
8962 default:
8963 if (_this.close.observers.length > 0) {
8964 _this.close.emit();
8965 }
8966 break;
8967 }
8968 }));
8969 };
8970 ModalDirective.decorators = [
8971 { type: Directive, args: [{
8972 selector: '[sukaModal]'
8973 },] }
8974 ];
8975 /** @nocollapse */
8976 ModalDirective.ctorParameters = function () { return [
8977 { type: ModalService }
8978 ]; };
8979 ModalDirective.propDecorators = {
8980 closeButton: [{ type: Input, args: ['modalCloseButton',] }],
8981 title: [{ type: Input, args: ['modalTitle',] }],
8982 body: [{ type: Input, args: ['modalBody',] }],
8983 closeOnBackdropClick: [{ type: Input, args: ['modalCloseOnBackdropClick',] }],
8984 close: [{ type: Output, args: ['modalClose',] }],
8985 secondaryActionLabel: [{ type: Input, args: ['modalSecondaryActionLabel',] }],
8986 secondaryAction: [{ type: Output, args: ['modalSecondaryAction',] }],
8987 primaryActionLabel: [{ type: Input, args: ['modalPrimaryActionLabel',] }],
8988 primaryAction: [{ type: Output, args: ['modalPrimaryAction',] }],
8989 onClick: [{ type: HostListener, args: ['click',] }]
8990 };
8991 return ModalDirective;
8992}());
8993if (false) {
8994 /**
8995 * Set to `true` to show a close button on the top right corner. Defaults to `false`.
8996 * @type {?}
8997 */
8998 ModalDirective.prototype.closeButton;
8999 /**
9000 * Sets the modal title.
9001 * @type {?}
9002 */
9003 ModalDirective.prototype.title;
9004 /**
9005 * Sets the body of the modal.
9006 * @type {?}
9007 */
9008 ModalDirective.prototype.body;
9009 /**
9010 * Sets to `false` to stop the modal from closing when the user clicks on the backdrop. Defaults to `true`.
9011 * @type {?}
9012 */
9013 ModalDirective.prototype.closeOnBackdropClick;
9014 /**
9015 * Callback when the modal closes.
9016 * @type {?}
9017 */
9018 ModalDirective.prototype.close;
9019 /**
9020 * Sets the modal secondary action button label.
9021 * @type {?}
9022 */
9023 ModalDirective.prototype.secondaryActionLabel;
9024 /**
9025 * Callback when the secondary action is triggered.
9026 * @type {?}
9027 */
9028 ModalDirective.prototype.secondaryAction;
9029 /**
9030 * Sets the modal primary action button label.
9031 * @type {?}
9032 */
9033 ModalDirective.prototype.primaryActionLabel;
9034 /**
9035 * Callback when the primary action is triggered.
9036 * @type {?}
9037 */
9038 ModalDirective.prototype.primaryAction;
9039 /**
9040 * @type {?}
9041 * @protected
9042 */
9043 ModalDirective.prototype.modalService;
9044}
9045
9046/**
9047 * @fileoverview added by tsickle
9048 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
9049 */
9050var ModalModule = /** @class */ (function () {
9051 function ModalModule() {
9052 }
9053 ModalModule.decorators = [
9054 { type: NgModule, args: [{
9055 declarations: [
9056 ModalContainer,
9057 ModalDirective,
9058 ],
9059 exports: [
9060 ModalContainer,
9061 ModalDirective,
9062 ],
9063 imports: [
9064 CommonModule,
9065 OverlayModule,
9066 ButtonModule,
9067 IconModule,
9068 ],
9069 entryComponents: [
9070 ModalContainer
9071 ],
9072 providers: [
9073 ModalService,
9074 ],
9075 },] }
9076 ];
9077 return ModalModule;
9078}());
9079
9080/**
9081 * @fileoverview added by tsickle
9082 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
9083 */
9084/** @type {?} */
9085var POPOVER_CONTENT_DATA = new InjectionToken('POPOVER_CONTENT_DATA');
9086
9087/**
9088 * @fileoverview added by tsickle
9089 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
9090 */
9091var PopoverRef = /** @class */ (function () {
9092 function PopoverRef(overlayRef) {
9093 this.overlayRef = overlayRef;
9094 this._beforeClose = new Subject();
9095 this._afterClosed = new Subject();
9096 }
9097 /**
9098 * @param {?=} data
9099 * @return {?}
9100 */
9101 PopoverRef.prototype.close = /**
9102 * @param {?=} data
9103 * @return {?}
9104 */
9105 function (data) {
9106 var _this = this;
9107 this._result = data;
9108 // Listen for animation 'start' events
9109 this.componentInstance.animationStateChanged.pipe(filter((/**
9110 * @param {?} event
9111 * @return {?}
9112 */
9113 function (event) { return event.phaseName === 'start'; })), take(1)).subscribe((/**
9114 * @return {?}
9115 */
9116 function () {
9117 _this._beforeClose.next(_this._result);
9118 _this._beforeClose.complete();
9119 _this.overlayRef.detachBackdrop();
9120 }));
9121 // Listen for animation 'done' events
9122 this.componentInstance.animationStateChanged.pipe(filter((/**
9123 * @param {?} event
9124 * @return {?}
9125 */
9126 function (event) { return event.phaseName === 'done' && event.toState === 'leave'; })), take(1)).subscribe((/**
9127 * @return {?}
9128 */
9129 function () {
9130 _this._afterClosed.next(_this._result);
9131 _this._afterClosed.complete();
9132 _this.overlayRef.dispose();
9133 // Make sure to also clear the reference to the
9134 // component instance to avoid memory leaks
9135 // tslint:disable-next-line: no-non-null-assertion
9136 _this.componentInstance = (/** @type {?} */ (null));
9137 }));
9138 // Start exit animation
9139 this.componentInstance.startExitAnimation();
9140 };
9141 /**
9142 * @return {?}
9143 */
9144 PopoverRef.prototype.afterClosed = /**
9145 * @return {?}
9146 */
9147 function () {
9148 return this._afterClosed.asObservable();
9149 };
9150 /**
9151 * @return {?}
9152 */
9153 PopoverRef.prototype.beforeClose = /**
9154 * @return {?}
9155 */
9156 function () {
9157 return this._beforeClose.asObservable();
9158 };
9159 return PopoverRef;
9160}());
9161if (false) {
9162 /** @type {?} */
9163 PopoverRef.prototype.componentInstance;
9164 /**
9165 * @type {?}
9166 * @private
9167 */
9168 PopoverRef.prototype._beforeClose;
9169 /**
9170 * @type {?}
9171 * @private
9172 */
9173 PopoverRef.prototype._afterClosed;
9174 /**
9175 * @type {?}
9176 * @private
9177 */
9178 PopoverRef.prototype._result;
9179 /**
9180 * @type {?}
9181 * @private
9182 */
9183 PopoverRef.prototype.overlayRef;
9184}
9185
9186/**
9187 * @fileoverview added by tsickle
9188 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
9189 */
9190/** @type {?} */
9191var ESCAPE_KEY$1 = 27;
9192/** @type {?} */
9193var POPOVER_ANIMATION_TIMINGS = '200ms cubic-bezier(0.64, 0, 0.35, 1)';
9194var PopoverContainer = /** @class */ (function () {
9195 function PopoverContainer(popoverRef, content) {
9196 this.popoverRef = popoverRef;
9197 this.content = content;
9198 this.animationState = 'enter';
9199 this.animationStateChanged = new EventEmitter();
9200 this.renderMethod = 'component';
9201 this.position = 'bottom';
9202 this.sectioned = false;
9203 }
9204 /**
9205 * @return {?}
9206 */
9207 PopoverContainer.prototype.ngOnInit = /**
9208 * @return {?}
9209 */
9210 function () {
9211 if (typeof this.content.body === 'string') {
9212 this.renderMethod = 'text';
9213 }
9214 if (this.content.body instanceof TemplateRef) {
9215 this.renderMethod = 'template';
9216 }
9217 if (this.content.sectioned) {
9218 this.sectioned = true;
9219 }
9220 };
9221 /**
9222 * @param {?} $event
9223 * @return {?}
9224 */
9225 PopoverContainer.prototype.closePopover = /**
9226 * @param {?} $event
9227 * @return {?}
9228 */
9229 function ($event) {
9230 this.popoverRef.close($event);
9231 };
9232 /**
9233 * @param {?} event
9234 * @return {?}
9235 */
9236 PopoverContainer.prototype.handleKeydown = /**
9237 * @param {?} event
9238 * @return {?}
9239 */
9240 function (event) {
9241 // tslint:disable-next-line: deprecation
9242 if (event.keyCode === ESCAPE_KEY$1) {
9243 this.popoverRef.close();
9244 }
9245 };
9246 /**
9247 * @param {?} event
9248 * @return {?}
9249 */
9250 PopoverContainer.prototype.onAnimationStart = /**
9251 * @param {?} event
9252 * @return {?}
9253 */
9254 function (event) {
9255 this.animationStateChanged.emit(event);
9256 };
9257 /**
9258 * @param {?} event
9259 * @return {?}
9260 */
9261 PopoverContainer.prototype.onAnimationDone = /**
9262 * @param {?} event
9263 * @return {?}
9264 */
9265 function (event) {
9266 this.animationStateChanged.emit(event);
9267 };
9268 /**
9269 * @return {?}
9270 */
9271 PopoverContainer.prototype.startExitAnimation = /**
9272 * @return {?}
9273 */
9274 function () {
9275 this.animationState = 'leave';
9276 };
9277 PopoverContainer.decorators = [
9278 { type: Component, args: [{
9279 selector: 'suka-popover',
9280 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 ",
9281 animations: [
9282 trigger('popover', [
9283 state('void', style({ transform: 'scale(.9)', opacity: 0 })),
9284 state('enter', style({ transform: 'none', opacity: 1 })),
9285 state('leave', style({ transform: 'scale(.8)', opacity: 0 })),
9286 transition('* => *', animate(POPOVER_ANIMATION_TIMINGS)),
9287 ]),
9288 ]
9289 }] }
9290 ];
9291 /** @nocollapse */
9292 PopoverContainer.ctorParameters = function () { return [
9293 { type: PopoverRef },
9294 { type: undefined, decorators: [{ type: Inject, args: [POPOVER_CONTENT_DATA,] }] }
9295 ]; };
9296 PopoverContainer.propDecorators = {
9297 position: [{ type: Input }],
9298 sectioned: [{ type: Input }],
9299 handleKeydown: [{ type: HostListener, args: ['document:keydown', ['$event'],] }]
9300 };
9301 return PopoverContainer;
9302}());
9303if (false) {
9304 /** @type {?} */
9305 PopoverContainer.prototype.animationState;
9306 /** @type {?} */
9307 PopoverContainer.prototype.animationStateChanged;
9308 /** @type {?} */
9309 PopoverContainer.prototype.renderMethod;
9310 /** @type {?} */
9311 PopoverContainer.prototype.position;
9312 /** @type {?} */
9313 PopoverContainer.prototype.sectioned;
9314 /** @type {?} */
9315 PopoverContainer.prototype.popoverRef;
9316 /** @type {?} */
9317 PopoverContainer.prototype.content;
9318}
9319
9320/**
9321 * @fileoverview added by tsickle
9322 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
9323 */
9324/** @type {?} */
9325var positions$1 = {
9326 bottom: {
9327 originY: 'bottom',
9328 overlayY: 'top',
9329 offsetY: 4,
9330 },
9331 top: {
9332 originY: 'top',
9333 overlayY: 'bottom',
9334 offsetY: -4,
9335 }
9336};
9337/** @type {?} */
9338var alignments = {
9339 left: {
9340 originX: 'start',
9341 overlayX: 'start',
9342 },
9343 right: {
9344 originX: 'end',
9345 overlayX: 'end',
9346 },
9347 center: {
9348 originX: 'center',
9349 overlayX: 'center',
9350 }
9351};
9352/**
9353 * @record
9354 */
9355function PopoverConfig() { }
9356if (false) {
9357 /** @type {?|undefined} */
9358 PopoverConfig.prototype.content;
9359 /** @type {?} */
9360 PopoverConfig.prototype.position;
9361 /** @type {?} */
9362 PopoverConfig.prototype.alignment;
9363}
9364/** @type {?} */
9365var DEFAULT_CONFIG$1 = {
9366 content: null,
9367 position: 'bottom',
9368 alignment: 'left',
9369};
9370var PopoverService = /** @class */ (function () {
9371 function PopoverService(injector, overlay, overlayPositionBuilder) {
9372 this.injector = injector;
9373 this.overlay = overlay;
9374 this.overlayPositionBuilder = overlayPositionBuilder;
9375 }
9376 /**
9377 * @param {?=} config
9378 * @param {?=} target
9379 * @return {?}
9380 */
9381 PopoverService.prototype.open = /**
9382 * @param {?=} config
9383 * @param {?=} target
9384 * @return {?}
9385 */
9386 function (config, target) {
9387 if (config === void 0) { config = DEFAULT_CONFIG$1; }
9388 // Override default configuration
9389 /** @type {?} */
9390 var popoverConfig = __assign({}, DEFAULT_CONFIG$1, config);
9391 // Returns an OverlayRef which is a PortalHost
9392 /** @type {?} */
9393 var overlayRef = this.createOverlay(popoverConfig, target);
9394 // Instantiate remote control
9395 /** @type {?} */
9396 var popoverRef = new PopoverRef(overlayRef);
9397 /** @type {?} */
9398 var overlayComponent = this.attachPopoverContainer(overlayRef, popoverConfig, popoverRef);
9399 popoverRef.componentInstance = overlayComponent;
9400 overlayRef.backdropClick().subscribe((/**
9401 * @param {?} _
9402 * @return {?}
9403 */
9404 function (_) { return popoverRef.close(); }));
9405 return popoverRef;
9406 };
9407 /**
9408 * @private
9409 * @param {?} config
9410 * @param {?} target
9411 * @return {?}
9412 */
9413 PopoverService.prototype.createOverlay = /**
9414 * @private
9415 * @param {?} config
9416 * @param {?} target
9417 * @return {?}
9418 */
9419 function (config, target) {
9420 /** @type {?} */
9421 var overlayConfig = this.getOverlayConfig(config, target);
9422 return this.overlay.create(overlayConfig);
9423 };
9424 /**
9425 * @private
9426 * @param {?} overlayRef
9427 * @param {?} config
9428 * @param {?} popoverRef
9429 * @return {?}
9430 */
9431 PopoverService.prototype.attachPopoverContainer = /**
9432 * @private
9433 * @param {?} overlayRef
9434 * @param {?} config
9435 * @param {?} popoverRef
9436 * @return {?}
9437 */
9438 function (overlayRef, config, popoverRef) {
9439 /** @type {?} */
9440 var injector = this.createInjector(config, popoverRef);
9441 /** @type {?} */
9442 var containerPortal = new ComponentPortal(PopoverContainer, null, injector);
9443 /** @type {?} */
9444 var containerRef = overlayRef.attach(containerPortal);
9445 return containerRef.instance;
9446 };
9447 /**
9448 * @private
9449 * @param {?} config
9450 * @param {?} popoverRef
9451 * @return {?}
9452 */
9453 PopoverService.prototype.createInjector = /**
9454 * @private
9455 * @param {?} config
9456 * @param {?} popoverRef
9457 * @return {?}
9458 */
9459 function (config, popoverRef) {
9460 /** @type {?} */
9461 var injectionTokens = new WeakMap();
9462 injectionTokens.set(PopoverRef, popoverRef);
9463 injectionTokens.set(POPOVER_CONTENT_DATA, config.content);
9464 return new PortalInjector(this.injector, injectionTokens);
9465 };
9466 /**
9467 * @private
9468 * @param {?} config
9469 * @param {?} target
9470 * @return {?}
9471 */
9472 PopoverService.prototype.getOverlayConfig = /**
9473 * @private
9474 * @param {?} config
9475 * @param {?} target
9476 * @return {?}
9477 */
9478 function (config, target) {
9479 /** @type {?} */
9480 var positionStrategy = this.overlayPositionBuilder
9481 .flexibleConnectedTo(target)
9482 .withPositions([(/** @type {?} */ (__assign({}, positions$1[config.position], alignments[config.alignment])))]);
9483 /** @type {?} */
9484 var overlayConfig = new OverlayConfig({
9485 hasBackdrop: true,
9486 backdropClass: 'cdk-overlay-transparent-backdrop',
9487 scrollStrategy: this.overlay.scrollStrategies.reposition(),
9488 positionStrategy: positionStrategy
9489 });
9490 return overlayConfig;
9491 };
9492 PopoverService.decorators = [
9493 { type: Injectable }
9494 ];
9495 /** @nocollapse */
9496 PopoverService.ctorParameters = function () { return [
9497 { type: Injector },
9498 { type: Overlay },
9499 { type: OverlayPositionBuilder }
9500 ]; };
9501 return PopoverService;
9502}());
9503if (false) {
9504 /**
9505 * @type {?}
9506 * @private
9507 */
9508 PopoverService.prototype.injector;
9509 /**
9510 * @type {?}
9511 * @private
9512 */
9513 PopoverService.prototype.overlay;
9514 /**
9515 * @type {?}
9516 * @private
9517 */
9518 PopoverService.prototype.overlayPositionBuilder;
9519}
9520
9521/**
9522 * @fileoverview added by tsickle
9523 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
9524 */
9525var Popover = /** @class */ (function () {
9526 function Popover(popoverService, elementRef) {
9527 this.popoverService = popoverService;
9528 this.elementRef = elementRef;
9529 this.open = false;
9530 /**
9531 * The `Popover` body
9532 */
9533 this.body = '';
9534 /**
9535 * Sets the vertical position of the popover. Defaults to `bottom`.
9536 */
9537 this.position = 'bottom';
9538 /**
9539 * Sets the horizontal `Popover' alignment. Defaults to `left`.
9540 */
9541 this.alignment = 'left';
9542 /**
9543 * Set to `true` to auto-wrap content in section
9544 */
9545 this.sectioned = false;
9546 }
9547 /**
9548 * @private
9549 * @return {?}
9550 */
9551 Popover.prototype.show = /**
9552 * @private
9553 * @return {?}
9554 */
9555 function () {
9556 var _this = this;
9557 this.popoverRef = this.popoverService.open({
9558 content: {
9559 body: this.body,
9560 sectioned: this.sectioned,
9561 },
9562 position: this.position,
9563 alignment: this.alignment,
9564 }, this.elementRef);
9565 this.open = true;
9566 this.popoverRef.afterClosed().subscribe((/**
9567 * @param {?} result
9568 * @return {?}
9569 */
9570 function (result) {
9571 _this.open = false;
9572 }));
9573 };
9574 /**
9575 * @return {?}
9576 */
9577 Popover.prototype.onClick = /**
9578 * @return {?}
9579 */
9580 function () {
9581 if (!this.open) {
9582 this.show();
9583 }
9584 };
9585 Popover.decorators = [
9586 { type: Directive, args: [{ selector: '[sukaPopover]' },] }
9587 ];
9588 /** @nocollapse */
9589 Popover.ctorParameters = function () { return [
9590 { type: PopoverService },
9591 { type: ElementRef }
9592 ]; };
9593 Popover.propDecorators = {
9594 body: [{ type: Input, args: ['sukaPopover',] }],
9595 position: [{ type: Input, args: ['popoverPosition',] }],
9596 alignment: [{ type: Input, args: ['popoverAlignment',] }],
9597 sectioned: [{ type: Input, args: ['popoverSectioned',] }],
9598 onClick: [{ type: HostListener, args: ['click',] }]
9599 };
9600 return Popover;
9601}());
9602if (false) {
9603 /**
9604 * @type {?}
9605 * @private
9606 */
9607 Popover.prototype.popoverRef;
9608 /**
9609 * @type {?}
9610 * @private
9611 */
9612 Popover.prototype.open;
9613 /**
9614 * The `Popover` body
9615 * @type {?}
9616 */
9617 Popover.prototype.body;
9618 /**
9619 * Sets the vertical position of the popover. Defaults to `bottom`.
9620 * @type {?}
9621 */
9622 Popover.prototype.position;
9623 /**
9624 * Sets the horizontal `Popover' alignment. Defaults to `left`.
9625 * @type {?}
9626 */
9627 Popover.prototype.alignment;
9628 /**
9629 * Set to `true` to auto-wrap content in section
9630 * @type {?}
9631 */
9632 Popover.prototype.sectioned;
9633 /**
9634 * @type {?}
9635 * @protected
9636 */
9637 Popover.prototype.popoverService;
9638 /**
9639 * @type {?}
9640 * @private
9641 */
9642 Popover.prototype.elementRef;
9643}
9644
9645/**
9646 * @fileoverview added by tsickle
9647 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
9648 */
9649var PopoverSection = /** @class */ (function () {
9650 function PopoverSection() {
9651 this.baseClass = true;
9652 }
9653 PopoverSection.decorators = [
9654 { type: Component, args: [{
9655 selector: 'suka-popover-section',
9656 template: "\n <ng-content></ng-content>\n "
9657 }] }
9658 ];
9659 PopoverSection.propDecorators = {
9660 baseClass: [{ type: HostBinding, args: ['class.popover__section',] }]
9661 };
9662 return PopoverSection;
9663}());
9664if (false) {
9665 /** @type {?} */
9666 PopoverSection.prototype.baseClass;
9667}
9668
9669/**
9670 * @fileoverview added by tsickle
9671 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
9672 */
9673var PopoverActionList = /** @class */ (function () {
9674 function PopoverActionList() {
9675 this.baseClass = true;
9676 }
9677 PopoverActionList.decorators = [
9678 { type: Component, args: [{
9679 selector: 'suka-popover-action-list',
9680 template: "\n <ng-content></ng-content>\n "
9681 }] }
9682 ];
9683 PopoverActionList.propDecorators = {
9684 baseClass: [{ type: HostBinding, args: ['class.popover__action-list',] }]
9685 };
9686 return PopoverActionList;
9687}());
9688if (false) {
9689 /** @type {?} */
9690 PopoverActionList.prototype.baseClass;
9691}
9692
9693/**
9694 * @fileoverview added by tsickle
9695 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
9696 */
9697var PopoverActionItem = /** @class */ (function () {
9698 function PopoverActionItem() {
9699 this.baseClass = true;
9700 this.destructive = false;
9701 this.selected = new EventEmitter();
9702 }
9703 /**
9704 * @param {?} $event
9705 * @return {?}
9706 */
9707 PopoverActionItem.prototype.onClick = /**
9708 * @param {?} $event
9709 * @return {?}
9710 */
9711 function ($event) {
9712 this.selected.emit($event);
9713 };
9714 PopoverActionItem.decorators = [
9715 { type: Component, args: [{
9716 selector: 'suka-popover-action-item',
9717 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 "
9718 }] }
9719 ];
9720 PopoverActionItem.propDecorators = {
9721 baseClass: [{ type: HostBinding, args: ['class.popover__action-list__item',] }],
9722 destructive: [{ type: HostBinding, args: ['class.action-list__item--destructive',] }, { type: Input }],
9723 icon: [{ type: Input }],
9724 selected: [{ type: Output }]
9725 };
9726 return PopoverActionItem;
9727}());
9728if (false) {
9729 /** @type {?} */
9730 PopoverActionItem.prototype.baseClass;
9731 /** @type {?} */
9732 PopoverActionItem.prototype.destructive;
9733 /** @type {?} */
9734 PopoverActionItem.prototype.icon;
9735 /** @type {?} */
9736 PopoverActionItem.prototype.selected;
9737}
9738
9739/**
9740 * @fileoverview added by tsickle
9741 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
9742 */
9743var PopoverModule = /** @class */ (function () {
9744 function PopoverModule() {
9745 }
9746 PopoverModule.decorators = [
9747 { type: NgModule, args: [{
9748 declarations: [
9749 PopoverContainer,
9750 PopoverSection,
9751 PopoverActionList,
9752 PopoverActionItem,
9753 Popover,
9754 ],
9755 exports: [
9756 PopoverContainer,
9757 PopoverSection,
9758 PopoverActionList,
9759 PopoverActionItem,
9760 Popover,
9761 ],
9762 imports: [
9763 CommonModule,
9764 OverlayModule,
9765 IconModule,
9766 ],
9767 entryComponents: [
9768 PopoverContainer,
9769 ],
9770 providers: [
9771 PopoverService,
9772 ],
9773 },] }
9774 ];
9775 return PopoverModule;
9776}());
9777
9778/**
9779 * @fileoverview added by tsickle
9780 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
9781 */
9782var Stack = /** @class */ (function () {
9783 function Stack() {
9784 this.baseClass = true;
9785 /**
9786 * Make stack vertical (inverts axis of alignment and distribution inputs)
9787 */
9788 this.vertical = false;
9789 /**
9790 * Spacing between elements
9791 */
9792 this.spacing = 'default';
9793 /**
9794 * Horizontal alignment of elements (vertical alignment on vertical stack)
9795 */
9796 this.distribution = 'leading';
9797 /**
9798 * Vertical alignment of elements (horizontal alignment on vertical stack)
9799 */
9800 this.alignment = 'leading';
9801 /**
9802 * Wrap stack elements to additional rows as needed on small screens.
9803 */
9804 this.wrap = true;
9805 }
9806 Stack.decorators = [
9807 { type: Component, args: [{
9808 selector: 'suka-stack',
9809 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 ",
9810 encapsulation: ViewEncapsulation.None
9811 }] }
9812 ];
9813 Stack.propDecorators = {
9814 baseClass: [{ type: HostBinding, args: ['class.stack',] }],
9815 vertical: [{ type: HostBinding, args: ['class.stack--vertical',] }, { type: Input }],
9816 spacing: [{ type: Input }],
9817 distribution: [{ type: Input }],
9818 alignment: [{ type: Input }],
9819 wrap: [{ type: Input }]
9820 };
9821 return Stack;
9822}());
9823if (false) {
9824 /** @type {?} */
9825 Stack.prototype.baseClass;
9826 /**
9827 * Make stack vertical (inverts axis of alignment and distribution inputs)
9828 * @type {?}
9829 */
9830 Stack.prototype.vertical;
9831 /**
9832 * Spacing between elements
9833 * @type {?}
9834 */
9835 Stack.prototype.spacing;
9836 /**
9837 * Horizontal alignment of elements (vertical alignment on vertical stack)
9838 * @type {?}
9839 */
9840 Stack.prototype.distribution;
9841 /**
9842 * Vertical alignment of elements (horizontal alignment on vertical stack)
9843 * @type {?}
9844 */
9845 Stack.prototype.alignment;
9846 /**
9847 * Wrap stack elements to additional rows as needed on small screens.
9848 * @type {?}
9849 */
9850 Stack.prototype.wrap;
9851}
9852
9853/**
9854 * @fileoverview added by tsickle
9855 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
9856 */
9857var StackItem = /** @class */ (function () {
9858 function StackItem() {
9859 this.baseClass = true;
9860 /**
9861 * Set to `true` to make the `StackItem` fill the remaining horizontal space on the stack.
9862 */
9863 this.fill = false;
9864 }
9865 StackItem.decorators = [
9866 { type: Directive, args: [{
9867 selector: '[sukaStackItem]'
9868 },] }
9869 ];
9870 StackItem.propDecorators = {
9871 baseClass: [{ type: HostBinding, args: ['class.stack__item',] }],
9872 fill: [{ type: HostBinding, args: ['class.stack__item--fill',] }, { type: Input }]
9873 };
9874 return StackItem;
9875}());
9876if (false) {
9877 /** @type {?} */
9878 StackItem.prototype.baseClass;
9879 /**
9880 * Set to `true` to make the `StackItem` fill the remaining horizontal space on the stack.
9881 * @type {?}
9882 */
9883 StackItem.prototype.fill;
9884}
9885
9886/**
9887 * @fileoverview added by tsickle
9888 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
9889 */
9890var StackModule = /** @class */ (function () {
9891 function StackModule() {
9892 }
9893 StackModule.decorators = [
9894 { type: NgModule, args: [{
9895 declarations: [
9896 Stack,
9897 StackItem,
9898 ],
9899 exports: [
9900 Stack,
9901 StackItem,
9902 ],
9903 imports: [
9904 CommonModule,
9905 ]
9906 },] }
9907 ];
9908 return StackModule;
9909}());
9910
9911/**
9912 * @fileoverview added by tsickle
9913 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
9914 */
9915var FormLayout = /** @class */ (function () {
9916 function FormLayout() {
9917 this.baseClass = true;
9918 }
9919 FormLayout.decorators = [
9920 { type: Component, args: [{
9921 selector: 'suka-form-layout',
9922 template: "\n <div class=\"form-layout__wrapper\">\n <ng-content></ng-content>\n </div>\n "
9923 }] }
9924 ];
9925 FormLayout.propDecorators = {
9926 baseClass: [{ type: HostBinding, args: ['class.form-layout',] }]
9927 };
9928 return FormLayout;
9929}());
9930if (false) {
9931 /** @type {?} */
9932 FormLayout.prototype.baseClass;
9933}
9934
9935/**
9936 * @fileoverview added by tsickle
9937 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
9938 */
9939var FormLayoutModule = /** @class */ (function () {
9940 function FormLayoutModule() {
9941 }
9942 FormLayoutModule.decorators = [
9943 { type: NgModule, args: [{
9944 declarations: [
9945 FormLayout,
9946 ],
9947 exports: [
9948 FormLayout,
9949 ],
9950 imports: [
9951 CommonModule,
9952 ]
9953 },] }
9954 ];
9955 return FormLayoutModule;
9956}());
9957
9958/**
9959 * @fileoverview added by tsickle
9960 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
9961 */
9962/**
9963 * Wrapper for the CdkTable with Suka design styles.
9964 * @template T
9965 */
9966var SukaTable = /** @class */ (function (_super) {
9967 __extends(SukaTable, _super);
9968 function SukaTable() {
9969 var _this = _super !== null && _super.apply(this, arguments) || this;
9970 _this.baseClass = true;
9971 /**
9972 * Set to `true` to make the table full width.
9973 */
9974 _this.fullWidth = false;
9975 /**
9976 * Set to `true` to apply hover styles to the table rows.
9977 */
9978 _this.hover = false;
9979 /**
9980 * Overrides the sticky CSS class set by the `CdkTable`.
9981 */
9982 _this.stickyCssClass = 'suka-table-sticky';
9983 return _this;
9984 }
9985 SukaTable.decorators = [
9986 { type: Component, args: [{
9987 selector: 'suka-table, table[suka-table]',
9988 exportAs: 'sukaTable',
9989 template: CDK_TABLE_TEMPLATE,
9990 providers: [{ provide: CdkTable, useExisting: SukaTable }],
9991 encapsulation: ViewEncapsulation.None,
9992 // See note on CdkTable for explanation on why this uses the default change detection strategy.
9993 changeDetection: ChangeDetectionStrategy.Default
9994 }] }
9995 ];
9996 SukaTable.propDecorators = {
9997 baseClass: [{ type: HostBinding, args: ['class.suka-table',] }],
9998 fullWidth: [{ type: HostBinding, args: ['class.suka-table--full-width',] }, { type: Input }],
9999 hover: [{ type: HostBinding, args: ['class.suka-table--hover',] }, { type: Input }]
10000 };
10001 return SukaTable;
10002}(CdkTable));
10003if (false) {
10004 /** @type {?} */
10005 SukaTable.prototype.baseClass;
10006 /**
10007 * Set to `true` to make the table full width.
10008 * @type {?}
10009 */
10010 SukaTable.prototype.fullWidth;
10011 /**
10012 * Set to `true` to apply hover styles to the table rows.
10013 * @type {?}
10014 */
10015 SukaTable.prototype.hover;
10016 /**
10017 * Overrides the sticky CSS class set by the `CdkTable`.
10018 * @type {?}
10019 * @protected
10020 */
10021 SukaTable.prototype.stickyCssClass;
10022}
10023
10024/**
10025 * @fileoverview added by tsickle
10026 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
10027 */
10028/**
10029 * Cell definition for the suka-table.
10030 * Captures the template of a column's data row cell as well as cell-specific properties.
10031 */
10032var SukaCellDef = /** @class */ (function (_super) {
10033 __extends(SukaCellDef, _super);
10034 function SukaCellDef() {
10035 return _super !== null && _super.apply(this, arguments) || this;
10036 }
10037 SukaCellDef.decorators = [
10038 { type: Directive, args: [{
10039 selector: '[sukaCellDef]',
10040 providers: [{ provide: CdkCellDef, useExisting: SukaCellDef }]
10041 },] }
10042 ];
10043 return SukaCellDef;
10044}(CdkCellDef));
10045/**
10046 * Header cell definition for the suka-table.
10047 * Captures the template of a column's header cell and as well as cell-specific properties.
10048 */
10049var SukaHeaderCellDef = /** @class */ (function (_super) {
10050 __extends(SukaHeaderCellDef, _super);
10051 function SukaHeaderCellDef() {
10052 return _super !== null && _super.apply(this, arguments) || this;
10053 }
10054 SukaHeaderCellDef.decorators = [
10055 { type: Directive, args: [{
10056 selector: '[sukaHeaderCellDef]',
10057 providers: [{ provide: CdkHeaderCellDef, useExisting: SukaHeaderCellDef }]
10058 },] }
10059 ];
10060 return SukaHeaderCellDef;
10061}(CdkHeaderCellDef));
10062/**
10063 * Footer cell definition for the suka-table.
10064 * Captures the template of a column's footer cell and as well as cell-specific properties.
10065 */
10066var SukaFooterCellDef = /** @class */ (function (_super) {
10067 __extends(SukaFooterCellDef, _super);
10068 function SukaFooterCellDef() {
10069 return _super !== null && _super.apply(this, arguments) || this;
10070 }
10071 SukaFooterCellDef.decorators = [
10072 { type: Directive, args: [{
10073 selector: '[sukaFooterCellDef]',
10074 providers: [{ provide: CdkFooterCellDef, useExisting: SukaFooterCellDef }]
10075 },] }
10076 ];
10077 return SukaFooterCellDef;
10078}(CdkFooterCellDef));
10079/**
10080 * Column definition for the suka-table.
10081 * Defines a set of cells available for a table column.
10082 */
10083var SukaColumnDef = /** @class */ (function (_super) {
10084 __extends(SukaColumnDef, _super);
10085 function SukaColumnDef() {
10086 return _super !== null && _super.apply(this, arguments) || this;
10087 }
10088 SukaColumnDef.decorators = [
10089 { type: Directive, args: [{
10090 selector: '[sukaColumnDef]',
10091 providers: [
10092 { provide: CdkColumnDef, useExisting: SukaColumnDef },
10093 { provide: 'SUKA_SORT_HEADER_COLUMN_DEF', useExisting: SukaColumnDef }
10094 ],
10095 },] }
10096 ];
10097 SukaColumnDef.propDecorators = {
10098 name: [{ type: Input, args: ['sukaColumnDef',] }],
10099 sticky: [{ type: Input }],
10100 stickyEnd: [{ type: Input }]
10101 };
10102 return SukaColumnDef;
10103}(CdkColumnDef));
10104if (false) {
10105 /**
10106 * Unique name for this column.
10107 * @type {?}
10108 */
10109 SukaColumnDef.prototype.name;
10110 /**
10111 * Whether this column should be sticky positioned at the start of the row
10112 * @type {?}
10113 */
10114 SukaColumnDef.prototype.sticky;
10115 /**
10116 * Whether this column should be sticky positioned on the end of the row
10117 * @type {?}
10118 */
10119 SukaColumnDef.prototype.stickyEnd;
10120}
10121/**
10122 * Header cell template container that adds the right classes and role.
10123 */
10124var SukaHeaderCell = /** @class */ (function (_super) {
10125 __extends(SukaHeaderCell, _super);
10126 function SukaHeaderCell(columnDef, elementRef) {
10127 var _this = _super.call(this, columnDef, elementRef) || this;
10128 elementRef.nativeElement.classList.add("suka-column-" + columnDef.cssClassFriendlyName);
10129 return _this;
10130 }
10131 SukaHeaderCell.decorators = [
10132 { type: Directive, args: [{
10133 selector: 'suka-header-cell, th[suka-header-cell]',
10134 host: {
10135 class: 'suka-header-cell',
10136 role: 'columnheader',
10137 },
10138 },] }
10139 ];
10140 /** @nocollapse */
10141 SukaHeaderCell.ctorParameters = function () { return [
10142 { type: CdkColumnDef },
10143 { type: ElementRef }
10144 ]; };
10145 return SukaHeaderCell;
10146}(CdkHeaderCell));
10147/**
10148 * Footer cell template container that adds the right classes and role.
10149 */
10150var SukaFooterCell = /** @class */ (function (_super) {
10151 __extends(SukaFooterCell, _super);
10152 function SukaFooterCell(columnDef, elementRef) {
10153 var _this = _super.call(this, columnDef, elementRef) || this;
10154 elementRef.nativeElement.classList.add("suka-column-" + columnDef.cssClassFriendlyName);
10155 return _this;
10156 }
10157 SukaFooterCell.decorators = [
10158 { type: Directive, args: [{
10159 selector: 'suka-footer-cell, td[suka-footer-cell]',
10160 host: {
10161 class: 'suka-footer-cell',
10162 role: 'gridcell',
10163 },
10164 },] }
10165 ];
10166 /** @nocollapse */
10167 SukaFooterCell.ctorParameters = function () { return [
10168 { type: CdkColumnDef },
10169 { type: ElementRef }
10170 ]; };
10171 return SukaFooterCell;
10172}(CdkFooterCell));
10173/**
10174 * Cell template container that adds the right classes and role.
10175 */
10176var SukaCell = /** @class */ (function (_super) {
10177 __extends(SukaCell, _super);
10178 function SukaCell(columnDef, elementRef) {
10179 var _this = _super.call(this, columnDef, elementRef) || this;
10180 elementRef.nativeElement.classList.add("suka-column-" + columnDef.cssClassFriendlyName);
10181 return _this;
10182 }
10183 SukaCell.decorators = [
10184 { type: Directive, args: [{
10185 selector: 'suka-cell, td[suka-cell]',
10186 host: {
10187 class: 'suka-cell',
10188 role: 'gridcell',
10189 },
10190 },] }
10191 ];
10192 /** @nocollapse */
10193 SukaCell.ctorParameters = function () { return [
10194 { type: CdkColumnDef },
10195 { type: ElementRef }
10196 ]; };
10197 return SukaCell;
10198}(CdkCell));
10199
10200/**
10201 * @fileoverview added by tsickle
10202 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
10203 */
10204/**
10205 * Header row definition for the suka-table.
10206 * Captures the header row's template and other header properties such as the columns to display.
10207 */
10208var SukaHeaderRowDef = /** @class */ (function (_super) {
10209 __extends(SukaHeaderRowDef, _super);
10210 function SukaHeaderRowDef() {
10211 return _super !== null && _super.apply(this, arguments) || this;
10212 }
10213 SukaHeaderRowDef.decorators = [
10214 { type: Directive, args: [{
10215 selector: '[sukaHeaderRowDef]',
10216 providers: [{ provide: CdkHeaderRowDef, useExisting: SukaHeaderRowDef }],
10217 inputs: ['columns: sukaHeaderRowDef', 'sticky: sukaHeaderRowDefSticky'],
10218 },] }
10219 ];
10220 return SukaHeaderRowDef;
10221}(CdkHeaderRowDef));
10222/**
10223 * Footer row definition for the suka-table.
10224 * Captures the footer row's template and other footer properties such as the columns to display.
10225 */
10226var SukaFooterRowDef = /** @class */ (function (_super) {
10227 __extends(SukaFooterRowDef, _super);
10228 function SukaFooterRowDef() {
10229 return _super !== null && _super.apply(this, arguments) || this;
10230 }
10231 SukaFooterRowDef.decorators = [
10232 { type: Directive, args: [{
10233 selector: '[sukaFooterRowDef]',
10234 providers: [{ provide: CdkFooterRowDef, useExisting: SukaFooterRowDef }],
10235 inputs: ['columns: sukaFooterRowDef', 'sticky: sukaFooterRowDefSticky'],
10236 },] }
10237 ];
10238 return SukaFooterRowDef;
10239}(CdkFooterRowDef));
10240/**
10241 * Data row definition for the suka-table.
10242 * Captures the data row's template and other properties such as the columns to display and
10243 * a when predicate that describes when this row should be used.
10244 * @template T
10245 */
10246var SukaRowDef = /** @class */ (function (_super) {
10247 __extends(SukaRowDef, _super);
10248 function SukaRowDef() {
10249 return _super !== null && _super.apply(this, arguments) || this;
10250 }
10251 SukaRowDef.decorators = [
10252 { type: Directive, args: [{
10253 selector: '[sukaRowDef]',
10254 providers: [{ provide: CdkRowDef, useExisting: SukaRowDef }],
10255 inputs: ['columns: sukaRowDefColumns', 'when: sukaRowDefWhen'],
10256 },] }
10257 ];
10258 return SukaRowDef;
10259}(CdkRowDef));
10260/**
10261 * Footer template container that contains the cell outlet. Adds the right class and role.
10262 */
10263var SukaHeaderRow = /** @class */ (function (_super) {
10264 __extends(SukaHeaderRow, _super);
10265 function SukaHeaderRow() {
10266 var _this = _super !== null && _super.apply(this, arguments) || this;
10267 _this.baseClass = true;
10268 _this.role = 'row';
10269 return _this;
10270 }
10271 SukaHeaderRow.decorators = [
10272 { type: Component, args: [{
10273 selector: 'suka-header-row, tr[suka-header-row]',
10274 template: CDK_ROW_TEMPLATE,
10275 // See note on CdkTable for explanation on why this uses the default change detection strategy.
10276 // tslint:disable-next-line:validate-decorators
10277 changeDetection: ChangeDetectionStrategy.Default,
10278 encapsulation: ViewEncapsulation.None,
10279 exportAs: 'sukaHeaderRow',
10280 providers: [{ provide: CdkHeaderRow, useExisting: SukaHeaderRow }]
10281 }] }
10282 ];
10283 SukaHeaderRow.propDecorators = {
10284 baseClass: [{ type: HostBinding, args: ['class.suka-header-row',] }],
10285 role: [{ type: HostBinding, args: ['attr.role',] }]
10286 };
10287 return SukaHeaderRow;
10288}(CdkHeaderRow));
10289if (false) {
10290 /** @type {?} */
10291 SukaHeaderRow.prototype.baseClass;
10292 /** @type {?} */
10293 SukaHeaderRow.prototype.role;
10294}
10295/**
10296 * Footer template container that contains the cell outlet. Adds the right class and role.
10297 */
10298var SukaFooterRow = /** @class */ (function (_super) {
10299 __extends(SukaFooterRow, _super);
10300 function SukaFooterRow() {
10301 var _this = _super !== null && _super.apply(this, arguments) || this;
10302 _this.baseClass = true;
10303 _this.role = 'row';
10304 return _this;
10305 }
10306 SukaFooterRow.decorators = [
10307 { type: Component, args: [{
10308 selector: 'suka-footer-row, tr[suka-footer-row]',
10309 template: CDK_ROW_TEMPLATE,
10310 // See note on CdkTable for explanation on why this uses the default change detection strategy.
10311 // tslint:disable-next-line:validate-decorators
10312 changeDetection: ChangeDetectionStrategy.Default,
10313 encapsulation: ViewEncapsulation.None,
10314 exportAs: 'sukaFooterRow',
10315 providers: [{ provide: CdkFooterRow, useExisting: SukaFooterRow }]
10316 }] }
10317 ];
10318 SukaFooterRow.propDecorators = {
10319 baseClass: [{ type: HostBinding, args: ['class.suka-footer-row',] }],
10320 role: [{ type: HostBinding, args: ['attr.role',] }]
10321 };
10322 return SukaFooterRow;
10323}(CdkFooterRow));
10324if (false) {
10325 /** @type {?} */
10326 SukaFooterRow.prototype.baseClass;
10327 /** @type {?} */
10328 SukaFooterRow.prototype.role;
10329}
10330/**
10331 * Data row template container that contains the cell outlet. Adds the right class and role.
10332 */
10333var SukaRow = /** @class */ (function (_super) {
10334 __extends(SukaRow, _super);
10335 function SukaRow() {
10336 var _this = _super !== null && _super.apply(this, arguments) || this;
10337 _this.baseClass = true;
10338 _this.role = 'row';
10339 return _this;
10340 }
10341 SukaRow.decorators = [
10342 { type: Component, args: [{
10343 selector: 'suka-row, tr[suka-row]',
10344 template: CDK_ROW_TEMPLATE,
10345 // See note on CdkTable for explanation on why this uses the default change detection strategy.
10346 // tslint:disable-next-line:validate-decorators
10347 changeDetection: ChangeDetectionStrategy.Default,
10348 encapsulation: ViewEncapsulation.None,
10349 exportAs: 'sukaRow',
10350 providers: [{ provide: CdkRow, useExisting: SukaRow }]
10351 }] }
10352 ];
10353 SukaRow.propDecorators = {
10354 baseClass: [{ type: HostBinding, args: ['class.suka-row',] }],
10355 role: [{ type: HostBinding, args: ['attr.role',] }]
10356 };
10357 return SukaRow;
10358}(CdkRow));
10359if (false) {
10360 /** @type {?} */
10361 SukaRow.prototype.baseClass;
10362 /** @type {?} */
10363 SukaRow.prototype.role;
10364}
10365
10366/**
10367 * @fileoverview added by tsickle
10368 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
10369 */
10370/**
10371 * @param {?} pageNumber
10372 * @param {?} currentPage
10373 * @param {?} spacing
10374 * @return {?}
10375 */
10376function buildPaginationArray(pageNumber, currentPage, spacing) {
10377 /** @type {?} */
10378 var pageArray = [];
10379 /** @type {?} */
10380 var startingPosition = Math.max(currentPage - spacing, 1);
10381 /** @type {?} */
10382 var endPosition = Math.min(currentPage + spacing, pageNumber);
10383 for (var i = startingPosition; i <= endPosition; i++) {
10384 pageArray.push(i);
10385 }
10386 if (currentPage - spacing > 1) {
10387 appendFirstPages(pageArray);
10388 }
10389 if (currentPage + spacing < pageNumber) {
10390 appendLastPages(pageArray, pageNumber);
10391 }
10392 return pageArray;
10393}
10394/**
10395 * @param {?} array
10396 * @return {?}
10397 */
10398function appendFirstPages(array) {
10399 /** @type {?} */
10400 var initialValue = array[0];
10401 if (initialValue - 1 > 1) {
10402 array.unshift('...');
10403 }
10404 array.unshift(1);
10405}
10406/**
10407 * @param {?} array
10408 * @param {?} lastPageNumber
10409 * @return {?}
10410 */
10411function appendLastPages(array, lastPageNumber) {
10412 if (array[array.length - 1] + 1 < lastPageNumber) {
10413 array.push('...');
10414 }
10415 array.push(lastPageNumber);
10416}
10417
10418/**
10419 * @fileoverview added by tsickle
10420 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
10421 */
10422/**
10423 * The default page size if there is no page size and there are no provided page size options.
10424 * @type {?}
10425 */
10426var DEFAULT_PAGE_SIZE = 50;
10427/**
10428 * Change event object that is emitted when the user selects a
10429 * different page size or navigates to another page.
10430 */
10431var /**
10432 * Change event object that is emitted when the user selects a
10433 * different page size or navigates to another page.
10434 */
10435PageEvent = /** @class */ (function () {
10436 function PageEvent() {
10437 }
10438 return PageEvent;
10439}());
10440if (false) {
10441 /**
10442 * The current page index.
10443 * @type {?}
10444 */
10445 PageEvent.prototype.pageIndex;
10446 /**
10447 * Index of the page that was selected previously.
10448 * @type {?}
10449 */
10450 PageEvent.prototype.previousPageIndex;
10451 /**
10452 * The current page size
10453 * @type {?}
10454 */
10455 PageEvent.prototype.pageSize;
10456 /**
10457 * The current total number of items being paged
10458 * @type {?}
10459 */
10460 PageEvent.prototype.length;
10461}
10462/**
10463 * Component to provide navigation between paged information. Displays the size of the current
10464 * page, user-selectable options to change that size, what items are being shown, and
10465 * navigational button to go to the previous or next page.
10466 */
10467var Pagination = /** @class */ (function () {
10468 function Pagination(_changeDetectorRef) {
10469 this._changeDetectorRef = _changeDetectorRef;
10470 this.initialized = new Subject();
10471 /**
10472 * Sets to `true` to disable pagination.
10473 */
10474 this.disabled = false;
10475 this.baseClass = true;
10476 this._pageIndex = 0;
10477 this._length = 0;
10478 this._pageSizeOptions = [];
10479 this._hidePageSize = false;
10480 this._showFirstLastButtons = false;
10481 /**
10482 * Event emitted when the pagination changes the page size or page index.
10483 */
10484 this.page = new EventEmitter();
10485 /**
10486 * Displayed pages array
10487 */
10488 this._pagesArray = [];
10489 /**
10490 * Calculate the page range
10491 */
10492 this.getRangeLabel = (/**
10493 * @param {?} page
10494 * @param {?} pageSize
10495 * @param {?} length
10496 * @return {?}
10497 */
10498 function (page, pageSize, length) {
10499 if (length === 0 || pageSize === 0) {
10500 return "0 de " + length;
10501 }
10502 length = Math.max(length, 0);
10503 /** @type {?} */
10504 var startIndex = page * pageSize;
10505 // If the start index exceeds the list length, do not try and fix the end index to the end.
10506 /** @type {?} */
10507 var endIndex = startIndex < length ?
10508 Math.min(startIndex + pageSize, length) :
10509 startIndex + pageSize;
10510 return startIndex + 1 + " \u2013 " + endIndex + " de " + length;
10511 });
10512 }
10513 Object.defineProperty(Pagination.prototype, "pageIndex", {
10514 /** The zero-based page index of the displayed list of items. Defaulted to 0. */
10515 get: /**
10516 * The zero-based page index of the displayed list of items. Defaulted to 0.
10517 * @return {?}
10518 */
10519 function () { return this._pageIndex; },
10520 set: /**
10521 * @param {?} value
10522 * @return {?}
10523 */
10524 function (value) {
10525 this._pageIndex = Math.max(coerceNumberProperty(value), 0);
10526 this._changeDetectorRef.markForCheck();
10527 },
10528 enumerable: true,
10529 configurable: true
10530 });
10531 Object.defineProperty(Pagination.prototype, "length", {
10532 /** The length of the total number of items that are being paginated. Defaulted to 0. */
10533 get: /**
10534 * The length of the total number of items that are being paginated. Defaulted to 0.
10535 * @return {?}
10536 */
10537 function () { return this._length; },
10538 set: /**
10539 * @param {?} value
10540 * @return {?}
10541 */
10542 function (value) {
10543 this._length = coerceNumberProperty(value);
10544 this._changeDetectorRef.markForCheck();
10545 this._updateDisplayedPagesArray();
10546 },
10547 enumerable: true,
10548 configurable: true
10549 });
10550 Object.defineProperty(Pagination.prototype, "pageSize", {
10551 /** Number of items to display on a page. By default set to 20. */
10552 get: /**
10553 * Number of items to display on a page. By default set to 20.
10554 * @return {?}
10555 */
10556 function () { return this._pageSize; },
10557 set: /**
10558 * @param {?} value
10559 * @return {?}
10560 */
10561 function (value) {
10562 this._pageSize = Math.max(coerceNumberProperty(value), 0);
10563 this._updateDisplayedPageSizeOptions();
10564 this._updateDisplayedPagesArray();
10565 },
10566 enumerable: true,
10567 configurable: true
10568 });
10569 Object.defineProperty(Pagination.prototype, "pageSizeOptions", {
10570 /** The set of provided page size options to display to the user. */
10571 get: /**
10572 * The set of provided page size options to display to the user.
10573 * @return {?}
10574 */
10575 function () { return this._pageSizeOptions; },
10576 set: /**
10577 * @param {?} value
10578 * @return {?}
10579 */
10580 function (value) {
10581 this._pageSizeOptions = (value || []).map((/**
10582 * @param {?} p
10583 * @return {?}
10584 */
10585 function (p) { return coerceNumberProperty(p); }));
10586 this._updateDisplayedPageSizeOptions();
10587 },
10588 enumerable: true,
10589 configurable: true
10590 });
10591 Object.defineProperty(Pagination.prototype, "hidePageSize", {
10592 /** Whether to hide the page size selection UI from the user. */
10593 get: /**
10594 * Whether to hide the page size selection UI from the user.
10595 * @return {?}
10596 */
10597 function () { return this._hidePageSize; },
10598 set: /**
10599 * @param {?} value
10600 * @return {?}
10601 */
10602 function (value) {
10603 this._hidePageSize = coerceBooleanProperty(value);
10604 },
10605 enumerable: true,
10606 configurable: true
10607 });
10608 Object.defineProperty(Pagination.prototype, "showFirstLastButtons", {
10609 /** Whether to show the first/last buttons UI to the user. */
10610 get: /**
10611 * Whether to show the first/last buttons UI to the user.
10612 * @return {?}
10613 */
10614 function () { return this._showFirstLastButtons; },
10615 set: /**
10616 * @param {?} value
10617 * @return {?}
10618 */
10619 function (value) {
10620 this._showFirstLastButtons = coerceBooleanProperty(value);
10621 },
10622 enumerable: true,
10623 configurable: true
10624 });
10625 /**
10626 * @return {?}
10627 */
10628 Pagination.prototype.ngOnInit = /**
10629 * @return {?}
10630 */
10631 function () {
10632 this._initialized = true;
10633 this.initialized.next(true);
10634 this._updateDisplayedPageSizeOptions();
10635 };
10636 /** Advances to the next page if it exists. */
10637 /**
10638 * Advances to the next page if it exists.
10639 * @return {?}
10640 */
10641 Pagination.prototype.nextPage = /**
10642 * Advances to the next page if it exists.
10643 * @return {?}
10644 */
10645 function () {
10646 if (!this.hasNextPage()) {
10647 return;
10648 }
10649 /** @type {?} */
10650 var previousPageIndex = this.pageIndex;
10651 this.pageIndex++;
10652 this._updateDisplayedPagesArray();
10653 this._emitPageEvent(previousPageIndex);
10654 };
10655 /** Move back to the previous page if it exists. */
10656 /**
10657 * Move back to the previous page if it exists.
10658 * @return {?}
10659 */
10660 Pagination.prototype.previousPage = /**
10661 * Move back to the previous page if it exists.
10662 * @return {?}
10663 */
10664 function () {
10665 if (!this.hasPreviousPage()) {
10666 return;
10667 }
10668 /** @type {?} */
10669 var previousPageIndex = this.pageIndex;
10670 this.pageIndex--;
10671 this._updateDisplayedPagesArray();
10672 this._emitPageEvent(previousPageIndex);
10673 };
10674 /** Move to the first page if not already there. */
10675 /**
10676 * Move to the first page if not already there.
10677 * @return {?}
10678 */
10679 Pagination.prototype.firstPage = /**
10680 * Move to the first page if not already there.
10681 * @return {?}
10682 */
10683 function () {
10684 // hasPreviousPage being false implies at the start
10685 if (!this.hasPreviousPage()) {
10686 return;
10687 }
10688 /** @type {?} */
10689 var previousPageIndex = this.pageIndex;
10690 this.pageIndex = 0;
10691 this._updateDisplayedPagesArray();
10692 this._emitPageEvent(previousPageIndex);
10693 };
10694 /** Move to the last page if not already there. */
10695 /**
10696 * Move to the last page if not already there.
10697 * @return {?}
10698 */
10699 Pagination.prototype.lastPage = /**
10700 * Move to the last page if not already there.
10701 * @return {?}
10702 */
10703 function () {
10704 // hasNextPage being false implies at the end
10705 if (!this.hasNextPage()) {
10706 return;
10707 }
10708 /** @type {?} */
10709 var previousPageIndex = this.pageIndex;
10710 this.pageIndex = this.getNumberOfPages() - 1;
10711 this._updateDisplayedPagesArray();
10712 this._emitPageEvent(previousPageIndex);
10713 };
10714 /**
10715 * Move to an specific page.
10716 */
10717 /**
10718 * Move to an specific page.
10719 * @param {?} page
10720 * @return {?}
10721 */
10722 Pagination.prototype.goToPage = /**
10723 * Move to an specific page.
10724 * @param {?} page
10725 * @return {?}
10726 */
10727 function (page) {
10728 /** @type {?} */
10729 var previousPageIndex = this.pageIndex;
10730 this.pageIndex = page - 1;
10731 this._updateDisplayedPagesArray();
10732 this._emitPageEvent(previousPageIndex);
10733 };
10734 /** Whether there is a previous page. */
10735 /**
10736 * Whether there is a previous page.
10737 * @return {?}
10738 */
10739 Pagination.prototype.hasPreviousPage = /**
10740 * Whether there is a previous page.
10741 * @return {?}
10742 */
10743 function () {
10744 return this.pageIndex >= 1 && this.pageSize !== 0;
10745 };
10746 /** Whether there is a next page. */
10747 /**
10748 * Whether there is a next page.
10749 * @return {?}
10750 */
10751 Pagination.prototype.hasNextPage = /**
10752 * Whether there is a next page.
10753 * @return {?}
10754 */
10755 function () {
10756 /** @type {?} */
10757 var maxPageIndex = this.getNumberOfPages() - 1;
10758 return this.pageIndex < maxPageIndex && this.pageSize !== 0;
10759 };
10760 /** Calculate the number of pages */
10761 /**
10762 * Calculate the number of pages
10763 * @return {?}
10764 */
10765 Pagination.prototype.getNumberOfPages = /**
10766 * Calculate the number of pages
10767 * @return {?}
10768 */
10769 function () {
10770 if (!this.pageSize) {
10771 return 0;
10772 }
10773 return Math.ceil(this.length / this.pageSize);
10774 };
10775 /**
10776 * Changes the page size so that the first item displayed on the page will still be
10777 * displayed using the new page size.
10778 *
10779 * For example, if the page size is 10 and on the second page (items indexed 10-19) then
10780 * switching so that the page size is 5 will set the third page as the current page so
10781 * that the 10th item will still be displayed.
10782 */
10783 /**
10784 * Changes the page size so that the first item displayed on the page will still be
10785 * displayed using the new page size.
10786 *
10787 * For example, if the page size is 10 and on the second page (items indexed 10-19) then
10788 * switching so that the page size is 5 will set the third page as the current page so
10789 * that the 10th item will still be displayed.
10790 * @param {?} pageSize
10791 * @return {?}
10792 */
10793 Pagination.prototype._changePageSize = /**
10794 * Changes the page size so that the first item displayed on the page will still be
10795 * displayed using the new page size.
10796 *
10797 * For example, if the page size is 10 and on the second page (items indexed 10-19) then
10798 * switching so that the page size is 5 will set the third page as the current page so
10799 * that the 10th item will still be displayed.
10800 * @param {?} pageSize
10801 * @return {?}
10802 */
10803 function (pageSize) {
10804 // Current page needs to be updated to reflect the new page size. Navigate to the page
10805 // containing the previous page's first item.
10806 /** @type {?} */
10807 var startIndex = this.pageIndex * this.pageSize;
10808 /** @type {?} */
10809 var previousPageIndex = this.pageIndex;
10810 this.pageIndex = Math.floor(startIndex / pageSize) || 0;
10811 this.pageSize = pageSize;
10812 this._emitPageEvent(previousPageIndex);
10813 };
10814 /** Checks whether the buttons for going forwards should be disabled. */
10815 /**
10816 * Checks whether the buttons for going forwards should be disabled.
10817 * @return {?}
10818 */
10819 Pagination.prototype._nextButtonsDisabled = /**
10820 * Checks whether the buttons for going forwards should be disabled.
10821 * @return {?}
10822 */
10823 function () {
10824 return this.disabled || !this.hasNextPage();
10825 };
10826 /** Checks whether the buttons for going backwards should be disabled. */
10827 /**
10828 * Checks whether the buttons for going backwards should be disabled.
10829 * @return {?}
10830 */
10831 Pagination.prototype._previousButtonsDisabled = /**
10832 * Checks whether the buttons for going backwards should be disabled.
10833 * @return {?}
10834 */
10835 function () {
10836 return this.disabled || !this.hasPreviousPage();
10837 };
10838 /**
10839 * Updates the list of page size options to display to the user. Includes making sure that
10840 * the page size is an option and that the list is sorted.
10841 */
10842 /**
10843 * Updates the list of page size options to display to the user. Includes making sure that
10844 * the page size is an option and that the list is sorted.
10845 * @private
10846 * @return {?}
10847 */
10848 Pagination.prototype._updateDisplayedPageSizeOptions = /**
10849 * Updates the list of page size options to display to the user. Includes making sure that
10850 * the page size is an option and that the list is sorted.
10851 * @private
10852 * @return {?}
10853 */
10854 function () {
10855 if (!this._initialized) {
10856 return;
10857 }
10858 // If no page size is provided, use the first page size option or the default page size.
10859 if (!this.pageSize) {
10860 this._pageSize = this.pageSizeOptions.length !== 0 ?
10861 this.pageSizeOptions[0] :
10862 DEFAULT_PAGE_SIZE;
10863 }
10864 this._displayedPageSizeOptions = this.pageSizeOptions.slice();
10865 if (this._displayedPageSizeOptions.indexOf(this.pageSize) === -1) {
10866 this._displayedPageSizeOptions.push(this.pageSize);
10867 }
10868 // Sort the numbers using a number-specific sort function.
10869 this._displayedPageSizeOptions.sort((/**
10870 * @param {?} a
10871 * @param {?} b
10872 * @return {?}
10873 */
10874 function (a, b) { return a - b; }));
10875 this._changeDetectorRef.markForCheck();
10876 };
10877 /**
10878 * @private
10879 * @return {?}
10880 */
10881 Pagination.prototype._updateDisplayedPagesArray = /**
10882 * @private
10883 * @return {?}
10884 */
10885 function () {
10886 this._pagesArray = buildPaginationArray(this.getNumberOfPages(), this.pageIndex + 1, 3);
10887 };
10888 /** Emits an event notifying that a change of the pagination's properties has been triggered. */
10889 /**
10890 * Emits an event notifying that a change of the pagination's properties has been triggered.
10891 * @private
10892 * @param {?} previousPageIndex
10893 * @return {?}
10894 */
10895 Pagination.prototype._emitPageEvent = /**
10896 * Emits an event notifying that a change of the pagination's properties has been triggered.
10897 * @private
10898 * @param {?} previousPageIndex
10899 * @return {?}
10900 */
10901 function (previousPageIndex) {
10902 this.page.emit({
10903 previousPageIndex: previousPageIndex,
10904 pageIndex: this.pageIndex,
10905 pageSize: this.pageSize,
10906 length: this.length
10907 });
10908 };
10909 Pagination.decorators = [
10910 { type: Component, args: [{
10911 selector: 'suka-pagination',
10912 exportAs: 'sukaPagination',
10913 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 ",
10914 changeDetection: ChangeDetectionStrategy.OnPush,
10915 encapsulation: ViewEncapsulation.None
10916 }] }
10917 ];
10918 /** @nocollapse */
10919 Pagination.ctorParameters = function () { return [
10920 { type: ChangeDetectorRef }
10921 ]; };
10922 Pagination.propDecorators = {
10923 disabled: [{ type: Input }],
10924 baseClass: [{ type: HostBinding, args: ['class.suka-pagination',] }],
10925 pageIndex: [{ type: Input }],
10926 length: [{ type: Input }],
10927 pageSize: [{ type: Input }],
10928 pageSizeOptions: [{ type: Input }],
10929 hidePageSize: [{ type: Input }],
10930 showFirstLastButtons: [{ type: Input }],
10931 page: [{ type: Output }]
10932 };
10933 return Pagination;
10934}());
10935if (false) {
10936 /**
10937 * @type {?}
10938 * @private
10939 */
10940 Pagination.prototype._initialized;
10941 /** @type {?} */
10942 Pagination.prototype.initialized;
10943 /**
10944 * Sets to `true` to disable pagination.
10945 * @type {?}
10946 */
10947 Pagination.prototype.disabled;
10948 /** @type {?} */
10949 Pagination.prototype.baseClass;
10950 /**
10951 * @type {?}
10952 * @private
10953 */
10954 Pagination.prototype._pageIndex;
10955 /**
10956 * @type {?}
10957 * @private
10958 */
10959 Pagination.prototype._length;
10960 /**
10961 * @type {?}
10962 * @private
10963 */
10964 Pagination.prototype._pageSize;
10965 /**
10966 * @type {?}
10967 * @private
10968 */
10969 Pagination.prototype._pageSizeOptions;
10970 /**
10971 * @type {?}
10972 * @private
10973 */
10974 Pagination.prototype._hidePageSize;
10975 /**
10976 * @type {?}
10977 * @private
10978 */
10979 Pagination.prototype._showFirstLastButtons;
10980 /**
10981 * Event emitted when the pagination changes the page size or page index.
10982 * @type {?}
10983 */
10984 Pagination.prototype.page;
10985 /**
10986 * Displayed set of page size options. Will be sorted and include current page size.
10987 * @type {?}
10988 */
10989 Pagination.prototype._displayedPageSizeOptions;
10990 /**
10991 * Displayed pages array
10992 * @type {?}
10993 */
10994 Pagination.prototype._pagesArray;
10995 /**
10996 * Calculate the page range
10997 * @type {?}
10998 */
10999 Pagination.prototype.getRangeLabel;
11000 /**
11001 * @type {?}
11002 * @private
11003 */
11004 Pagination.prototype._changeDetectorRef;
11005}
11006
11007/**
11008 * @fileoverview added by tsickle
11009 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
11010 */
11011var PaginationModule = /** @class */ (function () {
11012 function PaginationModule() {
11013 }
11014 PaginationModule.decorators = [
11015 { type: NgModule, args: [{
11016 imports: [
11017 CommonModule,
11018 ButtonModule,
11019 IconModule,
11020 ],
11021 exports: [
11022 Pagination
11023 ],
11024 declarations: [
11025 Pagination
11026 ],
11027 },] }
11028 ];
11029 return PaginationModule;
11030}());
11031
11032/**
11033 * @fileoverview added by tsickle
11034 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
11035 */
11036/**
11037 * Corresponds to `Number.MAX_SAFE_INTEGER`. Moved out into a variable here due to
11038 * flaky browser support and the value not being defined in Closure's typings.
11039 * @type {?}
11040 */
11041var MAX_SAFE_INTEGER = 9007199254740991;
11042/**
11043 * Data source that accepts a client-side data array and includes native support of filtering,
11044 * sorting (using SukaSort), and pagination (using SukaPaginator).
11045 *
11046 * Allows for sort customization by overriding sortingDataAccessor, which defines how data
11047 * properties are accessed. Also allows for filter customization by overriding filterTermAccessor,
11048 * which defines how row data is converted to a string for filter matching.
11049 *
11050 * **Note:** This class is meant to be a simple data source to help you get started. As such
11051 * it isn't equipped to handle some more advanced cases like robust i18n support or server-side
11052 * interactions. If your app needs to support more advanced use cases, consider implementing your
11053 * own `DataSource`.
11054 * @template T
11055 */
11056var /**
11057 * Data source that accepts a client-side data array and includes native support of filtering,
11058 * sorting (using SukaSort), and pagination (using SukaPaginator).
11059 *
11060 * Allows for sort customization by overriding sortingDataAccessor, which defines how data
11061 * properties are accessed. Also allows for filter customization by overriding filterTermAccessor,
11062 * which defines how row data is converted to a string for filter matching.
11063 *
11064 * **Note:** This class is meant to be a simple data source to help you get started. As such
11065 * it isn't equipped to handle some more advanced cases like robust i18n support or server-side
11066 * interactions. If your app needs to support more advanced use cases, consider implementing your
11067 * own `DataSource`.
11068 * @template T
11069 */
11070SukaTableDataSource = /** @class */ (function (_super) {
11071 __extends(SukaTableDataSource, _super);
11072 function SukaTableDataSource(initialData) {
11073 if (initialData === void 0) { initialData = []; }
11074 var _this = _super.call(this) || this;
11075 /**
11076 * Stream emitting render data to the table (depends on ordered data changes).
11077 */
11078 _this._renderData = new BehaviorSubject([]);
11079 /**
11080 * Stream that emits when a new filter string is set on the data source.
11081 */
11082 _this._filter = new BehaviorSubject('');
11083 /**
11084 * Used to react to internal changes of the paginator that are made by the data source itself.
11085 */
11086 _this._internalPageChanges = new Subject();
11087 /**
11088 * Subscription to the changes that should trigger an update to the table's rendered rows, such
11089 * as filtering, sorting, pagination, or base data changes.
11090 */
11091 _this._renderChangesSubscription = Subscription.EMPTY;
11092 /**
11093 * Data accessor function that is used for accessing data properties for sorting through
11094 * the default sortData function.
11095 * This default function assumes that the sort header IDs (which defaults to the column name)
11096 * matches the data's properties (e.g. column Xyz represents data['Xyz']).
11097 * May be set to a custom function for different behavior.
11098 * @param data Data object that is being accessed.
11099 * @param sortHeaderId The name of the column that represents the data.
11100 */
11101 // sortingDataAccessor: ((data: T, sortHeaderId: string) => string | number) =
11102 // (data: T, sortHeaderId: string): string | number => {
11103 // const value = (data as { [key: string]: any })[sortHeaderId];
11104 // if (_isNumberValue(value)) {
11105 // const numberValue = Number(value);
11106 // // Numbers beyond `MAX_SAFE_INTEGER` can't be compared reliably so we
11107 // // leave them as strings. For more info: https://goo.gl/y5vbSg
11108 // return numberValue < MAX_SAFE_INTEGER ? numberValue : value;
11109 // }
11110 // return value;
11111 // }
11112 /**
11113 * Gets a sorted copy of the data array based on the state of the SukaSort. Called
11114 * after changes are made to the filtered data or when sort changes are emitted from SukaSort.
11115 * By default, the function retrieves the active sort and its direction and compares data
11116 * by retrieving data using the sortingDataAccessor. May be overridden for a custom implementation
11117 * of data ordering.
11118 * @param data The array of data that should be sorted.
11119 * @param sort The connected SukaSort that holds the current sort state.
11120 */
11121 // sortData: ((data: T[], sort: SukaSort) => T[]) = (data: T[], sort: SukaSort): T[] => {
11122 // const active = sort.active;
11123 // const direction = sort.direction;
11124 // if (!active || direction == '') { return data; }
11125 // return data.sort((a, b) => {
11126 // let valueA = this.sortingDataAccessor(a, active);
11127 // let valueB = this.sortingDataAccessor(b, active);
11128 // // If both valueA and valueB exist (truthy), then compare the two. Otherwise, check if
11129 // // one value exists while the other doesn't. In this case, existing value should come last.
11130 // // This avoids inconsistent results when comparing values to undefined/null.
11131 // // If neither value exists, return 0 (equal).
11132 // let comparatorResult = 0;
11133 // if (valueA != null && valueB != null) {
11134 // // Check if one value is greater than the other; if equal, comparatorResult should remain 0.
11135 // if (valueA > valueB) {
11136 // comparatorResult = 1;
11137 // } else if (valueA < valueB) {
11138 // comparatorResult = -1;
11139 // }
11140 // } else if (valueA != null) {
11141 // comparatorResult = 1;
11142 // } else if (valueB != null) {
11143 // comparatorResult = -1;
11144 // }
11145 // return comparatorResult * (direction == 'asc' ? 1 : -1);
11146 // });
11147 // }
11148 /**
11149 * Checks if a data object matches the data source's filter string. By default, each data object
11150 * is converted to a string of its properties and returns true if the filter has
11151 * at least one occurrence in that string. By default, the filter string has its whitespace
11152 * trimmed and the match is case-insensitive. May be overridden for a custom implementation of
11153 * filter matching.
11154 * @param data Data object used to check against the filter.
11155 * @param filter Filter string that has been set on the data source.
11156 * @return Whether the filter matches against the data
11157 */
11158 _this.filterPredicate = (/**
11159 * @param {?} data
11160 * @param {?} filter
11161 * @return {?}
11162 */
11163 function (data, filter) {
11164 // Transform the data into a lowercase string of all property values.
11165 /** @type {?} */
11166 var dataStr = Object.keys(data).reduce((/**
11167 * @param {?} currentTerm
11168 * @param {?} key
11169 * @return {?}
11170 */
11171 function (currentTerm, key) {
11172 // Use an obscure Unicode character to delimit the words in the concatenated string.
11173 // This avoids matches where the values of two columns combined will match the user's query
11174 // (e.g. `Flute` and `Stop` will match `Test`). The character is intended to be something
11175 // that has a very low chance of being typed in by somebody in a text field. This one in
11176 // particular is "White up-pointing triangle with dot" from
11177 // https://en.wikipedia.org/wiki/List_of_Unicode_characters
11178 return currentTerm + ((/** @type {?} */ (data)))[key] + '◬';
11179 }), '').toLowerCase();
11180 // Transform the filter by converting it to lowercase and removing whitespace.
11181 /** @type {?} */
11182 var transformedFilter = filter.trim().toLowerCase();
11183 return dataStr.indexOf(transformedFilter) !== -1;
11184 });
11185 _this._data = new BehaviorSubject(initialData);
11186 _this._updateChangeSubscription();
11187 return _this;
11188 }
11189 Object.defineProperty(SukaTableDataSource.prototype, "data", {
11190 /** Array of data that should be rendered by the table, where each object represents one row. */
11191 get: /**
11192 * Array of data that should be rendered by the table, where each object represents one row.
11193 * @return {?}
11194 */
11195 function () { return this._data.value; },
11196 set: /**
11197 * @param {?} data
11198 * @return {?}
11199 */
11200 function (data) { this._data.next(data); },
11201 enumerable: true,
11202 configurable: true
11203 });
11204 Object.defineProperty(SukaTableDataSource.prototype, "filter", {
11205 /**
11206 * Filter term that should be used to filter out objects from the data array. To override how
11207 * data objects match to this filter string, provide a custom function for filterPredicate.
11208 */
11209 get: /**
11210 * Filter term that should be used to filter out objects from the data array. To override how
11211 * data objects match to this filter string, provide a custom function for filterPredicate.
11212 * @return {?}
11213 */
11214 function () { return this._filter.value; },
11215 set: /**
11216 * @param {?} filter
11217 * @return {?}
11218 */
11219 function (filter) { this._filter.next(filter); },
11220 enumerable: true,
11221 configurable: true
11222 });
11223 Object.defineProperty(SukaTableDataSource.prototype, "paginator", {
11224 /**
11225 * Instance of the SukaSort directive used by the table to control its sorting. Sort changes
11226 * emitted by the SukaSort will trigger an update to the table's rendered data.
11227 */
11228 // get sort(): SukaSort | null { return this._sort; }
11229 // set sort(sort: SukaSort | null) {
11230 // this._sort = sort;
11231 // this._updateChangeSubscription();
11232 // }
11233 // private _sort: SukaSort | null;
11234 /**
11235 * Instance of the Pagination component used by the table to control what page of the data is
11236 * displayed. Page changes emitted by the Pagination will trigger an update to the
11237 * table's rendered data.
11238 *
11239 * Note that the data source uses the pagination's properties to calculate which page of data
11240 * should be displayed. If the pagination receives its properties as template inputs,
11241 * e.g. `[pageLength]=100` or `[pageIndex]=1`, then be sure that the pagination's view has been
11242 * initialized before assigning it to this data source.
11243 */
11244 get: /**
11245 * Instance of the SukaSort directive used by the table to control its sorting. Sort changes
11246 * emitted by the SukaSort will trigger an update to the table's rendered data.
11247 */
11248 // get sort(): SukaSort | null { return this._sort; }
11249 // set sort(sort: SukaSort | null) {
11250 // this._sort = sort;
11251 // this._updateChangeSubscription();
11252 // }
11253 // private _sort: SukaSort | null;
11254 /**
11255 * Instance of the Pagination component used by the table to control what page of the data is
11256 * displayed. Page changes emitted by the Pagination will trigger an update to the
11257 * table's rendered data.
11258 *
11259 * Note that the data source uses the pagination's properties to calculate which page of data
11260 * should be displayed. If the pagination receives its properties as template inputs,
11261 * e.g. `[pageLength]=100` or `[pageIndex]=1`, then be sure that the pagination's view has been
11262 * initialized before assigning it to this data source.
11263 * @return {?}
11264 */
11265 function () { return this._paginator; },
11266 set: /**
11267 * @param {?} paginator
11268 * @return {?}
11269 */
11270 function (paginator) {
11271 this._paginator = paginator;
11272 this._updateChangeSubscription();
11273 },
11274 enumerable: true,
11275 configurable: true
11276 });
11277 /**
11278 * Subscribe to changes that should trigger an update to the table's rendered rows. When the
11279 * changes occur, process the current state of the filter, sort, and pagination along with
11280 * the provided base data and send it to the table for rendering.
11281 */
11282 /**
11283 * Subscribe to changes that should trigger an update to the table's rendered rows. When the
11284 * changes occur, process the current state of the filter, sort, and pagination along with
11285 * the provided base data and send it to the table for rendering.
11286 * @return {?}
11287 */
11288 SukaTableDataSource.prototype._updateChangeSubscription = /**
11289 * Subscribe to changes that should trigger an update to the table's rendered rows. When the
11290 * changes occur, process the current state of the filter, sort, and pagination along with
11291 * the provided base data and send it to the table for rendering.
11292 * @return {?}
11293 */
11294 function () {
11295 var _this = this;
11296 // Sorting and/or pagination should be watched if SukaSort and/or SukaPaginator are provided.
11297 // The events should emit whenever the component emits a change or initializes, or if no
11298 // component is provided, a stream with just a null event should be provided.
11299 // The `sortChange` and `pageChange` acts as a signal to the combineLatests below so that the
11300 // pipeline can progress to the next step. Note that the value from these streams are not used,
11301 // they purely act as a signal to progress in the pipeline.
11302 // const sortChange: Observable<Sort | null | void> = this._sort ?
11303 // merge(this._sort.sortChange, this._sort.initialized) as Observable<Sort | void> :
11304 // observableOf(null);
11305 /** @type {?} */
11306 var pageChange = this._paginator ?
11307 (/** @type {?} */ (merge(this._paginator.page, this._internalPageChanges, this._paginator.initialized))) :
11308 of(null);
11309 /** @type {?} */
11310 var dataStream = this._data;
11311 // Watch for base data or filter changes to provide a filtered set of data.
11312 /** @type {?} */
11313 var filteredData = combineLatest([dataStream, this._filter])
11314 .pipe(map((/**
11315 * @param {?} __0
11316 * @return {?}
11317 */
11318 function (_a) {
11319 var _b = __read(_a, 1), data = _b[0];
11320 return _this._filterData(data);
11321 })));
11322 // Watch for filtered data or sort changes to provide an ordered set of data.
11323 // const orderedData = combineLatest([filteredData, sortChange])
11324 // .pipe(map(([data]) => this._orderData(data)));
11325 // Watch for ordered data or page changes to provide a paged set of data.
11326 // const paginatedData = combineLatest([orderedData, pageChange])
11327 // .pipe(map(([data]) => this._pageData(data)));
11328 /** @type {?} */
11329 var paginatedData = combineLatest([filteredData, pageChange])
11330 .pipe(map((/**
11331 * @param {?} __0
11332 * @return {?}
11333 */
11334 function (_a) {
11335 var _b = __read(_a, 1), data = _b[0];
11336 return _this._pageData(data);
11337 })));
11338 // Watched for paged data changes and send the result to the table to render.
11339 this._renderChangesSubscription.unsubscribe();
11340 this._renderChangesSubscription = paginatedData.subscribe((/**
11341 * @param {?} data
11342 * @return {?}
11343 */
11344 function (data) { return _this._renderData.next(data); }));
11345 };
11346 /**
11347 * Returns a filtered data array where each filter object contains the filter string within
11348 * the result of the filterTermAccessor function. If no filter is set, returns the data array
11349 * as provided.
11350 */
11351 /**
11352 * Returns a filtered data array where each filter object contains the filter string within
11353 * the result of the filterTermAccessor function. If no filter is set, returns the data array
11354 * as provided.
11355 * @param {?} data
11356 * @return {?}
11357 */
11358 SukaTableDataSource.prototype._filterData = /**
11359 * Returns a filtered data array where each filter object contains the filter string within
11360 * the result of the filterTermAccessor function. If no filter is set, returns the data array
11361 * as provided.
11362 * @param {?} data
11363 * @return {?}
11364 */
11365 function (data) {
11366 var _this = this;
11367 // If there is a filter string, filter out data that does not contain it.
11368 // Each data object is converted to a string using the function defined by filterTermAccessor.
11369 // May be overridden for customization.
11370 this.filteredData =
11371 !this.filter ? data : data.filter((/**
11372 * @param {?} obj
11373 * @return {?}
11374 */
11375 function (obj) { return _this.filterPredicate(obj, _this.filter); }));
11376 if (this.paginator) {
11377 this._updatePaginator(this.filteredData.length);
11378 }
11379 return this.filteredData;
11380 };
11381 /**
11382 * Returns a sorted copy of the data if SukaSort has a sort applied, otherwise just returns the
11383 * data array as provided. Uses the default data accessor for data lookup, unless a
11384 * sortDataAccessor function is defined.
11385 */
11386 // _orderData(data: T[]): T[] {
11387 // // If there is no active sort or direction, return the data without trying to sort.
11388 // if (!this.sort) { return data; }
11389 // return this.sortData(data.slice(), this.sort);
11390 // }
11391 /**
11392 * Returns a paged slice of the provided data array according to the provided SukaPaginator's page
11393 * index and length. If there is no paginator provided, returns the data array as provided.
11394 */
11395 /**
11396 * Returns a sorted copy of the data if SukaSort has a sort applied, otherwise just returns the
11397 * data array as provided. Uses the default data accessor for data lookup, unless a
11398 * sortDataAccessor function is defined.
11399 */
11400 // _orderData(data: T[]): T[] {
11401 // // If there is no active sort or direction, return the data without trying to sort.
11402 // if (!this.sort) { return data; }
11403 // return this.sortData(data.slice(), this.sort);
11404 // }
11405 /**
11406 * Returns a paged slice of the provided data array according to the provided SukaPaginator's page
11407 * index and length. If there is no paginator provided, returns the data array as provided.
11408 * @param {?} data
11409 * @return {?}
11410 */
11411 SukaTableDataSource.prototype._pageData = /**
11412 * Returns a sorted copy of the data if SukaSort has a sort applied, otherwise just returns the
11413 * data array as provided. Uses the default data accessor for data lookup, unless a
11414 * sortDataAccessor function is defined.
11415 */
11416 // _orderData(data: T[]): T[] {
11417 // // If there is no active sort or direction, return the data without trying to sort.
11418 // if (!this.sort) { return data; }
11419 // return this.sortData(data.slice(), this.sort);
11420 // }
11421 /**
11422 * Returns a paged slice of the provided data array according to the provided SukaPaginator's page
11423 * index and length. If there is no paginator provided, returns the data array as provided.
11424 * @param {?} data
11425 * @return {?}
11426 */
11427 function (data) {
11428 if (!this.paginator) {
11429 return data;
11430 }
11431 /** @type {?} */
11432 var startIndex = this.paginator.pageIndex * this.paginator.pageSize;
11433 return data.slice(startIndex, startIndex + this.paginator.pageSize);
11434 };
11435 /**
11436 * Updates the paginator to reflect the length of the filtered data, and makes sure that the page
11437 * index does not exceed the paginator's last page. Values are changed in a resolved promise to
11438 * guard against making property changes within a round of change detection.
11439 */
11440 /**
11441 * Updates the paginator to reflect the length of the filtered data, and makes sure that the page
11442 * index does not exceed the paginator's last page. Values are changed in a resolved promise to
11443 * guard against making property changes within a round of change detection.
11444 * @param {?} filteredDataLength
11445 * @return {?}
11446 */
11447 SukaTableDataSource.prototype._updatePaginator = /**
11448 * Updates the paginator to reflect the length of the filtered data, and makes sure that the page
11449 * index does not exceed the paginator's last page. Values are changed in a resolved promise to
11450 * guard against making property changes within a round of change detection.
11451 * @param {?} filteredDataLength
11452 * @return {?}
11453 */
11454 function (filteredDataLength) {
11455 var _this = this;
11456 Promise.resolve().then((/**
11457 * @return {?}
11458 */
11459 function () {
11460 /** @type {?} */
11461 var paginator = _this.paginator;
11462 if (!paginator) {
11463 return;
11464 }
11465 paginator.length = filteredDataLength;
11466 // If the page index is set beyond the page, reduce it to the last page.
11467 if (paginator.pageIndex > 0) {
11468 /** @type {?} */
11469 var lastPageIndex = Math.ceil(paginator.length / paginator.pageSize) - 1 || 0;
11470 /** @type {?} */
11471 var newPageIndex = Math.min(paginator.pageIndex, lastPageIndex);
11472 if (newPageIndex !== paginator.pageIndex) {
11473 paginator.pageIndex = newPageIndex;
11474 // Since the paginator only emits after user-generated changes,
11475 // we need our own stream so we know to should re-render the data.
11476 _this._internalPageChanges.next();
11477 }
11478 }
11479 }));
11480 };
11481 /**
11482 * Used by the SukaTable. Called when it connects to the data source.
11483 * @docs-private
11484 */
11485 /**
11486 * Used by the SukaTable. Called when it connects to the data source.
11487 * \@docs-private
11488 * @return {?}
11489 */
11490 SukaTableDataSource.prototype.connect = /**
11491 * Used by the SukaTable. Called when it connects to the data source.
11492 * \@docs-private
11493 * @return {?}
11494 */
11495 function () { return this._renderData; };
11496 /**
11497 * Used by the SukaTable. Called when it is destroyed. No-op.
11498 * @docs-private
11499 */
11500 /**
11501 * Used by the SukaTable. Called when it is destroyed. No-op.
11502 * \@docs-private
11503 * @return {?}
11504 */
11505 SukaTableDataSource.prototype.disconnect = /**
11506 * Used by the SukaTable. Called when it is destroyed. No-op.
11507 * \@docs-private
11508 * @return {?}
11509 */
11510 function () { };
11511 return SukaTableDataSource;
11512}(DataSource));
11513if (false) {
11514 /**
11515 * Stream that emits when a new data array is set on the data source.
11516 * @type {?}
11517 * @private
11518 */
11519 SukaTableDataSource.prototype._data;
11520 /**
11521 * Stream emitting render data to the table (depends on ordered data changes).
11522 * @type {?}
11523 * @private
11524 */
11525 SukaTableDataSource.prototype._renderData;
11526 /**
11527 * Stream that emits when a new filter string is set on the data source.
11528 * @type {?}
11529 * @private
11530 */
11531 SukaTableDataSource.prototype._filter;
11532 /**
11533 * Used to react to internal changes of the paginator that are made by the data source itself.
11534 * @type {?}
11535 * @private
11536 */
11537 SukaTableDataSource.prototype._internalPageChanges;
11538 /**
11539 * Subscription to the changes that should trigger an update to the table's rendered rows, such
11540 * as filtering, sorting, pagination, or base data changes.
11541 * @type {?}
11542 */
11543 SukaTableDataSource.prototype._renderChangesSubscription;
11544 /**
11545 * The filtered set of data that has been matched by the filter string, or all the data if there
11546 * is no filter. Useful for knowing the set of data the table represents.
11547 * For example, a 'selectAll()' function would likely want to select the set of filtered data
11548 * shown to the user rather than all the data.
11549 * @type {?}
11550 */
11551 SukaTableDataSource.prototype.filteredData;
11552 /**
11553 * @type {?}
11554 * @private
11555 */
11556 SukaTableDataSource.prototype._paginator;
11557 /**
11558 * Checks if a data object matches the data source's filter string. By default, each data object
11559 * is converted to a string of its properties and returns true if the filter has
11560 * at least one occurrence in that string. By default, the filter string has its whitespace
11561 * trimmed and the match is case-insensitive. May be overridden for a custom implementation of
11562 * filter matching.
11563 * \@param data Data object used to check against the filter.
11564 * \@param filter Filter string that has been set on the data source.
11565 * \@return Whether the filter matches against the data
11566 * @type {?}
11567 */
11568 SukaTableDataSource.prototype.filterPredicate;
11569}
11570
11571/**
11572 * @fileoverview added by tsickle
11573 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
11574 */
11575var SukaTableSkeleton = /** @class */ (function () {
11576 function SukaTableSkeleton() {
11577 this.baseClass = true;
11578 this.fullWidth = false;
11579 this.skeleton = false;
11580 this.columns = [];
11581 this.rowNumber = 5;
11582 this.rows = Array(this.rowNumber).fill(0).map((/**
11583 * @param {?} x
11584 * @param {?} i
11585 * @return {?}
11586 */
11587 function (x, i) { return i; }));
11588 }
11589 SukaTableSkeleton.decorators = [
11590 { type: Component, args: [{
11591 selector: 'suka-table-skeleton, table[suka-table-skeleton]',
11592 exportAs: 'sukaTableSkeleton',
11593 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 "
11594 }] }
11595 ];
11596 SukaTableSkeleton.propDecorators = {
11597 baseClass: [{ type: HostBinding, args: ['class.suka-table',] }],
11598 fullWidth: [{ type: HostBinding, args: ['class.suka-table--full-width',] }, { type: Input }],
11599 skeleton: [{ type: Input }],
11600 columns: [{ type: Input }],
11601 rowNumber: [{ type: Input }]
11602 };
11603 return SukaTableSkeleton;
11604}());
11605if (false) {
11606 /** @type {?} */
11607 SukaTableSkeleton.prototype.baseClass;
11608 /** @type {?} */
11609 SukaTableSkeleton.prototype.fullWidth;
11610 /** @type {?} */
11611 SukaTableSkeleton.prototype.skeleton;
11612 /** @type {?} */
11613 SukaTableSkeleton.prototype.columns;
11614 /** @type {?} */
11615 SukaTableSkeleton.prototype.rowNumber;
11616 /** @type {?} */
11617 SukaTableSkeleton.prototype.rows;
11618}
11619
11620/**
11621 * @fileoverview added by tsickle
11622 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
11623 */
11624/** @type {?} */
11625var EXPORTED_DECLARATIONS = [
11626 // Table
11627 SukaTable,
11628 SukaTableSkeleton,
11629 // Template defs
11630 SukaHeaderCellDef,
11631 SukaHeaderRowDef,
11632 SukaColumnDef,
11633 SukaCellDef,
11634 SukaRowDef,
11635 SukaFooterCellDef,
11636 SukaFooterRowDef,
11637 // Cell directives
11638 SukaHeaderCell,
11639 SukaCell,
11640 SukaFooterCell,
11641 // Row directives
11642 SukaHeaderRow,
11643 SukaRow,
11644 SukaFooterRow,
11645];
11646var TableModule = /** @class */ (function () {
11647 function TableModule() {
11648 }
11649 TableModule.decorators = [
11650 { type: NgModule, args: [{
11651 imports: [
11652 CommonModule,
11653 CdkTableModule,
11654 PaginationModule,
11655 ],
11656 exports: __spread(EXPORTED_DECLARATIONS),
11657 declarations: [EXPORTED_DECLARATIONS],
11658 },] }
11659 ];
11660 return TableModule;
11661}());
11662
11663/**
11664 * @fileoverview added by tsickle
11665 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
11666 */
11667var Navigation = /** @class */ (function () {
11668 function Navigation() {
11669 this.role = 'complementary';
11670 this.hostClass = true;
11671 /**
11672 * Controls the expanded (`true`) or collapsed (`false`) state when on a small screen.
11673 */
11674 this.expanded = true;
11675 /**
11676 * Controls the hidden (`true`) or visible (`false`) state
11677 */
11678 this.hidden = false;
11679 }
11680 /**
11681 * Toggles the `Navigation` expanded state.
11682 */
11683 /**
11684 * Toggles the `Navigation` expanded state.
11685 * @return {?}
11686 */
11687 Navigation.prototype.toggle = /**
11688 * Toggles the `Navigation` expanded state.
11689 * @return {?}
11690 */
11691 function () {
11692 this.expanded = !this.expanded;
11693 };
11694 Navigation.decorators = [
11695 { type: Component, args: [{
11696 selector: 'suka-navigation',
11697 template: "\n <nav role=\"navigation__container\">\n <ul class=\"navigation__items\">\n <ng-content></ng-content>\n </ul>\n </nav>\n ",
11698 encapsulation: ViewEncapsulation.None
11699 }] }
11700 ];
11701 Navigation.propDecorators = {
11702 role: [{ type: HostBinding, args: ['attr.role',] }],
11703 hostClass: [{ type: HostBinding, args: ['class.navigation',] }],
11704 expanded: [{ type: HostBinding, args: ['class.navigation--expanded',] }, { type: Input }],
11705 hidden: [{ type: HostBinding, args: ['class.navigation--hidden',] }, { type: Input }]
11706 };
11707 return Navigation;
11708}());
11709if (false) {
11710 /** @type {?} */
11711 Navigation.prototype.role;
11712 /** @type {?} */
11713 Navigation.prototype.hostClass;
11714 /**
11715 * Controls the expanded (`true`) or collapsed (`false`) state when on a small screen.
11716 * @type {?}
11717 */
11718 Navigation.prototype.expanded;
11719 /**
11720 * Controls the hidden (`true`) or visible (`false`) state
11721 * @type {?}
11722 */
11723 Navigation.prototype.hidden;
11724}
11725
11726/**
11727 * @fileoverview added by tsickle
11728 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
11729 */
11730var NavigationItem = /** @class */ (function () {
11731 function NavigationItem(domSanitizer, router) {
11732 var _this = this;
11733 this.domSanitizer = domSanitizer;
11734 this.router = router;
11735 /**
11736 * Toggles the active (current page) state for the link.
11737 */
11738 this.active = false;
11739 /**
11740 * Emits the navigation status promise when the link is activated
11741 */
11742 this.navigation = new EventEmitter();
11743 this.isSubMenu = false;
11744 this._href = 'javascript:void(0)';
11745 if (router && this.route) {
11746 this.subscription = router.events.subscribe((/**
11747 * @param {?} s
11748 * @return {?}
11749 */
11750 function (s) {
11751 if (s instanceof NavigationEnd) {
11752 _this.update();
11753 }
11754 }));
11755 }
11756 }
11757 Object.defineProperty(NavigationItem.prototype, "href", {
11758 get: /**
11759 * @return {?}
11760 */
11761 function () {
11762 return (/** @type {?} */ (this.domSanitizer.bypassSecurityTrustUrl(this._href)));
11763 },
11764 /**
11765 * Link for the item. NOTE: *do not* pass unsafe or untrusted values, this has the potential to open you up to XSS attacks
11766 */
11767 set: /**
11768 * Link for the item. NOTE: *do not* pass unsafe or untrusted values, this has the potential to open you up to XSS attacks
11769 * @param {?} v
11770 * @return {?}
11771 */
11772 function (v) {
11773 this._href = v;
11774 },
11775 enumerable: true,
11776 configurable: true
11777 });
11778 /**
11779 * @param {?} event
11780 * @return {?}
11781 */
11782 NavigationItem.prototype.navigate = /**
11783 * @param {?} event
11784 * @return {?}
11785 */
11786 function (event) {
11787 if (this.router && this.route) {
11788 event.preventDefault();
11789 /** @type {?} */
11790 var status_1 = this.router.navigate(this.route, this.routeExtras);
11791 this.navigation.emit(status_1);
11792 }
11793 };
11794 /**
11795 * @return {?}
11796 */
11797 NavigationItem.prototype.ngOnDestroy = /**
11798 * @return {?}
11799 */
11800 function () {
11801 if (this.subscription) {
11802 this.subscription.unsubscribe();
11803 }
11804 };
11805 /**
11806 * @private
11807 * @return {?}
11808 */
11809 NavigationItem.prototype.isActive = /**
11810 * @private
11811 * @return {?}
11812 */
11813 function () {
11814 if (this.router && this.route) {
11815 /** @type {?} */
11816 var itemUrl = this.router.createUrlTree(this.route, this.routeExtras);
11817 return this.router.isActive(itemUrl, true);
11818 }
11819 return false;
11820 };
11821 /**
11822 * @private
11823 * @return {?}
11824 */
11825 NavigationItem.prototype.update = /**
11826 * @private
11827 * @return {?}
11828 */
11829 function () {
11830 if (this.isActive()) {
11831 this.active = true;
11832 }
11833 else {
11834 this.active = false;
11835 }
11836 };
11837 NavigationItem.decorators = [
11838 { type: Component, args: [{
11839 selector: 'suka-navigation-item',
11840 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 "
11841 }] }
11842 ];
11843 /** @nocollapse */
11844 NavigationItem.ctorParameters = function () { return [
11845 { type: DomSanitizer },
11846 { type: Router, decorators: [{ type: Optional }] }
11847 ]; };
11848 NavigationItem.propDecorators = {
11849 href: [{ type: Input }],
11850 active: [{ type: Input }],
11851 route: [{ type: Input }],
11852 routeExtras: [{ type: Input }],
11853 navigation: [{ type: Output }]
11854 };
11855 return NavigationItem;
11856}());
11857if (false) {
11858 /**
11859 * @type {?}
11860 * @private
11861 */
11862 NavigationItem.prototype.subscription;
11863 /**
11864 * Toggles the active (current page) state for the link.
11865 * @type {?}
11866 */
11867 NavigationItem.prototype.active;
11868 /**
11869 * Array of commands to send to the router when the link is activated
11870 * See: https://angular.io/api/router/Router#navigate
11871 * @type {?}
11872 */
11873 NavigationItem.prototype.route;
11874 /**
11875 * Router options. Used in conjunction with `route`
11876 * See: https://angular.io/api/router/Router#navigate
11877 * @type {?}
11878 */
11879 NavigationItem.prototype.routeExtras;
11880 /**
11881 * Emits the navigation status promise when the link is activated
11882 * @type {?}
11883 */
11884 NavigationItem.prototype.navigation;
11885 /** @type {?} */
11886 NavigationItem.prototype.isSubMenu;
11887 /**
11888 * @type {?}
11889 * @protected
11890 */
11891 NavigationItem.prototype._href;
11892 /**
11893 * @type {?}
11894 * @protected
11895 */
11896 NavigationItem.prototype.domSanitizer;
11897 /**
11898 * @type {?}
11899 * @protected
11900 */
11901 NavigationItem.prototype.router;
11902}
11903
11904/**
11905 * @fileoverview added by tsickle
11906 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
11907 */
11908/**
11909 * `SideNavMenu` provides a method to group `SideNavItem`s under a common heading.
11910 */
11911var NavigationMenu = /** @class */ (function () {
11912 function NavigationMenu() {
11913 /**
11914 * Controls the visibility of the child `SideNavItem`s
11915 */
11916 this.expanded = false;
11917 this.childrenHeight = 0;
11918 }
11919 /**
11920 * @return {?}
11921 */
11922 NavigationMenu.prototype.ngAfterContentInit = /**
11923 * @return {?}
11924 */
11925 function () {
11926 var _this = this;
11927 setTimeout((/**
11928 * @return {?}
11929 */
11930 function () {
11931 _this.navigationItems.forEach((/**
11932 * @param {?} item
11933 * @return {?}
11934 */
11935 function (item) {
11936 item.isSubMenu = true;
11937 }));
11938 }));
11939 setTimeout((/**
11940 * @return {?}
11941 */
11942 function () {
11943 _this.navigationNativeItems.forEach((/**
11944 * @param {?} item
11945 * @return {?}
11946 */
11947 function (item) {
11948 item.nativeElement.children.forEach((/**
11949 * @param {?} children
11950 * @return {?}
11951 */
11952 function (children) {
11953 _this.childrenHeight += children.offsetHeight;
11954 }));
11955 }));
11956 }));
11957 };
11958 /**
11959 * @return {?}
11960 */
11961 NavigationMenu.prototype.toggle = /**
11962 * @return {?}
11963 */
11964 function () {
11965 this.expanded = !this.expanded;
11966 };
11967 NavigationMenu.decorators = [
11968 { type: Component, args: [{
11969 selector: 'suka-navigation-menu',
11970 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 "
11971 }] }
11972 ];
11973 NavigationMenu.propDecorators = {
11974 title: [{ type: Input }],
11975 expanded: [{ type: Input }],
11976 navigationItems: [{ type: ContentChildren, args: [NavigationItem,] }],
11977 navigationNativeItems: [{ type: ContentChildren, args: [NavigationItem, { read: ElementRef },] }]
11978 };
11979 return NavigationMenu;
11980}());
11981if (false) {
11982 /**
11983 * Heading for the gorup
11984 * @type {?}
11985 */
11986 NavigationMenu.prototype.title;
11987 /**
11988 * Controls the visibility of the child `SideNavItem`s
11989 * @type {?}
11990 */
11991 NavigationMenu.prototype.expanded;
11992 /** @type {?} */
11993 NavigationMenu.prototype.navigationItems;
11994 /** @type {?} */
11995 NavigationMenu.prototype.navigationNativeItems;
11996 /** @type {?} */
11997 NavigationMenu.prototype.childrenHeight;
11998}
11999
12000/**
12001 * @fileoverview added by tsickle
12002 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12003 */
12004var MobileNavigation = /** @class */ (function () {
12005 function MobileNavigation() {
12006 this.role = 'complementary';
12007 this.hostClass = true;
12008 /**
12009 * Controls the expanded (`true`) or collapsed (`false`) state when on a small screen.
12010 */
12011 this.expanded = false;
12012 /**
12013 * Controls the hidden (`true`) or visible (`false`) state
12014 */
12015 this.hidden = false;
12016 }
12017 /**
12018 * @return {?}
12019 */
12020 MobileNavigation.prototype.toggle = /**
12021 * @return {?}
12022 */
12023 function () {
12024 this.expanded = !this.expanded;
12025 };
12026 MobileNavigation.decorators = [
12027 { type: Component, args: [{
12028 selector: 'suka-mobile-navigation',
12029 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 ",
12030 encapsulation: ViewEncapsulation.None
12031 }] }
12032 ];
12033 /** @nocollapse */
12034 MobileNavigation.ctorParameters = function () { return []; };
12035 MobileNavigation.propDecorators = {
12036 role: [{ type: HostBinding, args: ['attr.role',] }],
12037 hostClass: [{ type: HostBinding, args: ['class.mobile-navigation',] }],
12038 expanded: [{ type: HostBinding, args: ['class.mobile-navigation--expanded',] }, { type: Input }],
12039 hidden: [{ type: HostBinding, args: ['class.mobile-navigation--hidden',] }, { type: Input }]
12040 };
12041 return MobileNavigation;
12042}());
12043if (false) {
12044 /** @type {?} */
12045 MobileNavigation.prototype.role;
12046 /** @type {?} */
12047 MobileNavigation.prototype.hostClass;
12048 /**
12049 * Controls the expanded (`true`) or collapsed (`false`) state when on a small screen.
12050 * @type {?}
12051 */
12052 MobileNavigation.prototype.expanded;
12053 /**
12054 * Controls the hidden (`true`) or visible (`false`) state
12055 * @type {?}
12056 */
12057 MobileNavigation.prototype.hidden;
12058}
12059
12060/**
12061 * @fileoverview added by tsickle
12062 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12063 */
12064var NavigationModule = /** @class */ (function () {
12065 function NavigationModule() {
12066 }
12067 NavigationModule.decorators = [
12068 { type: NgModule, args: [{
12069 declarations: [
12070 Navigation,
12071 NavigationItem,
12072 NavigationMenu,
12073 MobileNavigation,
12074 ],
12075 imports: [
12076 CommonModule,
12077 IconModule,
12078 ButtonModule,
12079 ],
12080 exports: [
12081 Navigation,
12082 NavigationItem,
12083 NavigationMenu,
12084 MobileNavigation,
12085 ]
12086 },] }
12087 ];
12088 return NavigationModule;
12089}());
12090
12091/**
12092 * @fileoverview added by tsickle
12093 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12094 */
12095var Badge = /** @class */ (function () {
12096 function Badge() {
12097 /**
12098 * Sets the badge type. Can be `default`, `info`, `success`, `attention`, `alert` or `disabled`. Defaults to `default`.
12099 */
12100 this.type = 'default';
12101 /**
12102 * Badge size. Defaults to `md`.
12103 */
12104 this.size = 'md';
12105 this.class = '';
12106 }
12107 Object.defineProperty(Badge.prototype, "attrClass", {
12108 get: /**
12109 * @return {?}
12110 */
12111 function () {
12112 return "badge badge--" + this.type + " badge--" + this.size + " " + this.class;
12113 },
12114 enumerable: true,
12115 configurable: true
12116 });
12117 Badge.decorators = [
12118 { type: Component, args: [{
12119 selector: 'suka-badge',
12120 template: "<ng-content></ng-content>"
12121 }] }
12122 ];
12123 Badge.propDecorators = {
12124 type: [{ type: Input }],
12125 size: [{ type: Input }],
12126 class: [{ type: Input }],
12127 attrClass: [{ type: HostBinding, args: ['attr.class',] }]
12128 };
12129 return Badge;
12130}());
12131if (false) {
12132 /**
12133 * Sets the badge type. Can be `default`, `info`, `success`, `attention`, `alert` or `disabled`. Defaults to `default`.
12134 * @type {?}
12135 */
12136 Badge.prototype.type;
12137 /**
12138 * Badge size. Defaults to `md`.
12139 * @type {?}
12140 */
12141 Badge.prototype.size;
12142 /** @type {?} */
12143 Badge.prototype.class;
12144}
12145
12146/**
12147 * @fileoverview added by tsickle
12148 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12149 */
12150var BadgeModule = /** @class */ (function () {
12151 function BadgeModule() {
12152 }
12153 BadgeModule.decorators = [
12154 { type: NgModule, args: [{
12155 declarations: [
12156 Badge
12157 ],
12158 exports: [
12159 Badge
12160 ],
12161 imports: [
12162 CommonModule
12163 ]
12164 },] }
12165 ];
12166 return BadgeModule;
12167}());
12168
12169/**
12170 * @fileoverview added by tsickle
12171 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12172 */
12173var Topbar = /** @class */ (function () {
12174 function Topbar(domSanitizer, router) {
12175 this.domSanitizer = domSanitizer;
12176 this.router = router;
12177 /**
12178 * Put topbar contents inside a container. Defaults to `false`
12179 */
12180 this.insideContainer = false;
12181 /**
12182 * Top level branding. Defaults to "Kushki"
12183 */
12184 this.brand = 'Kushki';
12185 /**
12186 * Emits the navigation status promise when the link is activated
12187 */
12188 this.navigation = new EventEmitter();
12189 this._href = 'javascript:void(0)';
12190 }
12191 Object.defineProperty(Topbar.prototype, "href", {
12192 get: /**
12193 * @return {?}
12194 */
12195 function () {
12196 return (/** @type {?} */ (this.domSanitizer.bypassSecurityTrustUrl(this._href)));
12197 },
12198 /**
12199 * Optional link for the header
12200 */
12201 set: /**
12202 * Optional link for the header
12203 * @param {?} v
12204 * @return {?}
12205 */
12206 function (v) {
12207 this._href = v;
12208 },
12209 enumerable: true,
12210 configurable: true
12211 });
12212 /**
12213 * @param {?} value
12214 * @return {?}
12215 */
12216 Topbar.prototype.isTemplate = /**
12217 * @param {?} value
12218 * @return {?}
12219 */
12220 function (value) {
12221 return value instanceof TemplateRef;
12222 };
12223 /**
12224 * @param {?} event
12225 * @return {?}
12226 */
12227 Topbar.prototype.navigate = /**
12228 * @param {?} event
12229 * @return {?}
12230 */
12231 function (event) {
12232 if (this.router && this.route) {
12233 event.preventDefault();
12234 /** @type {?} */
12235 var status_1 = this.router.navigate(this.route, this.routeExtras);
12236 this.navigation.emit(status_1);
12237 }
12238 };
12239 Topbar.decorators = [
12240 { type: Component, args: [{
12241 selector: 'suka-topbar',
12242 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 "
12243 }] }
12244 ];
12245 /** @nocollapse */
12246 Topbar.ctorParameters = function () { return [
12247 { type: DomSanitizer },
12248 { type: Router, decorators: [{ type: Optional }] }
12249 ]; };
12250 Topbar.propDecorators = {
12251 insideContainer: [{ type: Input }],
12252 productName: [{ type: Input }],
12253 logoSrc: [{ type: Input }],
12254 brand: [{ type: Input }],
12255 href: [{ type: Input }],
12256 route: [{ type: Input }],
12257 routeExtras: [{ type: Input }],
12258 navigation: [{ type: Output }]
12259 };
12260 return Topbar;
12261}());
12262if (false) {
12263 /**
12264 * Put topbar contents inside a container. Defaults to `false`
12265 * @type {?}
12266 */
12267 Topbar.prototype.insideContainer;
12268 /**
12269 * Label that shows to the right of the `brand`.
12270 * @type {?}
12271 */
12272 Topbar.prototype.productName;
12273 /**
12274 * Source for the header logo.
12275 * @type {?}
12276 */
12277 Topbar.prototype.logoSrc;
12278 /**
12279 * Top level branding. Defaults to "Kushki"
12280 * @type {?}
12281 */
12282 Topbar.prototype.brand;
12283 /**
12284 * Array of commands to send to the router when the link is activated
12285 * See: https://angular.io/api/router/Router#navigate
12286 * @type {?}
12287 */
12288 Topbar.prototype.route;
12289 /**
12290 * Router options. Used in conjunction with `route`
12291 * See: https://angular.io/api/router/Router#navigate
12292 * @type {?}
12293 */
12294 Topbar.prototype.routeExtras;
12295 /**
12296 * Emits the navigation status promise when the link is activated
12297 * @type {?}
12298 */
12299 Topbar.prototype.navigation;
12300 /**
12301 * @type {?}
12302 * @protected
12303 */
12304 Topbar.prototype._href;
12305 /**
12306 * @type {?}
12307 * @protected
12308 */
12309 Topbar.prototype.domSanitizer;
12310 /**
12311 * @type {?}
12312 * @protected
12313 */
12314 Topbar.prototype.router;
12315}
12316
12317/**
12318 * @fileoverview added by tsickle
12319 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12320 */
12321var TopbarGlobal = /** @class */ (function () {
12322 function TopbarGlobal() {
12323 this.hostClass = true;
12324 }
12325 TopbarGlobal.decorators = [
12326 { type: Component, args: [{
12327 selector: 'suka-topbar-global',
12328 template: "\n <ng-content></ng-content>\n "
12329 }] }
12330 ];
12331 TopbarGlobal.propDecorators = {
12332 hostClass: [{ type: HostBinding, args: ['class.topbar__global',] }]
12333 };
12334 return TopbarGlobal;
12335}());
12336if (false) {
12337 /** @type {?} */
12338 TopbarGlobal.prototype.hostClass;
12339}
12340
12341/**
12342 * @fileoverview added by tsickle
12343 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12344 */
12345var TopbarNavigation = /** @class */ (function () {
12346 function TopbarNavigation() {
12347 }
12348 TopbarNavigation.decorators = [
12349 { type: Component, args: [{
12350 selector: 'suka-topbar-navigation',
12351 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 "
12352 }] }
12353 ];
12354 TopbarNavigation.propDecorators = {
12355 ariaLabel: [{ type: Input }]
12356 };
12357 return TopbarNavigation;
12358}());
12359if (false) {
12360 /** @type {?} */
12361 TopbarNavigation.prototype.ariaLabel;
12362}
12363
12364/**
12365 * @fileoverview added by tsickle
12366 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12367 */
12368var TopbarItem = /** @class */ (function () {
12369 function TopbarItem(domSanitizer, router) {
12370 this.domSanitizer = domSanitizer;
12371 this.router = router;
12372 /**
12373 * Emits the navigation status promise when the link is activated
12374 */
12375 this.navigation = new EventEmitter();
12376 this._href = 'javascript:void(0)';
12377 }
12378 Object.defineProperty(TopbarItem.prototype, "href", {
12379 get: /**
12380 * @return {?}
12381 */
12382 function () {
12383 return (/** @type {?} */ (this.domSanitizer.bypassSecurityTrustUrl(this._href)));
12384 },
12385 set: /**
12386 * @param {?} v
12387 * @return {?}
12388 */
12389 function (v) {
12390 this._href = v;
12391 },
12392 enumerable: true,
12393 configurable: true
12394 });
12395 /**
12396 * @param {?} event
12397 * @return {?}
12398 */
12399 TopbarItem.prototype.navigate = /**
12400 * @param {?} event
12401 * @return {?}
12402 */
12403 function (event) {
12404 if (this.router && this.route) {
12405 event.preventDefault();
12406 /** @type {?} */
12407 var status_1 = this.router.navigate(this.route, this.routeExtras);
12408 this.navigation.emit(status_1);
12409 }
12410 };
12411 TopbarItem.decorators = [
12412 { type: Component, args: [{
12413 selector: 'suka-topbar-item',
12414 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 "
12415 }] }
12416 ];
12417 /** @nocollapse */
12418 TopbarItem.ctorParameters = function () { return [
12419 { type: DomSanitizer },
12420 { type: Router, decorators: [{ type: Optional }] }
12421 ]; };
12422 TopbarItem.propDecorators = {
12423 href: [{ type: Input }],
12424 route: [{ type: Input }],
12425 routeExtras: [{ type: Input }],
12426 navigation: [{ type: Output }],
12427 icon: [{ type: Input }]
12428 };
12429 return TopbarItem;
12430}());
12431if (false) {
12432 /**
12433 * Array of commands to send to the router when the link is activated
12434 * See: https://angular.io/api/router/Router#navigate
12435 * @type {?}
12436 */
12437 TopbarItem.prototype.route;
12438 /**
12439 * Router options. Used in conjunction with `route`
12440 * See: https://angular.io/api/router/Router#navigate
12441 * @type {?}
12442 */
12443 TopbarItem.prototype.routeExtras;
12444 /**
12445 * Emits the navigation status promise when the link is activated
12446 * @type {?}
12447 */
12448 TopbarItem.prototype.navigation;
12449 /**
12450 * Icon for topbar item.
12451 * @type {?}
12452 */
12453 TopbarItem.prototype.icon;
12454 /**
12455 * @type {?}
12456 * @protected
12457 */
12458 TopbarItem.prototype._href;
12459 /**
12460 * @type {?}
12461 * @protected
12462 */
12463 TopbarItem.prototype.domSanitizer;
12464 /**
12465 * @type {?}
12466 * @protected
12467 */
12468 TopbarItem.prototype.router;
12469}
12470
12471/**
12472 * @fileoverview added by tsickle
12473 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12474 */
12475var TopbarMenu = /** @class */ (function () {
12476 function TopbarMenu(domSanitizer, elementRef) {
12477 this.domSanitizer = domSanitizer;
12478 this.elementRef = elementRef;
12479 this.trigger = 'click';
12480 this.expanded = false;
12481 this._href = 'javascript:void(0)';
12482 }
12483 Object.defineProperty(TopbarMenu.prototype, "href", {
12484 get: /**
12485 * @return {?}
12486 */
12487 function () {
12488 return (/** @type {?} */ (this.domSanitizer.bypassSecurityTrustUrl(this._href)));
12489 },
12490 set: /**
12491 * @param {?} v
12492 * @return {?}
12493 */
12494 function (v) {
12495 this._href = v;
12496 },
12497 enumerable: true,
12498 configurable: true
12499 });
12500 /**
12501 * @return {?}
12502 */
12503 TopbarMenu.prototype.onClick = /**
12504 * @return {?}
12505 */
12506 function () {
12507 if (this.trigger === 'click') {
12508 this.expanded = !this.expanded;
12509 }
12510 };
12511 /**
12512 * @return {?}
12513 */
12514 TopbarMenu.prototype.onMouseOver = /**
12515 * @return {?}
12516 */
12517 function () {
12518 if (this.trigger === 'mouseover') {
12519 this.expanded = true;
12520 }
12521 };
12522 /**
12523 * @return {?}
12524 */
12525 TopbarMenu.prototype.onMouseOut = /**
12526 * @return {?}
12527 */
12528 function () {
12529 if (this.trigger === 'mouseover') {
12530 this.expanded = false;
12531 }
12532 };
12533 /**
12534 * @param {?} event
12535 * @return {?}
12536 */
12537 TopbarMenu.prototype.onFocusOut = /**
12538 * @param {?} event
12539 * @return {?}
12540 */
12541 function (event) {
12542 if (!this.elementRef.nativeElement.contains(event.relatedTarget)) {
12543 this.expanded = false;
12544 }
12545 };
12546 TopbarMenu.decorators = [
12547 { type: Component, args: [{
12548 selector: 'suka-topbar-menu',
12549 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 "
12550 }] }
12551 ];
12552 /** @nocollapse */
12553 TopbarMenu.ctorParameters = function () { return [
12554 { type: DomSanitizer },
12555 { type: ElementRef }
12556 ]; };
12557 TopbarMenu.propDecorators = {
12558 href: [{ type: Input }],
12559 trigger: [{ type: Input }],
12560 onClick: [{ type: HostListener, args: ['click',] }],
12561 onMouseOver: [{ type: HostListener, args: ['mouseover',] }],
12562 onMouseOut: [{ type: HostListener, args: ['mouseout',] }],
12563 onFocusOut: [{ type: HostListener, args: ['focusout', ['$event'],] }]
12564 };
12565 return TopbarMenu;
12566}());
12567if (false) {
12568 /** @type {?} */
12569 TopbarMenu.prototype.trigger;
12570 /** @type {?} */
12571 TopbarMenu.prototype.expanded;
12572 /**
12573 * @type {?}
12574 * @protected
12575 */
12576 TopbarMenu.prototype._href;
12577 /**
12578 * @type {?}
12579 * @protected
12580 */
12581 TopbarMenu.prototype.domSanitizer;
12582 /**
12583 * @type {?}
12584 * @protected
12585 */
12586 TopbarMenu.prototype.elementRef;
12587}
12588
12589/**
12590 * @fileoverview added by tsickle
12591 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12592 */
12593var TopbarModule = /** @class */ (function () {
12594 function TopbarModule() {
12595 }
12596 TopbarModule.decorators = [
12597 { type: NgModule, args: [{
12598 declarations: [
12599 Topbar,
12600 TopbarGlobal,
12601 TopbarNavigation,
12602 TopbarItem,
12603 TopbarMenu,
12604 ],
12605 imports: [
12606 CommonModule,
12607 IconModule,
12608 ],
12609 exports: [
12610 Topbar,
12611 TopbarGlobal,
12612 TopbarNavigation,
12613 TopbarItem,
12614 TopbarMenu,
12615 ]
12616 },] }
12617 ];
12618 return TopbarModule;
12619}());
12620
12621/**
12622 * @fileoverview added by tsickle
12623 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12624 */
12625var Frame = /** @class */ (function () {
12626 function Frame(breakpointObserver) {
12627 var _this = this;
12628 this.baseClass = true;
12629 this.mobile = false;
12630 breakpointObserver.observe('(max-width: 768px)').subscribe((/**
12631 * @param {?} result
12632 * @return {?}
12633 */
12634 function (result) {
12635 if (result.matches) {
12636 _this.activateHandsetLayout();
12637 }
12638 else {
12639 _this.activateDesktopLayout();
12640 }
12641 }));
12642 }
12643 /**
12644 * Activates handset layout
12645 */
12646 /**
12647 * Activates handset layout
12648 * @return {?}
12649 */
12650 Frame.prototype.activateHandsetLayout = /**
12651 * Activates handset layout
12652 * @return {?}
12653 */
12654 function () {
12655 this.mobile = true;
12656 };
12657 /**
12658 * Activates desktop layout
12659 */
12660 /**
12661 * Activates desktop layout
12662 * @return {?}
12663 */
12664 Frame.prototype.activateDesktopLayout = /**
12665 * Activates desktop layout
12666 * @return {?}
12667 */
12668 function () {
12669 this.mobile = false;
12670 };
12671 Frame.decorators = [
12672 { type: Component, args: [{
12673 selector: 'suka-frame',
12674 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 "
12675 }] }
12676 ];
12677 /** @nocollapse */
12678 Frame.ctorParameters = function () { return [
12679 { type: BreakpointObserver }
12680 ]; };
12681 Frame.propDecorators = {
12682 baseClass: [{ type: HostBinding, args: ['class.frame',] }],
12683 mobile: [{ type: HostBinding, args: ['class.frame--mobile',] }]
12684 };
12685 return Frame;
12686}());
12687if (false) {
12688 /** @type {?} */
12689 Frame.prototype.baseClass;
12690 /** @type {?} */
12691 Frame.prototype.mobile;
12692}
12693
12694/**
12695 * @fileoverview added by tsickle
12696 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12697 */
12698var FrameModule = /** @class */ (function () {
12699 function FrameModule() {
12700 }
12701 FrameModule.decorators = [
12702 { type: NgModule, args: [{
12703 declarations: [
12704 Frame,
12705 ],
12706 exports: [
12707 Frame,
12708 ],
12709 imports: [
12710 CommonModule,
12711 LayoutModule$1,
12712 NavigationModule,
12713 ]
12714 },] }
12715 ];
12716 return FrameModule;
12717}());
12718
12719/**
12720 * @fileoverview added by tsickle
12721 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12722 */
12723var Breadcrumb = /** @class */ (function () {
12724 // Build your breadcrumb starting with the root route of your current activated route
12725 function Breadcrumb(activatedRoute, router) {
12726 this.activatedRoute = activatedRoute;
12727 this.router = router;
12728 }
12729 /**
12730 * @return {?}
12731 */
12732 Breadcrumb.prototype.ngOnInit = /**
12733 * @return {?}
12734 */
12735 function () {
12736 var _this = this;
12737 if (this.router) {
12738 this.breadcrumbs$ = this.router.events.pipe(filter((/**
12739 * @param {?} event
12740 * @return {?}
12741 */
12742 function (event) { return event instanceof NavigationEnd; })), distinctUntilChanged(), map((/**
12743 * @param {?} event
12744 * @return {?}
12745 */
12746 function (event) { return _this.buildBreadcrumb(_this.activatedRoute.root); })));
12747 }
12748 };
12749 /**
12750 * @param {?} route
12751 * @param {?=} url
12752 * @param {?=} breadcrumbs
12753 * @return {?}
12754 */
12755 Breadcrumb.prototype.buildBreadcrumb = /**
12756 * @param {?} route
12757 * @param {?=} url
12758 * @param {?=} breadcrumbs
12759 * @return {?}
12760 */
12761 function (route, url, breadcrumbs) {
12762 if (url === void 0) { url = ''; }
12763 if (breadcrumbs === void 0) { breadcrumbs = []; }
12764 // If no routeConfig is avalailable we are on the root path
12765 /** @type {?} */
12766 var label = route.routeConfig ? route.routeConfig.data['breadcrumb'] : 'Inicio';
12767 /** @type {?} */
12768 var path = route.routeConfig ? route.routeConfig.path : '';
12769 // In the routeConfig the complete path is not available,
12770 // so we rebuild it each time
12771 /** @type {?} */
12772 var nextUrl = "" + url + path + "/";
12773 /** @type {?} */
12774 var breadcrumb = {
12775 label: label,
12776 url: nextUrl,
12777 };
12778 /** @type {?} */
12779 var newBreadcrumbs = __spread(breadcrumbs, [breadcrumb]);
12780 if (route.firstChild) {
12781 // If we are not on our current path yet,
12782 // there will be more children to look after, to build our breadcumb
12783 return this.buildBreadcrumb(route.firstChild, nextUrl, newBreadcrumbs);
12784 }
12785 return newBreadcrumbs;
12786 };
12787 Breadcrumb.decorators = [
12788 { type: Component, args: [{
12789 selector: 'suka-breadcrumb',
12790 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 ",
12791 encapsulation: ViewEncapsulation.None
12792 }] }
12793 ];
12794 /** @nocollapse */
12795 Breadcrumb.ctorParameters = function () { return [
12796 { type: ActivatedRoute, decorators: [{ type: Optional }] },
12797 { type: Router, decorators: [{ type: Optional }] }
12798 ]; };
12799 return Breadcrumb;
12800}());
12801if (false) {
12802 /**
12803 * @ignore
12804 * @type {?}
12805 */
12806 Breadcrumb.prototype.breadcrumbs$;
12807 /**
12808 * @type {?}
12809 * @private
12810 */
12811 Breadcrumb.prototype.activatedRoute;
12812 /** @type {?} */
12813 Breadcrumb.prototype.router;
12814}
12815
12816/**
12817 * @fileoverview added by tsickle
12818 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12819 */
12820var BreadcrumbModule = /** @class */ (function () {
12821 function BreadcrumbModule() {
12822 }
12823 BreadcrumbModule.decorators = [
12824 { type: NgModule, args: [{
12825 declarations: [
12826 Breadcrumb,
12827 ],
12828 exports: [
12829 Breadcrumb,
12830 ],
12831 imports: [
12832 CommonModule,
12833 RouterModule,
12834 IconModule,
12835 ]
12836 },] }
12837 ];
12838 return BreadcrumbModule;
12839}());
12840
12841/**
12842 * @fileoverview added by tsickle
12843 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12844 */
12845var Page = /** @class */ (function () {
12846 function Page() {
12847 this.narrow = false;
12848 this.default = true;
12849 this._fluid = false;
12850 this.breadcrumb = true;
12851 }
12852 /**
12853 * @return {?}
12854 */
12855 Page.prototype.ngOnInit = /**
12856 * @return {?}
12857 */
12858 function () {
12859 if (this.fluid) {
12860 this._fluid = true;
12861 this.default = false;
12862 }
12863 };
12864 Page.decorators = [
12865 { type: Component, args: [{
12866 selector: 'suka-page',
12867 template: "\n <suka-page-header [breadcrumb]=\"breadcrumb\" [title]=\"title\" [subtitle]=\"subtitle\" [actions]=\"actions\"></suka-page-header>\n\n <ng-content></ng-content>\n "
12868 }] }
12869 ];
12870 Page.propDecorators = {
12871 fluid: [{ type: Input }],
12872 narrow: [{ type: HostBinding, args: ['class.page--narrow',] }, { type: Input }],
12873 default: [{ type: HostBinding, args: ['class.page',] }],
12874 _fluid: [{ type: HostBinding, args: ['class.page--fluid',] }],
12875 title: [{ type: Input }],
12876 subtitle: [{ type: Input }],
12877 actions: [{ type: Input }],
12878 breadcrumb: [{ type: Input }]
12879 };
12880 return Page;
12881}());
12882if (false) {
12883 /** @type {?} */
12884 Page.prototype.fluid;
12885 /** @type {?} */
12886 Page.prototype.narrow;
12887 /** @type {?} */
12888 Page.prototype.default;
12889 /** @type {?} */
12890 Page.prototype._fluid;
12891 /** @type {?} */
12892 Page.prototype.title;
12893 /** @type {?} */
12894 Page.prototype.subtitle;
12895 /** @type {?} */
12896 Page.prototype.actions;
12897 /** @type {?} */
12898 Page.prototype.breadcrumb;
12899}
12900
12901/**
12902 * @fileoverview added by tsickle
12903 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12904 */
12905var PageHeader = /** @class */ (function () {
12906 function PageHeader() {
12907 this.baseClass = true;
12908 this.breadcrumb = true;
12909 }
12910 /**
12911 * @param {?} value
12912 * @return {?}
12913 */
12914 PageHeader.prototype.isTemplate = /**
12915 * @param {?} value
12916 * @return {?}
12917 */
12918 function (value) {
12919 return value instanceof TemplateRef;
12920 };
12921 PageHeader.decorators = [
12922 { type: Component, args: [{
12923 selector: "suka-page-header",
12924 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 "
12925 }] }
12926 ];
12927 PageHeader.propDecorators = {
12928 baseClass: [{ type: HostBinding, args: ['class.page__header',] }],
12929 title: [{ type: Input }],
12930 subtitle: [{ type: Input }],
12931 actions: [{ type: Input }],
12932 breadcrumb: [{ type: Input }]
12933 };
12934 return PageHeader;
12935}());
12936if (false) {
12937 /** @type {?} */
12938 PageHeader.prototype.baseClass;
12939 /** @type {?} */
12940 PageHeader.prototype.title;
12941 /** @type {?} */
12942 PageHeader.prototype.subtitle;
12943 /** @type {?} */
12944 PageHeader.prototype.actions;
12945 /** @type {?} */
12946 PageHeader.prototype.breadcrumb;
12947}
12948
12949/**
12950 * @fileoverview added by tsickle
12951 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12952 */
12953var PageModule = /** @class */ (function () {
12954 function PageModule() {
12955 }
12956 PageModule.decorators = [
12957 { type: NgModule, args: [{
12958 declarations: [
12959 Page,
12960 PageHeader,
12961 ],
12962 exports: [
12963 Page,
12964 PageHeader,
12965 ],
12966 imports: [
12967 CommonModule,
12968 RouterModule,
12969 BreadcrumbModule,
12970 StackModule,
12971 ]
12972 },] }
12973 ];
12974 return PageModule;
12975}());
12976
12977/**
12978 * @fileoverview added by tsickle
12979 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12980 */
12981/** @type {?} */
12982var noop = (/**
12983 * @return {?}
12984 */
12985function () { });
12986var ɵ0$1 = noop;
12987var FileUploader = /** @class */ (function () {
12988 function FileUploader() {
12989 /**
12990 * Accessible text for the button that opens the upload window.
12991 */
12992 this.buttonText = 'Agregar archivo(s)';
12993 /**
12994 * Type set for button
12995 */
12996 this.buttonType = 'basic';
12997 /**
12998 * Specify the types of files that the input should be able to receive
12999 */
13000 this.accept = [];
13001 /**
13002 * Set to `false` to tell the component to only accept a single file on upload.
13003 *
13004 * Defaults to `true`. Accepts multiple files.
13005 */
13006 this.multiple = true;
13007 /**
13008 * Set to `true` for a loading file uploader.
13009 */
13010 this.skeleton = false;
13011 /**
13012 * Provides a unique id for the underlying `<input>` node
13013 */
13014 this.fileUploaderId = "file-uploader-" + FileUploader.fileUploaderCount;
13015 /**
13016 * The list of files that have been submitted to be uploaded
13017 */
13018 this.files = new Set();
13019 /**
13020 * Emits an event to other classes when files change
13021 */
13022 this.filesChange = new EventEmitter();
13023 this.baseClass = true;
13024 this.onTouchedCallback = noop;
13025 this.onChangeCallback = noop;
13026 FileUploader.fileUploaderCount++;
13027 }
13028 Object.defineProperty(FileUploader.prototype, "value", {
13029 /**
13030 * Specifies the property to be used as the return value to `ngModel`
13031 */
13032 get: /**
13033 * Specifies the property to be used as the return value to `ngModel`
13034 * @return {?}
13035 */
13036 function () {
13037 return this.files;
13038 },
13039 set: /**
13040 * @param {?} v
13041 * @return {?}
13042 */
13043 function (v) {
13044 if (v !== this.files) {
13045 this.files = v;
13046 this.onChangeCallback(v);
13047 }
13048 },
13049 enumerable: true,
13050 configurable: true
13051 });
13052 /**
13053 * @return {?}
13054 */
13055 FileUploader.prototype.onBlur = /**
13056 * @return {?}
13057 */
13058 function () {
13059 this.onTouchedCallback();
13060 };
13061 /**
13062 * Propagates the injected `value`.
13063 */
13064 /**
13065 * Propagates the injected `value`.
13066 * @param {?} value
13067 * @return {?}
13068 */
13069 FileUploader.prototype.writeValue = /**
13070 * Propagates the injected `value`.
13071 * @param {?} value
13072 * @return {?}
13073 */
13074 function (value) {
13075 if (value !== this.value) {
13076 this.files = value;
13077 }
13078 };
13079 /**
13080 * @return {?}
13081 */
13082 FileUploader.prototype.onFilesAdded = /**
13083 * @return {?}
13084 */
13085 function () {
13086 var e_1, _a;
13087 /** @type {?} */
13088 var files = this.fileInput.nativeElement.files;
13089 if (!this.multiple) {
13090 this.files.clear();
13091 }
13092 try {
13093 for (var files_1 = __values(files), files_1_1 = files_1.next(); !files_1_1.done; files_1_1 = files_1.next()) {
13094 var file = files_1_1.value;
13095 /** @type {?} */
13096 var fileItem = {
13097 file: file,
13098 uploaded: false,
13099 state: 'edit',
13100 invalid: false,
13101 invalidText: '',
13102 };
13103 this.files.add(fileItem);
13104 this.filesChange.emit(this.files);
13105 }
13106 }
13107 catch (e_1_1) { e_1 = { error: e_1_1 }; }
13108 finally {
13109 try {
13110 if (files_1_1 && !files_1_1.done && (_a = files_1.return)) _a.call(files_1);
13111 }
13112 finally { if (e_1) throw e_1.error; }
13113 }
13114 this.value = this.files;
13115 };
13116 /**
13117 * @param {?} fileItem
13118 * @return {?}
13119 */
13120 FileUploader.prototype.removeFile = /**
13121 * @param {?} fileItem
13122 * @return {?}
13123 */
13124 function (fileItem) {
13125 this.files.delete(fileItem);
13126 this.fileInput.nativeElement.value = '';
13127 this.filesChange.emit(this.files);
13128 };
13129 /**
13130 * Registers the injected function to control the touch use of the `FileUploader`.
13131 */
13132 /**
13133 * Registers the injected function to control the touch use of the `FileUploader`.
13134 * @param {?} fn
13135 * @return {?}
13136 */
13137 FileUploader.prototype.registerOnTouched = /**
13138 * Registers the injected function to control the touch use of the `FileUploader`.
13139 * @param {?} fn
13140 * @return {?}
13141 */
13142 function (fn) {
13143 this.onTouchedCallback = fn;
13144 };
13145 /**
13146 * Sets a method in order to propagate changes back to the form.
13147 */
13148 /**
13149 * Sets a method in order to propagate changes back to the form.
13150 * @param {?} fn
13151 * @return {?}
13152 */
13153 FileUploader.prototype.registerOnChange = /**
13154 * Sets a method in order to propagate changes back to the form.
13155 * @param {?} fn
13156 * @return {?}
13157 */
13158 function (fn) {
13159 this.onChangeCallback = fn;
13160 };
13161 /**
13162 * Counter used to create unique ids for file-uploader components
13163 */
13164 FileUploader.fileUploaderCount = 0;
13165 FileUploader.decorators = [
13166 { type: Component, args: [{
13167 selector: 'suka-file-uploader',
13168 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 ",
13169 providers: [
13170 {
13171 provide: NG_VALUE_ACCESSOR,
13172 useExisting: FileUploader,
13173 multi: true
13174 }
13175 ]
13176 }] }
13177 ];
13178 /** @nocollapse */
13179 FileUploader.ctorParameters = function () { return []; };
13180 FileUploader.propDecorators = {
13181 buttonText: [{ type: Input }],
13182 buttonType: [{ type: Input }],
13183 title: [{ type: Input }],
13184 description: [{ type: Input }],
13185 accept: [{ type: Input }],
13186 multiple: [{ type: Input }],
13187 skeleton: [{ type: Input }],
13188 size: [{ type: Input }],
13189 fileUploaderId: [{ type: Input }],
13190 fileInput: [{ type: ViewChild, args: ['fileInput', { static: false },] }],
13191 files: [{ type: Input }],
13192 filesChange: [{ type: Output }],
13193 baseClass: [{ type: HostBinding, args: ['class.file-uploader',] }]
13194 };
13195 return FileUploader;
13196}());
13197if (false) {
13198 /**
13199 * Counter used to create unique ids for file-uploader components
13200 * @type {?}
13201 */
13202 FileUploader.fileUploaderCount;
13203 /**
13204 * Accessible text for the button that opens the upload window.
13205 * @type {?}
13206 */
13207 FileUploader.prototype.buttonText;
13208 /**
13209 * Type set for button
13210 * @type {?}
13211 */
13212 FileUploader.prototype.buttonType;
13213 /**
13214 * Text set to the title
13215 * @type {?}
13216 */
13217 FileUploader.prototype.title;
13218 /**
13219 * Text set to the description
13220 * @type {?}
13221 */
13222 FileUploader.prototype.description;
13223 /**
13224 * Specify the types of files that the input should be able to receive
13225 * @type {?}
13226 */
13227 FileUploader.prototype.accept;
13228 /**
13229 * Set to `false` to tell the component to only accept a single file on upload.
13230 *
13231 * Defaults to `true`. Accepts multiple files.
13232 * @type {?}
13233 */
13234 FileUploader.prototype.multiple;
13235 /**
13236 * Set to `true` for a loading file uploader.
13237 * @type {?}
13238 */
13239 FileUploader.prototype.skeleton;
13240 /**
13241 * Sets the size of the button.
13242 * @type {?}
13243 */
13244 FileUploader.prototype.size;
13245 /**
13246 * Provides a unique id for the underlying `<input>` node
13247 * @type {?}
13248 */
13249 FileUploader.prototype.fileUploaderId;
13250 /**
13251 * Maintains a reference to the view DOM element of the underlying `<input>` node
13252 * @type {?}
13253 */
13254 FileUploader.prototype.fileInput;
13255 /**
13256 * The list of files that have been submitted to be uploaded
13257 * @type {?}
13258 */
13259 FileUploader.prototype.files;
13260 /**
13261 * Emits an event to other classes when files change
13262 * @type {?}
13263 */
13264 FileUploader.prototype.filesChange;
13265 /** @type {?} */
13266 FileUploader.prototype.baseClass;
13267 /**
13268 * @type {?}
13269 * @protected
13270 */
13271 FileUploader.prototype.onTouchedCallback;
13272 /**
13273 * @type {?}
13274 * @protected
13275 */
13276 FileUploader.prototype.onChangeCallback;
13277}
13278
13279/**
13280 * @fileoverview added by tsickle
13281 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
13282 */
13283var File = /** @class */ (function () {
13284 function File() {
13285 this.remove = new EventEmitter();
13286 this.selectedFile = true;
13287 }
13288 Object.defineProperty(File.prototype, "isInvalidText", {
13289 get: /**
13290 * @return {?}
13291 */
13292 function () {
13293 return this.fileItem.invalidText;
13294 },
13295 enumerable: true,
13296 configurable: true
13297 });
13298 Object.defineProperty(File.prototype, "isValid", {
13299 get: /**
13300 * @return {?}
13301 */
13302 function () {
13303 return this.fileItem.state === 'complete';
13304 },
13305 enumerable: true,
13306 configurable: true
13307 });
13308 File.decorators = [
13309 { type: Component, args: [{
13310 selector: 'suka-file',
13311 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 "
13312 }] }
13313 ];
13314 File.propDecorators = {
13315 fileItem: [{ type: Input }],
13316 remove: [{ type: Output }],
13317 selectedFile: [{ type: HostBinding, args: ['class.file__selected-file',] }],
13318 isInvalidText: [{ type: HostBinding, args: ['class.file__selected-file--invalid',] }],
13319 isValid: [{ type: HostBinding, args: ['class.file__selected-file--valid',] }]
13320 };
13321 return File;
13322}());
13323if (false) {
13324 /**
13325 * A single `FileItem` from the set of `FileItem`s
13326 * @type {?}
13327 */
13328 File.prototype.fileItem;
13329 /** @type {?} */
13330 File.prototype.remove;
13331 /** @type {?} */
13332 File.prototype.selectedFile;
13333}
13334
13335/**
13336 * @fileoverview added by tsickle
13337 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
13338 */
13339var FileUploaderModule = /** @class */ (function () {
13340 function FileUploaderModule() {
13341 }
13342 FileUploaderModule.decorators = [
13343 { type: NgModule, args: [{
13344 declarations: [
13345 FileUploader,
13346 File
13347 ],
13348 exports: [
13349 FileUploader
13350 ],
13351 imports: [
13352 CommonModule,
13353 ButtonModule,
13354 IconModule,
13355 LoadingModule,
13356 ]
13357 },] }
13358 ];
13359 return FileUploaderModule;
13360}());
13361
13362/**
13363 * @fileoverview added by tsickle
13364 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
13365 */
13366var Avatar = /** @class */ (function () {
13367 function Avatar() {
13368 /**
13369 * Sets the avatar color.
13370 */
13371 this.color = 'gray';
13372 /**
13373 * Sets the avatar class
13374 */
13375 this.class = '';
13376 /**
13377 * Sets the avatar size.
13378 */
13379 this.size = 'md';
13380 }
13381 Object.defineProperty(Avatar.prototype, "attrClass", {
13382 get: /**
13383 * @return {?}
13384 */
13385 function () {
13386 return "avatar avatar--" + this.color + " avatar--" + this.size + " " + this.class;
13387 },
13388 enumerable: true,
13389 configurable: true
13390 });
13391 /**
13392 * Sets the avatar initials according to the name input.
13393 */
13394 /**
13395 * Sets the avatar initials according to the name input.
13396 * @return {?}
13397 */
13398 Avatar.prototype.getInitials = /**
13399 * Sets the avatar initials according to the name input.
13400 * @return {?}
13401 */
13402 function () {
13403 if (this.name === '') {
13404 return '';
13405 }
13406 /** @type {?} */
13407 var names = this.name.split(' ');
13408 /** @type {?} */
13409 var initials = names[0].substring(0, 1).toUpperCase();
13410 if (names.length > 1) {
13411 initials += names[names.length - 1].substring(0, 1).toUpperCase();
13412 }
13413 return initials;
13414 };
13415 Avatar.decorators = [
13416 { type: Component, args: [{
13417 selector: "suka-avatar",
13418 template: "\n <ng-container *ngIf=\"!imgSrc\">{{getInitials()}}</ng-container>\n <img *ngIf=\"imgSrc\" [src]=\"imgSrc\" />\n "
13419 }] }
13420 ];
13421 Avatar.propDecorators = {
13422 imgSrc: [{ type: Input }],
13423 name: [{ type: Input }],
13424 color: [{ type: Input }],
13425 class: [{ type: Input }],
13426 size: [{ type: Input }],
13427 attrClass: [{ type: HostBinding, args: ['attr.class',] }]
13428 };
13429 return Avatar;
13430}());
13431if (false) {
13432 /**
13433 * Sets an image url for the avatar. If it is set, it displays instead of the name initials.
13434 * @type {?}
13435 */
13436 Avatar.prototype.imgSrc;
13437 /**
13438 * Avatar name. Used to display its initials (Max 2).
13439 * @type {?}
13440 */
13441 Avatar.prototype.name;
13442 /**
13443 * Sets the avatar color.
13444 * @type {?}
13445 */
13446 Avatar.prototype.color;
13447 /**
13448 * Sets the avatar class
13449 * @type {?}
13450 */
13451 Avatar.prototype.class;
13452 /**
13453 * Sets the avatar size.
13454 * @type {?}
13455 */
13456 Avatar.prototype.size;
13457}
13458
13459/**
13460 * @fileoverview added by tsickle
13461 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
13462 */
13463var AvatarModule = /** @class */ (function () {
13464 function AvatarModule() {
13465 }
13466 AvatarModule.decorators = [
13467 { type: NgModule, args: [{
13468 declarations: [Avatar],
13469 exports: [Avatar],
13470 imports: [CommonModule]
13471 },] }
13472 ];
13473 return AvatarModule;
13474}());
13475
13476/**
13477 * @fileoverview added by tsickle
13478 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
13479 */
13480var DatePickerInput = /** @class */ (function () {
13481 function DatePickerInput(elementRef) {
13482 this.elementRef = elementRef;
13483 /**
13484 * Select a calendar type for the `model`.
13485 */
13486 this.type = 'simple';
13487 /**
13488 * Sets the id for the `DatePickerInput`.
13489 */
13490 this.id = "datepicker-" + DatePickerInput.datePickerCount++;
13491 /**
13492 * Set to `true` to display a calendar icon
13493 */
13494 this.hasIcon = false;
13495 /**
13496 * Sets the input's placeholder.
13497 */
13498 this.placeholder = 'dd/mm/yyyy';
13499 /**
13500 * Sets the pattern to follow.
13501 */
13502 this.pattern = '^\\d{1,2}/\\d{1,2}/\\d{4}$';
13503 /**
13504 * Emits event notifying other classes of a value change.
13505 */
13506 this.valueChange = new EventEmitter();
13507 /**
13508 * Set to `true` to disable the input
13509 */
13510 this.disabled = false;
13511 /**
13512 * Set to `true` to display invalid state.
13513 */
13514 this.invalid = false;
13515 /**
13516 * Skeleton state.
13517 */
13518 this.skeleton = false;
13519 /**
13520 * Sets the `DatepickerInput` value.
13521 */
13522 this.value = '';
13523 this.onTouched = (/**
13524 * @return {?}
13525 */
13526 function () { });
13527 this.propagateChange = (/**
13528 * @param {?} _
13529 * @return {?}
13530 */
13531 function (_) { });
13532 }
13533 /**
13534 * Sets the value, marks the input as touched and emits a value change event.
13535 * @param event
13536 */
13537 /**
13538 * Sets the value, marks the input as touched and emits a value change event.
13539 * @param {?} event
13540 * @return {?}
13541 */
13542 DatePickerInput.prototype.onChange = /**
13543 * Sets the value, marks the input as touched and emits a value change event.
13544 * @param {?} event
13545 * @return {?}
13546 */
13547 function (event) {
13548 this.value = event.target.value;
13549 this.valueChange.emit(this.value);
13550 this.propagateChange(this.value);
13551 this.onTouched();
13552 };
13553 /**
13554 * @param {?} value
13555 * @return {?}
13556 */
13557 DatePickerInput.prototype.writeValue = /**
13558 * @param {?} value
13559 * @return {?}
13560 */
13561 function (value) {
13562 this.value = value;
13563 };
13564 /**
13565 * @param {?} fn
13566 * @return {?}
13567 */
13568 DatePickerInput.prototype.registerOnChange = /**
13569 * @param {?} fn
13570 * @return {?}
13571 */
13572 function (fn) {
13573 this.propagateChange = fn;
13574 };
13575 /**
13576 * @param {?} fn
13577 * @return {?}
13578 */
13579 DatePickerInput.prototype.registerOnTouched = /**
13580 * @param {?} fn
13581 * @return {?}
13582 */
13583 function (fn) {
13584 this.onTouched = fn;
13585 };
13586 /**
13587 * @param {?} value
13588 * @return {?}
13589 */
13590 DatePickerInput.prototype.isTemplate = /**
13591 * @param {?} value
13592 * @return {?}
13593 */
13594 function (value) {
13595 return value instanceof TemplateRef;
13596 };
13597 DatePickerInput.datePickerCount = 0;
13598 DatePickerInput.decorators = [
13599 { type: Component, args: [{
13600 selector: 'suka-date-picker-input',
13601 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 ",
13602 providers: [
13603 {
13604 provide: NG_VALUE_ACCESSOR,
13605 useExisting: DatePickerInput,
13606 multi: true
13607 }
13608 ]
13609 }] }
13610 ];
13611 /** @nocollapse */
13612 DatePickerInput.ctorParameters = function () { return [
13613 { type: ElementRef }
13614 ]; };
13615 DatePickerInput.propDecorators = {
13616 type: [{ type: Input }],
13617 id: [{ type: Input }],
13618 hasIcon: [{ type: Input }],
13619 label: [{ type: Input }],
13620 placeholder: [{ type: Input }],
13621 pattern: [{ type: Input }],
13622 valueChange: [{ type: Output }],
13623 disabled: [{ type: Input }],
13624 invalid: [{ type: Input }],
13625 invalidText: [{ type: Input }],
13626 skeleton: [{ type: Input }],
13627 value: [{ type: Input }]
13628 };
13629 return DatePickerInput;
13630}());
13631if (false) {
13632 /**
13633 * @type {?}
13634 * @private
13635 */
13636 DatePickerInput.datePickerCount;
13637 /**
13638 * Select a calendar type for the `model`.
13639 * @type {?}
13640 */
13641 DatePickerInput.prototype.type;
13642 /**
13643 * Sets the id for the `DatePickerInput`.
13644 * @type {?}
13645 */
13646 DatePickerInput.prototype.id;
13647 /**
13648 * Set to `true` to display a calendar icon
13649 * @type {?}
13650 */
13651 DatePickerInput.prototype.hasIcon;
13652 /**
13653 * label content.
13654 * @type {?}
13655 */
13656 DatePickerInput.prototype.label;
13657 /**
13658 * Sets the input's placeholder.
13659 * @type {?}
13660 */
13661 DatePickerInput.prototype.placeholder;
13662 /**
13663 * Sets the pattern to follow.
13664 * @type {?}
13665 */
13666 DatePickerInput.prototype.pattern;
13667 /**
13668 * Emits event notifying other classes of a value change.
13669 * @type {?}
13670 */
13671 DatePickerInput.prototype.valueChange;
13672 /**
13673 * Set to `true` to disable the input
13674 * @type {?}
13675 */
13676 DatePickerInput.prototype.disabled;
13677 /**
13678 * Set to `true` to display invalid state.
13679 * @type {?}
13680 */
13681 DatePickerInput.prototype.invalid;
13682 /**
13683 * Feedback message to display when `DatepickerInput` is invalid.
13684 * @type {?}
13685 */
13686 DatePickerInput.prototype.invalidText;
13687 /**
13688 * Skeleton state.
13689 * @type {?}
13690 */
13691 DatePickerInput.prototype.skeleton;
13692 /**
13693 * Sets the `DatepickerInput` value.
13694 * @type {?}
13695 */
13696 DatePickerInput.prototype.value;
13697 /** @type {?} */
13698 DatePickerInput.prototype.onTouched;
13699 /** @type {?} */
13700 DatePickerInput.prototype.propagateChange;
13701 /**
13702 * @type {?}
13703 * @protected
13704 */
13705 DatePickerInput.prototype.elementRef;
13706}
13707
13708/**
13709 * @fileoverview added by tsickle
13710 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
13711 */
13712var DatePickerInputModule = /** @class */ (function () {
13713 function DatePickerInputModule() {
13714 }
13715 DatePickerInputModule.decorators = [
13716 { type: NgModule, args: [{
13717 declarations: [
13718 DatePickerInput
13719 ],
13720 exports: [
13721 DatePickerInput
13722 ],
13723 imports: [
13724 CommonModule,
13725 IconModule,
13726 ]
13727 },] }
13728 ];
13729 return DatePickerInputModule;
13730}());
13731
13732/**
13733 * @fileoverview added by tsickle
13734 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
13735 */
13736/** @type {?} */
13737var monthToStr = (/**
13738 * @param {?} monthNumber
13739 * @param {?} shorthand
13740 * @param {?} locale
13741 * @return {?}
13742 */
13743function (monthNumber, shorthand, locale) {
13744 return locale.months[shorthand ? 'shorthand' : 'longhand'][monthNumber];
13745});
13746var ɵ0$2 = monthToStr;
13747/** @type {?} */
13748var config = {
13749 selectorInit: '[data-date-picker]',
13750 selectorDatePickerInput: '[data-date-picker-input]',
13751 selectorDatePickerInputFrom: '[data-date-picker-input-from]',
13752 selectorDatePickerInputTo: '[data-date-picker-input-to]',
13753 selectorDatePickerIcon: '[data-date-picker-icon]',
13754 selectorFlatpickrMonthYearContainer: '.flatpickr-current-month',
13755 selectorFlatpickrYearContainer: '.numInputWrapper',
13756 selectorFlatpickrCurrentMonth: '.cur-month',
13757 classCalendarContainer: "date-picker__calendar",
13758 classMonth: "date-picker__month",
13759 classWeekdays: "date-picker__weekdays",
13760 classDays: "date-picker__days",
13761 classWeekday: "date-picker__weekday",
13762 classDay: "date-picker__day",
13763 classFocused: "focused",
13764 classVisuallyHidden: "visually-hidden",
13765 classFlatpickrCurrentMonth: 'cur-month',
13766 attribType: 'data-date-picker-type',
13767 dateFormat: 'd/m/Y',
13768 shorthand: false
13769};
13770/** @type {?} */
13771var sukaFlatpickrMonthSelectPlugin = (/**
13772 * @param {?} fp
13773 * @return {?}
13774 */
13775function (fp) {
13776 /** @type {?} */
13777 var setupElements = (/**
13778 * @return {?}
13779 */
13780 function () {
13781 var _a;
13782 if (!fp.monthElements) {
13783 return;
13784 }
13785 fp.monthElements.forEach((/**
13786 * @param {?} elem
13787 * @return {?}
13788 */
13789 function (elem) {
13790 if (!elem.parentNode) {
13791 return;
13792 }
13793 elem.parentNode.removeChild(elem);
13794 }));
13795 (_a = fp.monthElements).splice.apply(_a, __spread([0,
13796 fp.monthElements.length], fp.monthElements.map((/**
13797 * @return {?}
13798 */
13799 function () {
13800 /** @type {?} */
13801 var monthElement = fp._createElement('span', config.classFlatpickrCurrentMonth);
13802 monthElement.textContent = monthToStr(fp.currentMonth, config.shorthand === true, fp.l10n);
13803 fp.yearElements[0]
13804 .closest(config.selectorFlatpickrMonthYearContainer)
13805 .insertBefore(monthElement, fp.yearElements[0].closest(config.selectorFlatpickrYearContainer));
13806 return monthElement;
13807 }))));
13808 });
13809 /** @type {?} */
13810 var updateCurrentMonth = (/**
13811 * @return {?}
13812 */
13813 function () {
13814 /** @type {?} */
13815 var monthStr = monthToStr(fp.currentMonth, config.shorthand === true, fp.l10n);
13816 if (fp.yearElements) {
13817 fp.yearElements.forEach((/**
13818 * @param {?} elem
13819 * @return {?}
13820 */
13821 function (elem) {
13822 /** @type {?} */
13823 var currentMonthContainer = elem.closest(config.selectorFlatpickrMonthYearContainer);
13824 Array.prototype.forEach.call(currentMonthContainer.querySelectorAll('.cur-month'), (/**
13825 * @param {?} monthElement
13826 * @return {?}
13827 */
13828 function (monthElement) {
13829 monthElement.textContent = monthStr;
13830 }));
13831 }));
13832 }
13833 });
13834 /** @type {?} */
13835 var register = (/**
13836 * @return {?}
13837 */
13838 function () {
13839 fp.loadedPlugins.push('sukaFlatpickrMonthSelectPlugin');
13840 });
13841 return {
13842 onMonthChange: updateCurrentMonth,
13843 onOpen: updateCurrentMonth,
13844 onReady: [setupElements, updateCurrentMonth, register]
13845 };
13846});
13847
13848/**
13849 * @fileoverview added by tsickle
13850 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
13851 */
13852var DatePicker = /** @class */ (function () {
13853 function DatePicker(elementRef) {
13854 var _this = this;
13855 this.elementRef = elementRef;
13856 /**
13857 * Select calendar range mode
13858 */
13859 this.range = false;
13860 /**
13861 * Format of date
13862 *
13863 * For reference: https://flatpickr.js.org/formatting/
13864 */
13865 this.dateFormat = 'd/m/Y';
13866 /**
13867 * Sets the placeholder text.
13868 */
13869 this.placeholder = 'dd/mm/yyyy';
13870 /**
13871 * Sets the pattern to follow.
13872 */
13873 this.pattern = '^\\d{1,2}/\\d{1,2}/\\d{4}$';
13874 /**
13875 * Date picker id.
13876 */
13877 this.id = "datepicker-" + DatePicker.datePickerCount++;
13878 /**
13879 * Set to `true` to disable the `Datepicker`
13880 */
13881 this.disabled = false;
13882 /**
13883 * Set to `true` to display invalid state.
13884 */
13885 this.invalid = false;
13886 /**
13887 * Skeleton state.
13888 */
13889 this.skeleton = false;
13890 /**
13891 * Array of date picker plugins.
13892 */
13893 this.plugins = [];
13894 /**
13895 * Emits event notifying other classes of a change.
13896 */
13897 this.valueChange = new EventEmitter();
13898 this._value = [];
13899 this._flatpickrOptions = {
13900 allowInput: true
13901 };
13902 this.flatpickrBaseOptions = {
13903 mode: 'single',
13904 dateFormat: 'd/m/Y',
13905 locale: Spanish,
13906 plugins: this.plugins,
13907 onOpen: (/**
13908 * @return {?}
13909 */
13910 function () { _this.updateClassNames(); }),
13911 value: this.value
13912 };
13913 this.flatpickrInstance = null;
13914 this.onTouched = (/**
13915 * @return {?}
13916 */
13917 function () { });
13918 this.propagateChange = (/**
13919 * @param {?} _
13920 * @return {?}
13921 */
13922 function (_) { });
13923 }
13924 Object.defineProperty(DatePicker.prototype, "value", {
13925 get: /**
13926 * @return {?}
13927 */
13928 function () {
13929 return this._value;
13930 },
13931 /**
13932 * Sets the value.
13933 */
13934 set: /**
13935 * Sets the value.
13936 * @param {?} v
13937 * @return {?}
13938 */
13939 function (v) {
13940 if (!v) {
13941 v = [];
13942 }
13943 this._value = v;
13944 },
13945 enumerable: true,
13946 configurable: true
13947 });
13948 Object.defineProperty(DatePicker.prototype, "flatpickrOptions", {
13949 get: /**
13950 * @return {?}
13951 */
13952 function () {
13953 /** @type {?} */
13954 var plugins = __spread(this.plugins, [sukaFlatpickrMonthSelectPlugin]);
13955 if (this.range) {
13956 plugins.push(rangePlugin({ input: "#" + this.id + "-rangeInput", position: 'left' }));
13957 }
13958 return Object.assign({}, this._flatpickrOptions, this.flatpickrBaseOptions, {
13959 mode: this.range ? 'range' : 'single',
13960 plugins: plugins,
13961 dateFormat: this.dateFormat
13962 });
13963 },
13964 /**
13965 * Flatpickr options
13966 */
13967 set: /**
13968 * Flatpickr options
13969 * @param {?} options
13970 * @return {?}
13971 */
13972 function (options) {
13973 this._flatpickrOptions = Object.assign({}, this._flatpickrOptions, options);
13974 },
13975 enumerable: true,
13976 configurable: true
13977 });
13978 /**
13979 * @param {?} changes
13980 * @return {?}
13981 */
13982 DatePicker.prototype.ngOnChanges = /**
13983 * @param {?} changes
13984 * @return {?}
13985 */
13986 function (changes) {
13987 if (this.isFlatpickrLoaded()) {
13988 /** @type {?} */
13989 var dates = this.flatpickrInstance.selectedDates;
13990 if (changes.value && this.didDateValueChange(changes.value.currentValue, changes.value.previousValue)) {
13991 dates = changes.value.currentValue;
13992 }
13993 // only reset the flatpickr instance on Input changes
13994 this.flatpickrInstance = flatpickr("#" + this.id, this.flatpickrOptions);
13995 this.setDateValues(dates);
13996 }
13997 };
13998 // because the actual view may be delayed in loading (think projection into a tab pane)
13999 // and because we rely on a library that operates outside the Angular view of the world
14000 // we need to keep trying to load the library, until the relevant DOM is actually live
14001 // because the actual view may be delayed in loading (think projection into a tab pane)
14002 // and because we rely on a library that operates outside the Angular view of the world
14003 // we need to keep trying to load the library, until the relevant DOM is actually live
14004 /**
14005 * @return {?}
14006 */
14007 DatePicker.prototype.ngAfterViewChecked =
14008 // because the actual view may be delayed in loading (think projection into a tab pane)
14009 // and because we rely on a library that operates outside the Angular view of the world
14010 // we need to keep trying to load the library, until the relevant DOM is actually live
14011 /**
14012 * @return {?}
14013 */
14014 function () {
14015 if (!this.isFlatpickrLoaded()) {
14016 this.flatpickrInstance = flatpickr("#" + this.id, this.flatpickrOptions);
14017 // if (and only if) the initialization succeeded, we can set the date values
14018 if (this.isFlatpickrLoaded()) {
14019 if (this.value.length > 0) {
14020 this.setDateValues(this.value);
14021 }
14022 }
14023 }
14024 };
14025 /**
14026 * @return {?}
14027 */
14028 DatePicker.prototype.onFocus = /**
14029 * @return {?}
14030 */
14031 function () {
14032 this.onTouched();
14033 };
14034 /**
14035 * Writes a value from the model to the component. Expects the value to be `null` or `(Date | string)[]`
14036 * @param value value received from the model
14037 */
14038 /**
14039 * Writes a value from the model to the component. Expects the value to be `null` or `(Date | string)[]`
14040 * @param {?} value value received from the model
14041 * @return {?}
14042 */
14043 DatePicker.prototype.writeValue = /**
14044 * Writes a value from the model to the component. Expects the value to be `null` or `(Date | string)[]`
14045 * @param {?} value value received from the model
14046 * @return {?}
14047 */
14048 function (value) {
14049 this.value = value;
14050 if (this.isFlatpickrLoaded() && this.flatpickrInstance.config) {
14051 this.setDateValues(this.value);
14052 }
14053 };
14054 /**
14055 * @param {?} fn
14056 * @return {?}
14057 */
14058 DatePicker.prototype.registerOnChange = /**
14059 * @param {?} fn
14060 * @return {?}
14061 */
14062 function (fn) {
14063 this.propagateChange = fn;
14064 };
14065 /**
14066 * @param {?} fn
14067 * @return {?}
14068 */
14069 DatePicker.prototype.registerOnTouched = /**
14070 * @param {?} fn
14071 * @return {?}
14072 */
14073 function (fn) {
14074 this.onTouched = fn;
14075 };
14076 /**
14077 * Cleans up our flatpickr instance
14078 */
14079 /**
14080 * Cleans up our flatpickr instance
14081 * @return {?}
14082 */
14083 DatePicker.prototype.ngOnDestroy = /**
14084 * Cleans up our flatpickr instance
14085 * @return {?}
14086 */
14087 function () {
14088 if (!this.isFlatpickrLoaded()) {
14089 return;
14090 }
14091 this.flatpickrInstance.destroy();
14092 };
14093 /**
14094 * Handles the `valueChange` event from the primary/single input
14095 */
14096 /**
14097 * Handles the `valueChange` event from the primary/single input
14098 * @param {?} event
14099 * @return {?}
14100 */
14101 DatePicker.prototype.onValueChange = /**
14102 * Handles the `valueChange` event from the primary/single input
14103 * @param {?} event
14104 * @return {?}
14105 */
14106 function (event) {
14107 if (this.isFlatpickrLoaded()) {
14108 /** @type {?} */
14109 var date = this.flatpickrInstance.parseDate(event, this.dateFormat);
14110 if (this.range) {
14111 this.setDateValues([date, this.flatpickrInstance.selectedDates[1]]);
14112 }
14113 else {
14114 this.setDateValues([date]);
14115 }
14116 this.doSelect(this.flatpickrInstance.selectedDates);
14117 }
14118 };
14119 /**
14120 * Handles the `valueChange` event from the range input
14121 */
14122 /**
14123 * Handles the `valueChange` event from the range input
14124 * @param {?} event
14125 * @return {?}
14126 */
14127 DatePicker.prototype.onRangeValueChange = /**
14128 * Handles the `valueChange` event from the range input
14129 * @param {?} event
14130 * @return {?}
14131 */
14132 function (event) {
14133 if (this.isFlatpickrLoaded()) {
14134 /** @type {?} */
14135 var date = this.flatpickrInstance.parseDate(event, this.dateFormat);
14136 this.setDateValues([this.flatpickrInstance.selectedDates[0], date]);
14137 this.doSelect(this.flatpickrInstance.selectedDates);
14138 }
14139 };
14140 /**
14141 * Carbon uses a number of specific classnames for parts of the flatpickr - this idempotent method applies them if needed.
14142 */
14143 /**
14144 * Carbon uses a number of specific classnames for parts of the flatpickr - this idempotent method applies them if needed.
14145 * @protected
14146 * @return {?}
14147 */
14148 DatePicker.prototype.updateClassNames = /**
14149 * Carbon uses a number of specific classnames for parts of the flatpickr - this idempotent method applies them if needed.
14150 * @protected
14151 * @return {?}
14152 */
14153 function () {
14154 var _this = this;
14155 if (!this.elementRef) {
14156 return;
14157 }
14158 // get all the possible flatpickrs in the document - we need to add classes to (potentially) all of them
14159 /** @type {?} */
14160 var calendarContainer = document.querySelectorAll('.flatpickr-calendar');
14161 /** @type {?} */
14162 var monthContainer = document.querySelectorAll('.flatpickr-month');
14163 /** @type {?} */
14164 var weekdaysContainer = document.querySelectorAll('.flatpickr-weekdays');
14165 /** @type {?} */
14166 var weekdayContainer = document.querySelectorAll('.flatpickr-weekday');
14167 /** @type {?} */
14168 var daysContainer = document.querySelectorAll('.flatpickr-days');
14169 /** @type {?} */
14170 var dayContainer = document.querySelectorAll('.flatpickr-day');
14171 // add classes to lists of elements
14172 /** @type {?} */
14173 var addClassIfNotExists = (/**
14174 * @param {?} classname
14175 * @param {?} elementList
14176 * @return {?}
14177 */
14178 function (classname, elementList) {
14179 Array.from(elementList).forEach((/**
14180 * @param {?} element
14181 * @return {?}
14182 */
14183 function (element) {
14184 if (!element.classList.contains(classname)) {
14185 element.classList.add(classname);
14186 }
14187 }));
14188 });
14189 // add classes (but only if they don't exist, small perf win)
14190 addClassIfNotExists('date-picker__calendar', calendarContainer);
14191 addClassIfNotExists('date-picker__month', monthContainer);
14192 addClassIfNotExists('date-picker__weekdays', weekdaysContainer);
14193 addClassIfNotExists('date-picker__days', daysContainer);
14194 // add weekday classes and format the text
14195 Array.from(weekdayContainer).forEach((/**
14196 * @param {?} element
14197 * @return {?}
14198 */
14199 function (element) {
14200 element.innerHTML = element.innerHTML.replace(/\s+/g, '');
14201 element.classList.add('date-picker__weekday');
14202 }));
14203 // add day classes and special case the "today" element based on `this.value`
14204 Array.from(dayContainer).forEach((/**
14205 * @param {?} element
14206 * @return {?}
14207 */
14208 function (element) {
14209 element.classList.add('date-picker__day');
14210 if (!_this.value) {
14211 return;
14212 }
14213 if (element.classList.contains('today') && _this.value.length > 0) {
14214 element.classList.add('no-border');
14215 }
14216 else if (element.classList.contains('today') && _this.value.length === 0) {
14217 element.classList.remove('no-border');
14218 }
14219 }));
14220 };
14221 /**
14222 * Applies the given date value array to both the flatpickr instance and the `input`(s)
14223 * @param dates the date values to apply
14224 */
14225 /**
14226 * Applies the given date value array to both the flatpickr instance and the `input`(s)
14227 * @protected
14228 * @param {?} dates the date values to apply
14229 * @return {?}
14230 */
14231 DatePicker.prototype.setDateValues = /**
14232 * Applies the given date value array to both the flatpickr instance and the `input`(s)
14233 * @protected
14234 * @param {?} dates the date values to apply
14235 * @return {?}
14236 */
14237 function (dates) {
14238 if (this.isFlatpickrLoaded()) {
14239 /** @type {?} */
14240 var singleInput_1 = this.elementRef.nativeElement.querySelector("#" + this.id);
14241 /** @type {?} */
14242 var rangeInput_1 = this.elementRef.nativeElement.querySelector("#" + this.id + "-rangeInput");
14243 // set the date on the instance
14244 this.flatpickrInstance.setDate(dates);
14245 // we can either set a date value or an empty string, so we start with an empty string
14246 /** @type {?} */
14247 var singleDate_1 = '';
14248 // if date is a string, parse and format
14249 if (typeof this.flatpickrInstance.selectedDates[0] === 'string') {
14250 singleDate_1 = this.flatpickrInstance.parseDate(this.flatpickrInstance.selectedDates[0], this.dateFormat);
14251 singleDate_1 = this.flatpickrInstance.formatDate(singleDate_1, this.dateFormat);
14252 // if date is not a string we can assume it's a Date and we should format
14253 }
14254 else if (!!this.flatpickrInstance.selectedDates[0]) {
14255 singleDate_1 = this.flatpickrInstance.formatDate(this.flatpickrInstance.selectedDates[0], this.dateFormat);
14256 }
14257 if (rangeInput_1) {
14258 // we can either set a date value or an empty string, so we start with an empty string
14259 /** @type {?} */
14260 var rangeDate_1 = '';
14261 // if date is a string, parse and format
14262 if (typeof this.flatpickrInstance.selectedDates[1] === 'string') {
14263 rangeDate_1 = this.flatpickrInstance.parseDate(this.flatpickrInstance.selectedDates[1].toString(), this.dateFormat);
14264 rangeDate_1 = this.flatpickrInstance.formatDate(rangeDate_1, this.dateFormat);
14265 // if date is not a string we can assume it's a Date and we should format
14266 }
14267 else if (!!this.flatpickrInstance.selectedDates[1]) {
14268 rangeDate_1 = this.flatpickrInstance.formatDate(this.flatpickrInstance.selectedDates[1], this.dateFormat);
14269 }
14270 setTimeout((/**
14271 * @return {?}
14272 */
14273 function () {
14274 // apply the values
14275 rangeInput_1.value = rangeDate_1;
14276 singleInput_1.value = singleDate_1;
14277 }));
14278 }
14279 }
14280 };
14281 /**
14282 * @protected
14283 * @param {?} selectedValue
14284 * @return {?}
14285 */
14286 DatePicker.prototype.doSelect = /**
14287 * @protected
14288 * @param {?} selectedValue
14289 * @return {?}
14290 */
14291 function (selectedValue) {
14292 this.valueChange.emit(selectedValue);
14293 this.propagateChange(selectedValue);
14294 };
14295 /**
14296 * @protected
14297 * @param {?} currentValue
14298 * @param {?} previousValue
14299 * @return {?}
14300 */
14301 DatePicker.prototype.didDateValueChange = /**
14302 * @protected
14303 * @param {?} currentValue
14304 * @param {?} previousValue
14305 * @return {?}
14306 */
14307 function (currentValue, previousValue) {
14308 return currentValue[0] !== previousValue[0] || currentValue[1] !== previousValue[1];
14309 };
14310 /**
14311 * More advanced checking of the loaded state of flatpickr
14312 */
14313 /**
14314 * More advanced checking of the loaded state of flatpickr
14315 * @protected
14316 * @return {?}
14317 */
14318 DatePicker.prototype.isFlatpickrLoaded = /**
14319 * More advanced checking of the loaded state of flatpickr
14320 * @protected
14321 * @return {?}
14322 */
14323 function () {
14324 // cast the instance to a boolean, and some method that has to exist for the library to be loaded in this case `setDate`
14325 return !!this.flatpickrInstance && !!this.flatpickrInstance.setDate;
14326 };
14327 DatePicker.datePickerCount = 0;
14328 DatePicker.decorators = [
14329 { type: Component, args: [{
14330 selector: 'suka-date-picker',
14331 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 ",
14332 providers: [
14333 {
14334 provide: NG_VALUE_ACCESSOR,
14335 useExisting: DatePicker,
14336 multi: true
14337 }
14338 ],
14339 encapsulation: ViewEncapsulation.None
14340 }] }
14341 ];
14342 /** @nocollapse */
14343 DatePicker.ctorParameters = function () { return [
14344 { type: ElementRef }
14345 ]; };
14346 DatePicker.propDecorators = {
14347 range: [{ type: Input }],
14348 dateFormat: [{ type: Input }],
14349 label: [{ type: Input }],
14350 rangeLabel: [{ type: Input }],
14351 placeholder: [{ type: Input }],
14352 pattern: [{ type: Input }],
14353 id: [{ type: Input }],
14354 value: [{ type: Input }],
14355 disabled: [{ type: Input }],
14356 invalid: [{ type: Input }],
14357 invalidText: [{ type: Input }],
14358 skeleton: [{ type: Input }],
14359 plugins: [{ type: Input }],
14360 flatpickrOptions: [{ type: Input }],
14361 valueChange: [{ type: Output }],
14362 onFocus: [{ type: HostListener, args: ['focusin',] }]
14363 };
14364 return DatePicker;
14365}());
14366if (false) {
14367 /**
14368 * @type {?}
14369 * @private
14370 */
14371 DatePicker.datePickerCount;
14372 /**
14373 * Select calendar range mode
14374 * @type {?}
14375 */
14376 DatePicker.prototype.range;
14377 /**
14378 * Format of date
14379 *
14380 * For reference: https://flatpickr.js.org/formatting/
14381 * @type {?}
14382 */
14383 DatePicker.prototype.dateFormat;
14384 /**
14385 * Date picker label.
14386 * @type {?}
14387 */
14388 DatePicker.prototype.label;
14389 /**
14390 * Label for date range selector.
14391 * @type {?}
14392 */
14393 DatePicker.prototype.rangeLabel;
14394 /**
14395 * Sets the placeholder text.
14396 * @type {?}
14397 */
14398 DatePicker.prototype.placeholder;
14399 /**
14400 * Sets the pattern to follow.
14401 * @type {?}
14402 */
14403 DatePicker.prototype.pattern;
14404 /**
14405 * Date picker id.
14406 * @type {?}
14407 */
14408 DatePicker.prototype.id;
14409 /**
14410 * Set to `true` to disable the `Datepicker`
14411 * @type {?}
14412 */
14413 DatePicker.prototype.disabled;
14414 /**
14415 * Set to `true` to display invalid state.
14416 * @type {?}
14417 */
14418 DatePicker.prototype.invalid;
14419 /**
14420 * Feedback message to display when `Datepicker` is invalid.
14421 * @type {?}
14422 */
14423 DatePicker.prototype.invalidText;
14424 /**
14425 * Skeleton state.
14426 * @type {?}
14427 */
14428 DatePicker.prototype.skeleton;
14429 /**
14430 * Array of date picker plugins.
14431 * @type {?}
14432 */
14433 DatePicker.prototype.plugins;
14434 /**
14435 * Emits event notifying other classes of a change.
14436 * @type {?}
14437 */
14438 DatePicker.prototype.valueChange;
14439 /**
14440 * @type {?}
14441 * @protected
14442 */
14443 DatePicker.prototype._value;
14444 /**
14445 * @type {?}
14446 * @protected
14447 */
14448 DatePicker.prototype._flatpickrOptions;
14449 /**
14450 * @type {?}
14451 * @protected
14452 */
14453 DatePicker.prototype.flatpickrBaseOptions;
14454 /**
14455 * @type {?}
14456 * @protected
14457 */
14458 DatePicker.prototype.flatpickrInstance;
14459 /** @type {?} */
14460 DatePicker.prototype.onTouched;
14461 /** @type {?} */
14462 DatePicker.prototype.propagateChange;
14463 /**
14464 * @type {?}
14465 * @protected
14466 */
14467 DatePicker.prototype.elementRef;
14468}
14469
14470/**
14471 * @fileoverview added by tsickle
14472 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
14473 */
14474var DatePickerModule = /** @class */ (function () {
14475 function DatePickerModule() {
14476 }
14477 DatePickerModule.decorators = [
14478 { type: NgModule, args: [{
14479 declarations: [
14480 DatePicker
14481 ],
14482 exports: [
14483 DatePicker,
14484 DatePickerInputModule
14485 ],
14486 imports: [
14487 CommonModule,
14488 DatePickerInputModule
14489 ]
14490 },] }
14491 ];
14492 return DatePickerModule;
14493}());
14494
14495/**
14496 * @fileoverview added by tsickle
14497 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
14498 */
14499var ToastRef = /** @class */ (function () {
14500 function ToastRef(overlayRef) {
14501 this.overlayRef = overlayRef;
14502 }
14503 /**
14504 * @return {?}
14505 */
14506 ToastRef.prototype.isVisible = /**
14507 * @return {?}
14508 */
14509 function () {
14510 return this.overlayRef && this.overlayRef.overlayElement;
14511 };
14512 /**
14513 * @return {?}
14514 */
14515 ToastRef.prototype.getPosition = /**
14516 * @return {?}
14517 */
14518 function () {
14519 return this.overlayRef.overlayElement.getBoundingClientRect();
14520 };
14521 /**
14522 * @param {?=} data
14523 * @return {?}
14524 */
14525 ToastRef.prototype.close = /**
14526 * @param {?=} data
14527 * @return {?}
14528 */
14529 function (data) {
14530 this.overlayRef.dispose();
14531 // tslint:disable-next-line: no-non-null-assertion
14532 this.componentInstance = (/** @type {?} */ (null));
14533 };
14534 return ToastRef;
14535}());
14536if (false) {
14537 /** @type {?} */
14538 ToastRef.prototype.componentInstance;
14539 /**
14540 * @type {?}
14541 * @private
14542 */
14543 ToastRef.prototype.overlayRef;
14544}
14545
14546/**
14547 * @fileoverview added by tsickle
14548 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
14549 */
14550/** @type {?} */
14551var TOAST_CONFIG_DATA = new InjectionToken('TOAST_CONFIG_DATA');
14552
14553/**
14554 * @fileoverview added by tsickle
14555 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
14556 */
14557/** @type {?} */
14558var toastAnimations = {
14559 fadeToast: trigger('fadeAnimation', [
14560 state('default', style({ opacity: 1, transform: '*' })),
14561 transition('void => *', [style({ opacity: 0, transform: 'scale(.9) translate3d(0, -50%, 0)' }), animate('{{ fadeIn }}ms')]),
14562 transition('default => closing', animate('{{ fadeOut }}ms', style({ opacity: 0 }))),
14563 ]),
14564};
14565
14566/**
14567 * @fileoverview added by tsickle
14568 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
14569 */
14570var ToastContainer = /** @class */ (function () {
14571 function ToastContainer(toastRef, toastConfig) {
14572 this.toastRef = toastRef;
14573 this.toastConfig = toastConfig;
14574 this.animationState = 'default';
14575 this.animationStateChanged = new EventEmitter();
14576 this.showFooter = false;
14577 this.baseClass = true;
14578 }
14579 /**
14580 * @param {?} value
14581 * @return {?}
14582 */
14583 ToastContainer.prototype.isTemplate = /**
14584 * @param {?} value
14585 * @return {?}
14586 */
14587 function (value) {
14588 return value instanceof TemplateRef;
14589 };
14590 /**
14591 * @return {?}
14592 */
14593 ToastContainer.prototype.ngOnInit = /**
14594 * @return {?}
14595 */
14596 function () {
14597 var _this = this;
14598 this.content = this.toastConfig.content;
14599 this.intervalId = window.setTimeout((/**
14600 * @return {?}
14601 */
14602 function () { return _this.startExitAnimation(); }), 5000);
14603 };
14604 /**
14605 * @return {?}
14606 */
14607 ToastContainer.prototype.ngOnDestroy = /**
14608 * @return {?}
14609 */
14610 function () {
14611 clearTimeout(this.intervalId);
14612 };
14613 /**
14614 * @return {?}
14615 */
14616 ToastContainer.prototype.close = /**
14617 * @return {?}
14618 */
14619 function () {
14620 this.toastRef.close();
14621 };
14622 /**
14623 * @param {?} event
14624 * @return {?}
14625 */
14626 ToastContainer.prototype.onAnimationStart = /**
14627 * @param {?} event
14628 * @return {?}
14629 */
14630 function (event) {
14631 this.animationStateChanged.emit(event);
14632 };
14633 /**
14634 * @param {?} event
14635 * @return {?}
14636 */
14637 ToastContainer.prototype.onAnimationDone = /**
14638 * @param {?} event
14639 * @return {?}
14640 */
14641 function (event) {
14642 this.animationStateChanged.emit(event);
14643 };
14644 /**
14645 * @param {?} $event
14646 * @return {?}
14647 */
14648 ToastContainer.prototype.closeToast = /**
14649 * @param {?} $event
14650 * @return {?}
14651 */
14652 function ($event) {
14653 this.toastRef.close();
14654 };
14655 /**
14656 * @param {?} event
14657 * @return {?}
14658 */
14659 ToastContainer.prototype.onFadeFinished = /**
14660 * @param {?} event
14661 * @return {?}
14662 */
14663 function (event) {
14664 var toState = event.toState;
14665 /** @type {?} */
14666 var isFadeOut = ((/** @type {?} */ (toState))) === 'closing';
14667 /** @type {?} */
14668 var itFinished = this.animationState === 'closing';
14669 if (isFadeOut && itFinished) {
14670 this.close();
14671 }
14672 };
14673 /**
14674 * @return {?}
14675 */
14676 ToastContainer.prototype.startExitAnimation = /**
14677 * @return {?}
14678 */
14679 function () {
14680 this.animationState = 'closing';
14681 };
14682 ToastContainer.decorators = [
14683 { type: Component, args: [{
14684 selector: 'suka-toast',
14685 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 ",
14686 animations: [toastAnimations.fadeToast]
14687 }] }
14688 ];
14689 /** @nocollapse */
14690 ToastContainer.ctorParameters = function () { return [
14691 { type: ToastRef },
14692 { type: undefined, decorators: [{ type: Inject, args: [TOAST_CONFIG_DATA,] }] }
14693 ]; };
14694 ToastContainer.propDecorators = {
14695 baseClass: [{ type: HostBinding, args: ['class.toast--default',] }]
14696 };
14697 return ToastContainer;
14698}());
14699if (false) {
14700 /**
14701 * @type {?}
14702 * @private
14703 */
14704 ToastContainer.prototype.intervalId;
14705 /** @type {?} */
14706 ToastContainer.prototype.animationState;
14707 /** @type {?} */
14708 ToastContainer.prototype.animationStateChanged;
14709 /** @type {?} */
14710 ToastContainer.prototype.showFooter;
14711 /** @type {?} */
14712 ToastContainer.prototype.primaryActions;
14713 /** @type {?} */
14714 ToastContainer.prototype.secondaryActions;
14715 /** @type {?} */
14716 ToastContainer.prototype.content;
14717 /** @type {?} */
14718 ToastContainer.prototype.baseClass;
14719 /** @type {?} */
14720 ToastContainer.prototype.toastRef;
14721 /** @type {?} */
14722 ToastContainer.prototype.toastConfig;
14723}
14724
14725/**
14726 * @fileoverview added by tsickle
14727 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
14728 */
14729/**
14730 * @record
14731 */
14732function ToastContent() { }
14733if (false) {
14734 /** @type {?} */
14735 ToastContent.prototype.type;
14736 /** @type {?|undefined} */
14737 ToastContent.prototype.body;
14738}
14739/**
14740 * @record
14741 */
14742function ToastConfig() { }
14743if (false) {
14744 /** @type {?|undefined} */
14745 ToastConfig.prototype.content;
14746 /** @type {?|undefined} */
14747 ToastConfig.prototype.position;
14748 /** @type {?|undefined} */
14749 ToastConfig.prototype.animation;
14750}
14751/** @type {?} */
14752var DEFAULT_CONFIG$2 = {
14753 position: {
14754 top: 20,
14755 },
14756 animation: {
14757 fadeOut: 2500,
14758 fadeIn: 150,
14759 },
14760 content: null,
14761};
14762var ToastService = /** @class */ (function () {
14763 function ToastService(injector, overlay) {
14764 this.injector = injector;
14765 this.overlay = overlay;
14766 }
14767 /**
14768 * @param {?=} config
14769 * @return {?}
14770 */
14771 ToastService.prototype.show = /**
14772 * @param {?=} config
14773 * @return {?}
14774 */
14775 function (config) {
14776 if (config === void 0) { config = {}; }
14777 // Override default configuration
14778 /** @type {?} */
14779 var dialogConfig = __assign({}, DEFAULT_CONFIG$2, config);
14780 // Returns an OverlayRef which is a PortalHost
14781 /** @type {?} */
14782 var overlayRef = this.createOverlay(dialogConfig);
14783 // Instantiate remote control
14784 /** @type {?} */
14785 var toastRef = new ToastRef(overlayRef);
14786 this.lastToast = toastRef;
14787 /** @type {?} */
14788 var overlayComponent = this.attachToastContainer(overlayRef, dialogConfig, toastRef);
14789 toastRef.componentInstance = overlayComponent;
14790 return toastRef;
14791 };
14792 /**
14793 * @private
14794 * @param {?} config
14795 * @return {?}
14796 */
14797 ToastService.prototype.createOverlay = /**
14798 * @private
14799 * @param {?} config
14800 * @return {?}
14801 */
14802 function (config) {
14803 /** @type {?} */
14804 var overlayConfig = this.getOverlayConfig(config);
14805 return this.overlay.create(overlayConfig);
14806 };
14807 /**
14808 * @private
14809 * @param {?} overlayRef
14810 * @param {?} config
14811 * @param {?} toastRef
14812 * @return {?}
14813 */
14814 ToastService.prototype.attachToastContainer = /**
14815 * @private
14816 * @param {?} overlayRef
14817 * @param {?} config
14818 * @param {?} toastRef
14819 * @return {?}
14820 */
14821 function (overlayRef, config, toastRef) {
14822 /** @type {?} */
14823 var injector = this.createInjector(config, toastRef);
14824 /** @type {?} */
14825 var containerPortal = new ComponentPortal(ToastContainer, null, injector);
14826 /** @type {?} */
14827 var containerRef = overlayRef.attach(containerPortal);
14828 return containerRef.instance;
14829 };
14830 /**
14831 * @private
14832 * @param {?} config
14833 * @param {?} toastRef
14834 * @return {?}
14835 */
14836 ToastService.prototype.createInjector = /**
14837 * @private
14838 * @param {?} config
14839 * @param {?} toastRef
14840 * @return {?}
14841 */
14842 function (config, toastRef) {
14843 /** @type {?} */
14844 var injectionTokens = new WeakMap();
14845 injectionTokens.set(ToastRef, toastRef);
14846 injectionTokens.set(TOAST_CONFIG_DATA, config);
14847 return new PortalInjector(this.injector, injectionTokens);
14848 };
14849 /**
14850 * @private
14851 * @param {?} config
14852 * @return {?}
14853 */
14854 ToastService.prototype.getOverlayConfig = /**
14855 * @private
14856 * @param {?} config
14857 * @return {?}
14858 */
14859 function (config) {
14860 /** @type {?} */
14861 var positionStrategy = this.overlay.position()
14862 .global()
14863 .centerHorizontally()
14864 .top(this.getPosition(config));
14865 /** @type {?} */
14866 var overlayConfig = new OverlayConfig({
14867 positionStrategy: positionStrategy
14868 });
14869 return overlayConfig;
14870 };
14871 /**
14872 * @param {?} config
14873 * @return {?}
14874 */
14875 ToastService.prototype.getPosition = /**
14876 * @param {?} config
14877 * @return {?}
14878 */
14879 function (config) {
14880 /** @type {?} */
14881 var lastToastIsVisible = this.lastToast && this.lastToast.isVisible();
14882 /** @type {?} */
14883 var position = lastToastIsVisible
14884 ? this.lastToast.getPosition().bottom
14885 : config.position.top;
14886 return position + 'px';
14887 };
14888 ToastService.decorators = [
14889 { type: Injectable }
14890 ];
14891 /** @nocollapse */
14892 ToastService.ctorParameters = function () { return [
14893 { type: Injector },
14894 { type: Overlay }
14895 ]; };
14896 return ToastService;
14897}());
14898if (false) {
14899 /**
14900 * @type {?}
14901 * @private
14902 */
14903 ToastService.prototype.lastToast;
14904 /**
14905 * @type {?}
14906 * @private
14907 */
14908 ToastService.prototype.injector;
14909 /**
14910 * @type {?}
14911 * @private
14912 */
14913 ToastService.prototype.overlay;
14914}
14915
14916/**
14917 * @fileoverview added by tsickle
14918 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
14919 */
14920var ToastModule = /** @class */ (function () {
14921 function ToastModule() {
14922 }
14923 ToastModule.decorators = [
14924 { type: NgModule, args: [{
14925 declarations: [
14926 ToastContainer,
14927 ],
14928 exports: [
14929 ToastContainer,
14930 ],
14931 imports: [
14932 CommonModule,
14933 OverlayModule,
14934 ButtonModule,
14935 IconModule,
14936 ],
14937 entryComponents: [
14938 ToastContainer
14939 ],
14940 providers: [
14941 ToastService,
14942 ],
14943 },] }
14944 ];
14945 return ToastModule;
14946}());
14947
14948/**
14949 * @fileoverview added by tsickle
14950 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
14951 */
14952var Progress = /** @class */ (function () {
14953 function Progress() {
14954 this.baseClass = true;
14955 /**
14956 * Set to `true` to make the progress linear. This allows the user to access any of the steps at any time (like tabs).
14957 */
14958 this.linear = false;
14959 /**
14960 * Set to `true` to allow the user to edit a step after completed.
14961 */
14962 this.editable = false;
14963 /**
14964 * Emits an event when a index is selected
14965 */
14966 this.selected = new EventEmitter();
14967 /**
14968 * Emits an event when the steps change.
14969 */
14970 this.stepsChange = new EventEmitter();
14971 }
14972 Object.defineProperty(Progress.prototype, "steps", {
14973 /**
14974 * Sets the steps for the `Progress` component.
14975 */
14976 get: /**
14977 * Sets the steps for the `Progress` component.
14978 * @return {?}
14979 */
14980 function () {
14981 return this._steps;
14982 },
14983 set: /**
14984 * @param {?} value
14985 * @return {?}
14986 */
14987 function (value) {
14988 this._steps = value;
14989 this.stepsChange.emit(this._steps);
14990 },
14991 enumerable: true,
14992 configurable: true
14993 });
14994 /**
14995 * @param {?} newIndex
14996 * @return {?}
14997 */
14998 Progress.prototype.select = /**
14999 * @param {?} newIndex
15000 * @return {?}
15001 */
15002 function (newIndex) {
15003 this._steps.forEach((/**
15004 * @param {?} step
15005 * @param {?} index
15006 * @return {?}
15007 */
15008 function (step, index) {
15009 if (index === newIndex) {
15010 step.current = true;
15011 }
15012 else if (step.current) {
15013 delete step.current;
15014 }
15015 }));
15016 this.selected.emit(newIndex);
15017 this.steps = this._steps;
15018 };
15019 /**
15020 * Step is completed.
15021 */
15022 /**
15023 * Step is completed.
15024 * @param {?} step
15025 * @return {?}
15026 */
15027 Progress.prototype.isComplete = /**
15028 * Step is completed.
15029 * @param {?} step
15030 * @return {?}
15031 */
15032 function (step) {
15033 return step.state === 'complete';
15034 };
15035 /**
15036 * Step is editable.
15037 */
15038 /**
15039 * Step is editable.
15040 * @param {?} step
15041 * @return {?}
15042 */
15043 Progress.prototype.isEditable = /**
15044 * Step is editable.
15045 * @param {?} step
15046 * @return {?}
15047 */
15048 function (step) {
15049 return step.state === 'complete' && this.editable;
15050 };
15051 /**
15052 * Step is unclickable.
15053 */
15054 /**
15055 * Step is unclickable.
15056 * @param {?} step
15057 * @param {?} index
15058 * @return {?}
15059 */
15060 Progress.prototype.isUnclickable = /**
15061 * Step is unclickable.
15062 * @param {?} step
15063 * @param {?} index
15064 * @return {?}
15065 */
15066 function (step, index) {
15067 if (step.state === 'complete' && !this.editable) {
15068 return true;
15069 }
15070 if (step.state === 'incomplete' && !this.linear && index !== this.getNextUncompletedStepIndex()) {
15071 return true;
15072 }
15073 return false;
15074 };
15075 /**
15076 * Returns the index of the next uncompleted step.
15077 */
15078 /**
15079 * Returns the index of the next uncompleted step.
15080 * @return {?}
15081 */
15082 Progress.prototype.getNextUncompletedStepIndex = /**
15083 * Returns the index of the next uncompleted step.
15084 * @return {?}
15085 */
15086 function () {
15087 var e_1, _a;
15088 try {
15089 for (var _b = __values(this.steps.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {
15090 var _d = __read(_c.value, 2), index = _d[0], step = _d[1];
15091 if (step.state === 'incomplete') {
15092 return index;
15093 }
15094 }
15095 }
15096 catch (e_1_1) { e_1 = { error: e_1_1 }; }
15097 finally {
15098 try {
15099 if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
15100 }
15101 finally { if (e_1) throw e_1.error; }
15102 }
15103 return -1;
15104 };
15105 /**
15106 * Returns the current step.
15107 */
15108 /**
15109 * Returns the current step.
15110 * @return {?}
15111 */
15112 Progress.prototype.currentStep = /**
15113 * Returns the current step.
15114 * @return {?}
15115 */
15116 function () {
15117 var e_2, _a;
15118 try {
15119 for (var _b = __values(this.steps.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {
15120 var _d = __read(_c.value, 2), _ = _d[0], step = _d[1];
15121 if (step.current) {
15122 return step;
15123 }
15124 }
15125 }
15126 catch (e_2_1) { e_2 = { error: e_2_1 }; }
15127 finally {
15128 try {
15129 if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
15130 }
15131 finally { if (e_2) throw e_2.error; }
15132 }
15133 return null;
15134 };
15135 /**
15136 * Returns the next step.
15137 */
15138 /**
15139 * Returns the next step.
15140 * @return {?}
15141 */
15142 Progress.prototype.nextStep = /**
15143 * Returns the next step.
15144 * @return {?}
15145 */
15146 function () {
15147 var e_3, _a;
15148 /** @type {?} */
15149 var currentIndex = -1;
15150 try {
15151 for (var _b = __values(this.steps.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {
15152 var _d = __read(_c.value, 2), index = _d[0], step = _d[1];
15153 if (step.current) {
15154 currentIndex = index;
15155 }
15156 if (currentIndex >= 0 && currentIndex + 1 === index) {
15157 return step;
15158 }
15159 }
15160 }
15161 catch (e_3_1) { e_3 = { error: e_3_1 }; }
15162 finally {
15163 try {
15164 if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
15165 }
15166 finally { if (e_3) throw e_3.error; }
15167 }
15168 return null;
15169 };
15170 /**
15171 * Returns the current step index.
15172 */
15173 /**
15174 * Returns the current step index.
15175 * @return {?}
15176 */
15177 Progress.prototype.getCurrentStepIndex = /**
15178 * Returns the current step index.
15179 * @return {?}
15180 */
15181 function () {
15182 var e_4, _a;
15183 try {
15184 for (var _b = __values(this.steps.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {
15185 var _d = __read(_c.value, 2), index = _d[0], step = _d[1];
15186 if (step.current) {
15187 return index;
15188 }
15189 }
15190 }
15191 catch (e_4_1) { e_4 = { error: e_4_1 }; }
15192 finally {
15193 try {
15194 if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
15195 }
15196 finally { if (e_4) throw e_4.error; }
15197 }
15198 return -1;
15199 };
15200 Progress.decorators = [
15201 { type: Component, args: [{
15202 selector: 'suka-progress',
15203 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 "
15204 }] }
15205 ];
15206 Progress.propDecorators = {
15207 baseClass: [{ type: HostBinding, args: ['class.progress',] }],
15208 linear: [{ type: Input }],
15209 editable: [{ type: Input }],
15210 selected: [{ type: Output }],
15211 stepsChange: [{ type: Output }],
15212 steps: [{ type: Input }]
15213 };
15214 return Progress;
15215}());
15216if (false) {
15217 /**
15218 * @type {?}
15219 * @private
15220 */
15221 Progress.prototype._steps;
15222 /** @type {?} */
15223 Progress.prototype.baseClass;
15224 /**
15225 * Set to `true` to make the progress linear. This allows the user to access any of the steps at any time (like tabs).
15226 * @type {?}
15227 */
15228 Progress.prototype.linear;
15229 /**
15230 * Set to `true` to allow the user to edit a step after completed.
15231 * @type {?}
15232 */
15233 Progress.prototype.editable;
15234 /**
15235 * Emits an event when a index is selected
15236 * @type {?}
15237 */
15238 Progress.prototype.selected;
15239 /**
15240 * Emits an event when the steps change.
15241 * @type {?}
15242 */
15243 Progress.prototype.stepsChange;
15244}
15245
15246/**
15247 * @fileoverview added by tsickle
15248 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
15249 */
15250var ProgressModule = /** @class */ (function () {
15251 function ProgressModule() {
15252 }
15253 ProgressModule.decorators = [
15254 { type: NgModule, args: [{
15255 declarations: [
15256 Progress
15257 ],
15258 exports: [
15259 Progress
15260 ],
15261 imports: [
15262 CommonModule,
15263 IconModule,
15264 ]
15265 },] }
15266 ];
15267 return ProgressModule;
15268}());
15269
15270/**
15271 * @fileoverview added by tsickle
15272 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
15273 */
15274var Layout = /** @class */ (function () {
15275 function Layout() {
15276 this.baseClass = true;
15277 }
15278 Layout.decorators = [
15279 { type: Component, args: [{
15280 selector: "suka-layout",
15281 template: "\n <ng-content></ng-content>\n "
15282 }] }
15283 ];
15284 Layout.propDecorators = {
15285 baseClass: [{ type: HostBinding, args: ['class.layout',] }]
15286 };
15287 return Layout;
15288}());
15289if (false) {
15290 /** @type {?} */
15291 Layout.prototype.baseClass;
15292}
15293
15294/**
15295 * @fileoverview added by tsickle
15296 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
15297 */
15298var LayoutSection = /** @class */ (function () {
15299 function LayoutSection() {
15300 this.baseClass = true;
15301 this.secondary = false;
15302 this.oneHalf = false;
15303 this.oneThird = false;
15304 this.annotated = false;
15305 }
15306 LayoutSection.decorators = [
15307 { type: Component, args: [{
15308 selector: 'suka-layout-section',
15309 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 "
15310 }] }
15311 ];
15312 LayoutSection.propDecorators = {
15313 baseClass: [{ type: HostBinding, args: ['class.layout__section',] }],
15314 secondary: [{ type: HostBinding, args: ['class.layout__section--secondary',] }, { type: Input }],
15315 oneHalf: [{ type: HostBinding, args: ['class.layout__section--one-half',] }, { type: Input }],
15316 oneThird: [{ type: HostBinding, args: ['class.layout__section--one-third',] }, { type: Input }],
15317 annotated: [{ type: HostBinding, args: ['class.layout__section--annotated',] }, { type: Input }],
15318 title: [{ type: Input }],
15319 description: [{ type: Input }]
15320 };
15321 return LayoutSection;
15322}());
15323if (false) {
15324 /** @type {?} */
15325 LayoutSection.prototype.baseClass;
15326 /** @type {?} */
15327 LayoutSection.prototype.secondary;
15328 /** @type {?} */
15329 LayoutSection.prototype.oneHalf;
15330 /** @type {?} */
15331 LayoutSection.prototype.oneThird;
15332 /** @type {?} */
15333 LayoutSection.prototype.annotated;
15334 /**
15335 * Sets the title for an annotated layout section.
15336 * @type {?}
15337 */
15338 LayoutSection.prototype.title;
15339 /**
15340 * Sets the description for an annotated layout section.
15341 * @type {?}
15342 */
15343 LayoutSection.prototype.description;
15344}
15345
15346/**
15347 * @fileoverview added by tsickle
15348 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
15349 */
15350var LayoutModule = /** @class */ (function () {
15351 function LayoutModule() {
15352 }
15353 LayoutModule.decorators = [
15354 { type: NgModule, args: [{
15355 declarations: [
15356 Layout,
15357 LayoutSection,
15358 ],
15359 exports: [
15360 Layout,
15361 LayoutSection,
15362 ],
15363 imports: [
15364 CommonModule,
15365 ]
15366 },] }
15367 ];
15368 return LayoutModule;
15369}());
15370
15371/**
15372 * @fileoverview added by tsickle
15373 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
15374 */
15375/**
15376 * Informa a los usuarios sobre cambios importantes o condiciones persistentes.
15377 *
15378 * 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.
15379 */
15380var Banner = /** @class */ (function () {
15381 function Banner() {
15382 this.hide = false;
15383 this.animationState = 'default';
15384 /**
15385 * Sets the status for the banner
15386 */
15387 this.status = 'default';
15388 /**
15389 * Displays a close button
15390 */
15391 this.dismissable = true;
15392 /**
15393 * Action label content
15394 */
15395 this.actionLabel = '';
15396 /**
15397 * Callback when the action
15398 */
15399 this.action = new EventEmitter();
15400 /**
15401 * Callback when the banner is dismissed.
15402 */
15403 this.dismiss = new EventEmitter();
15404 }
15405 /**
15406 * @return {?}
15407 */
15408 Banner.prototype.ngOnInit = /**
15409 * @return {?}
15410 */
15411 function () {
15412 switch (this.status) {
15413 case 'info':
15414 this.statusIcon = 'info';
15415 break;
15416 case 'success':
15417 this.statusIcon = 'check';
15418 break;
15419 case 'attention':
15420 this.statusIcon = 'alert-triangle';
15421 break;
15422 case 'alert':
15423 this.statusIcon = 'alert-circle';
15424 break;
15425 }
15426 };
15427 /**
15428 * Emits the action callback.
15429 */
15430 /**
15431 * Emits the action callback.
15432 * @return {?}
15433 */
15434 Banner.prototype.onAction = /**
15435 * Emits the action callback.
15436 * @return {?}
15437 */
15438 function () {
15439 this.action.emit();
15440 };
15441 /**
15442 * Closes the banner.
15443 * Emits the dismiss callback.
15444 */
15445 /**
15446 * Closes the banner.
15447 * Emits the dismiss callback.
15448 * @param {?=} event
15449 * @return {?}
15450 */
15451 Banner.prototype.onClose = /**
15452 * Closes the banner.
15453 * Emits the dismiss callback.
15454 * @param {?=} event
15455 * @return {?}
15456 */
15457 function (event) {
15458 this.animationState = 'closing';
15459 this.dismiss.emit();
15460 };
15461 /**
15462 * @param {?} event
15463 * @return {?}
15464 */
15465 Banner.prototype.onFadeFinished = /**
15466 * @param {?} event
15467 * @return {?}
15468 */
15469 function (event) {
15470 /** @type {?} */
15471 var itFinished = this.animationState === 'closing';
15472 if (itFinished) {
15473 this.hide = true;
15474 }
15475 };
15476 Banner.decorators = [
15477 { type: Component, args: [{
15478 selector: 'suka-banner',
15479 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 ",
15480 animations: [
15481 trigger('fadeAnimation', [
15482 state('default', style({ opacity: 1, transform: '*' })),
15483 transition('void => *', [style({ opacity: 0, transform: 'scale(.9)' }), animate('150ms cubic-bezier(.17,.67,.78,1.21)')]),
15484 transition('default => closing', animate('150ms', style({ opacity: 0, transform: 'scale(.9)' }))),
15485 ]),
15486 ]
15487 }] }
15488 ];
15489 Banner.propDecorators = {
15490 title: [{ type: Input }],
15491 status: [{ type: Input }],
15492 dismissable: [{ type: Input }],
15493 actionLabel: [{ type: Input }],
15494 action: [{ type: Output }],
15495 dismiss: [{ type: Output }]
15496 };
15497 return Banner;
15498}());
15499if (false) {
15500 /** @type {?} */
15501 Banner.prototype.statusIcon;
15502 /** @type {?} */
15503 Banner.prototype.hide;
15504 /** @type {?} */
15505 Banner.prototype.animationState;
15506 /**
15507 * Title content for the banner
15508 * @type {?}
15509 */
15510 Banner.prototype.title;
15511 /**
15512 * Sets the status for the banner
15513 * @type {?}
15514 */
15515 Banner.prototype.status;
15516 /**
15517 * Displays a close button
15518 * @type {?}
15519 */
15520 Banner.prototype.dismissable;
15521 /**
15522 * Action label content
15523 * @type {?}
15524 */
15525 Banner.prototype.actionLabel;
15526 /**
15527 * Callback when the action
15528 * @type {?}
15529 */
15530 Banner.prototype.action;
15531 /**
15532 * Callback when the banner is dismissed.
15533 * @type {?}
15534 */
15535 Banner.prototype.dismiss;
15536}
15537
15538/**
15539 * @fileoverview added by tsickle
15540 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
15541 */
15542var BannerModule = /** @class */ (function () {
15543 function BannerModule() {
15544 }
15545 BannerModule.decorators = [
15546 { type: NgModule, args: [{
15547 declarations: [
15548 Banner
15549 ],
15550 exports: [
15551 Banner
15552 ],
15553 imports: [
15554 CommonModule,
15555 IconModule,
15556 ButtonModule,
15557 ]
15558 },] }
15559 ];
15560 return BannerModule;
15561}());
15562
15563/**
15564 * @fileoverview added by tsickle
15565 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
15566 */
15567/** @enum {string} */
15568var SnippetType = {
15569 single: 'single',
15570 multi: 'multi',
15571 inline: 'inline',
15572};
15573/** @enum {string} */
15574var SnippetLanguage = {
15575 javascript: 'javascript',
15576 json: 'json',
15577 typescript: 'typescript',
15578 markup: 'markup',
15579 markdown: 'markdown',
15580 php: 'php',
15581 ruby: 'ruby',
15582 scss: 'scss',
15583 css: 'css',
15584 html: 'html',
15585 xml: 'xml',
15586 clike: 'clike',
15587 java: 'java',
15588 swift: 'swift',
15589};
15590var CodeSnippet = /** @class */ (function () {
15591 /**
15592 * Creates an instance of CodeSnippet.
15593 */
15594 function CodeSnippet(sanitizer) {
15595 this.sanitizer = sanitizer;
15596 /**
15597 * It can be `"single"`, `"multi"` or `"inline"`
15598 */
15599 this.display = SnippetType.single;
15600 /**
15601 * Text displayed in the tooltip when user clicks button to copy code.
15602 *
15603 */
15604 this.feedbackText = 'Copiado'; // TODO: i18n
15605 /**
15606 * Snippet highlight language
15607 *
15608 */
15609 this.language = SnippetLanguage.javascript;
15610 /**
15611 * Time in miliseconds to keep the feedback tooltip displayed.
15612 *
15613 */
15614 this.feedbackTimeout = 3000;
15615 /**
15616 * Set to `true` to show an expanded code snippet.
15617 */
15618 this.expanded = false;
15619 /**
15620 * Set to `true` to show a loading code snippet.
15621 */
15622 this.skeleton = false;
15623 this.snippetClass = true;
15624 this.showFeedback = false;
15625 CodeSnippet.codeSnippetCount++;
15626 }
15627 Object.defineProperty(CodeSnippet.prototype, "snippetSingleClass", {
15628 get: /**
15629 * @return {?}
15630 */
15631 function () {
15632 return this.display === SnippetType.single;
15633 },
15634 enumerable: true,
15635 configurable: true
15636 });
15637 Object.defineProperty(CodeSnippet.prototype, "snippetMultiClass", {
15638 get: /**
15639 * @return {?}
15640 */
15641 function () {
15642 return this.display === SnippetType.multi;
15643 },
15644 enumerable: true,
15645 configurable: true
15646 });
15647 Object.defineProperty(CodeSnippet.prototype, "snippetInlineClass", {
15648 get: /**
15649 * @return {?}
15650 */
15651 function () {
15652 return this.display === SnippetType.inline;
15653 },
15654 enumerable: true,
15655 configurable: true
15656 });
15657 Object.defineProperty(CodeSnippet.prototype, "btnCopyClass", {
15658 get: /**
15659 * @return {?}
15660 */
15661 function () {
15662 return this.display === SnippetType.inline;
15663 },
15664 enumerable: true,
15665 configurable: true
15666 });
15667 Object.defineProperty(CodeSnippet.prototype, "displayStyle", {
15668 get: /**
15669 * @return {?}
15670 */
15671 function () {
15672 return this.display !== SnippetType.inline ? 'block' : null;
15673 },
15674 enumerable: true,
15675 configurable: true
15676 });
15677 Object.defineProperty(CodeSnippet.prototype, "attrType", {
15678 get: /**
15679 * @return {?}
15680 */
15681 function () {
15682 return this.display === SnippetType.inline ? 'button' : null;
15683 },
15684 enumerable: true,
15685 configurable: true
15686 });
15687 Object.defineProperty(CodeSnippet.prototype, "shouldShowExpandButton", {
15688 get: /**
15689 * @return {?}
15690 */
15691 function () {
15692 return this.code ? this.code.nativeElement.getBoundingClientRect().height > 255 : false;
15693 },
15694 enumerable: true,
15695 configurable: true
15696 });
15697 /**
15698 * @return {?}
15699 */
15700 CodeSnippet.prototype.ngOnInit = /**
15701 * @return {?}
15702 */
15703 function () {
15704 if (this.highlight) {
15705 this.content = highlight(this.content, languages[this.language], this.language);
15706 }
15707 this.codeHtml = this.sanitizer.sanitize(SecurityContext.HTML, this.content);
15708 };
15709 /**
15710 * @return {?}
15711 */
15712 CodeSnippet.prototype.toggleSnippetExpansion = /**
15713 * @return {?}
15714 */
15715 function () {
15716 this.expanded = !this.expanded;
15717 };
15718 /**
15719 * Copies the code from the `<code>` block to clipboard.
15720 */
15721 /**
15722 * Copies the code from the `<code>` block to clipboard.
15723 * @return {?}
15724 */
15725 CodeSnippet.prototype.copyCode = /**
15726 * Copies the code from the `<code>` block to clipboard.
15727 * @return {?}
15728 */
15729 function () {
15730 // create invisible, uneditable textarea with our code in it
15731 /** @type {?} */
15732 var textarea = document.createElement('textarea');
15733 textarea.value = this.code.nativeElement.innerText || this.code.nativeElement.textContent;
15734 textarea.setAttribute('readonly', '');
15735 textarea.style.position = 'absolute';
15736 textarea.style.right = '-99999px';
15737 document.body.appendChild(textarea);
15738 // save user selection
15739 /** @type {?} */
15740 var selected = document.getSelection().rangeCount ? document.getSelection().getRangeAt(0) : null;
15741 // copy to clipboard
15742 textarea.select();
15743 document.execCommand('copy');
15744 // remove textarea
15745 document.body.removeChild(textarea);
15746 // restore user selection
15747 if (selected) {
15748 document.getSelection().removeAllRanges();
15749 document.getSelection().addRange(selected);
15750 }
15751 };
15752 /**
15753 * On copy button click, copies the code and shows feedback.
15754 */
15755 /**
15756 * On copy button click, copies the code and shows feedback.
15757 * @return {?}
15758 */
15759 CodeSnippet.prototype.onCopyButtonClicked = /**
15760 * On copy button click, copies the code and shows feedback.
15761 * @return {?}
15762 */
15763 function () {
15764 var _this = this;
15765 this.copyCode();
15766 this.showFeedback = true;
15767 setTimeout((/**
15768 * @return {?}
15769 */
15770 function () {
15771 _this.showFeedback = false;
15772 }), this.feedbackTimeout);
15773 };
15774 /**
15775 * Inline code snippet acts as button and makes the whole component clickable.
15776 *
15777 * This handles clicks in that case.
15778 */
15779 /**
15780 * Inline code snippet acts as button and makes the whole component clickable.
15781 *
15782 * This handles clicks in that case.
15783 * @return {?}
15784 */
15785 CodeSnippet.prototype.hostClick = /**
15786 * Inline code snippet acts as button and makes the whole component clickable.
15787 *
15788 * This handles clicks in that case.
15789 * @return {?}
15790 */
15791 function () {
15792 if (this.display !== SnippetType.inline) {
15793 return;
15794 }
15795 this.onCopyButtonClicked();
15796 };
15797 /**
15798 * Variable used for creating unique ids for code-snippet components.
15799 */
15800 CodeSnippet.codeSnippetCount = 0;
15801 CodeSnippet.decorators = [
15802 { type: Component, args: [{
15803 selector: 'suka-code-snippet',
15804 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 "
15805 }] }
15806 ];
15807 /** @nocollapse */
15808 CodeSnippet.ctorParameters = function () { return [
15809 { type: DomSanitizer }
15810 ]; };
15811 CodeSnippet.propDecorators = {
15812 display: [{ type: Input }],
15813 feedbackText: [{ type: Input }],
15814 content: [{ type: Input }],
15815 highlight: [{ type: Input }],
15816 language: [{ type: Input }],
15817 feedbackTimeout: [{ type: Input }],
15818 expanded: [{ type: HostBinding, args: ['class.snippet--expand',] }, { type: Input }],
15819 skeleton: [{ type: HostBinding, args: ['class.skeleton',] }, { type: Input }],
15820 snippetClass: [{ type: HostBinding, args: ['class.snippet',] }],
15821 snippetSingleClass: [{ type: HostBinding, args: ['class.snippet--single',] }],
15822 snippetMultiClass: [{ type: HostBinding, args: ['class.snippet--multi',] }],
15823 snippetInlineClass: [{ type: HostBinding, args: ['class.snippet--inline',] }],
15824 btnCopyClass: [{ type: HostBinding, args: ['class.btn--copy',] }],
15825 displayStyle: [{ type: HostBinding, args: ['style.display',] }],
15826 attrType: [{ type: HostBinding, args: ['attr.type',] }],
15827 code: [{ type: ViewChild, args: ['code', { static: false },] }],
15828 hostClick: [{ type: HostListener, args: ['click',] }]
15829 };
15830 return CodeSnippet;
15831}());
15832if (false) {
15833 /**
15834 * Variable used for creating unique ids for code-snippet components.
15835 * @type {?}
15836 */
15837 CodeSnippet.codeSnippetCount;
15838 /** @type {?} */
15839 CodeSnippet.prototype.codeHtml;
15840 /**
15841 * It can be `"single"`, `"multi"` or `"inline"`
15842 * @type {?}
15843 */
15844 CodeSnippet.prototype.display;
15845 /**
15846 * Text displayed in the tooltip when user clicks button to copy code.
15847 *
15848 * @type {?}
15849 */
15850 CodeSnippet.prototype.feedbackText;
15851 /**
15852 * Code content
15853 *
15854 * @type {?}
15855 */
15856 CodeSnippet.prototype.content;
15857 /**
15858 * Code highlight
15859 *
15860 * @type {?}
15861 */
15862 CodeSnippet.prototype.highlight;
15863 /**
15864 * Snippet highlight language
15865 *
15866 * @type {?}
15867 */
15868 CodeSnippet.prototype.language;
15869 /**
15870 * Time in miliseconds to keep the feedback tooltip displayed.
15871 *
15872 * @type {?}
15873 */
15874 CodeSnippet.prototype.feedbackTimeout;
15875 /**
15876 * Set to `true` to show an expanded code snippet.
15877 * @type {?}
15878 */
15879 CodeSnippet.prototype.expanded;
15880 /**
15881 * Set to `true` to show a loading code snippet.
15882 * @type {?}
15883 */
15884 CodeSnippet.prototype.skeleton;
15885 /** @type {?} */
15886 CodeSnippet.prototype.snippetClass;
15887 /** @type {?} */
15888 CodeSnippet.prototype.code;
15889 /** @type {?} */
15890 CodeSnippet.prototype.showFeedback;
15891 /**
15892 * @type {?}
15893 * @private
15894 */
15895 CodeSnippet.prototype.sanitizer;
15896}
15897
15898/**
15899 * @fileoverview added by tsickle
15900 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
15901 */
15902var CodeSnippetModule = /** @class */ (function () {
15903 function CodeSnippetModule() {
15904 }
15905 CodeSnippetModule.decorators = [
15906 { type: NgModule, args: [{
15907 declarations: [
15908 CodeSnippet,
15909 ],
15910 exports: [
15911 CodeSnippet,
15912 ],
15913 imports: [
15914 CommonModule,
15915 FormsModule,
15916 TooltipModule,
15917 IconModule,
15918 ]
15919 },] }
15920 ];
15921 return CodeSnippetModule;
15922}());
15923
15924/**
15925 * @fileoverview added by tsickle
15926 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
15927 */
15928var EmptyState = /** @class */ (function () {
15929 function EmptyState() {
15930 /**
15931 * Heading content.
15932 */
15933 this.heading = '';
15934 /**
15935 * Emits the primary action event.
15936 */
15937 this.primaryAction = new EventEmitter();
15938 /**
15939 * Emits the secondary action event.
15940 */
15941 this.secondaryAction = new EventEmitter();
15942 }
15943 /**
15944 * On button click, emits a primary o secondary action event accordingly
15945 */
15946 /**
15947 * On button click, emits a primary o secondary action event accordingly
15948 * @param {?} type
15949 * @return {?}
15950 */
15951 EmptyState.prototype.onClick = /**
15952 * On button click, emits a primary o secondary action event accordingly
15953 * @param {?} type
15954 * @return {?}
15955 */
15956 function (type) {
15957 if (type === 'primary') {
15958 this.primaryAction.emit('primary');
15959 }
15960 if (type === 'secondary') {
15961 this.secondaryAction.emit('secondary');
15962 }
15963 };
15964 EmptyState.decorators = [
15965 { type: Component, args: [{
15966 selector: 'suka-empty-state',
15967 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 "
15968 }] }
15969 ];
15970 EmptyState.propDecorators = {
15971 heading: [{ type: Input }],
15972 imgSrc: [{ type: Input }],
15973 primaryActionLabel: [{ type: Input }],
15974 primaryAction: [{ type: Output }],
15975 secondaryActionLabel: [{ type: Input }],
15976 secondaryAction: [{ type: Output }]
15977 };
15978 return EmptyState;
15979}());
15980if (false) {
15981 /**
15982 * Heading content.
15983 * @type {?}
15984 */
15985 EmptyState.prototype.heading;
15986 /**
15987 * Sets an image url for the avatar. If it is set, it displays instead of the empty icon.
15988 * @type {?}
15989 */
15990 EmptyState.prototype.imgSrc;
15991 /**
15992 * Primary action label content
15993 * @type {?}
15994 */
15995 EmptyState.prototype.primaryActionLabel;
15996 /**
15997 * Emits the primary action event.
15998 * @type {?}
15999 */
16000 EmptyState.prototype.primaryAction;
16001 /**
16002 * Secondary action label content
16003 * @type {?}
16004 */
16005 EmptyState.prototype.secondaryActionLabel;
16006 /**
16007 * Emits the secondary action event.
16008 * @type {?}
16009 */
16010 EmptyState.prototype.secondaryAction;
16011}
16012
16013/**
16014 * @fileoverview added by tsickle
16015 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
16016 */
16017var EmptyStateModule = /** @class */ (function () {
16018 function EmptyStateModule() {
16019 }
16020 EmptyStateModule.decorators = [
16021 { type: NgModule, args: [{
16022 declarations: [
16023 EmptyState,
16024 ],
16025 exports: [
16026 EmptyState,
16027 ],
16028 imports: [
16029 CommonModule,
16030 IconModule,
16031 ButtonModule,
16032 ]
16033 },] }
16034 ];
16035 return EmptyStateModule;
16036}());
16037
16038/**
16039 * @fileoverview added by tsickle
16040 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
16041 */
16042/**
16043 * @param {?} r
16044 * @param {?} g
16045 * @param {?} b
16046 * @return {?}
16047 */
16048function rgbToHsv(r, g, b) {
16049 /** @type {?} */
16050 var h;
16051 /** @type {?} */
16052 var s;
16053 /** @type {?} */
16054 var rabs = r / 255;
16055 /** @type {?} */
16056 var gabs = g / 255;
16057 /** @type {?} */
16058 var babs = b / 255;
16059 /** @type {?} */
16060 var v = Math.max(rabs, gabs, babs);
16061 /** @type {?} */
16062 var diff = v - Math.min(rabs, gabs, babs);
16063 /** @type {?} */
16064 var diffc = (/**
16065 * @param {?} c
16066 * @return {?}
16067 */
16068 function (c) { return (v - c) / 6 / diff + 1 / 2; });
16069 /** @type {?} */
16070 var percentRoundFn = (/**
16071 * @param {?} num
16072 * @return {?}
16073 */
16074 function (num) { return Math.round(num * 100) / 100; });
16075 if (diff === 0) {
16076 h = s = 0;
16077 }
16078 else {
16079 s = diff / v;
16080 /** @type {?} */
16081 var rr = diffc(rabs);
16082 /** @type {?} */
16083 var gg = diffc(gabs);
16084 /** @type {?} */
16085 var bb = diffc(babs);
16086 if (rabs === v) {
16087 h = bb - gg;
16088 }
16089 else if (gabs === v) {
16090 h = (1 / 3) + rr - bb;
16091 }
16092 else if (babs === v) {
16093 h = (2 / 3) + gg - rr;
16094 }
16095 if (h < 0) {
16096 h += 1;
16097 }
16098 else if (h > 1) {
16099 h -= 1;
16100 }
16101 }
16102 return {
16103 h: Math.round(h * 360),
16104 s: percentRoundFn(s * 100),
16105 v: percentRoundFn(v * 100)
16106 };
16107}
16108/**
16109 * @param {?} hex
16110 * @return {?}
16111 */
16112function hexToRgb(hex) {
16113 // Expand shorthand form (e.g. "03F") to full form (e.g. "0033FF")
16114 /** @type {?} */
16115 var shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
16116 hex = hex.replace(shorthandRegex, (/**
16117 * @param {?} m
16118 * @param {?} r
16119 * @param {?} g
16120 * @param {?} b
16121 * @return {?}
16122 */
16123 function (m, r, g, b) {
16124 return r + r + g + g + b + b;
16125 }));
16126 /** @type {?} */
16127 var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
16128 return result ? {
16129 r: parseInt(result[1], 16),
16130 g: parseInt(result[2], 16),
16131 b: parseInt(result[3], 16)
16132 } : null;
16133}
16134/**
16135 * @param {?} r
16136 * @param {?} g
16137 * @param {?} b
16138 * @return {?}
16139 */
16140function rgbToHex(r, g, b) {
16141 /**
16142 * @param {?} x
16143 * @return {?}
16144 */
16145 function hex(x) {
16146 return ('0' + parseInt(x).toString(16)).slice(-2);
16147 }
16148 return '#' + hex(r) + hex(g) + hex(b);
16149}
16150/**
16151 * @param {?} hue
16152 * @param {?} saturation
16153 * @param {?} value
16154 * @return {?}
16155 */
16156function hsvToRgb(hue, saturation, value) {
16157 /** @type {?} */
16158 var h = hue / 60;
16159 /** @type {?} */
16160 var s = saturation / 100;
16161 /** @type {?} */
16162 var v = value / 100;
16163 /** @type {?} */
16164 var hi = Math.floor(h) % 6;
16165 /** @type {?} */
16166 var f = h - Math.floor(h);
16167 /** @type {?} */
16168 var p = 255 * v * (1 - s);
16169 /** @type {?} */
16170 var q = 255 * v * (1 - (s * f));
16171 /** @type {?} */
16172 var t = 255 * v * (1 - (s * (1 - f)));
16173 v *= 255;
16174 /** @type {?} */
16175 var rgbArray;
16176 switch (hi) {
16177 case 0:
16178 rgbArray = [v, t, p];
16179 break;
16180 case 1:
16181 rgbArray = [q, v, p];
16182 break;
16183 case 2:
16184 rgbArray = [p, v, t];
16185 break;
16186 case 3:
16187 rgbArray = [p, q, v];
16188 break;
16189 case 4:
16190 rgbArray = [t, p, v];
16191 break;
16192 case 5:
16193 rgbArray = [v, p, q];
16194 break;
16195 }
16196 return {
16197 r: rgbArray[0],
16198 g: rgbArray[1],
16199 b: rgbArray[2],
16200 };
16201}
16202/**
16203 * @param {?} h
16204 * @param {?} s
16205 * @param {?} v
16206 * @return {?}
16207 */
16208function hsvToHex(h, s, v) {
16209 /** @type {?} */
16210 var rgbColor = hsvToRgb(h, s, v);
16211 return rgbToHex(rgbColor.r, rgbColor.g, rgbColor.b);
16212}
16213
16214/**
16215 * @fileoverview added by tsickle
16216 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
16217 */
16218var ColorPicker = /** @class */ (function () {
16219 function ColorPicker() {
16220 this.baseClass = true;
16221 this.colorChange = new EventEmitter();
16222 this.showInput = true;
16223 }
16224 /**
16225 * @return {?}
16226 */
16227 ColorPicker.prototype.ngOnInit = /**
16228 * @return {?}
16229 */
16230 function () {
16231 /** @type {?} */
16232 var rgbColor = hexToRgb(this.color);
16233 if (rgbColor) {
16234 /** @type {?} */
16235 var hsv = rgbToHsv(rgbColor.r, rgbColor.g, rgbColor.b);
16236 this.hue = hsvToHex(hsv.h, 100, 100);
16237 }
16238 };
16239 /**
16240 * @param {?} event
16241 * @return {?}
16242 */
16243 ColorPicker.prototype.onColorChange = /**
16244 * @param {?} event
16245 * @return {?}
16246 */
16247 function (event) {
16248 /** @type {?} */
16249 var rgbColor = hexToRgb(event);
16250 if (rgbColor) {
16251 /** @type {?} */
16252 var hsv = rgbToHsv(rgbColor.r, rgbColor.g, rgbColor.b);
16253 this.hue = hsvToHex(hsv.h, 100, 100);
16254 this.color = event;
16255 }
16256 this.emitColorChange(this.color);
16257 };
16258 /**
16259 * @param {?} event
16260 * @return {?}
16261 */
16262 ColorPicker.prototype.onColorSelect = /**
16263 * @param {?} event
16264 * @return {?}
16265 */
16266 function (event) {
16267 this.color = event;
16268 this.emitColorChange(this.color);
16269 };
16270 /**
16271 * @private
16272 * @param {?} color
16273 * @return {?}
16274 */
16275 ColorPicker.prototype.emitColorChange = /**
16276 * @private
16277 * @param {?} color
16278 * @return {?}
16279 */
16280 function (color) {
16281 this.colorChange.emit(color);
16282 };
16283 ColorPicker.decorators = [
16284 { type: Component, args: [{
16285 selector: 'suka-color-picker',
16286 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 "
16287 }] }
16288 ];
16289 ColorPicker.propDecorators = {
16290 baseClass: [{ type: HostBinding, args: ['class.color-picker',] }],
16291 color: [{ type: Input }],
16292 colorChange: [{ type: Output }],
16293 showInput: [{ type: Input }]
16294 };
16295 return ColorPicker;
16296}());
16297if (false) {
16298 /** @type {?} */
16299 ColorPicker.prototype.baseClass;
16300 /** @type {?} */
16301 ColorPicker.prototype.color;
16302 /** @type {?} */
16303 ColorPicker.prototype.colorChange;
16304 /** @type {?} */
16305 ColorPicker.prototype.showInput;
16306 /** @type {?} */
16307 ColorPicker.prototype.hue;
16308 /** @type {?} */
16309 ColorPicker.prototype.globalHue;
16310}
16311
16312/**
16313 * @fileoverview added by tsickle
16314 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
16315 */
16316var ColorSlider = /** @class */ (function () {
16317 function ColorSlider() {
16318 this.baseClass = true;
16319 this.mousedown = false;
16320 this.hueChange = new EventEmitter();
16321 }
16322 /**
16323 * @param {?} evt
16324 * @return {?}
16325 */
16326 ColorSlider.prototype.onMouseUp = /**
16327 * @param {?} evt
16328 * @return {?}
16329 */
16330 function (evt) {
16331 this.mousedown = false;
16332 };
16333 /**
16334 * @return {?}
16335 */
16336 ColorSlider.prototype.draw = /**
16337 * @return {?}
16338 */
16339 function () {
16340 if (!this.ctx) {
16341 this.ctx = this.canvas.nativeElement.getContext('2d');
16342 }
16343 /** @type {?} */
16344 var width = this.canvas.nativeElement.width;
16345 /** @type {?} */
16346 var height = this.canvas.nativeElement.height;
16347 this.ctx.clearRect(0, 0, width, height);
16348 /** @type {?} */
16349 var gradient = this.ctx.createLinearGradient(0, 0, 0, height);
16350 gradient.addColorStop(0, 'rgba(255, 0, 0, 1)');
16351 gradient.addColorStop(0.17, 'rgba(255, 255, 0, 1)');
16352 gradient.addColorStop(0.34, 'rgba(0, 255, 0, 1)');
16353 gradient.addColorStop(0.51, 'rgba(0, 255, 255, 1)');
16354 gradient.addColorStop(0.68, 'rgba(0, 0, 255, 1)');
16355 gradient.addColorStop(0.85, 'rgba(255, 0, 255, 1)');
16356 gradient.addColorStop(1, 'rgba(255, 0, 0, 1)');
16357 this.ctx.beginPath();
16358 this.ctx.rect(0, 0, width, height);
16359 this.ctx.fillStyle = gradient;
16360 this.ctx.fill();
16361 this.ctx.closePath();
16362 if (this.selectedHeight) {
16363 this.ctx.beginPath();
16364 this.ctx.strokeStyle = 'white';
16365 this.ctx.lineWidth = 4;
16366 this.ctx.rect(0, this.selectedHeight - 5, width, 10);
16367 this.ctx.stroke();
16368 this.ctx.closePath();
16369 }
16370 };
16371 /**
16372 * @param {?} evt
16373 * @return {?}
16374 */
16375 ColorSlider.prototype.onMouseDown = /**
16376 * @param {?} evt
16377 * @return {?}
16378 */
16379 function (evt) {
16380 this.mousedown = true;
16381 this.selectedHeight = evt.offsetY;
16382 this.draw();
16383 this.emitHue(evt.offsetY);
16384 };
16385 /**
16386 * @param {?} evt
16387 * @return {?}
16388 */
16389 ColorSlider.prototype.onMouseMove = /**
16390 * @param {?} evt
16391 * @return {?}
16392 */
16393 function (evt) {
16394 if (this.mousedown) {
16395 this.selectedHeight = evt.offsetY;
16396 this.draw();
16397 this.emitHue(evt.offsetY);
16398 }
16399 };
16400 /**
16401 * @param {?} y
16402 * @return {?}
16403 */
16404 ColorSlider.prototype.emitHue = /**
16405 * @param {?} y
16406 * @return {?}
16407 */
16408 function (y) {
16409 if (y < 0) {
16410 y = 0;
16411 }
16412 else if (y >= 250) {
16413 y = 249;
16414 }
16415 /** @type {?} */
16416 var color = this.getColorAtPosition(y);
16417 this.hueChange.emit(rgbToHex(color.r, color.g, color.b));
16418 };
16419 /**
16420 * @param {?} y
16421 * @return {?}
16422 */
16423 ColorSlider.prototype.getColorAtPosition = /**
16424 * @param {?} y
16425 * @return {?}
16426 */
16427 function (y) {
16428 /** @type {?} */
16429 var imageData = this.ctx.getImageData(5, y, 1, 1).data;
16430 return {
16431 r: imageData[0],
16432 g: imageData[1],
16433 b: imageData[2],
16434 };
16435 };
16436 /**
16437 * @param {?} changes
16438 * @return {?}
16439 */
16440 ColorSlider.prototype.ngOnChanges = /**
16441 * @param {?} changes
16442 * @return {?}
16443 */
16444 function (changes) {
16445 if (changes.hue && !changes.hue.isFirstChange()) {
16446 /** @type {?} */
16447 var rgbColor = hexToRgb(this.hue);
16448 if (rgbColor) {
16449 /** @type {?} */
16450 var hsvColor = rgbToHsv(rgbColor.r, rgbColor.g, rgbColor.b);
16451 /** @type {?} */
16452 var hueFactor = hsvColor.h / 360;
16453 this.selectedHeight = hueFactor * 250;
16454 this.draw();
16455 }
16456 }
16457 };
16458 /**
16459 * @return {?}
16460 */
16461 ColorSlider.prototype.ngAfterViewInit = /**
16462 * @return {?}
16463 */
16464 function () {
16465 if (this.hue) {
16466 /** @type {?} */
16467 var rgbColor = hexToRgb(this.hue);
16468 /** @type {?} */
16469 var hsvColor = rgbToHsv(rgbColor.r, rgbColor.g, rgbColor.b);
16470 /** @type {?} */
16471 var hueFactor = hsvColor.h / 360;
16472 this.selectedHeight = hueFactor * 250;
16473 }
16474 this.draw();
16475 };
16476 ColorSlider.decorators = [
16477 { type: Component, args: [{
16478 selector: 'suka-color-slider',
16479 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 "
16480 }] }
16481 ];
16482 ColorSlider.propDecorators = {
16483 baseClass: [{ type: HostBinding, args: ['class.color-slider-wrapper',] }],
16484 hue: [{ type: Input }],
16485 hueChange: [{ type: Output }],
16486 canvas: [{ type: ViewChild, args: ['canvas', { static: false },] }],
16487 onMouseUp: [{ type: HostListener, args: ['window:mouseup', ['$event'],] }]
16488 };
16489 return ColorSlider;
16490}());
16491if (false) {
16492 /** @type {?} */
16493 ColorSlider.prototype.baseClass;
16494 /**
16495 * @type {?}
16496 * @private
16497 */
16498 ColorSlider.prototype.ctx;
16499 /**
16500 * @type {?}
16501 * @private
16502 */
16503 ColorSlider.prototype.mousedown;
16504 /**
16505 * @type {?}
16506 * @private
16507 */
16508 ColorSlider.prototype.selectedHeight;
16509 /** @type {?} */
16510 ColorSlider.prototype.hue;
16511 /** @type {?} */
16512 ColorSlider.prototype.hueChange;
16513 /** @type {?} */
16514 ColorSlider.prototype.canvas;
16515}
16516
16517/**
16518 * @fileoverview added by tsickle
16519 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
16520 */
16521var ColorPalette = /** @class */ (function () {
16522 function ColorPalette() {
16523 this.baseClass = true;
16524 this.colorChange = new EventEmitter(true);
16525 this.mousedown = false;
16526 }
16527 /**
16528 * @return {?}
16529 */
16530 ColorPalette.prototype.draw = /**
16531 * @return {?}
16532 */
16533 function () {
16534 if (!this.ctx) {
16535 this.ctx = this.canvas.nativeElement.getContext('2d');
16536 }
16537 /** @type {?} */
16538 var width = this.canvas.nativeElement.width;
16539 /** @type {?} */
16540 var height = this.canvas.nativeElement.height;
16541 if (this.hue) {
16542 this.ctx.fillStyle = this.hue;
16543 }
16544 else {
16545 this.ctx.fillStyle = '#ff0000';
16546 }
16547 this.ctx.fillRect(0, 0, width, height);
16548 /** @type {?} */
16549 var whiteGrad = this.ctx.createLinearGradient(0, 0, width, 0);
16550 whiteGrad.addColorStop(0, 'rgba(255,255,255,1)');
16551 whiteGrad.addColorStop(1, 'rgba(255,255,255,0)');
16552 this.ctx.fillStyle = whiteGrad;
16553 this.ctx.fillRect(0, 0, width, height);
16554 /** @type {?} */
16555 var blackGrad = this.ctx.createLinearGradient(0, 0, 0, height);
16556 blackGrad.addColorStop(0, 'rgba(0,0,0,0)');
16557 blackGrad.addColorStop(1, 'rgba(0,0,0,1)');
16558 this.ctx.fillStyle = blackGrad;
16559 this.ctx.fillRect(0, 0, width, height);
16560 if (this.selectedPosition) {
16561 this.ctx.strokeStyle = 'white';
16562 this.ctx.fillStyle = 'white';
16563 this.ctx.beginPath();
16564 this.ctx.arc(this.selectedPosition.x, this.selectedPosition.y, 5, 0, 2 * Math.PI);
16565 this.ctx.lineWidth = 3;
16566 this.ctx.stroke();
16567 this.ctx.closePath();
16568 }
16569 };
16570 /**
16571 * @param {?} changes
16572 * @return {?}
16573 */
16574 ColorPalette.prototype.ngOnChanges = /**
16575 * @param {?} changes
16576 * @return {?}
16577 */
16578 function (changes) {
16579 if (changes.color && !changes.color.isFirstChange()) {
16580 /** @type {?} */
16581 var rgbColor = hexToRgb(this.color);
16582 if (rgbColor) {
16583 /** @type {?} */
16584 var hsv = rgbToHsv(rgbColor.r, rgbColor.g, rgbColor.b);
16585 this.selectedPosition = {
16586 x: (hsv.s * 250) / 100,
16587 y: 250 - (hsv.v * 250) / 100
16588 };
16589 this.draw();
16590 }
16591 }
16592 else if (changes.hue && !changes.hue.isFirstChange()) {
16593 this.draw();
16594 /** @type {?} */
16595 var pos = this.selectedPosition;
16596 if (pos) {
16597 this.colorChange.emit(this.getColorAtPosition(pos.x, pos.y));
16598 }
16599 }
16600 };
16601 /**
16602 * @return {?}
16603 */
16604 ColorPalette.prototype.ngAfterViewInit = /**
16605 * @return {?}
16606 */
16607 function () {
16608 if (this.color) {
16609 /** @type {?} */
16610 var rgbColor = hexToRgb(this.color);
16611 if (rgbColor) {
16612 /** @type {?} */
16613 var hsv = rgbToHsv(rgbColor.r, rgbColor.g, rgbColor.b);
16614 this.selectedPosition = {
16615 x: (hsv.s * 250) / 100,
16616 y: 250 - (hsv.v * 250) / 100
16617 };
16618 }
16619 }
16620 this.draw();
16621 };
16622 /**
16623 * @param {?} evt
16624 * @return {?}
16625 */
16626 ColorPalette.prototype.onMouseUp = /**
16627 * @param {?} evt
16628 * @return {?}
16629 */
16630 function (evt) {
16631 this.mousedown = false;
16632 };
16633 /**
16634 * @param {?} evt
16635 * @return {?}
16636 */
16637 ColorPalette.prototype.onMouseDown = /**
16638 * @param {?} evt
16639 * @return {?}
16640 */
16641 function (evt) {
16642 this.mousedown = true;
16643 /** @type {?} */
16644 var xPos = evt.offsetX < 0 ? 0 : evt.offsetX >= 250 ? 249 : evt.offsetX;
16645 /** @type {?} */
16646 var yPos = evt.offsetY < 0 ? 0 : evt.offsetY >= 250 ? 249 : evt.offsetY;
16647 this.selectedPosition = {
16648 x: xPos,
16649 y: yPos,
16650 };
16651 this.draw();
16652 this.emitColor(xPos, yPos);
16653 };
16654 /**
16655 * @param {?} evt
16656 * @return {?}
16657 */
16658 ColorPalette.prototype.onMouseMove = /**
16659 * @param {?} evt
16660 * @return {?}
16661 */
16662 function (evt) {
16663 if (this.mousedown) {
16664 /** @type {?} */
16665 var xPos = evt.offsetX < 0 ? 0 : evt.offsetX >= 250 ? 249 : evt.offsetX;
16666 /** @type {?} */
16667 var yPos = evt.offsetY < 0 ? 0 : evt.offsetY >= 250 ? 249 : evt.offsetY;
16668 this.selectedPosition = {
16669 x: xPos,
16670 y: yPos,
16671 };
16672 this.draw();
16673 this.emitColor(xPos, yPos);
16674 }
16675 };
16676 /**
16677 * @param {?} x
16678 * @param {?} y
16679 * @return {?}
16680 */
16681 ColorPalette.prototype.emitColor = /**
16682 * @param {?} x
16683 * @param {?} y
16684 * @return {?}
16685 */
16686 function (x, y) {
16687 /** @type {?} */
16688 var rgbaColor = this.getColorAtPosition(x, y);
16689 this.colorChange.emit(rgbaColor);
16690 };
16691 /**
16692 * @param {?} x
16693 * @param {?} y
16694 * @return {?}
16695 */
16696 ColorPalette.prototype.getColorAtPosition = /**
16697 * @param {?} x
16698 * @param {?} y
16699 * @return {?}
16700 */
16701 function (x, y) {
16702 /** @type {?} */
16703 var imageData = this.ctx.getImageData(x, y, 1, 1).data;
16704 return rgbToHex(imageData[0], imageData[1], imageData[2]);
16705 };
16706 ColorPalette.decorators = [
16707 { type: Component, args: [{
16708 selector: 'suka-color-palette',
16709 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 "
16710 }] }
16711 ];
16712 ColorPalette.propDecorators = {
16713 baseClass: [{ type: HostBinding, args: ['class.color-palette-container',] }],
16714 hue: [{ type: Input }],
16715 color: [{ type: Input }],
16716 colorChange: [{ type: Output }],
16717 canvas: [{ type: ViewChild, args: ['canvas', { static: false },] }],
16718 onMouseUp: [{ type: HostListener, args: ['window:mouseup', ['$event'],] }]
16719 };
16720 return ColorPalette;
16721}());
16722if (false) {
16723 /** @type {?} */
16724 ColorPalette.prototype.baseClass;
16725 /** @type {?} */
16726 ColorPalette.prototype.hue;
16727 /** @type {?} */
16728 ColorPalette.prototype.color;
16729 /** @type {?} */
16730 ColorPalette.prototype.colorChange;
16731 /** @type {?} */
16732 ColorPalette.prototype.canvas;
16733 /**
16734 * @type {?}
16735 * @private
16736 */
16737 ColorPalette.prototype.ctx;
16738 /**
16739 * @type {?}
16740 * @private
16741 */
16742 ColorPalette.prototype.mousedown;
16743 /** @type {?} */
16744 ColorPalette.prototype.selectedPosition;
16745}
16746
16747/**
16748 * @fileoverview added by tsickle
16749 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
16750 */
16751var ColorInput = /** @class */ (function () {
16752 /**
16753 * Creates an instance of `ColorInput`.
16754 */
16755 function ColorInput(_overlay, _viewContainerRef) {
16756 this._overlay = _overlay;
16757 this._viewContainerRef = _viewContainerRef;
16758 this.containerClass = true;
16759 /**
16760 * Set to `true` for a disabled color input.
16761 */
16762 this.disabled = false;
16763 /**
16764 * Set to `true` for a loading color input component.
16765 */
16766 this.skeleton = false;
16767 /**
16768 * Set to `true` for an invalid color input component.
16769 */
16770 this.invalid = false;
16771 /**
16772 * Set to `true` for a valid color input component.
16773 */
16774 this.valid = false;
16775 /**
16776 * The unique id for the color input component.
16777 */
16778 this.id = "color-input-" + ColorInput.colorInputCount;
16779 /**
16780 * Sets the value attribute on the `input` element.
16781 */
16782 this.value = '';
16783 /**
16784 * Sets the placeholder on the `input` element.
16785 */
16786 this.placeholder = '';
16787 /**
16788 * Emits event notifying other classes when a change in state occurs in the input.
16789 */
16790 // tslint:disable-next-line: no-output-native
16791 this.change = new EventEmitter();
16792 /**
16793 * Called when number input is blurred. Needed to properly implement `ControlValueAccessor`.
16794 */
16795 this.onTouched = (/**
16796 * @return {?}
16797 */
16798 function () { });
16799 /**
16800 * Method set in `registerOnChange` to propagate changes back to the form.
16801 */
16802 this.propagateChange = (/**
16803 * @param {?} _
16804 * @return {?}
16805 */
16806 function (_) { });
16807 ColorInput.colorInputCount++;
16808 }
16809 /**
16810 * This is the initial value set to the component
16811 * @param value The input value.
16812 */
16813 /**
16814 * This is the initial value set to the component
16815 * @param {?} value The input value.
16816 * @return {?}
16817 */
16818 ColorInput.prototype.writeValue = /**
16819 * This is the initial value set to the component
16820 * @param {?} value The input value.
16821 * @return {?}
16822 */
16823 function (value) {
16824 this.value = value;
16825 };
16826 /**
16827 * Sets a method in order to propagate changes back to the form.
16828 */
16829 /**
16830 * Sets a method in order to propagate changes back to the form.
16831 * @param {?} fn
16832 * @return {?}
16833 */
16834 ColorInput.prototype.registerOnChange = /**
16835 * Sets a method in order to propagate changes back to the form.
16836 * @param {?} fn
16837 * @return {?}
16838 */
16839 function (fn) {
16840 this.propagateChange = fn;
16841 };
16842 /**
16843 * Registers a callback to be triggered when the control has been touched.
16844 * @param fn Callback to be triggered when the number input is touched.
16845 */
16846 /**
16847 * Registers a callback to be triggered when the control has been touched.
16848 * @param {?} fn Callback to be triggered when the number input is touched.
16849 * @return {?}
16850 */
16851 ColorInput.prototype.registerOnTouched = /**
16852 * Registers a callback to be triggered when the control has been touched.
16853 * @param {?} fn Callback to be triggered when the number input is touched.
16854 * @return {?}
16855 */
16856 function (fn) {
16857 this.onTouched = fn;
16858 };
16859 /**
16860 * Sets the disabled state through the model
16861 */
16862 /**
16863 * Sets the disabled state through the model
16864 * @param {?} isDisabled
16865 * @return {?}
16866 */
16867 ColorInput.prototype.setDisabledState = /**
16868 * Sets the disabled state through the model
16869 * @param {?} isDisabled
16870 * @return {?}
16871 */
16872 function (isDisabled) {
16873 this.disabled = isDisabled;
16874 };
16875 /**
16876 * Creates a class of `NumberChange` to emit the change in the `Number`.
16877 */
16878 /**
16879 * Creates a class of `NumberChange` to emit the change in the `Number`.
16880 * @return {?}
16881 */
16882 ColorInput.prototype.emitChangeEvent = /**
16883 * Creates a class of `NumberChange` to emit the change in the `Number`.
16884 * @return {?}
16885 */
16886 function () {
16887 this.change.emit(this.value);
16888 this.propagateChange(this.value);
16889 };
16890 /**
16891 * @param {?} value
16892 * @return {?}
16893 */
16894 ColorInput.prototype.onColorChange = /**
16895 * @param {?} value
16896 * @return {?}
16897 */
16898 function (value) {
16899 this.value = value;
16900 this.emitChangeEvent();
16901 };
16902 /**
16903 * @param {?} event
16904 * @return {?}
16905 */
16906 ColorInput.prototype.onColorInputChange = /**
16907 * @param {?} event
16908 * @return {?}
16909 */
16910 function (event) {
16911 this.value = event.target.value;
16912 this.emitChangeEvent();
16913 };
16914 /**
16915 * Opens the color picker dialog
16916 */
16917 /**
16918 * Opens the color picker dialog
16919 * @return {?}
16920 */
16921 ColorInput.prototype.openColorDialog = /**
16922 * Opens the color picker dialog
16923 * @return {?}
16924 */
16925 function () {
16926 var _this = this;
16927 if (!this._overlayRef) {
16928 /** @type {?} */
16929 var positionStrategy = this._overlay
16930 .position()
16931 .flexibleConnectedTo(this.origin)
16932 .withPositions([{
16933 originX: 'start',
16934 originY: 'bottom',
16935 overlayX: 'start',
16936 overlayY: 'top',
16937 offsetY: 8,
16938 }]);
16939 this._overlayRef = this._overlay.create({
16940 hasBackdrop: true,
16941 backdropClass: 'cdk-overlay-transparent-backdrop',
16942 positionStrategy: positionStrategy,
16943 });
16944 this._overlayRef.backdropClick().subscribe((/**
16945 * @return {?}
16946 */
16947 function () { return _this._overlayRef.detach(); }));
16948 this._portal = new TemplatePortal(this.dialog, this._viewContainerRef);
16949 }
16950 this._overlayRef.attach(this._portal);
16951 };
16952 /**
16953 * Closes the color picker dialog
16954 */
16955 /**
16956 * Closes the color picker dialog
16957 * @return {?}
16958 */
16959 ColorInput.prototype.closeColorDialog = /**
16960 * Closes the color picker dialog
16961 * @return {?}
16962 */
16963 function () {
16964 this._overlayRef.detach();
16965 };
16966 /**
16967 * Checks if it is a template
16968 */
16969 /**
16970 * Checks if it is a template
16971 * @param {?} value
16972 * @return {?}
16973 */
16974 ColorInput.prototype.isTemplate = /**
16975 * Checks if it is a template
16976 * @param {?} value
16977 * @return {?}
16978 */
16979 function (value) {
16980 return value instanceof TemplateRef;
16981 };
16982 /**
16983 * Variable used for creating unique ids for color input components.
16984 */
16985 ColorInput.colorInputCount = 0;
16986 ColorInput.decorators = [
16987 { type: Component, args: [{
16988 selector: 'suka-color-input',
16989 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 ",
16990 providers: [
16991 {
16992 provide: NG_VALUE_ACCESSOR,
16993 useExisting: ColorInput,
16994 multi: true
16995 }
16996 ]
16997 }] }
16998 ];
16999 /** @nocollapse */
17000 ColorInput.ctorParameters = function () { return [
17001 { type: Overlay },
17002 { type: ViewContainerRef }
17003 ]; };
17004 ColorInput.propDecorators = {
17005 containerClass: [{ type: HostBinding, args: ['class.form-item',] }],
17006 disabled: [{ type: Input }],
17007 skeleton: [{ type: Input }],
17008 invalid: [{ type: Input }],
17009 valid: [{ type: Input }],
17010 id: [{ type: Input }],
17011 required: [{ type: Input }],
17012 value: [{ type: Input }],
17013 placeholder: [{ type: Input }],
17014 label: [{ type: Input }],
17015 helperText: [{ type: Input }],
17016 invalidText: [{ type: Input }],
17017 change: [{ type: Output }],
17018 origin: [{ type: ViewChild, args: ['origin', { static: false },] }],
17019 dialog: [{ type: ViewChild, args: ['colorPickerDialog', { static: false },] }]
17020 };
17021 return ColorInput;
17022}());
17023if (false) {
17024 /**
17025 * Variable used for creating unique ids for color input components.
17026 * @type {?}
17027 */
17028 ColorInput.colorInputCount;
17029 /**
17030 * @type {?}
17031 * @private
17032 */
17033 ColorInput.prototype._overlayRef;
17034 /**
17035 * @type {?}
17036 * @private
17037 */
17038 ColorInput.prototype._portal;
17039 /** @type {?} */
17040 ColorInput.prototype.containerClass;
17041 /**
17042 * Set to `true` for a disabled color input.
17043 * @type {?}
17044 */
17045 ColorInput.prototype.disabled;
17046 /**
17047 * Set to `true` for a loading color input component.
17048 * @type {?}
17049 */
17050 ColorInput.prototype.skeleton;
17051 /**
17052 * Set to `true` for an invalid color input component.
17053 * @type {?}
17054 */
17055 ColorInput.prototype.invalid;
17056 /**
17057 * Set to `true` for a valid color input component.
17058 * @type {?}
17059 */
17060 ColorInput.prototype.valid;
17061 /**
17062 * The unique id for the color input component.
17063 * @type {?}
17064 */
17065 ColorInput.prototype.id;
17066 /**
17067 * Reflects the required attribute of the `input` element.
17068 * @type {?}
17069 */
17070 ColorInput.prototype.required;
17071 /**
17072 * Sets the value attribute on the `input` element.
17073 * @type {?}
17074 */
17075 ColorInput.prototype.value;
17076 /**
17077 * Sets the placeholder on the `input` element.
17078 * @type {?}
17079 */
17080 ColorInput.prototype.placeholder;
17081 /**
17082 * Sets the text inside the `label` tag.
17083 * @type {?}
17084 */
17085 ColorInput.prototype.label;
17086 /**
17087 * Sets the optional helper text.
17088 * @type {?}
17089 */
17090 ColorInput.prototype.helperText;
17091 /**
17092 * Sets the invalid text.
17093 * @type {?}
17094 */
17095 ColorInput.prototype.invalidText;
17096 /**
17097 * Emits event notifying other classes when a change in state occurs in the input.
17098 * @type {?}
17099 */
17100 ColorInput.prototype.change;
17101 /** @type {?} */
17102 ColorInput.prototype.origin;
17103 /** @type {?} */
17104 ColorInput.prototype.dialog;
17105 /**
17106 * Called when number input is blurred. Needed to properly implement `ControlValueAccessor`.
17107 * @type {?}
17108 */
17109 ColorInput.prototype.onTouched;
17110 /**
17111 * Method set in `registerOnChange` to propagate changes back to the form.
17112 * @type {?}
17113 */
17114 ColorInput.prototype.propagateChange;
17115 /**
17116 * @type {?}
17117 * @private
17118 */
17119 ColorInput.prototype._overlay;
17120 /**
17121 * @type {?}
17122 * @private
17123 */
17124 ColorInput.prototype._viewContainerRef;
17125}
17126
17127/**
17128 * @fileoverview added by tsickle
17129 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
17130 */
17131var ColorPickerModule = /** @class */ (function () {
17132 function ColorPickerModule() {
17133 }
17134 ColorPickerModule.decorators = [
17135 { type: NgModule, args: [{
17136 declarations: [
17137 ColorPicker,
17138 ColorSlider,
17139 ColorPalette,
17140 ColorInput,
17141 ],
17142 exports: [
17143 ColorPicker,
17144 ColorSlider,
17145 ColorPalette,
17146 ColorInput,
17147 ],
17148 imports: [
17149 CommonModule,
17150 OverlayModule,
17151 FormsModule,
17152 IconModule,
17153 ],
17154 entryComponents: [
17155 ColorPicker,
17156 ],
17157 },] }
17158 ];
17159 return ColorPickerModule;
17160}());
17161
17162/**
17163 * @fileoverview added by tsickle
17164 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
17165 */
17166var SheetRef = /** @class */ (function () {
17167 function SheetRef(overlayRef) {
17168 this.overlayRef = overlayRef;
17169 this._beforeClose = new Subject();
17170 this._afterClosed = new Subject();
17171 }
17172 /**
17173 * @param {?=} data
17174 * @return {?}
17175 */
17176 SheetRef.prototype.close = /**
17177 * @param {?=} data
17178 * @return {?}
17179 */
17180 function (data) {
17181 var _this = this;
17182 this._result = data;
17183 // Listen for animation 'start' events
17184 this.componentInstance.animationStateChanged.pipe(filter((/**
17185 * @param {?} event
17186 * @return {?}
17187 */
17188 function (event) { return event.phaseName === 'start'; })), take(1)).subscribe((/**
17189 * @return {?}
17190 */
17191 function () {
17192 _this._beforeClose.next(_this._result);
17193 _this._beforeClose.complete();
17194 _this.overlayRef.detachBackdrop();
17195 }));
17196 // Listen for animation 'done' events
17197 this.componentInstance.animationStateChanged.pipe(filter((/**
17198 * @param {?} event
17199 * @return {?}
17200 */
17201 function (event) { return event.phaseName === 'done' && event.toState === 'leave'; })), take(1)).subscribe((/**
17202 * @return {?}
17203 */
17204 function () {
17205 _this._afterClosed.next(_this._result);
17206 _this._afterClosed.complete();
17207 _this.overlayRef.dispose();
17208 // Make sure to also clear the reference to the
17209 // component instance to avoid memory leaks
17210 // tslint:disable-next-line: no-non-null-assertion
17211 _this.componentInstance = (/** @type {?} */ (null));
17212 }));
17213 // Start exit animation
17214 this.componentInstance.startExitAnimation();
17215 };
17216 /**
17217 * @return {?}
17218 */
17219 SheetRef.prototype.afterClosed = /**
17220 * @return {?}
17221 */
17222 function () {
17223 return this._afterClosed.asObservable();
17224 };
17225 /**
17226 * @return {?}
17227 */
17228 SheetRef.prototype.beforeClose = /**
17229 * @return {?}
17230 */
17231 function () {
17232 return this._beforeClose.asObservable();
17233 };
17234 return SheetRef;
17235}());
17236if (false) {
17237 /** @type {?} */
17238 SheetRef.prototype.componentInstance;
17239 /**
17240 * @type {?}
17241 * @private
17242 */
17243 SheetRef.prototype._beforeClose;
17244 /**
17245 * @type {?}
17246 * @private
17247 */
17248 SheetRef.prototype._afterClosed;
17249 /**
17250 * @type {?}
17251 * @private
17252 */
17253 SheetRef.prototype._result;
17254 /**
17255 * @type {?}
17256 * @private
17257 */
17258 SheetRef.prototype.overlayRef;
17259}
17260
17261/**
17262 * @fileoverview added by tsickle
17263 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
17264 */
17265/** @type {?} */
17266var SHEET_CONTENT_DATA = new InjectionToken('SHEET_CONTENT_DATA');
17267
17268/**
17269 * @fileoverview added by tsickle
17270 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
17271 */
17272/** @type {?} */
17273var ESCAPE_KEY$2 = 27;
17274/** @type {?} */
17275var SHEET_ANIMATION_TIMINGS = '200ms cubic-bezier(0.64, 0, 0.35, 1)';
17276var SheetContainer = /** @class */ (function () {
17277 function SheetContainer(dialogRef, content) {
17278 this.dialogRef = dialogRef;
17279 this.content = content;
17280 this.animationState = 'enter';
17281 this.animationStateChanged = new EventEmitter();
17282 this.showFooter = false;
17283 this.baseClass = true;
17284 }
17285 /**
17286 * @return {?}
17287 */
17288 SheetContainer.prototype.ngOnInit = /**
17289 * @return {?}
17290 */
17291 function () {
17292 if (this.content.actions && this.content.actions.length > 0) {
17293 this.showFooter = true;
17294 this.primaryActions = this.content.actions.filter((/**
17295 * @param {?} action
17296 * @return {?}
17297 */
17298 function (action) { return action.type === 'primary'; }));
17299 this.secondaryActions = this.content.actions.filter((/**
17300 * @param {?} action
17301 * @return {?}
17302 */
17303 function (action) { return action.type === 'secondary'; }));
17304 }
17305 };
17306 /**
17307 * @param {?} value
17308 * @return {?}
17309 */
17310 SheetContainer.prototype.isTemplate = /**
17311 * @param {?} value
17312 * @return {?}
17313 */
17314 function (value) {
17315 return value instanceof TemplateRef;
17316 };
17317 /**
17318 * @param {?=} event
17319 * @return {?}
17320 */
17321 SheetContainer.prototype.onClose = /**
17322 * @param {?=} event
17323 * @return {?}
17324 */
17325 function (event) {
17326 this.dialogRef.close('cancel');
17327 };
17328 /**
17329 * @param {?} tag
17330 * @return {?}
17331 */
17332 SheetContainer.prototype.onAction = /**
17333 * @param {?} tag
17334 * @return {?}
17335 */
17336 function (tag) {
17337 this.dialogRef.close(tag);
17338 };
17339 /**
17340 * @param {?} event
17341 * @return {?}
17342 */
17343 SheetContainer.prototype.handleKeydown = /**
17344 * @param {?} event
17345 * @return {?}
17346 */
17347 function (event) {
17348 // tslint:disable-next-line: deprecation
17349 if (event.keyCode === ESCAPE_KEY$2) {
17350 this.dialogRef.close('cancel');
17351 }
17352 };
17353 /**
17354 * @param {?} event
17355 * @return {?}
17356 */
17357 SheetContainer.prototype.onAnimationStart = /**
17358 * @param {?} event
17359 * @return {?}
17360 */
17361 function (event) {
17362 this.animationStateChanged.emit(event);
17363 };
17364 /**
17365 * @param {?} event
17366 * @return {?}
17367 */
17368 SheetContainer.prototype.onAnimationDone = /**
17369 * @param {?} event
17370 * @return {?}
17371 */
17372 function (event) {
17373 this.animationStateChanged.emit(event);
17374 };
17375 /**
17376 * @return {?}
17377 */
17378 SheetContainer.prototype.startExitAnimation = /**
17379 * @return {?}
17380 */
17381 function () {
17382 this.animationState = 'leave';
17383 };
17384 /**
17385 * @param {?} $event
17386 * @return {?}
17387 */
17388 SheetContainer.prototype.closeSheet = /**
17389 * @param {?} $event
17390 * @return {?}
17391 */
17392 function ($event) {
17393 this.dialogRef.close($event);
17394 };
17395 SheetContainer.decorators = [
17396 { type: Component, args: [{
17397 selector: 'suka-sheet',
17398 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 ",
17399 animations: [
17400 trigger('slideContent', [
17401 state('void', style({ transform: 'translate3d(20rem, 0, 0)', opacity: 0 })),
17402 state('enter', style({ transform: 'none', opacity: 1 })),
17403 state('leave', style({ transform: 'translate3d(20rem, 0, 0)', opacity: 0 })),
17404 transition('* => *', animate(SHEET_ANIMATION_TIMINGS)),
17405 ])
17406 ]
17407 }] }
17408 ];
17409 /** @nocollapse */
17410 SheetContainer.ctorParameters = function () { return [
17411 { type: SheetRef },
17412 { type: undefined, decorators: [{ type: Inject, args: [SHEET_CONTENT_DATA,] }] }
17413 ]; };
17414 SheetContainer.propDecorators = {
17415 baseClass: [{ type: HostBinding, args: ['class.sheet--default',] }],
17416 handleKeydown: [{ type: HostListener, args: ['document:keydown', ['$event'],] }]
17417 };
17418 return SheetContainer;
17419}());
17420if (false) {
17421 /** @type {?} */
17422 SheetContainer.prototype.animationState;
17423 /** @type {?} */
17424 SheetContainer.prototype.animationStateChanged;
17425 /** @type {?} */
17426 SheetContainer.prototype.showFooter;
17427 /** @type {?} */
17428 SheetContainer.prototype.primaryActions;
17429 /** @type {?} */
17430 SheetContainer.prototype.secondaryActions;
17431 /** @type {?} */
17432 SheetContainer.prototype.baseClass;
17433 /** @type {?} */
17434 SheetContainer.prototype.dialogRef;
17435 /** @type {?} */
17436 SheetContainer.prototype.content;
17437}
17438
17439/**
17440 * @fileoverview added by tsickle
17441 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
17442 */
17443/**
17444 * @record
17445 */
17446function SheetContent() { }
17447if (false) {
17448 /** @type {?|undefined} */
17449 SheetContent.prototype.title;
17450 /** @type {?|undefined} */
17451 SheetContent.prototype.body;
17452 /** @type {?|undefined} */
17453 SheetContent.prototype.closeButton;
17454 /** @type {?|undefined} */
17455 SheetContent.prototype.actions;
17456}
17457/**
17458 * @record
17459 */
17460function SheetConfig() { }
17461if (false) {
17462 /** @type {?|undefined} */
17463 SheetConfig.prototype.closeOnBackdropClick;
17464 /** @type {?|undefined} */
17465 SheetConfig.prototype.panelClass;
17466 /** @type {?|undefined} */
17467 SheetConfig.prototype.hasBackdrop;
17468 /** @type {?|undefined} */
17469 SheetConfig.prototype.backdropClass;
17470 /** @type {?|undefined} */
17471 SheetConfig.prototype.content;
17472}
17473/** @type {?} */
17474var DEFAULT_CONFIG$3 = {
17475 closeOnBackdropClick: true,
17476 hasBackdrop: true,
17477 backdropClass: 'cdk-overlay-transparent-backdrop',
17478 panelClass: 'modal--default',
17479 content: null
17480};
17481var SheetService = /** @class */ (function () {
17482 function SheetService(injector, overlay) {
17483 this.injector = injector;
17484 this.overlay = overlay;
17485 }
17486 /**
17487 * @param {?=} config
17488 * @return {?}
17489 */
17490 SheetService.prototype.open = /**
17491 * @param {?=} config
17492 * @return {?}
17493 */
17494 function (config) {
17495 if (config === void 0) { config = {}; }
17496 // Override default configuration
17497 /** @type {?} */
17498 var dialogConfig = __assign({}, DEFAULT_CONFIG$3, config);
17499 // Returns an OverlayRef which is a PortalHost
17500 /** @type {?} */
17501 var overlayRef = this.createOverlay(dialogConfig);
17502 // Instantiate remote control
17503 /** @type {?} */
17504 var modalRef = new SheetRef(overlayRef);
17505 /** @type {?} */
17506 var overlayComponent = this.attachSheetContainer(overlayRef, dialogConfig, modalRef);
17507 modalRef.componentInstance = overlayComponent;
17508 if (dialogConfig.closeOnBackdropClick) {
17509 overlayRef.backdropClick().subscribe((/**
17510 * @param {?} _
17511 * @return {?}
17512 */
17513 function (_) { return modalRef.close('cancel'); }));
17514 }
17515 return modalRef;
17516 };
17517 /**
17518 * @private
17519 * @param {?} config
17520 * @return {?}
17521 */
17522 SheetService.prototype.createOverlay = /**
17523 * @private
17524 * @param {?} config
17525 * @return {?}
17526 */
17527 function (config) {
17528 /** @type {?} */
17529 var overlayConfig = this.getOverlayConfig(config);
17530 return this.overlay.create(overlayConfig);
17531 };
17532 /**
17533 * @private
17534 * @param {?} overlayRef
17535 * @param {?} config
17536 * @param {?} modalRef
17537 * @return {?}
17538 */
17539 SheetService.prototype.attachSheetContainer = /**
17540 * @private
17541 * @param {?} overlayRef
17542 * @param {?} config
17543 * @param {?} modalRef
17544 * @return {?}
17545 */
17546 function (overlayRef, config, modalRef) {
17547 /** @type {?} */
17548 var injector = this.createInjector(config, modalRef);
17549 /** @type {?} */
17550 var containerPortal = new ComponentPortal(SheetContainer, null, injector);
17551 /** @type {?} */
17552 var containerRef = overlayRef.attach(containerPortal);
17553 return containerRef.instance;
17554 };
17555 /**
17556 * @private
17557 * @param {?} config
17558 * @param {?} modalRef
17559 * @return {?}
17560 */
17561 SheetService.prototype.createInjector = /**
17562 * @private
17563 * @param {?} config
17564 * @param {?} modalRef
17565 * @return {?}
17566 */
17567 function (config, modalRef) {
17568 /** @type {?} */
17569 var injectionTokens = new WeakMap();
17570 injectionTokens.set(SheetRef, modalRef);
17571 injectionTokens.set(SHEET_CONTENT_DATA, config.content);
17572 return new PortalInjector(this.injector, injectionTokens);
17573 };
17574 /**
17575 * @private
17576 * @param {?} config
17577 * @return {?}
17578 */
17579 SheetService.prototype.getOverlayConfig = /**
17580 * @private
17581 * @param {?} config
17582 * @return {?}
17583 */
17584 function (config) {
17585 /** @type {?} */
17586 var positionStrategy = this.overlay.position()
17587 .global();
17588 /** @type {?} */
17589 var overlayConfig = new OverlayConfig({
17590 hasBackdrop: config.hasBackdrop,
17591 backdropClass: config.backdropClass,
17592 panelClass: config.panelClass,
17593 scrollStrategy: this.overlay.scrollStrategies.noop(),
17594 positionStrategy: positionStrategy
17595 });
17596 return overlayConfig;
17597 };
17598 SheetService.decorators = [
17599 { type: Injectable }
17600 ];
17601 /** @nocollapse */
17602 SheetService.ctorParameters = function () { return [
17603 { type: Injector },
17604 { type: Overlay }
17605 ]; };
17606 return SheetService;
17607}());
17608if (false) {
17609 /**
17610 * @type {?}
17611 * @private
17612 */
17613 SheetService.prototype.injector;
17614 /**
17615 * @type {?}
17616 * @private
17617 */
17618 SheetService.prototype.overlay;
17619}
17620
17621/**
17622 * @fileoverview added by tsickle
17623 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
17624 */
17625/** @type {?} */
17626var PRIMARY_ACTION_TAG$1 = 'primaryAction';
17627/** @type {?} */
17628var SECONDARY_ACTION_TAG$1 = 'secondaryAction';
17629/**
17630 * 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.
17631 * It should be used thoughtfully and sparingly.
17632 */
17633var SheetDirective = /** @class */ (function () {
17634 function SheetDirective(sheetService) {
17635 this.sheetService = sheetService;
17636 /**
17637 * Set to `true` to show a close button on the top right corner. Defaults to `false`.
17638 */
17639 this.closeButton = false;
17640 /**
17641 * Sets to `false` to stop the sheet from closing when the user clicks on the backdrop. Defaults to `true`.
17642 */
17643 this.closeOnBackdropClick = true;
17644 /**
17645 * Callback when the sheet closes.
17646 */
17647 this.close = new EventEmitter();
17648 /**
17649 * Callback when the secondary action is triggered.
17650 */
17651 this.secondaryAction = new EventEmitter();
17652 /**
17653 * Callback when the primary action is triggered.
17654 */
17655 this.primaryAction = new EventEmitter();
17656 }
17657 /**
17658 * @return {?}
17659 */
17660 SheetDirective.prototype.onClick = /**
17661 * @return {?}
17662 */
17663 function () {
17664 this.openSheet();
17665 };
17666 /**
17667 * Opens the sheet.
17668 */
17669 /**
17670 * Opens the sheet.
17671 * @private
17672 * @return {?}
17673 */
17674 SheetDirective.prototype.openSheet = /**
17675 * Opens the sheet.
17676 * @private
17677 * @return {?}
17678 */
17679 function () {
17680 var _this = this;
17681 /** @type {?} */
17682 var sheetConfig = {
17683 closeOnBackdropClick: this.closeOnBackdropClick,
17684 content: {
17685 closeButton: this.closeButton,
17686 title: this.title,
17687 body: this.body,
17688 }
17689 };
17690 if (this.primaryActionLabel || this.secondaryActionLabel) {
17691 sheetConfig.content.actions = [];
17692 if (this.primaryActionLabel) {
17693 sheetConfig.content.actions.push({
17694 label: this.primaryActionLabel,
17695 type: 'primary',
17696 tag: PRIMARY_ACTION_TAG$1
17697 });
17698 }
17699 if (this.secondaryActionLabel) {
17700 sheetConfig.content.actions.push({
17701 label: this.secondaryActionLabel,
17702 type: 'secondary',
17703 tag: SECONDARY_ACTION_TAG$1
17704 });
17705 }
17706 }
17707 /** @type {?} */
17708 var sheetRef = this.sheetService.open(sheetConfig);
17709 sheetRef.afterClosed().subscribe((/**
17710 * @param {?} result
17711 * @return {?}
17712 */
17713 function (result) {
17714 switch (result) {
17715 case PRIMARY_ACTION_TAG$1:
17716 if (_this.primaryAction.observers.length > 0) {
17717 _this.primaryAction.emit(result);
17718 }
17719 break;
17720 case SECONDARY_ACTION_TAG$1:
17721 if (_this.secondaryAction.observers.length > 0) {
17722 _this.secondaryAction.emit(result);
17723 }
17724 break;
17725 default:
17726 if (_this.close.observers.length > 0) {
17727 _this.close.emit();
17728 }
17729 break;
17730 }
17731 }));
17732 };
17733 SheetDirective.decorators = [
17734 { type: Directive, args: [{
17735 selector: '[sukaSheet]'
17736 },] }
17737 ];
17738 /** @nocollapse */
17739 SheetDirective.ctorParameters = function () { return [
17740 { type: SheetService }
17741 ]; };
17742 SheetDirective.propDecorators = {
17743 closeButton: [{ type: Input, args: ['sheetCloseButton',] }],
17744 title: [{ type: Input, args: ['sheetTitle',] }],
17745 body: [{ type: Input, args: ['sheetBody',] }],
17746 closeOnBackdropClick: [{ type: Input, args: ['sheetCloseOnBackdropClick',] }],
17747 close: [{ type: Output, args: ['sheetClose',] }],
17748 secondaryActionLabel: [{ type: Input, args: ['sheetSecondaryActionLabel',] }],
17749 secondaryAction: [{ type: Output, args: ['sheetSecondaryAction',] }],
17750 primaryActionLabel: [{ type: Input, args: ['sheetPrimaryActionLabel',] }],
17751 primaryAction: [{ type: Output, args: ['sheetPrimaryAction',] }],
17752 onClick: [{ type: HostListener, args: ['click',] }]
17753 };
17754 return SheetDirective;
17755}());
17756if (false) {
17757 /**
17758 * Set to `true` to show a close button on the top right corner. Defaults to `false`.
17759 * @type {?}
17760 */
17761 SheetDirective.prototype.closeButton;
17762 /**
17763 * Sets the sheet title.
17764 * @type {?}
17765 */
17766 SheetDirective.prototype.title;
17767 /**
17768 * Sets the body of the sheet.
17769 * @type {?}
17770 */
17771 SheetDirective.prototype.body;
17772 /**
17773 * Sets to `false` to stop the sheet from closing when the user clicks on the backdrop. Defaults to `true`.
17774 * @type {?}
17775 */
17776 SheetDirective.prototype.closeOnBackdropClick;
17777 /**
17778 * Callback when the sheet closes.
17779 * @type {?}
17780 */
17781 SheetDirective.prototype.close;
17782 /**
17783 * Sets the sheet secondary action button label.
17784 * @type {?}
17785 */
17786 SheetDirective.prototype.secondaryActionLabel;
17787 /**
17788 * Callback when the secondary action is triggered.
17789 * @type {?}
17790 */
17791 SheetDirective.prototype.secondaryAction;
17792 /**
17793 * Sets the sheet primary action button label.
17794 * @type {?}
17795 */
17796 SheetDirective.prototype.primaryActionLabel;
17797 /**
17798 * Callback when the primary action is triggered.
17799 * @type {?}
17800 */
17801 SheetDirective.prototype.primaryAction;
17802 /**
17803 * @type {?}
17804 * @protected
17805 */
17806 SheetDirective.prototype.sheetService;
17807}
17808
17809/**
17810 * @fileoverview added by tsickle
17811 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
17812 */
17813var SheetModule = /** @class */ (function () {
17814 function SheetModule() {
17815 }
17816 SheetModule.decorators = [
17817 { type: NgModule, args: [{
17818 declarations: [
17819 SheetContainer,
17820 SheetDirective,
17821 ],
17822 exports: [
17823 SheetContainer,
17824 SheetDirective,
17825 ],
17826 imports: [
17827 CommonModule,
17828 OverlayModule,
17829 ButtonModule,
17830 IconModule,
17831 ],
17832 entryComponents: [
17833 SheetContainer
17834 ],
17835 providers: [
17836 SheetService,
17837 ],
17838 },] }
17839 ];
17840 return SheetModule;
17841}());
17842
17843/**
17844 * @fileoverview added by tsickle
17845 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
17846 */
17847var CalendarDayPicker = /** @class */ (function () {
17848 /**
17849 * Creates an instance of `CalendarDayPicker`.
17850 */
17851 function CalendarDayPicker(_overlay, _viewContainerRef) {
17852 this._overlay = _overlay;
17853 this._viewContainerRef = _viewContainerRef;
17854 this._selectedDays = [];
17855 this.baseClass = true;
17856 this.containerClass = true;
17857 /**
17858 * Set to `true` for a disabled color input.
17859 */
17860 this.disabled = false;
17861 /**
17862 * Set to `true` for a loading color input component.
17863 */
17864 this.skeleton = false;
17865 /**
17866 * Set to `true` for an invalid color input component.
17867 */
17868 this.invalid = false;
17869 /**
17870 * Set to `true` for a valid color input component.
17871 */
17872 this.valid = false;
17873 /**
17874 * The unique id for the color input component.
17875 */
17876 this.id = "calendar-day-picker-" + CalendarDayPicker.calendarDayPickerCount;
17877 /**
17878 * Sets the value attribute on the `input` element.
17879 */
17880 this.value = '';
17881 /**
17882 * Sets the placeholder on the `input` element.
17883 */
17884 this.placeholder = '';
17885 /**
17886 * Emits event notifying other classes when a change in state occurs in the input.
17887 */
17888 // tslint:disable-next-line: no-output-native
17889 this.change = new EventEmitter();
17890 /**
17891 * Called when number input is blurred. Needed to properly implement `ControlValueAccessor`.
17892 */
17893 this.onTouched = (/**
17894 * @return {?}
17895 */
17896 function () { });
17897 /**
17898 * Method set in `registerOnChange` to propagate changes back to the form.
17899 */
17900 this.propagateChange = (/**
17901 * @param {?} _
17902 * @return {?}
17903 */
17904 function (_) { });
17905 CalendarDayPicker.calendarDayPickerCount++;
17906 }
17907 /**
17908 * This is the initial value set to the component
17909 * @param value The input value.
17910 */
17911 /**
17912 * This is the initial value set to the component
17913 * @param {?} value The input value.
17914 * @return {?}
17915 */
17916 CalendarDayPicker.prototype.writeValue = /**
17917 * This is the initial value set to the component
17918 * @param {?} value The input value.
17919 * @return {?}
17920 */
17921 function (value) {
17922 this.value = value || '';
17923 if (value) {
17924 this._selectedDays = JSON.parse('[' + value + ']');
17925 }
17926 };
17927 /**
17928 * Sets a method in order to propagate changes back to the form.
17929 */
17930 /**
17931 * Sets a method in order to propagate changes back to the form.
17932 * @param {?} fn
17933 * @return {?}
17934 */
17935 CalendarDayPicker.prototype.registerOnChange = /**
17936 * Sets a method in order to propagate changes back to the form.
17937 * @param {?} fn
17938 * @return {?}
17939 */
17940 function (fn) {
17941 this.propagateChange = fn;
17942 };
17943 /**
17944 * Registers a callback to be triggered when the control has been touched.
17945 * @param fn Callback to be triggered when the number input is touched.
17946 */
17947 /**
17948 * Registers a callback to be triggered when the control has been touched.
17949 * @param {?} fn Callback to be triggered when the number input is touched.
17950 * @return {?}
17951 */
17952 CalendarDayPicker.prototype.registerOnTouched = /**
17953 * Registers a callback to be triggered when the control has been touched.
17954 * @param {?} fn Callback to be triggered when the number input is touched.
17955 * @return {?}
17956 */
17957 function (fn) {
17958 this.onTouched = fn;
17959 };
17960 /**
17961 * Sets the disabled state through the model
17962 */
17963 /**
17964 * Sets the disabled state through the model
17965 * @param {?} isDisabled
17966 * @return {?}
17967 */
17968 CalendarDayPicker.prototype.setDisabledState = /**
17969 * Sets the disabled state through the model
17970 * @param {?} isDisabled
17971 * @return {?}
17972 */
17973 function (isDisabled) {
17974 this.disabled = isDisabled;
17975 };
17976 /**
17977 * Creates a class of `NumberChange` to emit the change in the `Number`.
17978 */
17979 /**
17980 * Creates a class of `NumberChange` to emit the change in the `Number`.
17981 * @return {?}
17982 */
17983 CalendarDayPicker.prototype.emitChangeEvent = /**
17984 * Creates a class of `NumberChange` to emit the change in the `Number`.
17985 * @return {?}
17986 */
17987 function () {
17988 this.change.emit(this.value);
17989 this.propagateChange(this.value);
17990 };
17991 /**
17992 * @param {?} days
17993 * @return {?}
17994 */
17995 CalendarDayPicker.prototype.onInputChange = /**
17996 * @param {?} days
17997 * @return {?}
17998 */
17999 function (days) {
18000 this.value = JSON.parse('[' + days + ']');
18001 this.emitChangeEvent();
18002 };
18003 /**
18004 * @param {?} days
18005 * @return {?}
18006 */
18007 CalendarDayPicker.prototype.onDaysChange = /**
18008 * @param {?} days
18009 * @return {?}
18010 */
18011 function (days) {
18012 this.value = days.toString();
18013 this._selectedDays = days;
18014 this.emitChangeEvent();
18015 };
18016 /**
18017 * Opens the color picker dialog
18018 */
18019 /**
18020 * Opens the color picker dialog
18021 * @return {?}
18022 */
18023 CalendarDayPicker.prototype.openCalendarDayOverlay = /**
18024 * Opens the color picker dialog
18025 * @return {?}
18026 */
18027 function () {
18028 var _this = this;
18029 if (!this._overlayRef) {
18030 /** @type {?} */
18031 var positionStrategy = this._overlay
18032 .position()
18033 .flexibleConnectedTo(this.origin)
18034 .withPositions([{
18035 originX: 'start',
18036 originY: 'bottom',
18037 overlayX: 'start',
18038 overlayY: 'top',
18039 offsetY: 8,
18040 }]);
18041 this._overlayRef = this._overlay.create({
18042 hasBackdrop: true,
18043 backdropClass: 'cdk-overlay-transparent-backdrop',
18044 positionStrategy: positionStrategy,
18045 });
18046 this._overlayRef.backdropClick().subscribe((/**
18047 * @return {?}
18048 */
18049 function () { return _this._overlayRef.detach(); }));
18050 this._portal = new TemplatePortal(this.dialog, this._viewContainerRef);
18051 }
18052 this._overlayRef.attach(this._portal);
18053 };
18054 /**
18055 * Closes the calendar day dialog
18056 */
18057 /**
18058 * Closes the calendar day dialog
18059 * @return {?}
18060 */
18061 CalendarDayPicker.prototype.closeCalendarDayOverlay = /**
18062 * Closes the calendar day dialog
18063 * @return {?}
18064 */
18065 function () {
18066 this._overlayRef.detach();
18067 };
18068 /**
18069 * Checks if it is a template
18070 */
18071 /**
18072 * Checks if it is a template
18073 * @param {?} value
18074 * @return {?}
18075 */
18076 CalendarDayPicker.prototype.isTemplate = /**
18077 * Checks if it is a template
18078 * @param {?} value
18079 * @return {?}
18080 */
18081 function (value) {
18082 return value instanceof TemplateRef;
18083 };
18084 /**
18085 * Variable used for creating unique ids for color input components.
18086 */
18087 CalendarDayPicker.calendarDayPickerCount = 0;
18088 CalendarDayPicker.decorators = [
18089 { type: Component, args: [{
18090 selector: 'suka-calendar-day-picker',
18091 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 ",
18092 providers: [
18093 {
18094 provide: NG_VALUE_ACCESSOR,
18095 useExisting: CalendarDayPicker,
18096 multi: true
18097 }
18098 ]
18099 }] }
18100 ];
18101 /** @nocollapse */
18102 CalendarDayPicker.ctorParameters = function () { return [
18103 { type: Overlay },
18104 { type: ViewContainerRef }
18105 ]; };
18106 CalendarDayPicker.propDecorators = {
18107 baseClass: [{ type: HostBinding, args: ['class.calendar-day-picker',] }],
18108 containerClass: [{ type: HostBinding, args: ['class.form-item',] }],
18109 disabled: [{ type: Input }],
18110 skeleton: [{ type: Input }],
18111 invalid: [{ type: Input }],
18112 valid: [{ type: Input }],
18113 id: [{ type: Input }],
18114 required: [{ type: Input }],
18115 value: [{ type: Input }],
18116 placeholder: [{ type: Input }],
18117 label: [{ type: Input }],
18118 helperText: [{ type: Input }],
18119 invalidText: [{ type: Input }],
18120 change: [{ type: Output }],
18121 origin: [{ type: ViewChild, args: ['origin', { static: false },] }],
18122 dialog: [{ type: ViewChild, args: ['calendarDayOverlay', { static: false },] }]
18123 };
18124 return CalendarDayPicker;
18125}());
18126if (false) {
18127 /**
18128 * Variable used for creating unique ids for color input components.
18129 * @type {?}
18130 */
18131 CalendarDayPicker.calendarDayPickerCount;
18132 /**
18133 * @type {?}
18134 * @private
18135 */
18136 CalendarDayPicker.prototype._overlayRef;
18137 /**
18138 * @type {?}
18139 * @private
18140 */
18141 CalendarDayPicker.prototype._portal;
18142 /** @type {?} */
18143 CalendarDayPicker.prototype._selectedDays;
18144 /** @type {?} */
18145 CalendarDayPicker.prototype.baseClass;
18146 /** @type {?} */
18147 CalendarDayPicker.prototype.containerClass;
18148 /**
18149 * Set to `true` for a disabled color input.
18150 * @type {?}
18151 */
18152 CalendarDayPicker.prototype.disabled;
18153 /**
18154 * Set to `true` for a loading color input component.
18155 * @type {?}
18156 */
18157 CalendarDayPicker.prototype.skeleton;
18158 /**
18159 * Set to `true` for an invalid color input component.
18160 * @type {?}
18161 */
18162 CalendarDayPicker.prototype.invalid;
18163 /**
18164 * Set to `true` for a valid color input component.
18165 * @type {?}
18166 */
18167 CalendarDayPicker.prototype.valid;
18168 /**
18169 * The unique id for the color input component.
18170 * @type {?}
18171 */
18172 CalendarDayPicker.prototype.id;
18173 /**
18174 * Reflects the required attribute of the `input` element.
18175 * @type {?}
18176 */
18177 CalendarDayPicker.prototype.required;
18178 /**
18179 * Sets the value attribute on the `input` element.
18180 * @type {?}
18181 */
18182 CalendarDayPicker.prototype.value;
18183 /**
18184 * Sets the placeholder on the `input` element.
18185 * @type {?}
18186 */
18187 CalendarDayPicker.prototype.placeholder;
18188 /**
18189 * Sets the text inside the `label` tag.
18190 * @type {?}
18191 */
18192 CalendarDayPicker.prototype.label;
18193 /**
18194 * Sets the optional helper text.
18195 * @type {?}
18196 */
18197 CalendarDayPicker.prototype.helperText;
18198 /**
18199 * Sets the invalid text.
18200 * @type {?}
18201 */
18202 CalendarDayPicker.prototype.invalidText;
18203 /**
18204 * Emits event notifying other classes when a change in state occurs in the input.
18205 * @type {?}
18206 */
18207 CalendarDayPicker.prototype.change;
18208 /** @type {?} */
18209 CalendarDayPicker.prototype.origin;
18210 /** @type {?} */
18211 CalendarDayPicker.prototype.dialog;
18212 /**
18213 * Called when number input is blurred. Needed to properly implement `ControlValueAccessor`.
18214 * @type {?}
18215 */
18216 CalendarDayPicker.prototype.onTouched;
18217 /**
18218 * Method set in `registerOnChange` to propagate changes back to the form.
18219 * @type {?}
18220 */
18221 CalendarDayPicker.prototype.propagateChange;
18222 /**
18223 * @type {?}
18224 * @private
18225 */
18226 CalendarDayPicker.prototype._overlay;
18227 /**
18228 * @type {?}
18229 * @private
18230 */
18231 CalendarDayPicker.prototype._viewContainerRef;
18232}
18233
18234/**
18235 * @fileoverview added by tsickle
18236 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
18237 */
18238var CalendarDayOverlay = /** @class */ (function () {
18239 function CalendarDayOverlay() {
18240 this.baseClass = true;
18241 this.days = [];
18242 this.daysChange = new EventEmitter();
18243 this.numberOfDays = 31;
18244 }
18245 /**
18246 * @param {?} size
18247 * @param {?=} startAt
18248 * @return {?}
18249 */
18250 CalendarDayOverlay.prototype.range = /**
18251 * @param {?} size
18252 * @param {?=} startAt
18253 * @return {?}
18254 */
18255 function (size, startAt) {
18256 if (startAt === void 0) { startAt = 0; }
18257 return __spread(Array(size).keys()).map((/**
18258 * @param {?} i
18259 * @return {?}
18260 */
18261 function (i) { return i + startAt; }));
18262 };
18263 /**
18264 * @param {?} day
18265 * @return {?}
18266 */
18267 CalendarDayOverlay.prototype.toggleDay = /**
18268 * @param {?} day
18269 * @return {?}
18270 */
18271 function (day) {
18272 /** @type {?} */
18273 var indexOfDay = this.days.indexOf(day);
18274 if (indexOfDay < 0) {
18275 this.days.push(day);
18276 }
18277 else {
18278 this.days.splice(indexOfDay, 1);
18279 }
18280 this.days.sort((/**
18281 * @param {?} a
18282 * @param {?} b
18283 * @return {?}
18284 */
18285 function (a, b) {
18286 return a - b;
18287 }));
18288 this.daysChange.emit(this.days);
18289 };
18290 CalendarDayOverlay.decorators = [
18291 { type: Component, args: [{
18292 selector: 'suka-calendar-day-overlay',
18293 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 "
18294 }] }
18295 ];
18296 CalendarDayOverlay.propDecorators = {
18297 baseClass: [{ type: HostBinding, args: ['class.calendar-day-picker__overlay',] }],
18298 days: [{ type: Input }],
18299 daysChange: [{ type: Output }]
18300 };
18301 return CalendarDayOverlay;
18302}());
18303if (false) {
18304 /** @type {?} */
18305 CalendarDayOverlay.prototype.baseClass;
18306 /** @type {?} */
18307 CalendarDayOverlay.prototype.days;
18308 /** @type {?} */
18309 CalendarDayOverlay.prototype.daysChange;
18310 /** @type {?} */
18311 CalendarDayOverlay.prototype.numberOfDays;
18312}
18313
18314/**
18315 * @fileoverview added by tsickle
18316 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
18317 */
18318var CalendarDayPickerModule = /** @class */ (function () {
18319 function CalendarDayPickerModule() {
18320 }
18321 CalendarDayPickerModule.decorators = [
18322 { type: NgModule, args: [{
18323 declarations: [
18324 CalendarDayPicker,
18325 CalendarDayOverlay,
18326 ],
18327 exports: [
18328 CalendarDayPicker,
18329 CalendarDayOverlay
18330 ],
18331 imports: [
18332 CommonModule,
18333 OverlayModule,
18334 FormsModule,
18335 IconModule,
18336 ],
18337 entryComponents: [
18338 CalendarDayOverlay,
18339 ],
18340 },] }
18341 ];
18342 return CalendarDayPickerModule;
18343}());
18344
18345/**
18346 * @fileoverview added by tsickle
18347 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
18348 */
18349
18350/**
18351 * @fileoverview added by tsickle
18352 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
18353 */
18354
18355export { Accordion, AccordionItem, AccordionModule, Avatar, AvatarModule, Badge, BadgeModule, Banner, BannerModule, Breadcrumb, BreadcrumbModule, Button, ButtonGroup, ButtonModule, ButtonRadio, ButtonRadioChange, ButtonRadioGroup, ButtonRadioModule, CalendarDayOverlay, CalendarDayPicker, CalendarDayPickerModule, Card, CardFooter, CardHeader, CardModule, CardSection, Checkbox, CheckboxModule, CodeSnippet, CodeSnippetModule, ColorInput, ColorPalette, ColorPicker, ColorPickerModule, ColorSlider, Container, ContainerModule, DatePickerModule, EmptyState, EmptyStateModule, FileUploader, FileUploaderModule, FormLayout, FormLayoutModule, Frame, FrameModule, GridModule, Icon, IconModule, InputGroup, InputGroupItem, InputGroupModule, InputModule, Label, Layout, LayoutModule, LayoutSection, Link, LinkModule, List, ListItemDirective, ListModule, Loading, LoadingModule, MobileNavigation, ModalContainer, ModalDirective, ModalModule, ModalRef, ModalService, Navigation, NavigationItem, NavigationMenu, NavigationModule, Number, NumberModule, OptGroup, Option, Page, PageEvent, PageModule, Pagination, PaginationModule, Popover, PopoverActionItem, PopoverActionList, PopoverContainer, PopoverModule, PopoverSection, Progress, ProgressModule, Radio, RadioChange, RadioGroup, RadioModule, Search, SearchModule, Select, SelectModule, SheetContainer, SheetDirective, SheetModule, SheetRef, SheetService, SnippetLanguage, SnippetType, SpacingModule, Stack, StackItem, StackModule, SukaCell, SukaCellDef, SukaColumnDef, SukaFooterCell, SukaFooterCellDef, SukaFooterRow, SukaFooterRowDef, SukaHeaderCell, SukaHeaderCellDef, SukaHeaderRow, SukaHeaderRowDef, SukaRow, SukaRowDef, SukaTable, SukaTableDataSource, TabItem, TableModule, Tabs, TabsModule, TextArea, TextInput, ToastContainer, ToastModule, ToastRef, ToastService, Toggle, ToggleModule, Tooltip, TooltipContainer, TooltipModule, Topbar, TopbarGlobal, TopbarItem, TopbarMenu, TopbarModule, TopbarNavigation, GridDirective as ɵa, RowDirective as ɵb, DatePickerInputModule as ɵba, DatePickerInput as ɵbb, toastAnimations as ɵbc, TOAST_CONFIG_DATA as ɵbd, SHEET_CONTENT_DATA as ɵbe, ColumnDirective as ɵc, MarginDirective as ɵd, MarginTopDirective as ɵe, MarginBottomDirective as ɵf, MarginLeftDirective as ɵg, MarginRightDirective as ɵh, MarginHorizontalDirective as ɵi, MarginVerticalDirective as ɵj, PaddingDirective as ɵk, PaddingTopDirective as ɵl, PaddingBottomDirective as ɵm, PaddingLeftDirective as ɵn, PaddingRightDirective as ɵo, PaddingHorizontalDirective as ɵp, PaddingVerticalDirective as ɵq, MODAL_CONTENT_DATA as ɵr, POPOVER_CONTENT_DATA as ɵs, PopoverRef as ɵt, PopoverService as ɵv, SukaTableSkeleton as ɵw, PageHeader as ɵx, File as ɵy, DatePicker as ɵz };
18356//# sourceMappingURL=kushki-ng-suka.js.map