@ptsecurity/mosaic 15.3.2 → 15.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_theming.scss +675 -42
- package/_visual.scss +132 -42
- package/button/button.component.d.ts +1 -0
- package/button-toggle/_button-toggle-theme.scss +92 -0
- package/button-toggle/button-toggle.component.d.ts +6 -2
- package/button-toggle/button-toggle.module.d.ts +2 -1
- package/button-toggle/button-toggle.scss +109 -81
- package/core/styles/_mosaic-theme.scss +6 -0
- package/core/styles/theming/_components-theming.scss +92 -0
- package/core/utils/data-size/config.d.ts +20 -0
- package/core/utils/data-size/data-size.pipe.d.ts +13 -0
- package/core/utils/data-size/index.d.ts +3 -0
- package/core/utils/data-size/size.d.ts +16 -0
- package/core/utils/public-api.d.ts +1 -0
- package/ellipsis-center/ellipsis-center.directive.d.ts +27 -0
- package/ellipsis-center/index.d.ts +1 -0
- package/ellipsis-center/public-api.d.ts +1 -0
- package/esm2020/button/button.component.mjs +9 -7
- package/esm2020/button-toggle/button-toggle.component.mjs +28 -9
- package/esm2020/button-toggle/button-toggle.module.mjs +5 -4
- package/esm2020/core/utils/data-size/config.mjs +22 -0
- package/esm2020/core/utils/data-size/data-size.pipe.mjs +32 -0
- package/esm2020/core/utils/data-size/index.mjs +4 -0
- package/esm2020/core/utils/data-size/size.mjs +50 -0
- package/esm2020/core/utils/public-api.mjs +2 -1
- package/esm2020/core/version.mjs +2 -2
- package/esm2020/ellipsis-center/ellipsis-center.directive.mjs +106 -0
- package/esm2020/ellipsis-center/index.mjs +2 -0
- package/esm2020/ellipsis-center/ptsecurity-mosaic-ellipsis-center.mjs +5 -0
- package/esm2020/ellipsis-center/public-api.mjs +2 -0
- package/esm2020/file-upload/file-drop.mjs +43 -0
- package/esm2020/file-upload/file-upload.mjs +4 -0
- package/esm2020/file-upload/file-upload.module.mjs +66 -0
- package/esm2020/file-upload/index.mjs +2 -0
- package/esm2020/file-upload/multiple-file-upload.component.mjs +161 -0
- package/esm2020/file-upload/ptsecurity-mosaic-file-upload.mjs +5 -0
- package/esm2020/file-upload/public-api.mjs +6 -0
- package/esm2020/file-upload/single-file-upload.component.mjs +130 -0
- package/esm2020/select/select.component.mjs +5 -5
- package/esm2020/timezone/timezone-select.component.mjs +2 -2
- package/esm2020/tree-select/tree-select.component.mjs +8 -5
- package/fesm2015/ptsecurity-mosaic-button-toggle.mjs +31 -11
- package/fesm2015/ptsecurity-mosaic-button-toggle.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-button.mjs +9 -7
- package/fesm2015/ptsecurity-mosaic-button.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-core.mjs +101 -2
- package/fesm2015/ptsecurity-mosaic-core.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-ellipsis-center.mjs +113 -0
- package/fesm2015/ptsecurity-mosaic-ellipsis-center.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-file-upload.mjs +392 -0
- package/fesm2015/ptsecurity-mosaic-file-upload.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-select.mjs +4 -4
- package/fesm2015/ptsecurity-mosaic-select.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-timezone.mjs +2 -2
- package/fesm2015/ptsecurity-mosaic-timezone.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tree-select.mjs +7 -4
- package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-button-toggle.mjs +31 -11
- package/fesm2020/ptsecurity-mosaic-button-toggle.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-button.mjs +9 -7
- package/fesm2020/ptsecurity-mosaic-button.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-core.mjs +101 -2
- package/fesm2020/ptsecurity-mosaic-core.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-ellipsis-center.mjs +111 -0
- package/fesm2020/ptsecurity-mosaic-ellipsis-center.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-file-upload.mjs +388 -0
- package/fesm2020/ptsecurity-mosaic-file-upload.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-select.mjs +4 -4
- package/fesm2020/ptsecurity-mosaic-select.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-timezone.mjs +2 -2
- package/fesm2020/ptsecurity-mosaic-timezone.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-tree-select.mjs +7 -4
- package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +1 -1
- package/file-upload/README.md +0 -0
- package/file-upload/_file-upload-theme.scss +174 -0
- package/file-upload/file-drop.d.ts +11 -0
- package/file-upload/file-upload.d.ts +22 -0
- package/file-upload/file-upload.module.d.ts +18 -0
- package/file-upload/file-upload.scss +46 -0
- package/file-upload/index.d.ts +1 -0
- package/file-upload/multiple-file-upload.component.d.ts +51 -0
- package/file-upload/multiple-file-upload.component.scss +148 -0
- package/file-upload/public-api.d.ts +5 -0
- package/file-upload/single-file-upload.component.d.ts +34 -0
- package/file-upload/single-file-upload.component.scss +60 -0
- package/package.json +18 -2
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/default-theme.css +1 -1
- package/select/_select-theme.scss +6 -0
- package/select/select.component.d.ts +1 -1
- package/select/select.scss +13 -0
- package/tree-select/_tree-select-theme.scss +6 -0
- package/tree-select/tree-select.component.d.ts +2 -2
- package/tree-select/tree-select.scss +13 -0
@@ -1,11 +1,14 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
2
|
import { forwardRef, EventEmitter, Directive, Input, ContentChildren, Output, Component, ViewEncapsulation, ChangeDetectionStrategy, Optional, ViewChild, NgModule } from '@angular/core';
|
3
3
|
import * as i2 from '@ptsecurity/mosaic/button';
|
4
|
-
import { McButton, McButtonModule } from '@ptsecurity/mosaic/button';
|
4
|
+
import { getNodesWithoutComments, McButton, McButtonModule } from '@ptsecurity/mosaic/button';
|
5
5
|
import { McCommonModule } from '@ptsecurity/mosaic/core';
|
6
|
+
import * as i3 from '@ptsecurity/mosaic/title';
|
7
|
+
import { McTitleModule } from '@ptsecurity/mosaic/title';
|
6
8
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
7
9
|
import { SelectionModel } from '@angular/cdk/collections';
|
8
10
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
11
|
+
import { McIcon } from '@ptsecurity/mosaic/icon';
|
9
12
|
import * as i1 from '@angular/cdk/a11y';
|
10
13
|
|
11
14
|
/**
|
@@ -242,6 +245,7 @@ class McButtonToggle {
|
|
242
245
|
this.changeDetectorRef = changeDetectorRef;
|
243
246
|
this.focusMonitor = focusMonitor;
|
244
247
|
this.element = element;
|
248
|
+
this.iconType = '';
|
245
249
|
/** Event emitted when the group value changes. */
|
246
250
|
this.change = new EventEmitter();
|
247
251
|
this.isSingleSelector = false;
|
@@ -276,6 +280,12 @@ class McButtonToggle {
|
|
276
280
|
}
|
277
281
|
this.focusMonitor.monitor(this.element.nativeElement, true);
|
278
282
|
}
|
283
|
+
ngAfterContentInit() {
|
284
|
+
if (this.icons.length) {
|
285
|
+
const nodesWithoutComments = getNodesWithoutComments(this.element.nativeElement.querySelector('.mc-button-toggle-wrapper').childNodes).length;
|
286
|
+
this.iconType = nodesWithoutComments === this.icons.length ? '-icon' : '-icon-text';
|
287
|
+
}
|
288
|
+
}
|
279
289
|
ngOnDestroy() {
|
280
290
|
const group = this.buttonToggleGroup;
|
281
291
|
this.focusMonitor.stopMonitoring(this.element.nativeElement);
|
@@ -317,38 +327,48 @@ class McButtonToggle {
|
|
317
327
|
}
|
318
328
|
}
|
319
329
|
/** @nocollapse */ McButtonToggle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: McButtonToggle, deps: [{ token: McButtonToggleGroup, optional: true }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
320
|
-
/** @nocollapse */ McButtonToggle.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: McButtonToggle, selector: "mc-button-toggle", inputs: { checked: "checked", value: "value", tabIndex: "tabIndex", disabled: "disabled" }, outputs: { change: "change" }, host: { properties: { "class.mc-button-toggle-standalone": "!buttonToggleGroup" }, classAttribute: "mc-button-toggle" }, viewQueries: [{ propertyName: "mcButton", first: true, predicate: McButton, descendants: true }], exportAs: ["mcButtonToggle"], ngImport: i0, template: `
|
330
|
+
/** @nocollapse */ McButtonToggle.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: McButtonToggle, selector: "mc-button-toggle", inputs: { checked: "checked", value: "value", tabIndex: "tabIndex", disabled: "disabled" }, outputs: { change: "change" }, host: { properties: { "class.mc-button-toggle-standalone": "!buttonToggleGroup", "class": "\"mc-button-toggle\" + iconType" }, classAttribute: "mc-button-toggle" }, queries: [{ propertyName: "icons", predicate: McIcon, descendants: true }], viewQueries: [{ propertyName: "mcButton", first: true, predicate: McButton, descendants: true }], exportAs: ["mcButtonToggle"], ngImport: i0, template: `
|
321
331
|
<button
|
322
332
|
mc-button
|
333
|
+
mc-title
|
323
334
|
type="button"
|
324
335
|
[class.mc-active]="checked"
|
325
336
|
[disabled]="disabled"
|
326
337
|
[tabIndex]="tabIndex"
|
327
338
|
(click)="onToggleClick()">
|
328
|
-
<
|
339
|
+
<div class="mc-button-toggle-wrapper" #mcTitleText>
|
340
|
+
<ng-content></ng-content>
|
341
|
+
</div>
|
329
342
|
</button>
|
330
|
-
`, isInline: true, styles: ["@keyframes mc-progress{0%{background-position:0 0}to{background-position:29px 0}}.mc-progress{position:relative}.mc-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.05) 10px,transparent 10px,transparent 20px,rgba(0,0,0,.05) 20px,rgba(0,0,0,.05) 30px,transparent 30px) repeat;background-size:29px 29px;animation:mc-progress 1s linear infinite}.mc-group{display:flex;flex-direction:row}.mc-group .mc-group_justified>.mc-group-item{width:100%}.mc-group .mc-group-item+.mc-group-item{margin-left:calc(-1 * var(--mc-button-size-border-width, 1px))}.mc-group>.mc-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.mc-group>.mc-group-item:first-child:not(:last-child)>.mc-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.mc-group>.mc-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.mc-group>.mc-group-item:last-child:not(:first-child)>.mc-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.mc-group>.mc-group-item:not(:first-child):not(:last-child){border-radius:0}.mc-group>.mc-group-item:not(:first-child):not(:last-child)>.mc-form-field__container{border-radius:0}.mc-vertical-group{display:flex;flex-direction:column}.mc-vertical-group>.mc-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--mc-button-size-border-radius, 4px)}.mc-vertical-group>.mc-group-item:first-child:not(:last-child)>.mc-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.mc-vertical-group>.mc-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--mc-button-size-border-radius, 4px)}.mc-vertical-group>.mc-group-item:last-child:not(:first-child)>.mc-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.mc-vertical-group>.mc-group-item:not(:first-child):not(:last-child){border-radius:0}.mc-vertical-group>.mc-group-item:not(:first-child):not(:last-child)>.mc-form-field__container{border-radius:0}.mc-vertical-group .mc-group-item+.mc-group-item{margin-top:calc(-1 * var(--mc-button-size-border-width, 1px))}.mc-no-select{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.mc-button-toggle-group{display:flex;flex-direction:row
|
343
|
+
`, isInline: true, styles: ["@keyframes mc-progress{0%{background-position:0 0}to{background-position:29px 0}}.mc-progress{position:relative}.mc-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.05) 10px,transparent 10px,transparent 20px,rgba(0,0,0,.05) 20px,rgba(0,0,0,.05) 30px,transparent 30px) repeat;background-size:29px 29px;animation:mc-progress 1s linear infinite}.mc-group{display:flex;flex-direction:row}.mc-group .mc-group_justified>.mc-group-item{width:100%}.mc-group .mc-group-item+.mc-group-item{margin-left:calc(-1 * var(--mc-button-size-border-width, 1px))}.mc-group>.mc-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.mc-group>.mc-group-item:first-child:not(:last-child)>.mc-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.mc-group>.mc-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.mc-group>.mc-group-item:last-child:not(:first-child)>.mc-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.mc-group>.mc-group-item:not(:first-child):not(:last-child){border-radius:0}.mc-group>.mc-group-item:not(:first-child):not(:last-child)>.mc-form-field__container{border-radius:0}.mc-vertical-group{display:flex;flex-direction:column}.mc-vertical-group>.mc-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--mc-button-size-border-radius, 4px)}.mc-vertical-group>.mc-group-item:first-child:not(:last-child)>.mc-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.mc-vertical-group>.mc-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--mc-button-size-border-radius, 4px)}.mc-vertical-group>.mc-group-item:last-child:not(:first-child)>.mc-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.mc-vertical-group>.mc-group-item:not(:first-child):not(:last-child){border-radius:0}.mc-vertical-group>.mc-group-item:not(:first-child):not(:last-child)>.mc-form-field__container{border-radius:0}.mc-vertical-group .mc-group-item+.mc-group-item{margin-top:calc(-1 * var(--mc-button-size-border-width, 1px))}.mc-no-select{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.mc-button-toggle-group{box-sizing:border-box;display:inline-flex;flex-direction:row;align-items:center;gap:2px;border-width:var(--mc-button-toggle-group-size-border-width, 1px);border-radius:var(--mc-button-toggle-group-size-border-radius, 4px);border-style:solid;padding:var(--mc-button-toggle-group-size-padding, 1px)}.mc-button-toggle-group .mc-button-toggle{display:flex;overflow:hidden;justify-content:flex-start;border-radius:var(--mc-button-toggle-size-border-radius, 2px)}.mc-button-toggle-group .mc-button-toggle>.mc-button,.mc-button-toggle-group .mc-button-toggle>.mc-icon-button{border:none;border-width:var(--mc-button-toggle-size-border-width, 1px);border-radius:var(--mc-button-toggle-size-border-radius, 2px);min-width:var(--mc-button-toggle-size-min-width, 40px);padding-left:var(--mc-button-toggle-size-horizontal-padding, 12px);padding-right:var(--mc-button-toggle-size-horizontal-padding, 12px)}.mc-button-toggle-group .mc-button-toggle>.mc-button .mc-button-wrapper,.mc-button-toggle-group .mc-button-toggle>.mc-icon-button .mc-button-wrapper{width:100%}.mc-button-toggle-group .mc-button-toggle>.mc-button .mc-button-toggle-wrapper,.mc-button-toggle-group .mc-button-toggle>.mc-icon-button .mc-button-toggle-wrapper{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:inline-block;width:100%}.mc-button-toggle-group .mc-button-toggle>.mc-button .mc-button-toggle-wrapper .mc-icon,.mc-button-toggle-group .mc-button-toggle>.mc-icon-button .mc-button-toggle-wrapper .mc-icon{line-height:20px;vertical-align:baseline}.mc-button-toggle-group .mc-button-toggle.mc-button-toggle-icon-text>.mc-button,.mc-button-toggle-group .mc-button-toggle.mc-button-toggle-icon-text>.mc-icon-button{padding-left:var(--mc-button-toggle-size-left-icon-padding, 6px)}.mc-button-toggle-group .mc-button-toggle.mc-button-toggle-icon-text>.mc-button .mc-icon,.mc-button-toggle-group .mc-button-toggle.mc-button-toggle-icon-text>.mc-icon-button .mc-icon{margin-right:4px}.mc-button-toggle-group .mc-button-toggle[disabled]{outline:0}.mc-button-toggle-group:not(.mc-button-toggle_vertical){height:32px}.mc-button-toggle-group:not(.mc-button-toggle_vertical) .mc-button-toggle>.mc-button,.mc-button-toggle-group:not(.mc-button-toggle_vertical) .mc-button-toggle>.mc-icon-button{height:28px;min-height:28px}.mc-button-toggle-group:not(.mc-button-toggle_vertical) .mc-button-toggle.mc-button-toggle-icon{width:var(--mc-icon-button-toggle-size-width, 64px)}.mc-button-toggle-group:not(.mc-button-toggle_vertical) .mc-button-toggle.mc-button-toggle-icon>.mc-button,.mc-button-toggle-group:not(.mc-button-toggle_vertical) .mc-button-toggle.mc-button-toggle-icon>.mc-icon-button{width:var(--mc-icon-button-toggle-size-width, 64px)}.mc-button-toggle_vertical{flex-direction:column}.mc-button-toggle_vertical .mc-button-toggle+.mc-button-toggle{border-left:none;border-right:none}.mc-button-toggle_vertical .mc-button-toggle{width:100%}.mc-button-toggle_vertical .mc-button-toggle>.mc-button,.mc-button-toggle_vertical .mc-button-toggle>.mc-icon-button{width:100%;border-width:var(--mc-button-toggle-size-border-width, 1px);border-radius:var(--mc-button-toggle-size-border-radius, 2px)}.mc-button-toggle-standalone{box-shadow:none}\n"], dependencies: [{ kind: "component", type: i2.McButton, selector: "[mc-button]", inputs: ["color", "tabIndex", "disabled"] }, { kind: "directive", type: i2.McButtonCssStyler, selector: "[mc-button]" }, { kind: "directive", type: i3.McTitleDirective, selector: "[mc-title]", exportAs: ["mcTitle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
331
344
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: McButtonToggle, decorators: [{
|
332
345
|
type: Component,
|
333
346
|
args: [{ selector: 'mc-button-toggle', exportAs: 'mcButtonToggle', template: `
|
334
347
|
<button
|
335
348
|
mc-button
|
349
|
+
mc-title
|
336
350
|
type="button"
|
337
351
|
[class.mc-active]="checked"
|
338
352
|
[disabled]="disabled"
|
339
353
|
[tabIndex]="tabIndex"
|
340
354
|
(click)="onToggleClick()">
|
341
|
-
<
|
355
|
+
<div class="mc-button-toggle-wrapper" #mcTitleText>
|
356
|
+
<ng-content></ng-content>
|
357
|
+
</div>
|
342
358
|
</button>
|
343
359
|
`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
344
360
|
class: 'mc-button-toggle',
|
345
|
-
'[class.mc-button-toggle-standalone]': '!buttonToggleGroup'
|
346
|
-
|
361
|
+
'[class.mc-button-toggle-standalone]': '!buttonToggleGroup',
|
362
|
+
'[class]': '"mc-button-toggle" + iconType'
|
363
|
+
}, styles: ["@keyframes mc-progress{0%{background-position:0 0}to{background-position:29px 0}}.mc-progress{position:relative}.mc-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.05) 10px,transparent 10px,transparent 20px,rgba(0,0,0,.05) 20px,rgba(0,0,0,.05) 30px,transparent 30px) repeat;background-size:29px 29px;animation:mc-progress 1s linear infinite}.mc-group{display:flex;flex-direction:row}.mc-group .mc-group_justified>.mc-group-item{width:100%}.mc-group .mc-group-item+.mc-group-item{margin-left:calc(-1 * var(--mc-button-size-border-width, 1px))}.mc-group>.mc-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.mc-group>.mc-group-item:first-child:not(:last-child)>.mc-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.mc-group>.mc-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.mc-group>.mc-group-item:last-child:not(:first-child)>.mc-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.mc-group>.mc-group-item:not(:first-child):not(:last-child){border-radius:0}.mc-group>.mc-group-item:not(:first-child):not(:last-child)>.mc-form-field__container{border-radius:0}.mc-vertical-group{display:flex;flex-direction:column}.mc-vertical-group>.mc-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--mc-button-size-border-radius, 4px)}.mc-vertical-group>.mc-group-item:first-child:not(:last-child)>.mc-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.mc-vertical-group>.mc-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--mc-button-size-border-radius, 4px)}.mc-vertical-group>.mc-group-item:last-child:not(:first-child)>.mc-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.mc-vertical-group>.mc-group-item:not(:first-child):not(:last-child){border-radius:0}.mc-vertical-group>.mc-group-item:not(:first-child):not(:last-child)>.mc-form-field__container{border-radius:0}.mc-vertical-group .mc-group-item+.mc-group-item{margin-top:calc(-1 * var(--mc-button-size-border-width, 1px))}.mc-no-select{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.mc-button-toggle-group{box-sizing:border-box;display:inline-flex;flex-direction:row;align-items:center;gap:2px;border-width:var(--mc-button-toggle-group-size-border-width, 1px);border-radius:var(--mc-button-toggle-group-size-border-radius, 4px);border-style:solid;padding:var(--mc-button-toggle-group-size-padding, 1px)}.mc-button-toggle-group .mc-button-toggle{display:flex;overflow:hidden;justify-content:flex-start;border-radius:var(--mc-button-toggle-size-border-radius, 2px)}.mc-button-toggle-group .mc-button-toggle>.mc-button,.mc-button-toggle-group .mc-button-toggle>.mc-icon-button{border:none;border-width:var(--mc-button-toggle-size-border-width, 1px);border-radius:var(--mc-button-toggle-size-border-radius, 2px);min-width:var(--mc-button-toggle-size-min-width, 40px);padding-left:var(--mc-button-toggle-size-horizontal-padding, 12px);padding-right:var(--mc-button-toggle-size-horizontal-padding, 12px)}.mc-button-toggle-group .mc-button-toggle>.mc-button .mc-button-wrapper,.mc-button-toggle-group .mc-button-toggle>.mc-icon-button .mc-button-wrapper{width:100%}.mc-button-toggle-group .mc-button-toggle>.mc-button .mc-button-toggle-wrapper,.mc-button-toggle-group .mc-button-toggle>.mc-icon-button .mc-button-toggle-wrapper{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:inline-block;width:100%}.mc-button-toggle-group .mc-button-toggle>.mc-button .mc-button-toggle-wrapper .mc-icon,.mc-button-toggle-group .mc-button-toggle>.mc-icon-button .mc-button-toggle-wrapper .mc-icon{line-height:20px;vertical-align:baseline}.mc-button-toggle-group .mc-button-toggle.mc-button-toggle-icon-text>.mc-button,.mc-button-toggle-group .mc-button-toggle.mc-button-toggle-icon-text>.mc-icon-button{padding-left:var(--mc-button-toggle-size-left-icon-padding, 6px)}.mc-button-toggle-group .mc-button-toggle.mc-button-toggle-icon-text>.mc-button .mc-icon,.mc-button-toggle-group .mc-button-toggle.mc-button-toggle-icon-text>.mc-icon-button .mc-icon{margin-right:4px}.mc-button-toggle-group .mc-button-toggle[disabled]{outline:0}.mc-button-toggle-group:not(.mc-button-toggle_vertical){height:32px}.mc-button-toggle-group:not(.mc-button-toggle_vertical) .mc-button-toggle>.mc-button,.mc-button-toggle-group:not(.mc-button-toggle_vertical) .mc-button-toggle>.mc-icon-button{height:28px;min-height:28px}.mc-button-toggle-group:not(.mc-button-toggle_vertical) .mc-button-toggle.mc-button-toggle-icon{width:var(--mc-icon-button-toggle-size-width, 64px)}.mc-button-toggle-group:not(.mc-button-toggle_vertical) .mc-button-toggle.mc-button-toggle-icon>.mc-button,.mc-button-toggle-group:not(.mc-button-toggle_vertical) .mc-button-toggle.mc-button-toggle-icon>.mc-icon-button{width:var(--mc-icon-button-toggle-size-width, 64px)}.mc-button-toggle_vertical{flex-direction:column}.mc-button-toggle_vertical .mc-button-toggle+.mc-button-toggle{border-left:none;border-right:none}.mc-button-toggle_vertical .mc-button-toggle{width:100%}.mc-button-toggle_vertical .mc-button-toggle>.mc-button,.mc-button-toggle_vertical .mc-button-toggle>.mc-icon-button{width:100%;border-width:var(--mc-button-toggle-size-border-width, 1px);border-radius:var(--mc-button-toggle-size-border-radius, 2px)}.mc-button-toggle-standalone{box-shadow:none}\n"] }]
|
347
364
|
}], ctorParameters: function () {
|
348
365
|
return [{ type: McButtonToggleGroup, decorators: [{
|
349
366
|
type: Optional
|
350
367
|
}] }, { type: i0.ChangeDetectorRef }, { type: i1.FocusMonitor }, { type: i0.ElementRef }];
|
351
|
-
}, propDecorators: {
|
368
|
+
}, propDecorators: { icons: [{
|
369
|
+
type: ContentChildren,
|
370
|
+
args: [McIcon, { descendants: true }]
|
371
|
+
}], checked: [{
|
352
372
|
type: Input
|
353
373
|
}], mcButton: [{
|
354
374
|
type: ViewChild,
|
@@ -366,12 +386,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
366
386
|
class McButtonToggleModule {
|
367
387
|
}
|
368
388
|
/** @nocollapse */ McButtonToggleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: McButtonToggleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
369
|
-
/** @nocollapse */ McButtonToggleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.2", ngImport: i0, type: McButtonToggleModule, declarations: [McButtonToggleGroup, McButtonToggle], imports: [McCommonModule, McButtonModule], exports: [McCommonModule, McButtonToggleGroup, McButtonToggle] });
|
370
|
-
/** @nocollapse */ McButtonToggleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: McButtonToggleModule, imports: [McCommonModule, McButtonModule, McCommonModule] });
|
389
|
+
/** @nocollapse */ McButtonToggleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.2", ngImport: i0, type: McButtonToggleModule, declarations: [McButtonToggleGroup, McButtonToggle], imports: [McCommonModule, McButtonModule, McTitleModule], exports: [McCommonModule, McButtonToggleGroup, McButtonToggle] });
|
390
|
+
/** @nocollapse */ McButtonToggleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: McButtonToggleModule, imports: [McCommonModule, McButtonModule, McTitleModule, McCommonModule] });
|
371
391
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: McButtonToggleModule, decorators: [{
|
372
392
|
type: NgModule,
|
373
393
|
args: [{
|
374
|
-
imports: [McCommonModule, McButtonModule],
|
394
|
+
imports: [McCommonModule, McButtonModule, McTitleModule],
|
375
395
|
exports: [McCommonModule, McButtonToggleGroup, McButtonToggle],
|
376
396
|
declarations: [McButtonToggleGroup, McButtonToggle]
|
377
397
|
}]
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ptsecurity-mosaic-button-toggle.mjs","sources":["../../../packages/mosaic/button-toggle/button-toggle.component.ts","../../../packages/mosaic/button-toggle/button-toggle.module.ts","../../../packages/mosaic/button-toggle/ptsecurity-mosaic-button-toggle.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n ViewEncapsulation,\n ViewChild\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { McButton } from '@ptsecurity/mosaic/button';\n\n\n/** Acceptable types for a button toggle. */\nexport type ToggleType = 'checkbox' | 'radio';\n\n/**\n * Provider Expression that allows mc-button-toggle-group to register as a ControlValueAccessor.\n * This allows it to support [(ngModel)].\n * @docs-private\n */\nexport const MC_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => McButtonToggleGroup),\n multi: true\n};\n\n/** Change event object emitted by MсButtonToggle. */\nexport class McButtonToggleChange {\n constructor(\n /** The MсButtonToggle that emits the event. */\n public source: McButtonToggle,\n /** The value assigned to the MсButtonToggle. */\n public value: any\n ) {}\n}\n\n/** Exclusive selection button toggle group that behaves like a radio-button group. */\n@Directive({\n selector: 'mc-button-toggle-group',\n providers: [MC_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR],\n host: {\n role: 'group',\n class: 'mc-button-toggle-group',\n '[class.mc-button-toggle_vertical]': 'vertical'\n },\n exportAs: 'mcButtonToggleGroup'\n})\nexport class McButtonToggleGroup implements ControlValueAccessor, OnInit, AfterContentInit {\n\n /** Whether the toggle group is vertical. */\n @Input()\n get vertical(): boolean {\n return this._vertical;\n }\n\n set vertical(value: boolean) {\n this._vertical = coerceBooleanProperty(value);\n }\n\n /** Value of the toggle group. */\n @Input()\n get value(): any {\n const selected = this.selectionModel ? this.selectionModel.selected : [];\n\n if (this.multiple) {\n return selected.map((toggle) => toggle.value);\n }\n\n return selected[0] ? selected[0].value : undefined;\n }\n\n set value(newValue: any) {\n this.setSelectionByValue(newValue);\n this.valueChange.emit(this.value);\n }\n\n /** Selected button toggles in the group. */\n get selected(): any {\n const selected = this.selectionModel.selected;\n\n return this.multiple ? selected : (selected[0] || null);\n }\n\n /** Whether multiple button toggles can be selected. */\n @Input()\n get multiple(): boolean {\n return this._multiple;\n }\n\n set multiple(value: boolean) {\n this._multiple = coerceBooleanProperty(value);\n }\n\n /** Child button toggle buttons. */\n @ContentChildren(forwardRef(() => McButtonToggle)) buttonToggles: QueryList<McButtonToggle>;\n\n /** Whether multiple button toggle group is disabled. */\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n\n if (!this.buttonToggles) { return; }\n\n this.buttonToggles.forEach((toggle) => toggle.markForCheck());\n }\n\n /**\n * Event that emits whenever the value of the group changes.\n * Used to facilitate two-way data binding.\n * @docs-private\n */\n @Output() readonly valueChange = new EventEmitter<any>();\n\n /** Event emitted when the group's value changes. */\n @Output() readonly change: EventEmitter<McButtonToggleChange> = new EventEmitter<McButtonToggleChange>();\n private _vertical = false;\n private _multiple = false;\n private _disabled = false;\n private selectionModel: SelectionModel<McButtonToggle>;\n\n /**\n * Reference to the raw value that the consumer tried to assign. The real\n * value will exclude any values from this one that don't correspond to a\n * toggle. Useful for the cases where the value is assigned before the toggles\n * have been initialized or at the same that they're being swapped out.\n */\n private rawValue: any;\n\n constructor(private _changeDetector: ChangeDetectorRef) {}\n\n /**\n * The method to be called in order to update ngModel.\n * Now `ngModel` binding is not supported in multiple selection mode.\n */\n // tslint:disable-next-line:no-empty\n controlValueAccessorChangeFn: (value: any) => void = () => {};\n\n /** onTouch function registered via registerOnTouch (ControlValueAccessor). */\n // tslint:disable-next-line:no-empty\n onTouched: () => any = () => {};\n\n ngOnInit() {\n this.selectionModel = new SelectionModel<McButtonToggle>(this.multiple, undefined, false);\n }\n\n ngAfterContentInit() {\n this.selectionModel.select(...this.buttonToggles.filter((toggle) => toggle.checked));\n this.disabled = this._disabled;\n }\n\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n * @param value Value to be set to the model.\n */\n writeValue(value: any) {\n this.value = value;\n this._changeDetector.markForCheck();\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnChange(fn: (value: any) => void) {\n this.controlValueAccessorChangeFn = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /** Dispatch change event with current selection and group value. */\n emitChangeEvent(): void {\n const selected = this.selected;\n const source = Array.isArray(selected) ? selected[selected.length - 1] : selected;\n const event = new McButtonToggleChange(source, this.value);\n this.controlValueAccessorChangeFn(event.value);\n this.change.emit(event);\n }\n\n /**\n * Syncs a button toggle's selected state with the model value.\n * @param toggle Toggle to be synced.\n * @param select Whether the toggle should be selected.\n * @param isUserInput Whether the change was a result of a user interaction.\n */\n syncButtonToggle(toggle: McButtonToggle, select: boolean, isUserInput = false) {\n // Deselect the currently-selected toggle, if we're in single-selection\n // mode and the button being toggled isn't selected at the moment.\n if (!this.multiple && this.selected && !toggle.checked) {\n (this.selected as McButtonToggle).checked = false;\n }\n\n if (select) {\n this.selectionModel.select(toggle);\n } else {\n this.selectionModel.deselect(toggle);\n }\n\n // Only emit the change event for user input.\n if (isUserInput) {\n this.emitChangeEvent();\n }\n\n // Note: we emit this one no matter whether it was a user interaction, because\n // it is used by Angular to sync up the two-way data binding.\n this.valueChange.emit(this.value);\n }\n\n /** Checks whether a button toggle is selected. */\n isSelected(toggle: McButtonToggle) {\n return this.selectionModel.isSelected(toggle);\n }\n\n /** Determines whether a button toggle should be checked on init. */\n isPrechecked(toggle: McButtonToggle) {\n if (this.rawValue === undefined) {\n return false;\n }\n\n if (this.multiple && Array.isArray(this.rawValue)) {\n return this.rawValue.some((value) => toggle.value != null && value === toggle.value);\n }\n\n return toggle.value === this.rawValue;\n }\n\n /** Updates the selection state of the toggles in the group based on a value. */\n private setSelectionByValue(value: any | any[]) {\n this.rawValue = value;\n\n if (!this.buttonToggles) {\n return;\n }\n\n if (this.multiple && value) {\n if (!Array.isArray(value)) {\n throw Error('Value must be an array in multiple-selection mode.');\n }\n\n this.clearSelection();\n value.forEach((currentValue: any) => this.selectValue(currentValue));\n } else {\n this.clearSelection();\n this.selectValue(value);\n }\n }\n\n /** Clears the selected toggles. */\n private clearSelection() {\n this.selectionModel.clear();\n this.buttonToggles.forEach((toggle) => toggle.checked = false);\n }\n\n /** Selects a value if there's a toggle that corresponds to it. */\n private selectValue(value: any) {\n const correspondingOption = this.buttonToggles.find((toggle) => {\n return toggle.value != null && toggle.value === value;\n });\n\n if (correspondingOption) {\n correspondingOption.checked = true;\n this.selectionModel.select(correspondingOption);\n }\n }\n}\n\n/** Single button inside of a toggle group. */\n@Component({\n selector: 'mc-button-toggle',\n exportAs: 'mcButtonToggle',\n template: `\n <button\n mc-button\n type=\"button\"\n [class.mc-active]=\"checked\"\n [disabled]=\"disabled\"\n [tabIndex]=\"tabIndex\"\n (click)=\"onToggleClick()\">\n <ng-content></ng-content>\n </button>\n `,\n styleUrls: ['button-toggle.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'mc-button-toggle',\n '[class.mc-button-toggle-standalone]': '!buttonToggleGroup'\n }\n})\nexport class McButtonToggle implements OnInit, OnDestroy {\n\n /** Whether the button is checked. */\n @Input()\n get checked(): boolean {\n return this.buttonToggleGroup ? this.buttonToggleGroup.isSelected(this) : this._checked;\n }\n\n set checked(value: boolean) {\n const newValue = coerceBooleanProperty(value);\n\n if (newValue !== this._checked) {\n this._checked = newValue;\n\n if (this.buttonToggleGroup) {\n this.buttonToggleGroup.syncButtonToggle(this, this._checked);\n }\n\n this.changeDetectorRef.markForCheck();\n }\n }\n\n // tslint:disable-next-line:no-reserved-keywords\n type: ToggleType;\n\n @ViewChild(McButton, { static: false }) mcButton: McButton;\n\n /** McButtonToggleGroup reads this to assign its own value. */\n @Input() value: any;\n\n /** Tabindex for the toggle. */\n @Input() tabIndex: number | null;\n\n @Input()\n get disabled(): boolean {\n return this._disabled || (this.buttonToggleGroup && this.buttonToggleGroup.disabled);\n }\n\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n /** Event emitted when the group value changes. */\n @Output() readonly change: EventEmitter<McButtonToggleChange> = new EventEmitter<McButtonToggleChange>();\n\n private isSingleSelector = false;\n private _checked = false;\n private _disabled: boolean = false;\n\n constructor(\n @Optional() public buttonToggleGroup: McButtonToggleGroup,\n private changeDetectorRef: ChangeDetectorRef,\n private focusMonitor: FocusMonitor,\n private element: ElementRef\n ) {}\n\n ngOnInit() {\n this.isSingleSelector = this.buttonToggleGroup && !this.buttonToggleGroup.multiple;\n this.type = this.isSingleSelector ? 'radio' : 'checkbox';\n\n if (this.buttonToggleGroup && this.buttonToggleGroup.isPrechecked(this)) {\n this.checked = true;\n }\n\n this.focusMonitor.monitor(this.element.nativeElement, true);\n }\n\n ngOnDestroy() {\n const group = this.buttonToggleGroup;\n\n this.focusMonitor.stopMonitoring(this.element.nativeElement);\n\n // Remove the toggle from the selection once it's destroyed. Needs to happen\n // on the next tick in order to avoid \"changed after checked\" errors.\n if (group && group.isSelected(this)) {\n Promise.resolve().then(() => group.syncButtonToggle(this, false));\n }\n }\n\n /** Focuses the button. */\n focus(): void {\n this.element.nativeElement.focus();\n }\n\n /** Checks the button toggle due to an interaction with the underlying native button. */\n onToggleClick() {\n if (this.disabled) { return; }\n\n const newChecked = this.isSingleSelector ? true : !this._checked;\n\n if (newChecked !== this._checked) {\n this._checked = newChecked;\n if (this.buttonToggleGroup) {\n this.buttonToggleGroup.syncButtonToggle(this, this._checked, true);\n this.buttonToggleGroup.onTouched();\n }\n }\n // Emit a change event when it's the single selector\n this.change.emit(new McButtonToggleChange(this, this.value));\n }\n\n /**\n * Marks the button toggle as needing checking for change detection.\n * This method is exposed because the parent button toggle group will directly\n * update bound properties of the radio button.\n */\n markForCheck() {\n // When the group value changes, the button will not be notified.\n // Use `markForCheck` to explicit update button toggle's status.\n this.changeDetectorRef.markForCheck();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { McButtonModule } from '@ptsecurity/mosaic/button';\nimport { McCommonModule } from '@ptsecurity/mosaic/core';\n\nimport { McButtonToggle, McButtonToggleGroup } from './button-toggle.component';\n\n\n@NgModule({\n imports: [McCommonModule, McButtonModule],\n exports: [McCommonModule, McButtonToggleGroup, McButtonToggle],\n declarations: [McButtonToggleGroup, McButtonToggle]\n})\nexport class McButtonToggleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"ptsecurity-mosaic-button-toggle.mjs","sources":["../../../packages/mosaic/button-toggle/button-toggle.component.ts","../../../packages/mosaic/button-toggle/button-toggle.module.ts","../../../packages/mosaic/button-toggle/ptsecurity-mosaic-button-toggle.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n ViewEncapsulation,\n ViewChild\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { getNodesWithoutComments, McButton } from '@ptsecurity/mosaic/button';\nimport { McIcon } from '@ptsecurity/mosaic/icon';\n\n\n/** Acceptable types for a button toggle. */\nexport type ToggleType = 'checkbox' | 'radio';\n\n/**\n * Provider Expression that allows mc-button-toggle-group to register as a ControlValueAccessor.\n * This allows it to support [(ngModel)].\n * @docs-private\n */\nexport const MC_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => McButtonToggleGroup),\n multi: true\n};\n\n/** Change event object emitted by MсButtonToggle. */\nexport class McButtonToggleChange {\n constructor(\n /** The MсButtonToggle that emits the event. */\n public source: McButtonToggle,\n /** The value assigned to the MсButtonToggle. */\n public value: any\n ) {}\n}\n\n/** Exclusive selection button toggle group that behaves like a radio-button group. */\n@Directive({\n selector: 'mc-button-toggle-group',\n providers: [MC_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR],\n host: {\n role: 'group',\n class: 'mc-button-toggle-group',\n '[class.mc-button-toggle_vertical]': 'vertical'\n },\n exportAs: 'mcButtonToggleGroup'\n})\nexport class McButtonToggleGroup implements ControlValueAccessor, OnInit, AfterContentInit {\n\n /** Whether the toggle group is vertical. */\n @Input()\n get vertical(): boolean {\n return this._vertical;\n }\n\n set vertical(value: boolean) {\n this._vertical = coerceBooleanProperty(value);\n }\n\n /** Value of the toggle group. */\n @Input()\n get value(): any {\n const selected = this.selectionModel ? this.selectionModel.selected : [];\n\n if (this.multiple) {\n return selected.map((toggle) => toggle.value);\n }\n\n return selected[0] ? selected[0].value : undefined;\n }\n\n set value(newValue: any) {\n this.setSelectionByValue(newValue);\n this.valueChange.emit(this.value);\n }\n\n /** Selected button toggles in the group. */\n get selected(): any {\n const selected = this.selectionModel.selected;\n\n return this.multiple ? selected : (selected[0] || null);\n }\n\n /** Whether multiple button toggles can be selected. */\n @Input()\n get multiple(): boolean {\n return this._multiple;\n }\n\n set multiple(value: boolean) {\n this._multiple = coerceBooleanProperty(value);\n }\n\n /** Child button toggle buttons. */\n @ContentChildren(forwardRef(() => McButtonToggle)) buttonToggles: QueryList<McButtonToggle>;\n\n /** Whether multiple button toggle group is disabled. */\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n\n if (!this.buttonToggles) { return; }\n\n this.buttonToggles.forEach((toggle) => toggle.markForCheck());\n }\n\n /**\n * Event that emits whenever the value of the group changes.\n * Used to facilitate two-way data binding.\n * @docs-private\n */\n @Output() readonly valueChange = new EventEmitter<any>();\n\n /** Event emitted when the group's value changes. */\n @Output() readonly change: EventEmitter<McButtonToggleChange> = new EventEmitter<McButtonToggleChange>();\n private _vertical = false;\n private _multiple = false;\n private _disabled = false;\n private selectionModel: SelectionModel<McButtonToggle>;\n\n /**\n * Reference to the raw value that the consumer tried to assign. The real\n * value will exclude any values from this one that don't correspond to a\n * toggle. Useful for the cases where the value is assigned before the toggles\n * have been initialized or at the same that they're being swapped out.\n */\n private rawValue: any;\n\n constructor(private _changeDetector: ChangeDetectorRef) {}\n\n /**\n * The method to be called in order to update ngModel.\n * Now `ngModel` binding is not supported in multiple selection mode.\n */\n // tslint:disable-next-line:no-empty\n controlValueAccessorChangeFn: (value: any) => void = () => {};\n\n /** onTouch function registered via registerOnTouch (ControlValueAccessor). */\n // tslint:disable-next-line:no-empty\n onTouched: () => any = () => {};\n\n ngOnInit() {\n this.selectionModel = new SelectionModel<McButtonToggle>(this.multiple, undefined, false);\n }\n\n ngAfterContentInit() {\n this.selectionModel.select(...this.buttonToggles.filter((toggle) => toggle.checked));\n this.disabled = this._disabled;\n }\n\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n * @param value Value to be set to the model.\n */\n writeValue(value: any) {\n this.value = value;\n this._changeDetector.markForCheck();\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnChange(fn: (value: any) => void) {\n this.controlValueAccessorChangeFn = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /** Dispatch change event with current selection and group value. */\n emitChangeEvent(): void {\n const selected = this.selected;\n const source = Array.isArray(selected) ? selected[selected.length - 1] : selected;\n const event = new McButtonToggleChange(source, this.value);\n this.controlValueAccessorChangeFn(event.value);\n this.change.emit(event);\n }\n\n /**\n * Syncs a button toggle's selected state with the model value.\n * @param toggle Toggle to be synced.\n * @param select Whether the toggle should be selected.\n * @param isUserInput Whether the change was a result of a user interaction.\n */\n syncButtonToggle(toggle: McButtonToggle, select: boolean, isUserInput = false) {\n // Deselect the currently-selected toggle, if we're in single-selection\n // mode and the button being toggled isn't selected at the moment.\n if (!this.multiple && this.selected && !toggle.checked) {\n (this.selected as McButtonToggle).checked = false;\n }\n\n if (select) {\n this.selectionModel.select(toggle);\n } else {\n this.selectionModel.deselect(toggle);\n }\n\n // Only emit the change event for user input.\n if (isUserInput) {\n this.emitChangeEvent();\n }\n\n // Note: we emit this one no matter whether it was a user interaction, because\n // it is used by Angular to sync up the two-way data binding.\n this.valueChange.emit(this.value);\n }\n\n /** Checks whether a button toggle is selected. */\n isSelected(toggle: McButtonToggle) {\n return this.selectionModel.isSelected(toggle);\n }\n\n /** Determines whether a button toggle should be checked on init. */\n isPrechecked(toggle: McButtonToggle) {\n if (this.rawValue === undefined) {\n return false;\n }\n\n if (this.multiple && Array.isArray(this.rawValue)) {\n return this.rawValue.some((value) => toggle.value != null && value === toggle.value);\n }\n\n return toggle.value === this.rawValue;\n }\n\n /** Updates the selection state of the toggles in the group based on a value. */\n private setSelectionByValue(value: any | any[]) {\n this.rawValue = value;\n\n if (!this.buttonToggles) {\n return;\n }\n\n if (this.multiple && value) {\n if (!Array.isArray(value)) {\n throw Error('Value must be an array in multiple-selection mode.');\n }\n\n this.clearSelection();\n value.forEach((currentValue: any) => this.selectValue(currentValue));\n } else {\n this.clearSelection();\n this.selectValue(value);\n }\n }\n\n /** Clears the selected toggles. */\n private clearSelection() {\n this.selectionModel.clear();\n this.buttonToggles.forEach((toggle) => toggle.checked = false);\n }\n\n /** Selects a value if there's a toggle that corresponds to it. */\n private selectValue(value: any) {\n const correspondingOption = this.buttonToggles.find((toggle) => {\n return toggle.value != null && toggle.value === value;\n });\n\n if (correspondingOption) {\n correspondingOption.checked = true;\n this.selectionModel.select(correspondingOption);\n }\n }\n}\n\n/** Single button inside of a toggle group. */\n@Component({\n selector: 'mc-button-toggle',\n exportAs: 'mcButtonToggle',\n template: `\n <button\n mc-button\n mc-title\n type=\"button\"\n [class.mc-active]=\"checked\"\n [disabled]=\"disabled\"\n [tabIndex]=\"tabIndex\"\n (click)=\"onToggleClick()\">\n <div class=\"mc-button-toggle-wrapper\" #mcTitleText>\n <ng-content></ng-content>\n </div>\n </button>\n `,\n styleUrls: ['button-toggle.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'mc-button-toggle',\n '[class.mc-button-toggle-standalone]': '!buttonToggleGroup',\n '[class]': '\"mc-button-toggle\" + iconType'\n }\n})\nexport class McButtonToggle implements OnInit, AfterContentInit, OnDestroy {\n @ContentChildren(McIcon, { descendants: true }) icons: QueryList<McIcon>;\n\n /** Whether the button is checked. */\n @Input()\n get checked(): boolean {\n return this.buttonToggleGroup ? this.buttonToggleGroup.isSelected(this) : this._checked;\n }\n\n set checked(value: boolean) {\n const newValue = coerceBooleanProperty(value);\n\n if (newValue !== this._checked) {\n this._checked = newValue;\n\n if (this.buttonToggleGroup) {\n this.buttonToggleGroup.syncButtonToggle(this, this._checked);\n }\n\n this.changeDetectorRef.markForCheck();\n }\n }\n\n // tslint:disable-next-line:no-reserved-keywords\n type: ToggleType;\n iconType: string = '';\n\n @ViewChild(McButton, { static: false }) mcButton: McButton;\n\n /** McButtonToggleGroup reads this to assign its own value. */\n @Input() value: any;\n\n /** Tabindex for the toggle. */\n @Input() tabIndex: number | null;\n\n @Input()\n get disabled(): boolean {\n return this._disabled || (this.buttonToggleGroup && this.buttonToggleGroup.disabled);\n }\n\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n /** Event emitted when the group value changes. */\n @Output() readonly change: EventEmitter<McButtonToggleChange> = new EventEmitter<McButtonToggleChange>();\n\n private isSingleSelector = false;\n private _checked = false;\n private _disabled: boolean = false;\n\n constructor(\n @Optional() public buttonToggleGroup: McButtonToggleGroup,\n private changeDetectorRef: ChangeDetectorRef,\n private focusMonitor: FocusMonitor,\n private element: ElementRef\n ) {}\n\n ngOnInit() {\n this.isSingleSelector = this.buttonToggleGroup && !this.buttonToggleGroup.multiple;\n this.type = this.isSingleSelector ? 'radio' : 'checkbox';\n\n if (this.buttonToggleGroup && this.buttonToggleGroup.isPrechecked(this)) {\n this.checked = true;\n }\n\n this.focusMonitor.monitor(this.element.nativeElement, true);\n }\n\n ngAfterContentInit(): void {\n if (this.icons.length) {\n const nodesWithoutComments = getNodesWithoutComments(\n this.element.nativeElement.querySelector('.mc-button-toggle-wrapper')!.childNodes as NodeList\n ).length;\n this.iconType = nodesWithoutComments === this.icons.length ? '-icon' : '-icon-text';\n }\n }\n\n ngOnDestroy() {\n const group = this.buttonToggleGroup;\n\n this.focusMonitor.stopMonitoring(this.element.nativeElement);\n\n // Remove the toggle from the selection once it's destroyed. Needs to happen\n // on the next tick in order to avoid \"changed after checked\" errors.\n if (group && group.isSelected(this)) {\n Promise.resolve().then(() => group.syncButtonToggle(this, false));\n }\n }\n\n /** Focuses the button. */\n focus(): void {\n this.element.nativeElement.focus();\n }\n\n /** Checks the button toggle due to an interaction with the underlying native button. */\n onToggleClick() {\n if (this.disabled) { return; }\n\n const newChecked = this.isSingleSelector ? true : !this._checked;\n\n if (newChecked !== this._checked) {\n this._checked = newChecked;\n if (this.buttonToggleGroup) {\n this.buttonToggleGroup.syncButtonToggle(this, this._checked, true);\n this.buttonToggleGroup.onTouched();\n }\n }\n // Emit a change event when it's the single selector\n this.change.emit(new McButtonToggleChange(this, this.value));\n }\n\n /**\n * Marks the button toggle as needing checking for change detection.\n * This method is exposed because the parent button toggle group will directly\n * update bound properties of the radio button.\n */\n markForCheck() {\n // When the group value changes, the button will not be notified.\n // Use `markForCheck` to explicit update button toggle's status.\n this.changeDetectorRef.markForCheck();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { McButtonModule } from '@ptsecurity/mosaic/button';\nimport { McCommonModule } from '@ptsecurity/mosaic/core';\nimport { McTitleModule } from '@ptsecurity/mosaic/title';\n\nimport { McButtonToggle, McButtonToggleGroup } from './button-toggle.component';\n\n\n@NgModule({\n imports: [McCommonModule, McButtonModule, McTitleModule],\n exports: [McCommonModule, McButtonToggleGroup, McButtonToggle],\n declarations: [McButtonToggleGroup, McButtonToggle]\n})\nexport class McButtonToggleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -5,7 +5,7 @@ import { ObserversModule } from '@angular/cdk/observers';
|
|
5
5
|
import { PlatformModule } from '@angular/cdk/platform';
|
6
6
|
import { CommonModule } from '@angular/common';
|
7
7
|
import * as i0 from '@angular/core';
|
8
|
-
import { Directive, SkipSelf, ContentChildren, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, NgModule } from '@angular/core';
|
8
|
+
import { Directive, SkipSelf, ContentChildren, forwardRef, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, NgModule } from '@angular/core';
|
9
9
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
10
10
|
import { mixinTabIndex, mixinColor } from '@ptsecurity/mosaic/core';
|
11
11
|
import { McIcon } from '@ptsecurity/mosaic/icon';
|
@@ -14,6 +14,10 @@ const leftIconClassName = 'mc-icon_left';
|
|
14
14
|
const rightIconClassName = 'mc-icon_right';
|
15
15
|
const buttonLeftIconClassName = 'mc-icon-button_left';
|
16
16
|
const buttonRightIconClassName = 'mc-icon-button_right';
|
17
|
+
const getNodesWithoutComments = (nodes) => {
|
18
|
+
const COMMENT_NODE = 8;
|
19
|
+
return Array.from(nodes).filter((node) => node.nodeType !== COMMENT_NODE);
|
20
|
+
};
|
17
21
|
class McButtonCssStyler {
|
18
22
|
constructor(elementRef, renderer, cdr) {
|
19
23
|
this.renderer = renderer;
|
@@ -28,9 +32,7 @@ class McButtonCssStyler {
|
|
28
32
|
this.renderer.removeClass(this.nativeElement, buttonLeftIconClassName);
|
29
33
|
this.renderer.removeClass(this.nativeElement, buttonRightIconClassName);
|
30
34
|
const twoIcons = 2;
|
31
|
-
const
|
32
|
-
const filteredNodesWithoutComments = Array.from(this.nativeElement.querySelector('.mc-button-wrapper').childNodes)
|
33
|
-
.filter((node) => node.nodeType !== COMMENT_NODE);
|
35
|
+
const filteredNodesWithoutComments = getNodesWithoutComments(this.nativeElement.querySelector('.mc-button-wrapper').childNodes);
|
34
36
|
const currentIsIconButtonValue = !!this.icons.length &&
|
35
37
|
this.icons.length === filteredNodesWithoutComments.length && this.icons.length <= twoIcons;
|
36
38
|
if (currentIsIconButtonValue !== this.isIconButton) {
|
@@ -56,7 +58,7 @@ class McButtonCssStyler {
|
|
56
58
|
}
|
57
59
|
}
|
58
60
|
/** @nocollapse */ McButtonCssStyler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: McButtonCssStyler, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive });
|
59
|
-
/** @nocollapse */ McButtonCssStyler.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: McButtonCssStyler, selector: "[mc-button]", host: { properties: { "class.mc-button": "!isIconButton", "class.mc-icon-button": "isIconButton" } }, queries: [{ propertyName: "icons", predicate:
|
61
|
+
/** @nocollapse */ McButtonCssStyler.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: McButtonCssStyler, selector: "[mc-button]", host: { properties: { "class.mc-button": "!isIconButton", "class.mc-icon-button": "isIconButton" } }, queries: [{ propertyName: "icons", predicate: i0.forwardRef(function () { return McIcon; }) }], ngImport: i0 });
|
60
62
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: McButtonCssStyler, decorators: [{
|
61
63
|
type: Directive,
|
62
64
|
args: [{
|
@@ -72,7 +74,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
72
74
|
}] }];
|
73
75
|
}, propDecorators: { icons: [{
|
74
76
|
type: ContentChildren,
|
75
|
-
args: [
|
77
|
+
args: [(forwardRef(() => McIcon))]
|
76
78
|
}] } });
|
77
79
|
/** @docs-private */
|
78
80
|
class McButtonBase {
|
@@ -187,5 +189,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
187
189
|
* Generated bundle index. Do not edit.
|
188
190
|
*/
|
189
191
|
|
190
|
-
export { McButton, McButtonBase, McButtonCssStyler, McButtonMixinBase, McButtonModule, buttonLeftIconClassName, buttonRightIconClassName, leftIconClassName, rightIconClassName };
|
192
|
+
export { McButton, McButtonBase, McButtonCssStyler, McButtonMixinBase, McButtonModule, buttonLeftIconClassName, buttonRightIconClassName, getNodesWithoutComments, leftIconClassName, rightIconClassName };
|
191
193
|
//# sourceMappingURL=ptsecurity-mosaic-button.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ptsecurity-mosaic-button.mjs","sources":["../../../packages/mosaic/button/button.component.ts","../../../packages/mosaic/button/button.component.html","../../../packages/mosaic/button/button.module.ts","../../../packages/mosaic/button/ptsecurity-mosaic-button.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n OnDestroy,\n ViewEncapsulation,\n Renderer2,\n QueryList,\n ContentChildren,\n AfterContentInit,\n SkipSelf,\n Input\n} from '@angular/core';\nimport {\n mixinColor,\n mixinTabIndex,\n CanColor,\n CanDisable,\n CanColorCtor,\n HasTabIndexCtor\n} from '@ptsecurity/mosaic/core';\nimport { McIcon } from '@ptsecurity/mosaic/icon';\n\n\nexport const leftIconClassName = 'mc-icon_left';\nexport const rightIconClassName = 'mc-icon_right';\n\nexport const buttonLeftIconClassName = 'mc-icon-button_left';\nexport const buttonRightIconClassName = 'mc-icon-button_right';\n\n@Directive({\n selector: '[mc-button]',\n host: {\n '[class.mc-button]': '!isIconButton',\n '[class.mc-icon-button]': 'isIconButton'\n }\n})\nexport class McButtonCssStyler implements AfterContentInit {\n @ContentChildren(McIcon, { descendants: true }) icons: QueryList<McIcon>;\n\n nativeElement: HTMLElement;\n\n isIconButton: boolean = false;\n\n constructor(elementRef: ElementRef, private renderer: Renderer2, @SkipSelf() private cdr: ChangeDetectorRef) {\n this.nativeElement = elementRef.nativeElement;\n }\n\n ngAfterContentInit() {\n this.updateClassModifierForIcons();\n }\n\n updateClassModifierForIcons() {\n this.renderer.removeClass(this.nativeElement, buttonLeftIconClassName);\n this.renderer.removeClass(this.nativeElement, buttonRightIconClassName);\n\n const twoIcons = 2;\n const COMMENT_NODE = 8;\n const filteredNodesWithoutComments = Array.from(\n this.nativeElement.querySelector('.mc-button-wrapper')!.childNodes as NodeList\n )\n .filter((node) => node.nodeType !== COMMENT_NODE);\n const currentIsIconButtonValue = !!this.icons.length &&\n this.icons.length === filteredNodesWithoutComments.length && this.icons.length <= twoIcons;\n\n if (currentIsIconButtonValue !== this.isIconButton) {\n this.isIconButton = currentIsIconButtonValue;\n this.cdr.detectChanges();\n }\n\n if (this.icons.length && filteredNodesWithoutComments.length > 1) {\n this.icons.map((item) => item.getHostElement())\n .forEach((iconHostElement) => {\n this.renderer.removeClass(iconHostElement, leftIconClassName);\n this.renderer.removeClass(iconHostElement, rightIconClassName);\n\n const iconIndex = filteredNodesWithoutComments.findIndex(\n (node) => node === iconHostElement\n );\n\n if (iconIndex === 0) {\n this.renderer.addClass(iconHostElement, leftIconClassName);\n this.renderer.addClass(this.nativeElement, buttonLeftIconClassName);\n }\n\n if (iconIndex === filteredNodesWithoutComments.length - 1) {\n this.renderer.addClass(iconHostElement, rightIconClassName);\n this.renderer.addClass(this.nativeElement, buttonRightIconClassName);\n }\n });\n }\n\n }\n}\n\n/** @docs-private */\nexport class McButtonBase {\n constructor(public elementRef: ElementRef) {}\n}\n\n/** @docs-private */\nexport const McButtonMixinBase: HasTabIndexCtor & CanColorCtor &\n typeof McButtonBase = mixinTabIndex(mixinColor(McButtonBase));\n\n\n@Component({\n selector: '[mc-button]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['color', 'tabIndex'],\n host: {\n '[attr.disabled]': 'disabled || null',\n '[attr.tabIndex]': 'tabIndex',\n\n '(focus)': 'onFocus($event)',\n '(blur)': 'onBlur()'\n }\n})\nexport class McButton extends McButtonMixinBase implements OnDestroy, CanDisable, CanColor {\n hasFocus: boolean = false;\n\n @Input()\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: any) {\n this._disabled = coerceBooleanProperty(value);\n\n this._disabled ? this.stopFocusMonitor() : this.runFocusMonitor();\n }\n\n private _disabled: boolean = false;\n\n constructor(elementRef: ElementRef, private focusMonitor: FocusMonitor, private styler: McButtonCssStyler) {\n super(elementRef);\n\n this.runFocusMonitor();\n }\n\n ngOnDestroy() {\n this.stopFocusMonitor();\n }\n\n onFocus($event) {\n $event.stopPropagation();\n\n this.hasFocus = true;\n }\n\n onBlur() {\n this.hasFocus = false;\n }\n\n getHostElement() {\n return this.elementRef.nativeElement;\n }\n\n focus(): void {\n this.hasFocus = true;\n\n this.getHostElement().focus();\n }\n\n focusViaKeyboard(): void {\n this.hasFocus = true;\n\n this.focusMonitor.focusVia(this.getHostElement(), 'keyboard');\n }\n\n haltDisabledEvents(event: Event) {\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n event.stopPropagation();\n }\n }\n\n projectContentChanged() {\n this.styler.updateClassModifierForIcons();\n }\n\n private runFocusMonitor() {\n this.focusMonitor.monitor(this.elementRef.nativeElement, true);\n }\n\n private stopFocusMonitor() {\n this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);\n }\n}\n\n","<div class=\"mc-button-wrapper\" (cdkObserveContent)=\"projectContentChanged()\">\n <ng-content></ng-content>\n</div>\n<div class=\"mc-button-overlay\" (click)=\"haltDisabledEvents($event)\"></div>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { ObserversModule } from '@angular/cdk/observers';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport {\n McButton,\n McButtonCssStyler\n} from './button.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n A11yModule,\n PlatformModule,\n ObserversModule\n ],\n exports: [\n McButton,\n McButtonCssStyler\n ],\n declarations: [\n McButton,\n McButtonCssStyler\n ]\n})\nexport class McButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"ptsecurity-mosaic-button.mjs","sources":["../../../packages/mosaic/button/button.component.ts","../../../packages/mosaic/button/button.component.html","../../../packages/mosaic/button/button.module.ts","../../../packages/mosaic/button/ptsecurity-mosaic-button.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n OnDestroy,\n ViewEncapsulation,\n Renderer2,\n QueryList,\n ContentChildren,\n AfterContentInit,\n SkipSelf,\n Input, forwardRef\n} from '@angular/core';\nimport {\n mixinColor,\n mixinTabIndex,\n CanColor,\n CanDisable,\n CanColorCtor,\n HasTabIndexCtor\n} from '@ptsecurity/mosaic/core';\nimport { McIcon } from '@ptsecurity/mosaic/icon';\n\n\nexport const leftIconClassName = 'mc-icon_left';\nexport const rightIconClassName = 'mc-icon_right';\n\nexport const buttonLeftIconClassName = 'mc-icon-button_left';\nexport const buttonRightIconClassName = 'mc-icon-button_right';\n\nexport const getNodesWithoutComments = (nodes: NodeList): Node[] => {\n const COMMENT_NODE = 8;\n\n return Array.from(nodes).filter((node) => node.nodeType !== COMMENT_NODE);\n};\n\n@Directive({\n selector: '[mc-button]',\n host: {\n '[class.mc-button]': '!isIconButton',\n '[class.mc-icon-button]': 'isIconButton'\n }\n})\nexport class McButtonCssStyler implements AfterContentInit {\n @ContentChildren((forwardRef(() => McIcon))) icons: QueryList<McIcon>;\n\n nativeElement: HTMLElement;\n\n isIconButton: boolean = false;\n\n constructor(elementRef: ElementRef, private renderer: Renderer2, @SkipSelf() private cdr: ChangeDetectorRef) {\n this.nativeElement = elementRef.nativeElement;\n }\n\n ngAfterContentInit() {\n this.updateClassModifierForIcons();\n }\n\n updateClassModifierForIcons() {\n this.renderer.removeClass(this.nativeElement, buttonLeftIconClassName);\n this.renderer.removeClass(this.nativeElement, buttonRightIconClassName);\n\n const twoIcons = 2;\n const filteredNodesWithoutComments = getNodesWithoutComments(\n this.nativeElement.querySelector('.mc-button-wrapper')!.childNodes as NodeList\n );\n\n const currentIsIconButtonValue = !!this.icons.length &&\n this.icons.length === filteredNodesWithoutComments.length && this.icons.length <= twoIcons;\n\n if (currentIsIconButtonValue !== this.isIconButton) {\n this.isIconButton = currentIsIconButtonValue;\n this.cdr.detectChanges();\n }\n\n if (this.icons.length && filteredNodesWithoutComments.length > 1) {\n this.icons.map((item) => item.getHostElement())\n .forEach((iconHostElement) => {\n this.renderer.removeClass(iconHostElement, leftIconClassName);\n this.renderer.removeClass(iconHostElement, rightIconClassName);\n\n const iconIndex = filteredNodesWithoutComments.findIndex(\n (node) => node === iconHostElement\n );\n\n if (iconIndex === 0) {\n this.renderer.addClass(iconHostElement, leftIconClassName);\n this.renderer.addClass(this.nativeElement, buttonLeftIconClassName);\n }\n\n if (iconIndex === filteredNodesWithoutComments.length - 1) {\n this.renderer.addClass(iconHostElement, rightIconClassName);\n this.renderer.addClass(this.nativeElement, buttonRightIconClassName);\n }\n });\n }\n\n }\n}\n\n/** @docs-private */\nexport class McButtonBase {\n constructor(public elementRef: ElementRef) {}\n}\n\n/** @docs-private */\nexport const McButtonMixinBase: HasTabIndexCtor & CanColorCtor &\n typeof McButtonBase = mixinTabIndex(mixinColor(McButtonBase));\n\n\n@Component({\n selector: '[mc-button]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['color', 'tabIndex'],\n host: {\n '[attr.disabled]': 'disabled || null',\n '[attr.tabIndex]': 'tabIndex',\n\n '(focus)': 'onFocus($event)',\n '(blur)': 'onBlur()'\n }\n})\nexport class McButton extends McButtonMixinBase implements OnDestroy, CanDisable, CanColor {\n hasFocus: boolean = false;\n\n @Input()\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: any) {\n this._disabled = coerceBooleanProperty(value);\n\n this._disabled ? this.stopFocusMonitor() : this.runFocusMonitor();\n }\n\n private _disabled: boolean = false;\n\n constructor(elementRef: ElementRef, private focusMonitor: FocusMonitor, private styler: McButtonCssStyler) {\n super(elementRef);\n\n this.runFocusMonitor();\n }\n\n ngOnDestroy() {\n this.stopFocusMonitor();\n }\n\n onFocus($event) {\n $event.stopPropagation();\n\n this.hasFocus = true;\n }\n\n onBlur() {\n this.hasFocus = false;\n }\n\n getHostElement() {\n return this.elementRef.nativeElement;\n }\n\n focus(): void {\n this.hasFocus = true;\n\n this.getHostElement().focus();\n }\n\n focusViaKeyboard(): void {\n this.hasFocus = true;\n\n this.focusMonitor.focusVia(this.getHostElement(), 'keyboard');\n }\n\n haltDisabledEvents(event: Event) {\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n event.stopPropagation();\n }\n }\n\n projectContentChanged() {\n this.styler.updateClassModifierForIcons();\n }\n\n private runFocusMonitor() {\n this.focusMonitor.monitor(this.elementRef.nativeElement, true);\n }\n\n private stopFocusMonitor() {\n this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);\n }\n}\n\n","<div class=\"mc-button-wrapper\" (cdkObserveContent)=\"projectContentChanged()\">\n <ng-content></ng-content>\n</div>\n<div class=\"mc-button-overlay\" (click)=\"haltDisabledEvents($event)\"></div>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { ObserversModule } from '@angular/cdk/observers';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport {\n McButton,\n McButtonCssStyler\n} from './button.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n A11yModule,\n PlatformModule,\n ObserversModule\n ],\n exports: [\n McButton,\n McButtonCssStyler\n ],\n declarations: [\n McButton,\n McButtonCssStyler\n ]\n})\nexport class McButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -2200,15 +2200,114 @@ function toBoolean(value) {
|
|
2200
2200
|
return value != null && `${value}` !== 'false';
|
2201
2201
|
}
|
2202
2202
|
|
2203
|
+
var MeasurementSystem;
|
2204
|
+
(function (MeasurementSystem) {
|
2205
|
+
MeasurementSystem["SI"] = "SI";
|
2206
|
+
MeasurementSystem["IEC"] = "IEC";
|
2207
|
+
})(MeasurementSystem || (MeasurementSystem = {}));
|
2208
|
+
const sizeUnitsConfig = {
|
2209
|
+
defaultUnitSystem: MeasurementSystem.SI,
|
2210
|
+
defaultPrecision: 2,
|
2211
|
+
unitSystems: {
|
2212
|
+
[MeasurementSystem.SI]: {
|
2213
|
+
abbreviations: ['B', 'KB', 'MB', 'GB', 'TB'],
|
2214
|
+
base: 10,
|
2215
|
+
power: 3
|
2216
|
+
},
|
2217
|
+
[MeasurementSystem.IEC]: {
|
2218
|
+
abbreviations: ['B', 'KiB', 'MiB', 'GiB', 'TiB'],
|
2219
|
+
base: 2,
|
2220
|
+
power: 10
|
2221
|
+
}
|
2222
|
+
}
|
2223
|
+
};
|
2224
|
+
|
2225
|
+
const formatDataSize = (value, systemCode = sizeUnitsConfig.defaultUnitSystem, precision = sizeUnitsConfig.defaultPrecision) => {
|
2226
|
+
const system = sizeUnitsConfig.unitSystems[systemCode];
|
2227
|
+
const { result, unit } = getHumanizedBytes(value, systemCode);
|
2228
|
+
let volume;
|
2229
|
+
if (system.abbreviations[0] === unit) {
|
2230
|
+
volume = result.toString();
|
2231
|
+
}
|
2232
|
+
else {
|
2233
|
+
volume = result.toFixed(precision).replace(/\./g, ',');
|
2234
|
+
}
|
2235
|
+
return {
|
2236
|
+
value: volume,
|
2237
|
+
unit
|
2238
|
+
};
|
2239
|
+
};
|
2240
|
+
/**
|
2241
|
+
* Переводит байты в Кб, Мб, Гб
|
2242
|
+
*
|
2243
|
+
* @param value количество байт
|
2244
|
+
* @param systemCode система измерения
|
2245
|
+
* @param threshold нижний порог подсчета
|
2246
|
+
*/
|
2247
|
+
const getHumanizedBytes = (value, systemCode = sizeUnitsConfig.defaultUnitSystem, threshold) => {
|
2248
|
+
const system = sizeUnitsConfig.unitSystems[systemCode];
|
2249
|
+
if (!system) {
|
2250
|
+
throw new Error(`Unit system "${systemCode}" not configured!`);
|
2251
|
+
}
|
2252
|
+
if (!Number.isFinite(value)) {
|
2253
|
+
throw new Error('Argument "value" must be number!');
|
2254
|
+
}
|
2255
|
+
const caculatedThreshold = Number.isFinite(threshold)
|
2256
|
+
? threshold : Math.pow(system.base, system.power);
|
2257
|
+
const orderOfMagnitude = Math.pow(system.base, system.power);
|
2258
|
+
let result = value;
|
2259
|
+
let step = 0;
|
2260
|
+
const len = system.abbreviations.length - 1;
|
2261
|
+
while (step < len) {
|
2262
|
+
if (caculatedThreshold !== undefined && result < caculatedThreshold) {
|
2263
|
+
break;
|
2264
|
+
}
|
2265
|
+
step++;
|
2266
|
+
result = value / Math.pow(orderOfMagnitude, step);
|
2267
|
+
}
|
2268
|
+
return {
|
2269
|
+
result,
|
2270
|
+
unit: system.abbreviations[step]
|
2271
|
+
};
|
2272
|
+
};
|
2273
|
+
|
2274
|
+
class McDataSizePipe {
|
2275
|
+
transform(source, precision = 2, measurementSystem = MeasurementSystem.SI) {
|
2276
|
+
const { value, unit } = formatDataSize(source, measurementSystem, precision);
|
2277
|
+
return `${value} ${unit}`;
|
2278
|
+
}
|
2279
|
+
}
|
2280
|
+
/** @nocollapse */ McDataSizePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: McDataSizePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
2281
|
+
/** @nocollapse */ McDataSizePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.2", ngImport: i0, type: McDataSizePipe, name: "mcDataSize" });
|
2282
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: McDataSizePipe, decorators: [{
|
2283
|
+
type: Pipe,
|
2284
|
+
args: [{
|
2285
|
+
name: 'mcDataSize'
|
2286
|
+
}]
|
2287
|
+
}] });
|
2288
|
+
class McDataSizeModule {
|
2289
|
+
}
|
2290
|
+
/** @nocollapse */ McDataSizeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: McDataSizeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
2291
|
+
/** @nocollapse */ McDataSizeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.2", ngImport: i0, type: McDataSizeModule, declarations: [McDataSizePipe], exports: [McDataSizePipe] });
|
2292
|
+
/** @nocollapse */ McDataSizeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: McDataSizeModule });
|
2293
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: McDataSizeModule, decorators: [{
|
2294
|
+
type: NgModule,
|
2295
|
+
args: [{
|
2296
|
+
imports: [],
|
2297
|
+
exports: [McDataSizePipe],
|
2298
|
+
declarations: [McDataSizePipe]
|
2299
|
+
}]
|
2300
|
+
}] });
|
2301
|
+
|
2203
2302
|
const validationTooltipShowDelay = 10;
|
2204
2303
|
const validationTooltipHideDelay = 3000;
|
2205
2304
|
const MC_VALIDATION = new InjectionToken('McUseValidation', { factory: () => ({ useValidation: true }) });
|
2206
2305
|
|
2207
|
-
const VERSION = new Version('15.
|
2306
|
+
const VERSION = new Version('15.4.1+sha-b3835e1');
|
2208
2307
|
|
2209
2308
|
/**
|
2210
2309
|
* Generated bundle index. Do not edit.
|
2211
2310
|
*/
|
2212
2311
|
|
2213
|
-
export { AbsoluteDateFormatterPipe, AbsoluteDateShortFormatterPipe, AbsoluteDateTimeFormatterPipe, AbsoluteShortDateTimeFormatterPipe, AnimationCurves, BOTTOM_LEFT_POSITION_PRIORITY, BOTTOM_POSITION_PRIORITY, BOTTOM_RIGHT_POSITION_PRIORITY, DateAdapter, DateFormatter, EXTENDED_OVERLAY_POSITIONS, ErrorStateMatcher, LEFT_BOTTOM_POSITION_PRIORITY, LEFT_POSITION_PRIORITY, LEFT_TOP_POSITION_PRIORITY, MC_DATE_FORMATS, MC_DATE_LOCALE, MC_DATE_LOCALE_FACTORY, MC_DEFAULT_LOCALE_DATA_FACTORY, MC_DEFAULT_LOCALE_ID, MC_LABEL_GLOBAL_OPTIONS, MC_LOCALE_DATA, MC_LOCALE_ID, MC_LOCALE_SERVICE, MC_NUMBER_FORMATTER_DEFAULT_OPTIONS, MC_NUMBER_FORMATTER_OPTIONS, MC_OPTION_ACTION_PARENT, MC_OPTION_PARENT_COMPONENT, MC_SANITY_CHECKS, MC_SELECT_SCROLL_STRATEGY, MC_SELECT_SCROLL_STRATEGY_PROVIDER, MC_TITLE_TEXT_REF, MC_VALIDATION, McCommonModule, McDecimalPipe, McForm, McFormElement, McFormattersModule, McFormsModule, McHighlightModule, McHighlightPipe, McLine, McLineModule, McLineSetter, McLocaleService, McLocaleServiceModule, McMeasureScrollbarService, McOptgroup, McOptgroupBase, McOptgroupMixinBase, McOption, McOptionActionBase, McOptionActionComponent, McOptionActionMixinBase, McOptionModule, McOptionSelectionChange, McPopUp, McPopUpTrigger, McPseudoCheckbox, McPseudoCheckboxBase, McPseudoCheckboxMixinBase, McPseudoCheckboxModule, MultipleMode, NUMBER_FORMAT_REGEXP, POSITION_MAP, POSITION_PRIORITY_STRATEGY, POSITION_TO_CSS_MAP, PopUpPlacements, PopUpSizes, PopUpTriggers, PopUpVisibility, RIGHT_BOTTOM_POSITION_PRIORITY, RIGHT_POSITION_PRIORITY, RIGHT_TOP_POSITION_PRIORITY, RangeDateFormatterPipe, RangeDateTimeFormatterPipe, RangeMiddleDateTimeFormatterPipe, RangeShortDateFormatterPipe, RangeShortDateTimeFormatterPipe, RelativeDateFormatterPipe, RelativeDateTimeFormatterPipe, RelativeShortDateFormatterPipe, RelativeShortDateTimeFormatterPipe, SELECT_PANEL_INDENT_PADDING_X, SELECT_PANEL_MAX_HEIGHT, SELECT_PANEL_PADDING_X, SELECT_PANEL_VIEWPORT_PADDING, ShowOnDirtyErrorStateMatcher, TOP_LEFT_POSITION_PRIORITY, TOP_POSITION_PRIORITY, TOP_RIGHT_POSITION_PRIORITY, ThemePalette, VERSION, countGroupLabelsBeforeOption, escapeRegExp, fadeAnimation, getMcSelectDynamicMultipleError, getMcSelectNonArrayValueError, getMcSelectNonFunctionValueError, getOptionScrollPosition, isBoolean, mcSelectAnimations, mcSelectScrollStrategyProviderFactory, mixinColor, mixinDisabled, mixinErrorState, mixinTabIndex, selectEvents, toBoolean, validationTooltipHideDelay, validationTooltipShowDelay };
|
2312
|
+
export { AbsoluteDateFormatterPipe, AbsoluteDateShortFormatterPipe, AbsoluteDateTimeFormatterPipe, AbsoluteShortDateTimeFormatterPipe, AnimationCurves, BOTTOM_LEFT_POSITION_PRIORITY, BOTTOM_POSITION_PRIORITY, BOTTOM_RIGHT_POSITION_PRIORITY, DateAdapter, DateFormatter, EXTENDED_OVERLAY_POSITIONS, ErrorStateMatcher, LEFT_BOTTOM_POSITION_PRIORITY, LEFT_POSITION_PRIORITY, LEFT_TOP_POSITION_PRIORITY, MC_DATE_FORMATS, MC_DATE_LOCALE, MC_DATE_LOCALE_FACTORY, MC_DEFAULT_LOCALE_DATA_FACTORY, MC_DEFAULT_LOCALE_ID, MC_LABEL_GLOBAL_OPTIONS, MC_LOCALE_DATA, MC_LOCALE_ID, MC_LOCALE_SERVICE, MC_NUMBER_FORMATTER_DEFAULT_OPTIONS, MC_NUMBER_FORMATTER_OPTIONS, MC_OPTION_ACTION_PARENT, MC_OPTION_PARENT_COMPONENT, MC_SANITY_CHECKS, MC_SELECT_SCROLL_STRATEGY, MC_SELECT_SCROLL_STRATEGY_PROVIDER, MC_TITLE_TEXT_REF, MC_VALIDATION, McCommonModule, McDataSizeModule, McDataSizePipe, McDecimalPipe, McForm, McFormElement, McFormattersModule, McFormsModule, McHighlightModule, McHighlightPipe, McLine, McLineModule, McLineSetter, McLocaleService, McLocaleServiceModule, McMeasureScrollbarService, McOptgroup, McOptgroupBase, McOptgroupMixinBase, McOption, McOptionActionBase, McOptionActionComponent, McOptionActionMixinBase, McOptionModule, McOptionSelectionChange, McPopUp, McPopUpTrigger, McPseudoCheckbox, McPseudoCheckboxBase, McPseudoCheckboxMixinBase, McPseudoCheckboxModule, MeasurementSystem, MultipleMode, NUMBER_FORMAT_REGEXP, POSITION_MAP, POSITION_PRIORITY_STRATEGY, POSITION_TO_CSS_MAP, PopUpPlacements, PopUpSizes, PopUpTriggers, PopUpVisibility, RIGHT_BOTTOM_POSITION_PRIORITY, RIGHT_POSITION_PRIORITY, RIGHT_TOP_POSITION_PRIORITY, RangeDateFormatterPipe, RangeDateTimeFormatterPipe, RangeMiddleDateTimeFormatterPipe, RangeShortDateFormatterPipe, RangeShortDateTimeFormatterPipe, RelativeDateFormatterPipe, RelativeDateTimeFormatterPipe, RelativeShortDateFormatterPipe, RelativeShortDateTimeFormatterPipe, SELECT_PANEL_INDENT_PADDING_X, SELECT_PANEL_MAX_HEIGHT, SELECT_PANEL_PADDING_X, SELECT_PANEL_VIEWPORT_PADDING, ShowOnDirtyErrorStateMatcher, TOP_LEFT_POSITION_PRIORITY, TOP_POSITION_PRIORITY, TOP_RIGHT_POSITION_PRIORITY, ThemePalette, VERSION, countGroupLabelsBeforeOption, escapeRegExp, fadeAnimation, formatDataSize, getHumanizedBytes, getMcSelectDynamicMultipleError, getMcSelectNonArrayValueError, getMcSelectNonFunctionValueError, getOptionScrollPosition, isBoolean, mcSelectAnimations, mcSelectScrollStrategyProviderFactory, mixinColor, mixinDisabled, mixinErrorState, mixinTabIndex, selectEvents, sizeUnitsConfig, toBoolean, validationTooltipHideDelay, validationTooltipShowDelay };
|
2214
2313
|
//# sourceMappingURL=ptsecurity-mosaic-core.mjs.map
|