@danske/sapphire-angular 2.2.0 → 2.3.0
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/esm2020/lib/radio/public_api.mjs +3 -1
- package/esm2020/lib/radio/src/radio-group.component.mjs +22 -159
- package/esm2020/lib/radio/src/radio.component.mjs +8 -267
- package/esm2020/lib/radio/src/radio.module.mjs +40 -6
- package/esm2020/lib/radio/src/segmented/segmented-radio-group.component.mjs +130 -0
- package/esm2020/lib/radio/src/segmented/segmented-radio.component.mjs +25 -0
- package/esm2020/lib/radio/src/shared/radio-base.mjs +276 -0
- package/esm2020/lib/radio/src/shared/radio-group-base.mjs +166 -0
- package/esm2020/lib/segmented-tabs/src/segmented-tabs.component.mjs +19 -12
- package/esm2020/lib/table/public_api.mjs +2 -1
- package/esm2020/lib/table/src/cdk-virtual-scroll-viewport-fix.directive.mjs +61 -0
- package/esm2020/lib/table/src/table.module.mjs +7 -2
- package/fesm2015/danske-sapphire-angular.mjs +358 -77
- package/fesm2015/danske-sapphire-angular.mjs.map +1 -1
- package/fesm2020/danske-sapphire-angular.mjs +354 -76
- package/fesm2020/danske-sapphire-angular.mjs.map +1 -1
- package/lib/radio/public_api.d.ts +2 -0
- package/lib/radio/src/radio-group.component.d.ts +5 -60
- package/lib/radio/src/radio.component.d.ts +4 -96
- package/lib/radio/src/radio.module.d.ts +8 -5
- package/lib/radio/src/segmented/segmented-radio-group.component.d.ts +40 -0
- package/lib/radio/src/segmented/segmented-radio.component.d.ts +8 -0
- package/lib/radio/src/shared/radio-base.d.ts +103 -0
- package/lib/radio/src/shared/radio-group-base.d.ts +63 -0
- package/lib/segmented-tabs/src/segmented-tabs.component.d.ts +3 -2
- package/lib/table/public_api.d.ts +1 -0
- package/lib/table/src/cdk-virtual-scroll-viewport-fix.directive.d.ts +25 -0
- package/lib/table/src/table.module.d.ts +3 -2
- package/package.json +2 -2
|
@@ -25,8 +25,9 @@ import { Subject, merge, combineLatest, empty, fromEvent } from 'rxjs';
|
|
|
25
25
|
import { takeUntil, startWith, map } from 'rxjs/operators';
|
|
26
26
|
import * as i1$4 from '@angular/cdk/listbox';
|
|
27
27
|
import { CdkListbox, CdkOption, CdkListboxModule } from '@angular/cdk/listbox';
|
|
28
|
+
import * as i1$5 from '@angular/cdk/scrolling';
|
|
28
29
|
export { tokens } from '@danske/sapphire-css/themes';
|
|
29
|
-
import * as i1$
|
|
30
|
+
import * as i1$6 from '@angular/cdk/dialog';
|
|
30
31
|
import { CdkDialogContainer, DialogModule } from '@angular/cdk/dialog';
|
|
31
32
|
|
|
32
33
|
/**
|
|
@@ -1189,7 +1190,11 @@ const _RadioMixinBase = mixinTabIndex(mixinDisabled(class {
|
|
|
1189
1190
|
this._elementRef = _elementRef;
|
|
1190
1191
|
}
|
|
1191
1192
|
}));
|
|
1192
|
-
|
|
1193
|
+
/**
|
|
1194
|
+
* @Directive decorator is just to be able to have a constructor with DI.
|
|
1195
|
+
* This class is being extended by other components.
|
|
1196
|
+
**/
|
|
1197
|
+
class RadioBase extends _RadioMixinBase {
|
|
1193
1198
|
_getAriaChecked() {
|
|
1194
1199
|
return this.checked ? 'true' : 'false';
|
|
1195
1200
|
}
|
|
@@ -1262,6 +1267,7 @@ class RadioComponent extends _RadioMixinBase {
|
|
|
1262
1267
|
constructor(radioGroup, elementRef, tabIndex, _focusMonitor, _radioDispatcher) {
|
|
1263
1268
|
super(elementRef);
|
|
1264
1269
|
this.radioGroup = radioGroup;
|
|
1270
|
+
this.elementRef = elementRef;
|
|
1265
1271
|
this._focusMonitor = _focusMonitor;
|
|
1266
1272
|
this._radioDispatcher = _radioDispatcher;
|
|
1267
1273
|
/**
|
|
@@ -1388,22 +1394,16 @@ class RadioComponent extends _RadioMixinBase {
|
|
|
1388
1394
|
}
|
|
1389
1395
|
}
|
|
1390
1396
|
}
|
|
1391
|
-
|
|
1392
|
-
|
|
1397
|
+
RadioBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: RadioBase, deps: [{ token: RadioGroupBase, optional: true }, { token: i0.ElementRef }, { token: 'tabindex', attribute: true }, { token: i2$2.FocusMonitor }, { token: i3.UniqueSelectionDispatcher }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1398
|
+
RadioBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: RadioBase, inputs: { ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], ariaDescribedby: ["aria-describedby", "ariaDescribedby"], name: "name", autofocus: "autofocus", id: "id", value: "value", checked: "checked", disabled: "disabled", readonly: "readonly", required: "required" }, outputs: { change: "change" }, host: { properties: { "id": "this.id" } }, viewQueries: [{ propertyName: "_inputElement", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0 });
|
|
1393
1399
|
__decorate([
|
|
1394
1400
|
AutoId()
|
|
1395
|
-
],
|
|
1396
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type:
|
|
1397
|
-
type:
|
|
1398
|
-
args: [{
|
|
1399
|
-
'[attr.id]': 'id',
|
|
1400
|
-
'[attr.tabindex]': 'null',
|
|
1401
|
-
'[attr.aria-label]': 'null',
|
|
1402
|
-
'[attr.aria-labelledby]': 'null',
|
|
1403
|
-
'[attr.aria-describedby]': 'null',
|
|
1404
|
-
}, template: "<label\n [for]=\"inputId\"\n class=\"sapphire-radio\"\n [class.sapphire-radio--no-disabled]=\"radioGroup?.disabled\"\n [class.sapphire-radio--checked]=\"checked\"\n [class.sapphire-radio--md]=\"radioGroup?._field?.size === 'md'\"\n>\n <input\n #input\n class=\"sapphire-radio__input\"\n type=\"radio\"\n [id]=\"inputId\"\n [attr.aria-checked]=\"_getAriaChecked()\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n (change)=\"_onInputInteraction($event)\"\n [attr.autofocus]=\"autofocus ? true : null\"\n />\n <span class=\"sapphire-radio__box\"></span>\n <span class=\"sapphire-radio__label\">\n <ng-content></ng-content>\n </span>\n</label>\n", styles: [".sapphire-radio{display:inline-flex;font-family:var(--sapphire-semantic-font-name-default);max-width:100%;position:relative}.sapphire-radio__input{margin:0;overflow:visible;position:absolute;top:0;left:0;height:100%;width:100%;opacity:.0001;z-index:1;cursor:pointer}.sapphire-radio__label{margin-left:var(--sapphire-semantic-size-spacing-20);font-size:var(--sapphire-semantic-size-font-control-default);line-height:var(--sapphire-semantic-size-height-control-xs);color:var(--sapphire-semantic-color-content-default-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-radio--md .sapphire-radio__label{font-size:var(--sapphire-semantic-size-font-control-md);line-height:var(--sapphire-semantic-size-height-control-2xs)}.sapphire-radio__box{box-sizing:border-box;background-color:var(--sapphire-semantic-color-background-control-default);width:var(--sapphire-semantic-size-height-box-lg);height:var(--sapphire-semantic-size-height-box-lg);flex-shrink:0;border-radius:50%;border:var(--sapphire-semantic-size-border-md) solid var(--sapphire-semantic-color-border-control-default);position:relative;margin-top:var(--sapphire-semantic-size-spacing-5);transition-property:background-color,border-color,border-width;transition-duration:var(--sapphire-semantic-time-fade-quick);transition-timing-function:ease-in-out}.sapphire-radio--md .sapphire-radio__box{width:var(--sapphire-semantic-size-height-box-md);height:var(--sapphire-semantic-size-height-box-md)}.sapphire-radio--checked .sapphire-radio__box{border-color:var(--sapphire-semantic-color-background-action-primary-default);border-width:calc((var(--sapphire-semantic-size-height-box-lg) - var(--sapphire-global-size-generic-20)) / 2)}.sapphire-radio--md.sapphire-radio--checked .sapphire-radio__box{border-width:calc((var(--sapphire-semantic-size-height-box-md) - var(--sapphire-global-size-generic-15)) / 2)}.sapphire-radio--checked .sapphire-radio__box:after{display:block}.sapphire-radio:not(:active):not(.is-active):not(.sapphire-radio--checked).is-hover .sapphire-radio__box,.sapphire-radio:not(:active):not(.is-active):not(.sapphire-radio--checked):not(.js-hover):hover .sapphire-radio__input:not(:disabled)~.sapphire-radio__box{border-color:var(--sapphire-semantic-color-border-control-hover)}.sapphire-radio--checked:not(:active):not(.is-active).is-hover .sapphire-radio__box,.sapphire-radio--checked:not(:active):not(.is-active):not(.js-hover):hover .sapphire-radio__input:not(:disabled)~.sapphire-radio__box{border-color:var(--sapphire-semantic-color-background-action-primary-hover)}.sapphire-radio.is-focus .sapphire-radio__input~.sapphire-radio__box,.sapphire-radio:not(.js-focus) .sapphire-radio__input:focus-visible~.sapphire-radio__box{outline:var(--sapphire-semantic-size-focus-ring) solid var(--sapphire-semantic-color-focus-ring);outline-offset:var(--sapphire-semantic-size-focus-ring)}.sapphire-radio__input:disabled{cursor:not-allowed}.sapphire-radio:not(.sapphire-radio--no-disabled) .sapphire-radio__input:disabled~.sapphire-radio__box,.sapphire-radio:not(.sapphire-radio--no-disabled) .sapphire-radio__input:disabled~.sapphire-radio__label{opacity:var(--sapphire-semantic-opacity-disabled)}\n"] }]
|
|
1401
|
+
], RadioBase.prototype, "id", void 0);
|
|
1402
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: RadioBase, decorators: [{
|
|
1403
|
+
type: Directive,
|
|
1404
|
+
args: [{}]
|
|
1405
1405
|
}], ctorParameters: function () {
|
|
1406
|
-
return [{ type:
|
|
1406
|
+
return [{ type: RadioGroupBase, decorators: [{
|
|
1407
1407
|
type: Optional
|
|
1408
1408
|
}] }, { type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
1409
1409
|
type: Attribute,
|
|
@@ -1443,7 +1443,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
1443
1443
|
type: Output
|
|
1444
1444
|
}] } });
|
|
1445
1445
|
|
|
1446
|
-
class
|
|
1446
|
+
class RadioComponent extends RadioBase {
|
|
1447
|
+
}
|
|
1448
|
+
RadioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: RadioComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1449
|
+
RadioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: RadioComponent, selector: "sp-radio", inputs: { tabIndex: "tabIndex" }, host: { properties: { "attr.id": "id", "attr.tabindex": "null", "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.aria-describedby": "null" } }, usesInheritance: true, hostDirectives: [{ directive: ThemeCheckDirective }], ngImport: i0, template: "<label\n [for]=\"inputId\"\n class=\"sapphire-radio\"\n [class.sapphire-radio--no-disabled]=\"radioGroup?.disabled\"\n [class.sapphire-radio--checked]=\"checked\"\n [class.sapphire-radio--md]=\"radioGroup?._field?.size === 'md'\"\n>\n <input\n #input\n class=\"sapphire-radio__input\"\n type=\"radio\"\n [id]=\"inputId\"\n [attr.aria-checked]=\"_getAriaChecked()\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n (change)=\"_onInputInteraction($event)\"\n [attr.autofocus]=\"autofocus ? true : null\"\n />\n <span class=\"sapphire-radio__box\"></span>\n <span class=\"sapphire-radio__label\">\n <ng-content></ng-content>\n </span>\n</label>\n", styles: [".sapphire-radio{display:inline-flex;font-family:var(--sapphire-semantic-font-name-default);max-width:100%;position:relative}.sapphire-radio__input{margin:0;overflow:visible;position:absolute;top:0;left:0;height:100%;width:100%;opacity:.0001;z-index:1;cursor:pointer}.sapphire-radio__label{margin-left:var(--sapphire-semantic-size-spacing-20);font-size:var(--sapphire-semantic-size-font-control-default);line-height:var(--sapphire-semantic-size-height-control-xs);color:var(--sapphire-semantic-color-content-default-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-radio--md .sapphire-radio__label{font-size:var(--sapphire-semantic-size-font-control-md);line-height:var(--sapphire-semantic-size-height-control-2xs)}.sapphire-radio__box{box-sizing:border-box;background-color:var(--sapphire-semantic-color-background-control-default);width:var(--sapphire-semantic-size-height-box-lg);height:var(--sapphire-semantic-size-height-box-lg);flex-shrink:0;border-radius:50%;border:var(--sapphire-semantic-size-border-md) solid var(--sapphire-semantic-color-border-control-default);position:relative;margin-top:var(--sapphire-semantic-size-spacing-5);transition-property:background-color,border-color,border-width;transition-duration:var(--sapphire-semantic-time-fade-quick);transition-timing-function:ease-in-out}.sapphire-radio--md .sapphire-radio__box{width:var(--sapphire-semantic-size-height-box-md);height:var(--sapphire-semantic-size-height-box-md)}.sapphire-radio--checked .sapphire-radio__box{border-color:var(--sapphire-semantic-color-background-action-primary-default);border-width:calc((var(--sapphire-semantic-size-height-box-lg) - var(--sapphire-global-size-generic-20)) / 2)}.sapphire-radio--md.sapphire-radio--checked .sapphire-radio__box{border-width:calc((var(--sapphire-semantic-size-height-box-md) - var(--sapphire-global-size-generic-15)) / 2)}.sapphire-radio--checked .sapphire-radio__box:after{display:block}.sapphire-radio:not(:active):not(.is-active):not(.sapphire-radio--checked).is-hover .sapphire-radio__box,.sapphire-radio:not(:active):not(.is-active):not(.sapphire-radio--checked):not(.js-hover):hover .sapphire-radio__input:not(:disabled)~.sapphire-radio__box{border-color:var(--sapphire-semantic-color-border-control-hover)}.sapphire-radio--checked:not(:active):not(.is-active).is-hover .sapphire-radio__box,.sapphire-radio--checked:not(:active):not(.is-active):not(.js-hover):hover .sapphire-radio__input:not(:disabled)~.sapphire-radio__box{border-color:var(--sapphire-semantic-color-background-action-primary-hover)}.sapphire-radio.is-focus .sapphire-radio__input~.sapphire-radio__box,.sapphire-radio:not(.js-focus) .sapphire-radio__input:focus-visible~.sapphire-radio__box{outline:var(--sapphire-semantic-size-focus-ring) solid var(--sapphire-semantic-color-focus-ring);outline-offset:var(--sapphire-semantic-size-focus-ring)}.sapphire-radio__input:disabled{cursor:not-allowed}.sapphire-radio:not(.sapphire-radio--no-disabled) .sapphire-radio__input:disabled~.sapphire-radio__box,.sapphire-radio:not(.sapphire-radio--no-disabled) .sapphire-radio__input:disabled~.sapphire-radio__label{opacity:var(--sapphire-semantic-opacity-disabled)}\n"], changeDetection: i0.ChangeDetectionStrategy.Default });
|
|
1450
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: RadioComponent, decorators: [{
|
|
1451
|
+
type: Component,
|
|
1452
|
+
args: [{ selector: 'sp-radio', changeDetection: ChangeDetectionStrategy.Default, hostDirectives: [ThemeCheckDirective], inputs: ['tabIndex'], host: {
|
|
1453
|
+
'[attr.id]': 'id',
|
|
1454
|
+
'[attr.tabindex]': 'null',
|
|
1455
|
+
'[attr.aria-label]': 'null',
|
|
1456
|
+
'[attr.aria-labelledby]': 'null',
|
|
1457
|
+
'[attr.aria-describedby]': 'null',
|
|
1458
|
+
}, template: "<label\n [for]=\"inputId\"\n class=\"sapphire-radio\"\n [class.sapphire-radio--no-disabled]=\"radioGroup?.disabled\"\n [class.sapphire-radio--checked]=\"checked\"\n [class.sapphire-radio--md]=\"radioGroup?._field?.size === 'md'\"\n>\n <input\n #input\n class=\"sapphire-radio__input\"\n type=\"radio\"\n [id]=\"inputId\"\n [attr.aria-checked]=\"_getAriaChecked()\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n (change)=\"_onInputInteraction($event)\"\n [attr.autofocus]=\"autofocus ? true : null\"\n />\n <span class=\"sapphire-radio__box\"></span>\n <span class=\"sapphire-radio__label\">\n <ng-content></ng-content>\n </span>\n</label>\n", styles: [".sapphire-radio{display:inline-flex;font-family:var(--sapphire-semantic-font-name-default);max-width:100%;position:relative}.sapphire-radio__input{margin:0;overflow:visible;position:absolute;top:0;left:0;height:100%;width:100%;opacity:.0001;z-index:1;cursor:pointer}.sapphire-radio__label{margin-left:var(--sapphire-semantic-size-spacing-20);font-size:var(--sapphire-semantic-size-font-control-default);line-height:var(--sapphire-semantic-size-height-control-xs);color:var(--sapphire-semantic-color-content-default-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-radio--md .sapphire-radio__label{font-size:var(--sapphire-semantic-size-font-control-md);line-height:var(--sapphire-semantic-size-height-control-2xs)}.sapphire-radio__box{box-sizing:border-box;background-color:var(--sapphire-semantic-color-background-control-default);width:var(--sapphire-semantic-size-height-box-lg);height:var(--sapphire-semantic-size-height-box-lg);flex-shrink:0;border-radius:50%;border:var(--sapphire-semantic-size-border-md) solid var(--sapphire-semantic-color-border-control-default);position:relative;margin-top:var(--sapphire-semantic-size-spacing-5);transition-property:background-color,border-color,border-width;transition-duration:var(--sapphire-semantic-time-fade-quick);transition-timing-function:ease-in-out}.sapphire-radio--md .sapphire-radio__box{width:var(--sapphire-semantic-size-height-box-md);height:var(--sapphire-semantic-size-height-box-md)}.sapphire-radio--checked .sapphire-radio__box{border-color:var(--sapphire-semantic-color-background-action-primary-default);border-width:calc((var(--sapphire-semantic-size-height-box-lg) - var(--sapphire-global-size-generic-20)) / 2)}.sapphire-radio--md.sapphire-radio--checked .sapphire-radio__box{border-width:calc((var(--sapphire-semantic-size-height-box-md) - var(--sapphire-global-size-generic-15)) / 2)}.sapphire-radio--checked .sapphire-radio__box:after{display:block}.sapphire-radio:not(:active):not(.is-active):not(.sapphire-radio--checked).is-hover .sapphire-radio__box,.sapphire-radio:not(:active):not(.is-active):not(.sapphire-radio--checked):not(.js-hover):hover .sapphire-radio__input:not(:disabled)~.sapphire-radio__box{border-color:var(--sapphire-semantic-color-border-control-hover)}.sapphire-radio--checked:not(:active):not(.is-active).is-hover .sapphire-radio__box,.sapphire-radio--checked:not(:active):not(.is-active):not(.js-hover):hover .sapphire-radio__input:not(:disabled)~.sapphire-radio__box{border-color:var(--sapphire-semantic-color-background-action-primary-hover)}.sapphire-radio.is-focus .sapphire-radio__input~.sapphire-radio__box,.sapphire-radio:not(.js-focus) .sapphire-radio__input:focus-visible~.sapphire-radio__box{outline:var(--sapphire-semantic-size-focus-ring) solid var(--sapphire-semantic-color-focus-ring);outline-offset:var(--sapphire-semantic-size-focus-ring)}.sapphire-radio__input:disabled{cursor:not-allowed}.sapphire-radio:not(.sapphire-radio--no-disabled) .sapphire-radio__input:disabled~.sapphire-radio__box,.sapphire-radio:not(.sapphire-radio--no-disabled) .sapphire-radio__input:disabled~.sapphire-radio__label{opacity:var(--sapphire-semantic-opacity-disabled)}\n"] }]
|
|
1459
|
+
}] });
|
|
1460
|
+
|
|
1461
|
+
class RadioGroupBase {
|
|
1447
1462
|
/** Name of the radio button group. All radio buttons inside this group will use this name. */
|
|
1448
1463
|
get name() {
|
|
1449
1464
|
return this._name;
|
|
@@ -1546,11 +1561,6 @@ class RadioGroupComponent {
|
|
|
1546
1561
|
isDisabled() {
|
|
1547
1562
|
return this.disabled;
|
|
1548
1563
|
}
|
|
1549
|
-
_contentFocusChanged(focusOrigin) {
|
|
1550
|
-
if (!focusOrigin) {
|
|
1551
|
-
this.onTouched();
|
|
1552
|
-
}
|
|
1553
|
-
}
|
|
1554
1564
|
/** Updates the `selected` radio button from the internal _value state. */
|
|
1555
1565
|
updateSelectedRadioFromValue() {
|
|
1556
1566
|
// If the value already matches the selected radio, do nothing.
|
|
@@ -1573,36 +1583,16 @@ class RadioGroupComponent {
|
|
|
1573
1583
|
}
|
|
1574
1584
|
}
|
|
1575
1585
|
}
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
{
|
|
1579
|
-
provide: NG_VALUE_ACCESSOR,
|
|
1580
|
-
useExisting: forwardRef(() => RadioGroupComponent),
|
|
1581
|
-
multi: true,
|
|
1582
|
-
},
|
|
1583
|
-
{
|
|
1584
|
-
provide: FieldControl,
|
|
1585
|
-
useExisting: forwardRef(() => RadioGroupComponent),
|
|
1586
|
-
},
|
|
1587
|
-
], queries: [{ propertyName: "radios", predicate: i0.forwardRef(function () { return RadioComponent; }), descendants: true }], hostDirectives: [{ directive: ThemeCheckDirective }], ngImport: i0, template: "<div\n class=\"sapphire-field-group\"\n role=\"radiogroup\"\n [attr.aria-orientation]=\"orientation\"\n [attr.aria-labelledby]=\"_field?.label?.id\"\n [class.sapphire-field-group--vertical]=\"orientation === 'vertical'\"\n [class.sapphire-field-group--horizontal]=\"orientation === 'horizontal'\"\n [class.sapphire-field-group--md]=\"_field?.size === 'md'\"\n (cdkFocusChange)=\"_contentFocusChanged($event)\"\n cdkMonitorSubtreeFocus\n>\n <ng-content></ng-content>\n</div>\n", styles: [".sapphire-field-group{display:flex;flex-wrap:wrap;column-gap:var(--sapphire-semantic-size-spacing-50);row-gap:var(--sapphire-semantic-size-spacing-30)}.sapphire-field-group--horizontal{flex-direction:row}.sapphire-field-group--vertical{flex-direction:column}.sapphire-field-group--md{row-gap:var(--sapphire-semantic-size-spacing-20)}\n"], dependencies: [{ kind: "directive", type: i2$2.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
|
|
1586
|
+
RadioGroupBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: RadioGroupBase, deps: [{ token: i0.ChangeDetectorRef }, { token: FieldComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1587
|
+
RadioGroupBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: RadioGroupBase, isStandalone: true, inputs: { orientation: "orientation", name: "name", value: "value", selected: "selected", disabled: "disabled", readonly: "readonly", required: "required" }, outputs: { change: "change" }, queries: [{ propertyName: "radios", predicate: i0.forwardRef(function () { return RadioComponent; }), descendants: true }], ngImport: i0 });
|
|
1588
1588
|
__decorate([
|
|
1589
1589
|
AutoId()
|
|
1590
|
-
],
|
|
1591
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type:
|
|
1592
|
-
type:
|
|
1593
|
-
args: [{
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
useExisting: forwardRef(() => RadioGroupComponent),
|
|
1597
|
-
multi: true,
|
|
1598
|
-
},
|
|
1599
|
-
{
|
|
1600
|
-
provide: FieldControl,
|
|
1601
|
-
useExisting: forwardRef(() => RadioGroupComponent),
|
|
1602
|
-
},
|
|
1603
|
-
], host: {
|
|
1604
|
-
role: 'radiogroup',
|
|
1605
|
-
}, hostDirectives: [ThemeCheckDirective], template: "<div\n class=\"sapphire-field-group\"\n role=\"radiogroup\"\n [attr.aria-orientation]=\"orientation\"\n [attr.aria-labelledby]=\"_field?.label?.id\"\n [class.sapphire-field-group--vertical]=\"orientation === 'vertical'\"\n [class.sapphire-field-group--horizontal]=\"orientation === 'horizontal'\"\n [class.sapphire-field-group--md]=\"_field?.size === 'md'\"\n (cdkFocusChange)=\"_contentFocusChanged($event)\"\n cdkMonitorSubtreeFocus\n>\n <ng-content></ng-content>\n</div>\n", styles: [".sapphire-field-group{display:flex;flex-wrap:wrap;column-gap:var(--sapphire-semantic-size-spacing-50);row-gap:var(--sapphire-semantic-size-spacing-30)}.sapphire-field-group--horizontal{flex-direction:row}.sapphire-field-group--vertical{flex-direction:column}.sapphire-field-group--md{row-gap:var(--sapphire-semantic-size-spacing-20)}\n"] }]
|
|
1590
|
+
], RadioGroupBase.prototype, "uniqueId", void 0);
|
|
1591
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: RadioGroupBase, decorators: [{
|
|
1592
|
+
type: Directive,
|
|
1593
|
+
args: [{
|
|
1594
|
+
standalone: true,
|
|
1595
|
+
}]
|
|
1606
1596
|
}], ctorParameters: function () {
|
|
1607
1597
|
return [{ type: i0.ChangeDetectorRef }, { type: FieldComponent, decorators: [{
|
|
1608
1598
|
type: Optional
|
|
@@ -1628,6 +1618,56 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
1628
1618
|
args: [forwardRef(() => RadioComponent), { descendants: true }]
|
|
1629
1619
|
}] } });
|
|
1630
1620
|
|
|
1621
|
+
class RadioGroupComponent extends RadioGroupBase {
|
|
1622
|
+
constructor() {
|
|
1623
|
+
super(...arguments);
|
|
1624
|
+
this.orientation = 'vertical';
|
|
1625
|
+
}
|
|
1626
|
+
_onFocusChange(focusOrigin) {
|
|
1627
|
+
if (!focusOrigin) {
|
|
1628
|
+
this.onTouched();
|
|
1629
|
+
}
|
|
1630
|
+
}
|
|
1631
|
+
}
|
|
1632
|
+
RadioGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: RadioGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1633
|
+
RadioGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: RadioGroupComponent, selector: "sp-radio-group", inputs: { orientation: "orientation" }, host: { attributes: { "role": "radiogroup" } }, providers: [
|
|
1634
|
+
{
|
|
1635
|
+
provide: NG_VALUE_ACCESSOR,
|
|
1636
|
+
useExisting: forwardRef(() => RadioGroupComponent),
|
|
1637
|
+
multi: true,
|
|
1638
|
+
},
|
|
1639
|
+
{
|
|
1640
|
+
provide: FieldControl,
|
|
1641
|
+
useExisting: forwardRef(() => RadioGroupComponent),
|
|
1642
|
+
},
|
|
1643
|
+
{
|
|
1644
|
+
provide: RadioGroupBase,
|
|
1645
|
+
useExisting: forwardRef(() => RadioGroupComponent),
|
|
1646
|
+
},
|
|
1647
|
+
], usesInheritance: true, hostDirectives: [{ directive: ThemeCheckDirective }], ngImport: i0, template: "<div\n class=\"sapphire-field-group\"\n role=\"radiogroup\"\n [attr.aria-orientation]=\"orientation\"\n [attr.aria-labelledby]=\"_field?.label?.id\"\n [class.sapphire-field-group--vertical]=\"orientation === 'vertical'\"\n [class.sapphire-field-group--horizontal]=\"orientation === 'horizontal'\"\n [class.sapphire-field-group--md]=\"_field?.size === 'md'\"\n (cdkFocusChange)=\"_onFocusChange($event)\"\n cdkMonitorSubtreeFocus\n>\n <ng-content></ng-content>\n</div>\n", styles: [".sapphire-field-group{display:flex;flex-wrap:wrap;column-gap:var(--sapphire-semantic-size-spacing-50);row-gap:var(--sapphire-semantic-size-spacing-30)}.sapphire-field-group--horizontal{flex-direction:row}.sapphire-field-group--vertical{flex-direction:column}.sapphire-field-group--md{row-gap:var(--sapphire-semantic-size-spacing-20)}\n"], dependencies: [{ kind: "directive", type: i2$2.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
|
|
1648
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: RadioGroupComponent, decorators: [{
|
|
1649
|
+
type: Component,
|
|
1650
|
+
args: [{ selector: 'sp-radio-group', changeDetection: ChangeDetectionStrategy.Default, providers: [
|
|
1651
|
+
{
|
|
1652
|
+
provide: NG_VALUE_ACCESSOR,
|
|
1653
|
+
useExisting: forwardRef(() => RadioGroupComponent),
|
|
1654
|
+
multi: true,
|
|
1655
|
+
},
|
|
1656
|
+
{
|
|
1657
|
+
provide: FieldControl,
|
|
1658
|
+
useExisting: forwardRef(() => RadioGroupComponent),
|
|
1659
|
+
},
|
|
1660
|
+
{
|
|
1661
|
+
provide: RadioGroupBase,
|
|
1662
|
+
useExisting: forwardRef(() => RadioGroupComponent),
|
|
1663
|
+
},
|
|
1664
|
+
], host: {
|
|
1665
|
+
role: 'radiogroup',
|
|
1666
|
+
}, hostDirectives: [ThemeCheckDirective], template: "<div\n class=\"sapphire-field-group\"\n role=\"radiogroup\"\n [attr.aria-orientation]=\"orientation\"\n [attr.aria-labelledby]=\"_field?.label?.id\"\n [class.sapphire-field-group--vertical]=\"orientation === 'vertical'\"\n [class.sapphire-field-group--horizontal]=\"orientation === 'horizontal'\"\n [class.sapphire-field-group--md]=\"_field?.size === 'md'\"\n (cdkFocusChange)=\"_onFocusChange($event)\"\n cdkMonitorSubtreeFocus\n>\n <ng-content></ng-content>\n</div>\n", styles: [".sapphire-field-group{display:flex;flex-wrap:wrap;column-gap:var(--sapphire-semantic-size-spacing-50);row-gap:var(--sapphire-semantic-size-spacing-30)}.sapphire-field-group--horizontal{flex-direction:row}.sapphire-field-group--vertical{flex-direction:column}.sapphire-field-group--md{row-gap:var(--sapphire-semantic-size-spacing-20)}\n"] }]
|
|
1667
|
+
}], propDecorators: { orientation: [{
|
|
1668
|
+
type: Input
|
|
1669
|
+
}] } });
|
|
1670
|
+
|
|
1631
1671
|
/**
|
|
1632
1672
|
* A field is a common container for labelable controls such as select, radio group, text field,
|
|
1633
1673
|
* etc.
|
|
@@ -5442,7 +5482,7 @@ class SegmentedTabsComponent {
|
|
|
5442
5482
|
this.selectedIndexChange = new EventEmitter();
|
|
5443
5483
|
this.tabs = new QueryList();
|
|
5444
5484
|
this._tabIds = [];
|
|
5445
|
-
this.
|
|
5485
|
+
this._gliderStyles = { left: '0px', width: '0px' };
|
|
5446
5486
|
this._animationEnabled = false;
|
|
5447
5487
|
this._focusVisible = false;
|
|
5448
5488
|
this.skipAnimationFrame();
|
|
@@ -5464,17 +5504,17 @@ class SegmentedTabsComponent {
|
|
|
5464
5504
|
// changed after it was checked" angular error.
|
|
5465
5505
|
//
|
|
5466
5506
|
// https://angular.io/errors/NG0100
|
|
5467
|
-
this.
|
|
5507
|
+
this.setGliderStyles();
|
|
5468
5508
|
this.changeDetector.detectChanges();
|
|
5469
5509
|
this.resizeObserver = new ResizeObserver(() => {
|
|
5470
5510
|
// zonejs doesn't monkey-patch resize observer (yet)
|
|
5471
5511
|
this.zone.run(() => {
|
|
5472
|
-
this.
|
|
5512
|
+
this.setGliderStyles();
|
|
5473
5513
|
});
|
|
5474
5514
|
});
|
|
5475
5515
|
this.resizeObserver.observe(this.segmentedControl.nativeElement);
|
|
5476
5516
|
this.selectedIndexChange.subscribe(() => {
|
|
5477
|
-
this.
|
|
5517
|
+
this.setGliderStyles();
|
|
5478
5518
|
});
|
|
5479
5519
|
}
|
|
5480
5520
|
ngOnDestroy() {
|
|
@@ -5483,7 +5523,7 @@ class SegmentedTabsComponent {
|
|
|
5483
5523
|
this.selectedIndexChange.unsubscribe();
|
|
5484
5524
|
}
|
|
5485
5525
|
ngAfterViewChecked() {
|
|
5486
|
-
this.
|
|
5526
|
+
this.setGliderStyles();
|
|
5487
5527
|
this.changeDetector.detectChanges();
|
|
5488
5528
|
}
|
|
5489
5529
|
getFocusedTab() {
|
|
@@ -5556,12 +5596,19 @@ class SegmentedTabsComponent {
|
|
|
5556
5596
|
return;
|
|
5557
5597
|
}
|
|
5558
5598
|
}
|
|
5559
|
-
|
|
5599
|
+
setGliderStyles() {
|
|
5600
|
+
const { offsetLeft, clientWidth } = this.getSelectedTabPosition();
|
|
5601
|
+
this._gliderStyles = {
|
|
5602
|
+
left: `${offsetLeft}px`,
|
|
5603
|
+
width: `${clientWidth}px`,
|
|
5604
|
+
};
|
|
5605
|
+
}
|
|
5606
|
+
getSelectedTabPosition() {
|
|
5560
5607
|
var _a, _b;
|
|
5561
5608
|
const tab = (_b = (_a = this.tabs.toArray()[this.selectedIndex]) === null || _a === void 0 ? void 0 : _a._button) === null || _b === void 0 ? void 0 : _b.nativeElement;
|
|
5562
|
-
|
|
5563
|
-
|
|
5564
|
-
|
|
5609
|
+
return {
|
|
5610
|
+
offsetLeft: (tab === null || tab === void 0 ? void 0 : tab.offsetLeft) || 0,
|
|
5611
|
+
clientWidth: (tab === null || tab === void 0 ? void 0 : tab.clientWidth) || 0,
|
|
5565
5612
|
};
|
|
5566
5613
|
}
|
|
5567
5614
|
onTabsChange() {
|
|
@@ -5612,7 +5659,7 @@ class SegmentedTabsComponent {
|
|
|
5612
5659
|
}
|
|
5613
5660
|
}
|
|
5614
5661
|
SegmentedTabsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SegmentedTabsComponent, deps: [{ token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
5615
|
-
SegmentedTabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: SegmentedTabsComponent, selector: "sp-segmented-tabs", inputs: { size: "size", align: "align", keyboardActivation: "keyboardActivation", disabled: "disabled", selectedIndex: "selectedIndex" }, outputs: { selectedIndexChange: "selectedIndexChange" }, host: { properties: { "attr.align": "null" } }, providers: [ViewEncapsulationProvider], queries: [{ propertyName: "tabs", predicate: i0.forwardRef(function () { return SegmentedTabComponent; }) }], viewQueries: [{ propertyName: "segmentedControl", first: true, predicate: ["segmentedControl"], descendants: true }], exportAs: ["spSegmentedTabs"], ngImport: i0, template: "<div\n #segmentedControl\n class=\"sapphire-segmented-control\"\n [class.sapphire-segmented-control--lg]=\"size === 'lg'\"\n [class.sapphire-segmented-control--sm]=\"size === 'sm'\"\n [class.focus-visible]=\"_focusVisible\"\n [class.sapphire-segmented-control--manual-keyboard-activation]=\"\n keyboardActivation === 'manual'\n \"\n [ngClass]=\"\n align === 'stretch'\n ? 'sapphire-segmented-control--stretch'\n : 'sapphire-segmented-control--align-' + align\n \"\n>\n <div\n class=\"sapphire-segmented-control__button-container\"\n role=\"tablist\"\n aria-orientation=\"horizontal\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n (keydown)=\"_onKeyDown($event)\"\n >\n <ng-content select=\"sp-segmented-tab\"></ng-content>\n <span\n [style.left]=\"
|
|
5662
|
+
SegmentedTabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: SegmentedTabsComponent, selector: "sp-segmented-tabs", inputs: { size: "size", align: "align", keyboardActivation: "keyboardActivation", disabled: "disabled", selectedIndex: "selectedIndex" }, outputs: { selectedIndexChange: "selectedIndexChange" }, host: { properties: { "attr.align": "null" } }, providers: [ViewEncapsulationProvider], queries: [{ propertyName: "tabs", predicate: i0.forwardRef(function () { return SegmentedTabComponent; }) }], viewQueries: [{ propertyName: "segmentedControl", first: true, predicate: ["segmentedControl"], descendants: true }], exportAs: ["spSegmentedTabs"], ngImport: i0, template: "<div\n #segmentedControl\n class=\"sapphire-segmented-control\"\n [class.sapphire-segmented-control--lg]=\"size === 'lg'\"\n [class.sapphire-segmented-control--sm]=\"size === 'sm'\"\n [class.focus-visible]=\"_focusVisible\"\n [class.sapphire-segmented-control--manual-keyboard-activation]=\"\n keyboardActivation === 'manual'\n \"\n [ngClass]=\"\n align === 'stretch'\n ? 'sapphire-segmented-control--stretch'\n : 'sapphire-segmented-control--align-' + align\n \"\n>\n <div\n class=\"sapphire-segmented-control__button-container\"\n role=\"tablist\"\n aria-orientation=\"horizontal\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n (keydown)=\"_onKeyDown($event)\"\n >\n <ng-content select=\"sp-segmented-tab\"></ng-content>\n <span\n [style.left]=\"_gliderStyles.left\"\n [style.width]=\"_gliderStyles.width\"\n [class.sapphire-segmented-control__glider--with-transition]=\"\n _animationEnabled\n \"\n class=\"sapphire-segmented-control__glider\"\n role=\"none\"\n ></span>\n </div>\n</div>\n<ng-container *ngTemplateOutlet=\"_getTabContentTemplate()\"></ng-container>\n", styles: [".sapphire-segmented-control{display:flex;height:var(--sapphire-semantic-size-height-control-md)}.sapphire-segmented-control--stretch .sapphire-segmented-control__button-container{width:100%}.sapphire-segmented-control--align-center{justify-content:center}.sapphire-segmented-control--align-right{justify-content:flex-end}.sapphire-segmented-control--align-left{justify-content:flex-start}.sapphire-segmented-control__button-container{display:inline-flex;position:relative;height:100%;background-color:var(--sapphire-semantic-color-background-control-special-secondary-default);border-radius:var(--sapphire-semantic-size-height-control-lg);padding:var(--sapphire-global-size-static-5);box-sizing:border-box}.sapphire-segmented-control__glider{position:absolute;top:var(--sapphire-global-size-static-5);left:0;height:calc(100% - var(--sapphire-global-size-static-5) * 2);display:block;background-color:var(--sapphire-semantic-color-background-control-special-primary-default);box-shadow:var(--sapphire-global-shadow-sm);box-sizing:border-box;z-index:1;border-radius:var(--sapphire-semantic-size-height-control-lg)}.sapphire-segmented-control__glider--with-transition{transition:width var(--sapphire-semantic-time-motion-quick) ease-in-out,left var(--sapphire-semantic-time-motion-quick) ease-in-out}.sapphire-segmented-control__button{font-family:var(--sapphire-semantic-font-name-default);font-weight:var(--sapphire-semantic-font-weight-default-semibold);font-size:var(--sapphire-semantic-size-font-control-md);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex:1 1 auto;box-sizing:content-box;margin:0;border:0;height:100%;min-width:var(--sapphire-global-size-generic-120);padding:0 var(--sapphire-semantic-size-spacing-50);background-color:transparent;color:var(--sapphire-semantic-color-content-default-primary);cursor:pointer;outline:none;z-index:2;display:flex;align-items:center;justify-content:center;position:relative;transition:color var(--sapphire-semantic-time-motion-quick) ease-in-out}.sapphire-segmented-control__button--active{color:var(--sapphire-semantic-color-content-link-primary-default)}.sapphire-segmented-control__button--disabled{opacity:var(--sapphire-semantic-opacity-disabled);cursor:not-allowed}.sapphire-segmented-control.focus-visible:focus-within .sapphire-segmented-control__glider{outline:var(--sapphire-semantic-size-focus-ring) solid var(--sapphire-semantic-color-focus-ring)}.sapphire-segmented-control--manual-keyboard-activation.focus-visible .sapphire-segmented-control__glider{transition:none}.sapphire-segmented-control--manual-keyboard-activation.focus-visible .sapphire-segmented-control__button:focus{outline:var(--sapphire-semantic-size-focus-ring) solid var(--sapphire-semantic-color-focus-ring);border-radius:var(--sapphire-semantic-size-height-control-lg)}.sapphire-segmented-control.focus-visible:focus-within.sapphire-segmented-control--manual-keyboard-activation .sapphire-segmented-control__glider{outline:none}.sapphire-segmented-control--lg{height:var(--sapphire-semantic-size-height-control-lg)}.sapphire-segmented-control--lg .sapphire-segmented-control__button{font-size:var(--sapphire-semantic-size-font-control-default)}.sapphire-segmented-control--sm{height:var(--sapphire-semantic-size-height-control-sm)}.sapphire-segmented-control--sm .sapphire-segmented-control__button{font-size:var(--sapphire-semantic-size-font-control-sm)}.sapphire-segmented-control__radio-input{margin:0;overflow:visible;position:absolute;top:0;left:0;height:100%;width:100%;opacity:.0001;z-index:1;cursor:pointer}.sapphire-segmented-control__button--disabled .sapphire-segmented-control__radio-input{cursor:not-allowed}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$2.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }] });
|
|
5616
5663
|
__decorate([
|
|
5617
5664
|
CoerceBoolean
|
|
5618
5665
|
], SegmentedTabsComponent.prototype, "disabled", void 0);
|
|
@@ -5620,7 +5667,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
5620
5667
|
type: Component,
|
|
5621
5668
|
args: [{ selector: 'sp-segmented-tabs', providers: [ViewEncapsulationProvider], exportAs: 'spSegmentedTabs', host: {
|
|
5622
5669
|
'[attr.align]': 'null',
|
|
5623
|
-
}, template: "<div\n #segmentedControl\n class=\"sapphire-segmented-control\"\n [class.sapphire-segmented-control--lg]=\"size === 'lg'\"\n [class.sapphire-segmented-control--sm]=\"size === 'sm'\"\n [class.focus-visible]=\"_focusVisible\"\n [class.sapphire-segmented-control--manual-keyboard-activation]=\"\n keyboardActivation === 'manual'\n \"\n [ngClass]=\"\n align === 'stretch'\n ? 'sapphire-segmented-control--stretch'\n : 'sapphire-segmented-control--align-' + align\n \"\n>\n <div\n class=\"sapphire-segmented-control__button-container\"\n role=\"tablist\"\n aria-orientation=\"horizontal\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n (keydown)=\"_onKeyDown($event)\"\n >\n <ng-content select=\"sp-segmented-tab\"></ng-content>\n <span\n [style.left]=\"
|
|
5670
|
+
}, template: "<div\n #segmentedControl\n class=\"sapphire-segmented-control\"\n [class.sapphire-segmented-control--lg]=\"size === 'lg'\"\n [class.sapphire-segmented-control--sm]=\"size === 'sm'\"\n [class.focus-visible]=\"_focusVisible\"\n [class.sapphire-segmented-control--manual-keyboard-activation]=\"\n keyboardActivation === 'manual'\n \"\n [ngClass]=\"\n align === 'stretch'\n ? 'sapphire-segmented-control--stretch'\n : 'sapphire-segmented-control--align-' + align\n \"\n>\n <div\n class=\"sapphire-segmented-control__button-container\"\n role=\"tablist\"\n aria-orientation=\"horizontal\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n (keydown)=\"_onKeyDown($event)\"\n >\n <ng-content select=\"sp-segmented-tab\"></ng-content>\n <span\n [style.left]=\"_gliderStyles.left\"\n [style.width]=\"_gliderStyles.width\"\n [class.sapphire-segmented-control__glider--with-transition]=\"\n _animationEnabled\n \"\n class=\"sapphire-segmented-control__glider\"\n role=\"none\"\n ></span>\n </div>\n</div>\n<ng-container *ngTemplateOutlet=\"_getTabContentTemplate()\"></ng-container>\n", styles: [".sapphire-segmented-control{display:flex;height:var(--sapphire-semantic-size-height-control-md)}.sapphire-segmented-control--stretch .sapphire-segmented-control__button-container{width:100%}.sapphire-segmented-control--align-center{justify-content:center}.sapphire-segmented-control--align-right{justify-content:flex-end}.sapphire-segmented-control--align-left{justify-content:flex-start}.sapphire-segmented-control__button-container{display:inline-flex;position:relative;height:100%;background-color:var(--sapphire-semantic-color-background-control-special-secondary-default);border-radius:var(--sapphire-semantic-size-height-control-lg);padding:var(--sapphire-global-size-static-5);box-sizing:border-box}.sapphire-segmented-control__glider{position:absolute;top:var(--sapphire-global-size-static-5);left:0;height:calc(100% - var(--sapphire-global-size-static-5) * 2);display:block;background-color:var(--sapphire-semantic-color-background-control-special-primary-default);box-shadow:var(--sapphire-global-shadow-sm);box-sizing:border-box;z-index:1;border-radius:var(--sapphire-semantic-size-height-control-lg)}.sapphire-segmented-control__glider--with-transition{transition:width var(--sapphire-semantic-time-motion-quick) ease-in-out,left var(--sapphire-semantic-time-motion-quick) ease-in-out}.sapphire-segmented-control__button{font-family:var(--sapphire-semantic-font-name-default);font-weight:var(--sapphire-semantic-font-weight-default-semibold);font-size:var(--sapphire-semantic-size-font-control-md);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex:1 1 auto;box-sizing:content-box;margin:0;border:0;height:100%;min-width:var(--sapphire-global-size-generic-120);padding:0 var(--sapphire-semantic-size-spacing-50);background-color:transparent;color:var(--sapphire-semantic-color-content-default-primary);cursor:pointer;outline:none;z-index:2;display:flex;align-items:center;justify-content:center;position:relative;transition:color var(--sapphire-semantic-time-motion-quick) ease-in-out}.sapphire-segmented-control__button--active{color:var(--sapphire-semantic-color-content-link-primary-default)}.sapphire-segmented-control__button--disabled{opacity:var(--sapphire-semantic-opacity-disabled);cursor:not-allowed}.sapphire-segmented-control.focus-visible:focus-within .sapphire-segmented-control__glider{outline:var(--sapphire-semantic-size-focus-ring) solid var(--sapphire-semantic-color-focus-ring)}.sapphire-segmented-control--manual-keyboard-activation.focus-visible .sapphire-segmented-control__glider{transition:none}.sapphire-segmented-control--manual-keyboard-activation.focus-visible .sapphire-segmented-control__button:focus{outline:var(--sapphire-semantic-size-focus-ring) solid var(--sapphire-semantic-color-focus-ring);border-radius:var(--sapphire-semantic-size-height-control-lg)}.sapphire-segmented-control.focus-visible:focus-within.sapphire-segmented-control--manual-keyboard-activation .sapphire-segmented-control__glider{outline:none}.sapphire-segmented-control--lg{height:var(--sapphire-semantic-size-height-control-lg)}.sapphire-segmented-control--lg .sapphire-segmented-control__button{font-size:var(--sapphire-semantic-size-font-control-default)}.sapphire-segmented-control--sm{height:var(--sapphire-semantic-size-height-control-sm)}.sapphire-segmented-control--sm .sapphire-segmented-control__button{font-size:var(--sapphire-semantic-size-font-control-sm)}.sapphire-segmented-control__radio-input{margin:0;overflow:visible;position:absolute;top:0;left:0;height:100%;width:100%;opacity:.0001;z-index:1;cursor:pointer}.sapphire-segmented-control__button--disabled .sapphire-segmented-control__radio-input{cursor:not-allowed}\n"] }]
|
|
5624
5671
|
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { segmentedControl: [{
|
|
5625
5672
|
type: ViewChild,
|
|
5626
5673
|
args: ['segmentedControl']
|
|
@@ -6502,6 +6549,65 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
6502
6549
|
args: ['class']
|
|
6503
6550
|
}] } });
|
|
6504
6551
|
|
|
6552
|
+
/**
|
|
6553
|
+
* A patch to fix the issue of sticky header position getting affected
|
|
6554
|
+
* by transform, which is due to transform making the element
|
|
6555
|
+
* a [containing block](https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block).
|
|
6556
|
+
*
|
|
6557
|
+
* It intercepts style assignments on the content wrapper, and converts
|
|
6558
|
+
* transform: translateY(value) to top: value, to avoid making the content
|
|
6559
|
+
* wrapper a containing block for sticky positioned children.
|
|
6560
|
+
*
|
|
6561
|
+
* @see
|
|
6562
|
+
* https://github.com/angular/components/issues/14833
|
|
6563
|
+
* https://github.com/angular/components/issues/18240
|
|
6564
|
+
* https://github.com/angular/components/issues/21576
|
|
6565
|
+
* https://github.com/angular/components/issues/28584
|
|
6566
|
+
*/
|
|
6567
|
+
class CdkVirtualScrollViewportFixDirective {
|
|
6568
|
+
constructor(cdkViewport) {
|
|
6569
|
+
this.cdkViewport = cdkViewport;
|
|
6570
|
+
}
|
|
6571
|
+
ngOnInit() {
|
|
6572
|
+
const contentWrapper = this.cdkViewport._contentWrapper.nativeElement;
|
|
6573
|
+
/**
|
|
6574
|
+
* Proxy to set `top: {value}px` instead of `transform: translateY({value}px)`
|
|
6575
|
+
* whenever `style.transform` is set.
|
|
6576
|
+
*/
|
|
6577
|
+
const styleProxy = new Proxy(contentWrapper.style, {
|
|
6578
|
+
set: (target, prop, value) => {
|
|
6579
|
+
var _a;
|
|
6580
|
+
const top = prop === 'transform'
|
|
6581
|
+
? (_a = value === null || value === void 0 ? void 0 : value.match(/translateY\((\d+)px\)/)) === null || _a === void 0 ? void 0 : _a[1]
|
|
6582
|
+
: undefined;
|
|
6583
|
+
if (top) {
|
|
6584
|
+
target['top'] = `${top}px`;
|
|
6585
|
+
return true;
|
|
6586
|
+
}
|
|
6587
|
+
target[prop] = value;
|
|
6588
|
+
return true;
|
|
6589
|
+
},
|
|
6590
|
+
});
|
|
6591
|
+
// Not directly setting style proxy to contentWrapper.style, to limit
|
|
6592
|
+
// it to the styles set by CdkVirtualScrollViewport.
|
|
6593
|
+
// i.e. only setting `top` instead of `transform`, when set by cdk viewport.
|
|
6594
|
+
this.cdkViewport._contentWrapper.nativeElement = new Proxy(contentWrapper, {
|
|
6595
|
+
get: (target, prop) => {
|
|
6596
|
+
return prop === 'style' ? styleProxy : target[prop];
|
|
6597
|
+
},
|
|
6598
|
+
});
|
|
6599
|
+
}
|
|
6600
|
+
}
|
|
6601
|
+
CdkVirtualScrollViewportFixDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: CdkVirtualScrollViewportFixDirective, deps: [{ token: i1$5.CdkVirtualScrollViewport }], target: i0.ɵɵFactoryTarget.Directive });
|
|
6602
|
+
CdkVirtualScrollViewportFixDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: CdkVirtualScrollViewportFixDirective, isStandalone: true, selector: "cdk-virtual-scroll-viewport", ngImport: i0 });
|
|
6603
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: CdkVirtualScrollViewportFixDirective, decorators: [{
|
|
6604
|
+
type: Directive,
|
|
6605
|
+
args: [{
|
|
6606
|
+
selector: 'cdk-virtual-scroll-viewport',
|
|
6607
|
+
standalone: true,
|
|
6608
|
+
}]
|
|
6609
|
+
}], ctorParameters: function () { return [{ type: i1$5.CdkVirtualScrollViewport }]; } });
|
|
6610
|
+
|
|
6505
6611
|
class SapphireTableModule {
|
|
6506
6612
|
}
|
|
6507
6613
|
SapphireTableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
@@ -6517,6 +6623,7 @@ SapphireTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", ver
|
|
|
6517
6623
|
TableSortHeaderDirective], imports: [CommonModule,
|
|
6518
6624
|
SapphireIconModule,
|
|
6519
6625
|
TruncatedWithTooltipDirective,
|
|
6626
|
+
CdkVirtualScrollViewportFixDirective,
|
|
6520
6627
|
UseComponentStyles], exports: [TableComponent,
|
|
6521
6628
|
TableDirective,
|
|
6522
6629
|
TableBodyDirective,
|
|
@@ -6526,7 +6633,8 @@ SapphireTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", ver
|
|
|
6526
6633
|
TableHeadCellComponent,
|
|
6527
6634
|
TableCellDirective,
|
|
6528
6635
|
TableSortDirective,
|
|
6529
|
-
TableSortHeaderDirective
|
|
6636
|
+
TableSortHeaderDirective,
|
|
6637
|
+
CdkVirtualScrollViewportFixDirective] });
|
|
6530
6638
|
SapphireTableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireTableModule, imports: [CommonModule,
|
|
6531
6639
|
SapphireIconModule] });
|
|
6532
6640
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireTableModule, decorators: [{
|
|
@@ -6548,6 +6656,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
6548
6656
|
CommonModule,
|
|
6549
6657
|
SapphireIconModule,
|
|
6550
6658
|
TruncatedWithTooltipDirective,
|
|
6659
|
+
CdkVirtualScrollViewportFixDirective,
|
|
6551
6660
|
UseComponentStyles,
|
|
6552
6661
|
],
|
|
6553
6662
|
exports: [
|
|
@@ -6561,6 +6670,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
6561
6670
|
TableCellDirective,
|
|
6562
6671
|
TableSortDirective,
|
|
6563
6672
|
TableSortHeaderDirective,
|
|
6673
|
+
CdkVirtualScrollViewportFixDirective,
|
|
6564
6674
|
],
|
|
6565
6675
|
}]
|
|
6566
6676
|
}] });
|
|
@@ -6971,17 +7081,188 @@ const DEFAULT_BREAKPOINTS = {
|
|
|
6971
7081
|
XL: 1400,
|
|
6972
7082
|
};
|
|
6973
7083
|
|
|
7084
|
+
class SegmentedRadioGroupComponent extends RadioGroupBase {
|
|
7085
|
+
constructor(zone, changeDetector) {
|
|
7086
|
+
super(changeDetector, undefined);
|
|
7087
|
+
this.zone = zone;
|
|
7088
|
+
this.changeDetector = changeDetector;
|
|
7089
|
+
/** Size of tabs */
|
|
7090
|
+
this.size = 'md';
|
|
7091
|
+
/**
|
|
7092
|
+
* Alignment of tabs' buttons group.
|
|
7093
|
+
* @default 'left'
|
|
7094
|
+
*/
|
|
7095
|
+
this.align = 'left';
|
|
7096
|
+
this._gliderStyles = { left: '0px', width: '0px' };
|
|
7097
|
+
this._animationEnabled = false;
|
|
7098
|
+
this._focusVisible = false;
|
|
7099
|
+
this.skipAnimationFrame();
|
|
7100
|
+
}
|
|
7101
|
+
skipAnimationFrame() {
|
|
7102
|
+
// We want to avoid animation on first render and whenever tab content changes
|
|
7103
|
+
this._animationEnabled = false;
|
|
7104
|
+
requestAnimationFrame(() => {
|
|
7105
|
+
this._animationEnabled = true;
|
|
7106
|
+
});
|
|
7107
|
+
}
|
|
7108
|
+
setGliderStyles() {
|
|
7109
|
+
const { offsetLeft, clientWidth } = this.getSelectedTabPosition();
|
|
7110
|
+
this._gliderStyles = {
|
|
7111
|
+
left: `${offsetLeft}px`,
|
|
7112
|
+
width: `${clientWidth}px`,
|
|
7113
|
+
};
|
|
7114
|
+
}
|
|
7115
|
+
getSelectedTabPosition() {
|
|
7116
|
+
var _a;
|
|
7117
|
+
const selected = (_a = this.selected) === null || _a === void 0 ? void 0 : _a.elementRef.nativeElement;
|
|
7118
|
+
return {
|
|
7119
|
+
offsetLeft: (selected === null || selected === void 0 ? void 0 : selected.offsetLeft) || 0,
|
|
7120
|
+
clientWidth: (selected === null || selected === void 0 ? void 0 : selected.clientWidth) || 0,
|
|
7121
|
+
};
|
|
7122
|
+
}
|
|
7123
|
+
shouldUpdateGliderStyles() {
|
|
7124
|
+
const { offsetLeft, clientWidth } = this.getSelectedTabPosition();
|
|
7125
|
+
return (`${offsetLeft}px` !== this._gliderStyles.left ||
|
|
7126
|
+
`${clientWidth}px` !== this._gliderStyles.width);
|
|
7127
|
+
}
|
|
7128
|
+
ngAfterViewInit() {
|
|
7129
|
+
this.setGliderStyles();
|
|
7130
|
+
this.resizeObserver = new ResizeObserver(() => {
|
|
7131
|
+
if (this.shouldUpdateGliderStyles()) {
|
|
7132
|
+
// zonejs doesn't monkey-patch resize observer (yet)
|
|
7133
|
+
this.zone.run(() => {
|
|
7134
|
+
this.setGliderStyles();
|
|
7135
|
+
});
|
|
7136
|
+
}
|
|
7137
|
+
});
|
|
7138
|
+
this.resizeObserver.observe(this.segmentedControl.nativeElement);
|
|
7139
|
+
this.change.subscribe(() => {
|
|
7140
|
+
this.setGliderStyles();
|
|
7141
|
+
});
|
|
7142
|
+
}
|
|
7143
|
+
ngAfterViewChecked() {
|
|
7144
|
+
this.setGliderStyles();
|
|
7145
|
+
this.changeDetector.detectChanges();
|
|
7146
|
+
}
|
|
7147
|
+
ngOnDestroy() {
|
|
7148
|
+
var _a;
|
|
7149
|
+
(_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.unobserve(this.segmentedControl.nativeElement);
|
|
7150
|
+
this.change.unsubscribe();
|
|
7151
|
+
}
|
|
7152
|
+
_onFocusChange(focusOrigin) {
|
|
7153
|
+
this._focusVisible = focusOrigin === 'keyboard';
|
|
7154
|
+
if (!focusOrigin) {
|
|
7155
|
+
this.onTouched();
|
|
7156
|
+
}
|
|
7157
|
+
}
|
|
7158
|
+
}
|
|
7159
|
+
SegmentedRadioGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SegmentedRadioGroupComponent, deps: [{ token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
7160
|
+
SegmentedRadioGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: SegmentedRadioGroupComponent, selector: "sp-segmented-radio-group", inputs: { ariaLabel: ["aria-label", "ariaLabel"], size: "size", align: "align" }, providers: [
|
|
7161
|
+
ViewEncapsulationProvider,
|
|
7162
|
+
{
|
|
7163
|
+
provide: NG_VALUE_ACCESSOR,
|
|
7164
|
+
useExisting: forwardRef(() => SegmentedRadioGroupComponent),
|
|
7165
|
+
multi: true,
|
|
7166
|
+
},
|
|
7167
|
+
{
|
|
7168
|
+
provide: FieldControl,
|
|
7169
|
+
useExisting: forwardRef(() => SegmentedRadioGroupComponent),
|
|
7170
|
+
},
|
|
7171
|
+
{
|
|
7172
|
+
provide: RadioGroupBase,
|
|
7173
|
+
useExisting: forwardRef(() => SegmentedRadioGroupComponent),
|
|
7174
|
+
},
|
|
7175
|
+
], viewQueries: [{ propertyName: "segmentedControl", first: true, predicate: ["segmentedControl"], descendants: true }], usesInheritance: true, hostDirectives: [{ directive: ThemeCheckDirective }], ngImport: i0, template: "<div\n #segmentedControl\n class=\"sapphire-segmented-control\"\n [class.sapphire-segmented-control--lg]=\"size === 'lg'\"\n [class.sapphire-segmented-control--sm]=\"size === 'sm'\"\n [class.focus-visible]=\"_focusVisible\"\n [ngClass]=\"\n align === 'stretch'\n ? 'sapphire-segmented-control--stretch'\n : 'sapphire-segmented-control--align-' + align\n \"\n>\n <div\n class=\"sapphire-segmented-control__button-container\"\n role=\"radiogroup\"\n [attr.aria-label]=\"ariaLabel\"\n aria-orientation=\"horizontal\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n >\n <ng-content></ng-content>\n <span\n [style.left]=\"_gliderStyles.left\"\n [style.width]=\"_gliderStyles.width\"\n [class.sapphire-segmented-control__glider--with-transition]=\"\n _animationEnabled\n \"\n class=\"sapphire-segmented-control__glider\"\n role=\"none\"\n ></span>\n </div>\n</div>\n", styles: [".sapphire-segmented-control{display:flex;height:var(--sapphire-semantic-size-height-control-md)}.sapphire-segmented-control--stretch .sapphire-segmented-control__button-container{width:100%}.sapphire-segmented-control--align-center{justify-content:center}.sapphire-segmented-control--align-right{justify-content:flex-end}.sapphire-segmented-control--align-left{justify-content:flex-start}.sapphire-segmented-control__button-container{display:inline-flex;position:relative;height:100%;background-color:var(--sapphire-semantic-color-background-control-special-secondary-default);border-radius:var(--sapphire-semantic-size-height-control-lg);padding:var(--sapphire-global-size-static-5);box-sizing:border-box}.sapphire-segmented-control__glider{position:absolute;top:var(--sapphire-global-size-static-5);left:0;height:calc(100% - var(--sapphire-global-size-static-5) * 2);display:block;background-color:var(--sapphire-semantic-color-background-control-special-primary-default);box-shadow:var(--sapphire-global-shadow-sm);box-sizing:border-box;z-index:1;border-radius:var(--sapphire-semantic-size-height-control-lg)}.sapphire-segmented-control__glider--with-transition{transition:width var(--sapphire-semantic-time-motion-quick) ease-in-out,left var(--sapphire-semantic-time-motion-quick) ease-in-out}.sapphire-segmented-control__button{font-family:var(--sapphire-semantic-font-name-default);font-weight:var(--sapphire-semantic-font-weight-default-semibold);font-size:var(--sapphire-semantic-size-font-control-md);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex:1 1 auto;box-sizing:content-box;margin:0;border:0;height:100%;min-width:var(--sapphire-global-size-generic-120);padding:0 var(--sapphire-semantic-size-spacing-50);background-color:transparent;color:var(--sapphire-semantic-color-content-default-primary);cursor:pointer;outline:none;z-index:2;display:flex;align-items:center;justify-content:center;position:relative;transition:color var(--sapphire-semantic-time-motion-quick) ease-in-out}.sapphire-segmented-control__button--active{color:var(--sapphire-semantic-color-content-link-primary-default)}.sapphire-segmented-control__button--disabled{opacity:var(--sapphire-semantic-opacity-disabled);cursor:not-allowed}.sapphire-segmented-control.focus-visible:focus-within .sapphire-segmented-control__glider{outline:var(--sapphire-semantic-size-focus-ring) solid var(--sapphire-semantic-color-focus-ring)}.sapphire-segmented-control--manual-keyboard-activation.focus-visible .sapphire-segmented-control__glider{transition:none}.sapphire-segmented-control--manual-keyboard-activation.focus-visible .sapphire-segmented-control__button:focus{outline:var(--sapphire-semantic-size-focus-ring) solid var(--sapphire-semantic-color-focus-ring);border-radius:var(--sapphire-semantic-size-height-control-lg)}.sapphire-segmented-control.focus-visible:focus-within.sapphire-segmented-control--manual-keyboard-activation .sapphire-segmented-control__glider{outline:none}.sapphire-segmented-control--lg{height:var(--sapphire-semantic-size-height-control-lg)}.sapphire-segmented-control--lg .sapphire-segmented-control__button{font-size:var(--sapphire-semantic-size-font-control-default)}.sapphire-segmented-control--sm{height:var(--sapphire-semantic-size-height-control-sm)}.sapphire-segmented-control--sm .sapphire-segmented-control__button{font-size:var(--sapphire-semantic-size-font-control-sm)}.sapphire-segmented-control__radio-input{margin:0;overflow:visible;position:absolute;top:0;left:0;height:100%;width:100%;opacity:.0001;z-index:1;cursor:pointer}.sapphire-segmented-control__button--disabled .sapphire-segmented-control__radio-input{cursor:not-allowed}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
|
|
7176
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SegmentedRadioGroupComponent, decorators: [{
|
|
7177
|
+
type: Component,
|
|
7178
|
+
args: [{ selector: 'sp-segmented-radio-group', changeDetection: ChangeDetectionStrategy.Default, providers: [
|
|
7179
|
+
ViewEncapsulationProvider,
|
|
7180
|
+
{
|
|
7181
|
+
provide: NG_VALUE_ACCESSOR,
|
|
7182
|
+
useExisting: forwardRef(() => SegmentedRadioGroupComponent),
|
|
7183
|
+
multi: true,
|
|
7184
|
+
},
|
|
7185
|
+
{
|
|
7186
|
+
provide: FieldControl,
|
|
7187
|
+
useExisting: forwardRef(() => SegmentedRadioGroupComponent),
|
|
7188
|
+
},
|
|
7189
|
+
{
|
|
7190
|
+
provide: RadioGroupBase,
|
|
7191
|
+
useExisting: forwardRef(() => SegmentedRadioGroupComponent),
|
|
7192
|
+
},
|
|
7193
|
+
], hostDirectives: [ThemeCheckDirective], template: "<div\n #segmentedControl\n class=\"sapphire-segmented-control\"\n [class.sapphire-segmented-control--lg]=\"size === 'lg'\"\n [class.sapphire-segmented-control--sm]=\"size === 'sm'\"\n [class.focus-visible]=\"_focusVisible\"\n [ngClass]=\"\n align === 'stretch'\n ? 'sapphire-segmented-control--stretch'\n : 'sapphire-segmented-control--align-' + align\n \"\n>\n <div\n class=\"sapphire-segmented-control__button-container\"\n role=\"radiogroup\"\n [attr.aria-label]=\"ariaLabel\"\n aria-orientation=\"horizontal\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n >\n <ng-content></ng-content>\n <span\n [style.left]=\"_gliderStyles.left\"\n [style.width]=\"_gliderStyles.width\"\n [class.sapphire-segmented-control__glider--with-transition]=\"\n _animationEnabled\n \"\n class=\"sapphire-segmented-control__glider\"\n role=\"none\"\n ></span>\n </div>\n</div>\n", styles: [".sapphire-segmented-control{display:flex;height:var(--sapphire-semantic-size-height-control-md)}.sapphire-segmented-control--stretch .sapphire-segmented-control__button-container{width:100%}.sapphire-segmented-control--align-center{justify-content:center}.sapphire-segmented-control--align-right{justify-content:flex-end}.sapphire-segmented-control--align-left{justify-content:flex-start}.sapphire-segmented-control__button-container{display:inline-flex;position:relative;height:100%;background-color:var(--sapphire-semantic-color-background-control-special-secondary-default);border-radius:var(--sapphire-semantic-size-height-control-lg);padding:var(--sapphire-global-size-static-5);box-sizing:border-box}.sapphire-segmented-control__glider{position:absolute;top:var(--sapphire-global-size-static-5);left:0;height:calc(100% - var(--sapphire-global-size-static-5) * 2);display:block;background-color:var(--sapphire-semantic-color-background-control-special-primary-default);box-shadow:var(--sapphire-global-shadow-sm);box-sizing:border-box;z-index:1;border-radius:var(--sapphire-semantic-size-height-control-lg)}.sapphire-segmented-control__glider--with-transition{transition:width var(--sapphire-semantic-time-motion-quick) ease-in-out,left var(--sapphire-semantic-time-motion-quick) ease-in-out}.sapphire-segmented-control__button{font-family:var(--sapphire-semantic-font-name-default);font-weight:var(--sapphire-semantic-font-weight-default-semibold);font-size:var(--sapphire-semantic-size-font-control-md);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex:1 1 auto;box-sizing:content-box;margin:0;border:0;height:100%;min-width:var(--sapphire-global-size-generic-120);padding:0 var(--sapphire-semantic-size-spacing-50);background-color:transparent;color:var(--sapphire-semantic-color-content-default-primary);cursor:pointer;outline:none;z-index:2;display:flex;align-items:center;justify-content:center;position:relative;transition:color var(--sapphire-semantic-time-motion-quick) ease-in-out}.sapphire-segmented-control__button--active{color:var(--sapphire-semantic-color-content-link-primary-default)}.sapphire-segmented-control__button--disabled{opacity:var(--sapphire-semantic-opacity-disabled);cursor:not-allowed}.sapphire-segmented-control.focus-visible:focus-within .sapphire-segmented-control__glider{outline:var(--sapphire-semantic-size-focus-ring) solid var(--sapphire-semantic-color-focus-ring)}.sapphire-segmented-control--manual-keyboard-activation.focus-visible .sapphire-segmented-control__glider{transition:none}.sapphire-segmented-control--manual-keyboard-activation.focus-visible .sapphire-segmented-control__button:focus{outline:var(--sapphire-semantic-size-focus-ring) solid var(--sapphire-semantic-color-focus-ring);border-radius:var(--sapphire-semantic-size-height-control-lg)}.sapphire-segmented-control.focus-visible:focus-within.sapphire-segmented-control--manual-keyboard-activation .sapphire-segmented-control__glider{outline:none}.sapphire-segmented-control--lg{height:var(--sapphire-semantic-size-height-control-lg)}.sapphire-segmented-control--lg .sapphire-segmented-control__button{font-size:var(--sapphire-semantic-size-font-control-default)}.sapphire-segmented-control--sm{height:var(--sapphire-semantic-size-height-control-sm)}.sapphire-segmented-control--sm .sapphire-segmented-control__button{font-size:var(--sapphire-semantic-size-font-control-sm)}.sapphire-segmented-control__radio-input{margin:0;overflow:visible;position:absolute;top:0;left:0;height:100%;width:100%;opacity:.0001;z-index:1;cursor:pointer}.sapphire-segmented-control__button--disabled .sapphire-segmented-control__radio-input{cursor:not-allowed}\n"] }]
|
|
7194
|
+
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { segmentedControl: [{
|
|
7195
|
+
type: ViewChild,
|
|
7196
|
+
args: ['segmentedControl']
|
|
7197
|
+
}], ariaLabel: [{
|
|
7198
|
+
type: Input,
|
|
7199
|
+
args: ['aria-label']
|
|
7200
|
+
}], size: [{
|
|
7201
|
+
type: Input
|
|
7202
|
+
}], align: [{
|
|
7203
|
+
type: Input
|
|
7204
|
+
}] } });
|
|
7205
|
+
|
|
7206
|
+
class SegmentedRadioComponent extends RadioBase {
|
|
7207
|
+
}
|
|
7208
|
+
SegmentedRadioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SegmentedRadioComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
7209
|
+
SegmentedRadioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: SegmentedRadioComponent, selector: "sp-segmented-radio", inputs: { tabIndex: "tabIndex" }, host: { properties: { "class.sapphire-segmented-control__button--disabled": "disabled", "class.sapphire-segmented-control__button--active": "checked", "attr.id": "id", "attr.tabindex": "null", "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.aria-describedby": "null" }, classAttribute: "sapphire-segmented-control__button" }, usesInheritance: true, hostDirectives: [{ directive: ThemeCheckDirective }, { directive: UseComponentStyles }], ngImport: i0, template: "<label [for]=\"inputId\">\n <input\n #input\n _spUseComponentStyles\n class=\"sapphire-segmented-control__radio-input\"\n type=\"radio\"\n [id]=\"inputId\"\n [attr.aria-checked]=\"_getAriaChecked()\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n (change)=\"_onInputInteraction($event)\"\n [attr.autofocus]=\"autofocus ? true : null\"\n />\n <ng-content></ng-content>\n</label>\n", dependencies: [{ kind: "directive", type: UseComponentStyles, selector: "[_spUseComponentStyles]" }], changeDetection: i0.ChangeDetectionStrategy.Default });
|
|
7210
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SegmentedRadioComponent, decorators: [{
|
|
7211
|
+
type: Component,
|
|
7212
|
+
args: [{ selector: 'sp-segmented-radio', changeDetection: ChangeDetectionStrategy.Default, hostDirectives: [ThemeCheckDirective, UseComponentStyles], inputs: ['tabIndex'], host: {
|
|
7213
|
+
class: 'sapphire-segmented-control__button',
|
|
7214
|
+
'[class.sapphire-segmented-control__button--disabled]': 'disabled',
|
|
7215
|
+
'[class.sapphire-segmented-control__button--active]': 'checked',
|
|
7216
|
+
'[attr.id]': 'id',
|
|
7217
|
+
'[attr.tabindex]': 'null',
|
|
7218
|
+
'[attr.aria-label]': 'null',
|
|
7219
|
+
'[attr.aria-labelledby]': 'null',
|
|
7220
|
+
'[attr.aria-describedby]': 'null',
|
|
7221
|
+
}, template: "<label [for]=\"inputId\">\n <input\n #input\n _spUseComponentStyles\n class=\"sapphire-segmented-control__radio-input\"\n type=\"radio\"\n [id]=\"inputId\"\n [attr.aria-checked]=\"_getAriaChecked()\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n (change)=\"_onInputInteraction($event)\"\n [attr.autofocus]=\"autofocus ? true : null\"\n />\n <ng-content></ng-content>\n</label>\n" }]
|
|
7222
|
+
}] });
|
|
7223
|
+
|
|
6974
7224
|
class SapphireRadioModule {
|
|
6975
7225
|
}
|
|
6976
7226
|
SapphireRadioModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
6977
|
-
SapphireRadioModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0", ngImport: i0, type: SapphireRadioModule, declarations: [RadioComponent,
|
|
6978
|
-
|
|
7227
|
+
SapphireRadioModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0", ngImport: i0, type: SapphireRadioModule, declarations: [RadioComponent,
|
|
7228
|
+
RadioGroupComponent,
|
|
7229
|
+
SegmentedRadioComponent,
|
|
7230
|
+
SegmentedRadioGroupComponent], imports: [CommonModule,
|
|
7231
|
+
LabelComponent,
|
|
7232
|
+
A11yModule,
|
|
7233
|
+
SapphireFieldModule,
|
|
7234
|
+
UseComponentStyles], exports: [RadioComponent,
|
|
7235
|
+
RadioGroupComponent,
|
|
7236
|
+
SegmentedRadioComponent,
|
|
7237
|
+
SegmentedRadioGroupComponent,
|
|
7238
|
+
SapphireFieldModule] });
|
|
7239
|
+
SapphireRadioModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireRadioModule, imports: [CommonModule,
|
|
7240
|
+
LabelComponent,
|
|
7241
|
+
A11yModule,
|
|
7242
|
+
SapphireFieldModule, SapphireFieldModule] });
|
|
6979
7243
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireRadioModule, decorators: [{
|
|
6980
7244
|
type: NgModule,
|
|
6981
7245
|
args: [{
|
|
6982
|
-
declarations: [
|
|
6983
|
-
|
|
6984
|
-
|
|
7246
|
+
declarations: [
|
|
7247
|
+
RadioComponent,
|
|
7248
|
+
RadioGroupComponent,
|
|
7249
|
+
SegmentedRadioComponent,
|
|
7250
|
+
SegmentedRadioGroupComponent,
|
|
7251
|
+
],
|
|
7252
|
+
imports: [
|
|
7253
|
+
CommonModule,
|
|
7254
|
+
LabelComponent,
|
|
7255
|
+
A11yModule,
|
|
7256
|
+
SapphireFieldModule,
|
|
7257
|
+
UseComponentStyles,
|
|
7258
|
+
],
|
|
7259
|
+
exports: [
|
|
7260
|
+
RadioComponent,
|
|
7261
|
+
RadioGroupComponent,
|
|
7262
|
+
SegmentedRadioComponent,
|
|
7263
|
+
SegmentedRadioGroupComponent,
|
|
7264
|
+
SapphireFieldModule,
|
|
7265
|
+
],
|
|
6985
7266
|
}]
|
|
6986
7267
|
}] });
|
|
6987
7268
|
|
|
@@ -7045,12 +7326,12 @@ class ModalService {
|
|
|
7045
7326
|
return this.open(componentOrTemplateRef, options, this.overlay.position().global().right());
|
|
7046
7327
|
}
|
|
7047
7328
|
}
|
|
7048
|
-
ModalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ModalService, deps: [{ token: i1$
|
|
7329
|
+
ModalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ModalService, deps: [{ token: i1$6.Dialog }, { token: i1$3.Overlay }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
7049
7330
|
ModalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ModalService, providedIn: 'root' });
|
|
7050
7331
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ModalService, decorators: [{
|
|
7051
7332
|
type: Injectable,
|
|
7052
7333
|
args: [{ providedIn: 'root' }]
|
|
7053
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
7334
|
+
}], ctorParameters: function () { return [{ type: i1$6.Dialog }, { type: i1$3.Overlay }]; } });
|
|
7054
7335
|
|
|
7055
7336
|
/**
|
|
7056
7337
|
* Monitors host element's **scrolled** and **scrollable** state.
|
|
@@ -7168,7 +7449,7 @@ class ModalCloseButtonDirective {
|
|
|
7168
7449
|
(_a = this.dialogRef) === null || _a === void 0 ? void 0 : _a.close();
|
|
7169
7450
|
}
|
|
7170
7451
|
}
|
|
7171
|
-
ModalCloseButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ModalCloseButtonDirective, deps: [{ token: TranslateService }, { token: i1$
|
|
7452
|
+
ModalCloseButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ModalCloseButtonDirective, deps: [{ token: TranslateService }, { token: i1$6.DialogRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
7172
7453
|
ModalCloseButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: ModalCloseButtonDirective, selector: "button[spModalCloseButton]", host: { listeners: { "click": "close()" }, properties: { "attr.aria-label": "dismissLabel" } }, ngImport: i0 });
|
|
7173
7454
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ModalCloseButtonDirective, decorators: [{
|
|
7174
7455
|
type: Directive,
|
|
@@ -7179,7 +7460,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
7179
7460
|
},
|
|
7180
7461
|
}]
|
|
7181
7462
|
}], ctorParameters: function () {
|
|
7182
|
-
return [{ type: TranslateService }, { type: i1$
|
|
7463
|
+
return [{ type: TranslateService }, { type: i1$6.DialogRef, decorators: [{
|
|
7183
7464
|
type: Optional
|
|
7184
7465
|
}] }];
|
|
7185
7466
|
}, propDecorators: { close: [{
|
|
@@ -7302,7 +7583,7 @@ class ModalBaseComponent {
|
|
|
7302
7583
|
this.dialogRef.immediateClose();
|
|
7303
7584
|
}
|
|
7304
7585
|
}
|
|
7305
|
-
ModalBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ModalBaseComponent, deps: [{ token: i1$
|
|
7586
|
+
ModalBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ModalBaseComponent, deps: [{ token: i1$6.DialogRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
7306
7587
|
ModalBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: ModalBaseComponent, selector: "ng-component", inputs: { ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledBy: ["aria-labelledby", "ariaLabelledBy"], ariaDescribedBy: ["aria-describedby", "ariaDescribedBy"], role: "role" }, host: { properties: { "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.aria-describedby": "null", "attr.role": "null" } }, queries: [{ propertyName: "header", first: true, predicate: ModalHeaderDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: '', isInline: true });
|
|
7307
7588
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ModalBaseComponent, decorators: [{
|
|
7308
7589
|
type: Component,
|
|
@@ -7317,7 +7598,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
7317
7598
|
'[attr.role]': 'null',
|
|
7318
7599
|
},
|
|
7319
7600
|
}]
|
|
7320
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
7601
|
+
}], ctorParameters: function () { return [{ type: i1$6.DialogRef }]; }, propDecorators: { ariaLabel: [{
|
|
7321
7602
|
type: Input,
|
|
7322
7603
|
args: ['aria-label']
|
|
7323
7604
|
}], ariaLabelledBy: [{
|
|
@@ -7348,7 +7629,7 @@ class DialogComponent extends ModalBaseComponent {
|
|
|
7348
7629
|
this.size = 'sm';
|
|
7349
7630
|
}
|
|
7350
7631
|
}
|
|
7351
|
-
DialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DialogComponent, deps: [{ token: i1$
|
|
7632
|
+
DialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DialogComponent, deps: [{ token: i1$6.DialogRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
7352
7633
|
DialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: DialogComponent, selector: "sp-dialog", inputs: { size: "size" }, host: { properties: { "class.sapphire-dialog--xs": "size === 'xs'", "class.sapphire-dialog--sm": "size === 'sm'", "class.sapphire-dialog--md": "size === 'md'", "class.sapphire-dialog--lg": "size === 'lg'", "class.sapphire-dialog--exiting": "dialogRef.closing" }, classAttribute: "sapphire-dialog" }, usesInheritance: true, hostDirectives: [{ directive: UseComponentStylesOnHost }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: ["@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.sapphire-dialog{border-radius:var(--sapphire-semantic-size-radius-lg);background-color:var(--sapphire-semantic-color-background-surface);font-family:var(--sapphire-semantic-font-name-default);color:var(--sapphire-semantic-color-content-default-primary);box-sizing:border-box;overflow:hidden;max-height:90vh;max-width:90vw;display:flex;flex-direction:column;outline:none;animation-name:fade-in;animation-duration:var(--sapphire-semantic-time-fade-default);animation-timing-function:ease-in-out;animation-fill-mode:forwards}.sapphire-dialog--exiting{animation-name:fade-out}.sapphire-dialog--xs{width:var(--sapphire-global-size-generic-800)}.sapphire-dialog--sm{width:var(--sapphire-global-size-generic-1400)}.sapphire-dialog--md{width:var(--sapphire-global-size-generic-1920)}.sapphire-dialog--lg{width:var(--sapphire-global-size-generic-2560)}\n"] });
|
|
7353
7634
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DialogComponent, decorators: [{
|
|
7354
7635
|
type: Component,
|
|
@@ -7360,7 +7641,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
7360
7641
|
'[class.sapphire-dialog--lg]': "size === 'lg'",
|
|
7361
7642
|
'[class.sapphire-dialog--exiting]': 'dialogRef.closing',
|
|
7362
7643
|
}, hostDirectives: [UseComponentStylesOnHost], styles: ["@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.sapphire-dialog{border-radius:var(--sapphire-semantic-size-radius-lg);background-color:var(--sapphire-semantic-color-background-surface);font-family:var(--sapphire-semantic-font-name-default);color:var(--sapphire-semantic-color-content-default-primary);box-sizing:border-box;overflow:hidden;max-height:90vh;max-width:90vw;display:flex;flex-direction:column;outline:none;animation-name:fade-in;animation-duration:var(--sapphire-semantic-time-fade-default);animation-timing-function:ease-in-out;animation-fill-mode:forwards}.sapphire-dialog--exiting{animation-name:fade-out}.sapphire-dialog--xs{width:var(--sapphire-global-size-generic-800)}.sapphire-dialog--sm{width:var(--sapphire-global-size-generic-1400)}.sapphire-dialog--md{width:var(--sapphire-global-size-generic-1920)}.sapphire-dialog--lg{width:var(--sapphire-global-size-generic-2560)}\n"] }]
|
|
7363
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
7644
|
+
}], ctorParameters: function () { return [{ type: i1$6.DialogRef }]; }, propDecorators: { size: [{
|
|
7364
7645
|
type: Input
|
|
7365
7646
|
}] } });
|
|
7366
7647
|
|
|
@@ -7628,7 +7909,7 @@ class PanelComponent extends ModalBaseComponent {
|
|
|
7628
7909
|
this.size = 'lg';
|
|
7629
7910
|
}
|
|
7630
7911
|
}
|
|
7631
|
-
PanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: PanelComponent, deps: [{ token: i1$
|
|
7912
|
+
PanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: PanelComponent, deps: [{ token: i1$6.DialogRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
7632
7913
|
PanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: PanelComponent, selector: "sp-panel", inputs: { size: "size" }, host: { properties: { "class.sapphire-panel--sm": "size === \"sm\"", "class.sapphire-panel--visible": "!dialogRef.closing" }, classAttribute: "sapphire-panel" }, usesInheritance: true, hostDirectives: [{ directive: UseComponentStylesOnHost }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".sapphire-panel{box-sizing:border-box;overflow:hidden;max-width:100%;display:block;height:100%;outline:0;transition:transform var(--sapphire-semantic-time-motion-default) ease-in-out;transform:translate(100%);width:var(--sapphire-semantic-size-width-panel-lg)}.sapphire-panel--visible{transform:translate(0)}.sapphire-panel--sm{width:var(--sapphire-semantic-size-width-panel-sm)}.sapphire-modal-layout{display:flex;flex-direction:column;height:100%;min-height:0;background-color:var(--sapphire-semantic-color-background-surface);font-family:var(--sapphire-semantic-font-name-default);color:var(--sapphire-semantic-color-content-default-primary)}.sapphire-modal-layout__header-container{flex-shrink:0}.sapphire-modal-layout__header{display:flex;justify-content:space-between;padding:var(--sapphire-semantic-size-spacing-50) var(--sapphire-semantic-size-spacing-container-horizontal-md);gap:var(--sapphire-semantic-size-spacing-30)}.sapphire-modal-layout__body{overflow-y:auto;overflow-x:hidden;flex-grow:1;padding:0 var(--sapphire-semantic-size-spacing-container-horizontal-md)}.sapphire-modal-layout__body.sapphire-modal-layout__body--no-padding{padding:0}.sapphire-modal-layout__footer-container{flex-shrink:0}.sapphire-modal-layout__footer{padding:var(--sapphire-semantic-size-spacing-70) var(--sapphire-semantic-size-spacing-container-horizontal-md) var(--sapphire-semantic-size-spacing-70) var(--sapphire-semantic-size-spacing-container-horizontal-md)}.sapphire-modal-layout__heading-container{flex:1;padding:var(--sapphire-semantic-size-spacing-20) 0;display:flex;flex-direction:column;justify-content:center;word-break:break-word}.sapphire-modal-layout__subheading{color:var(--sapphire-semantic-color-content-default-secondary);margin-top:var(--sapphire-semantic-size-spacing-20)}.sapphire-modal-layout__header-container+.sapphire-modal-layout__body{border-top:var(--sapphire-semantic-size-border-sm) solid transparent}.sapphire-modal-layout__header-container+.sapphire-modal-layout__body.sapphire-modal-layout__body--scrolled{border-top:var(--sapphire-semantic-size-border-sm) solid var(--sapphire-semantic-color-border-separator-default)}.sapphire-modal-layout:not(:has(.sapphire-modal-layout__footer)) .sapphire-modal-layout__body:not(.sapphire-modal-layout__body--no-padding){padding-bottom:var(--sapphire-semantic-size-spacing-50)}.sapphire-modal-layout__body+.sapphire-modal-layout__footer-container{border-top:var(--sapphire-semantic-size-border-sm) solid transparent}.sapphire-modal-layout__body.sapphire-modal-layout__body--scrollable+.sapphire-modal-layout__footer-container{border-top:var(--sapphire-semantic-size-border-sm) solid var(--sapphire-semantic-color-border-separator-default)}\n"] });
|
|
7633
7914
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: PanelComponent, decorators: [{
|
|
7634
7915
|
type: Component,
|
|
@@ -7637,7 +7918,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
7637
7918
|
'[class.sapphire-panel--sm]': 'size === "sm"',
|
|
7638
7919
|
'[class.sapphire-panel--visible]': '!dialogRef.closing',
|
|
7639
7920
|
}, hostDirectives: [UseComponentStylesOnHost], styles: [".sapphire-panel{box-sizing:border-box;overflow:hidden;max-width:100%;display:block;height:100%;outline:0;transition:transform var(--sapphire-semantic-time-motion-default) ease-in-out;transform:translate(100%);width:var(--sapphire-semantic-size-width-panel-lg)}.sapphire-panel--visible{transform:translate(0)}.sapphire-panel--sm{width:var(--sapphire-semantic-size-width-panel-sm)}.sapphire-modal-layout{display:flex;flex-direction:column;height:100%;min-height:0;background-color:var(--sapphire-semantic-color-background-surface);font-family:var(--sapphire-semantic-font-name-default);color:var(--sapphire-semantic-color-content-default-primary)}.sapphire-modal-layout__header-container{flex-shrink:0}.sapphire-modal-layout__header{display:flex;justify-content:space-between;padding:var(--sapphire-semantic-size-spacing-50) var(--sapphire-semantic-size-spacing-container-horizontal-md);gap:var(--sapphire-semantic-size-spacing-30)}.sapphire-modal-layout__body{overflow-y:auto;overflow-x:hidden;flex-grow:1;padding:0 var(--sapphire-semantic-size-spacing-container-horizontal-md)}.sapphire-modal-layout__body.sapphire-modal-layout__body--no-padding{padding:0}.sapphire-modal-layout__footer-container{flex-shrink:0}.sapphire-modal-layout__footer{padding:var(--sapphire-semantic-size-spacing-70) var(--sapphire-semantic-size-spacing-container-horizontal-md) var(--sapphire-semantic-size-spacing-70) var(--sapphire-semantic-size-spacing-container-horizontal-md)}.sapphire-modal-layout__heading-container{flex:1;padding:var(--sapphire-semantic-size-spacing-20) 0;display:flex;flex-direction:column;justify-content:center;word-break:break-word}.sapphire-modal-layout__subheading{color:var(--sapphire-semantic-color-content-default-secondary);margin-top:var(--sapphire-semantic-size-spacing-20)}.sapphire-modal-layout__header-container+.sapphire-modal-layout__body{border-top:var(--sapphire-semantic-size-border-sm) solid transparent}.sapphire-modal-layout__header-container+.sapphire-modal-layout__body.sapphire-modal-layout__body--scrolled{border-top:var(--sapphire-semantic-size-border-sm) solid var(--sapphire-semantic-color-border-separator-default)}.sapphire-modal-layout:not(:has(.sapphire-modal-layout__footer)) .sapphire-modal-layout__body:not(.sapphire-modal-layout__body--no-padding){padding-bottom:var(--sapphire-semantic-size-spacing-50)}.sapphire-modal-layout__body+.sapphire-modal-layout__footer-container{border-top:var(--sapphire-semantic-size-border-sm) solid transparent}.sapphire-modal-layout__body.sapphire-modal-layout__body--scrollable+.sapphire-modal-layout__footer-container{border-top:var(--sapphire-semantic-size-border-sm) solid var(--sapphire-semantic-color-border-separator-default)}\n"] }]
|
|
7640
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
7921
|
+
}], ctorParameters: function () { return [{ type: i1$6.DialogRef }]; }, propDecorators: { size: [{
|
|
7641
7922
|
type: Input
|
|
7642
7923
|
}] } });
|
|
7643
7924
|
|
|
@@ -8646,5 +8927,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
8646
8927
|
* Generated bundle index. Do not edit.
|
|
8647
8928
|
*/
|
|
8648
8929
|
|
|
8649
|
-
export { BadgeComponent, BasicSelectComponent, BasicSingleSelectDirective, ButtonComponent, ButtonGroupComponent, ButtonIconDirective, CheckboxChange, CheckboxComponent, CheckboxGroupComponent, ConfirmationDialogComponent, DEFAULT_BREAKPOINTS, DangerDialogComponent, DialogComponent, DialogTriggerDirective, FieldComponent, FieldControl, FieldErrorDirective, FieldLabelDirective, FieldNoteDirective, FieldNoteSuffixDirective, FocusedDirective, HeadingComponent, HelpButtonComponent, HelpButtonContentDirective, HelpButtonFooterDirective, HelpButtonHeaderDirective, ICON_SIZE_PROVIDER, IconButtonComponent, IconComponent, LabelComponent, LinkComponent, ListboxChild, ListboxComponent, ListboxInputDirective, MenuComponent, MenuIconComponent, MenuItemComponent, MenuPrimaryTextComponent, MenuSecondaryTextComponent, MenuSectionComponent, MenuTriggerDirective, ModalBackButtonDirective, ModalBodyComponent, ModalCloseButtonDirective, ModalFooterComponent, ModalFooterDirective, ModalHeaderComponent, ModalHeaderDirective, ModalLayoutComponent, ModalService, MultiSelectDirective, NotificationBadgeComponent, OptionComponent, OptionIconDirective, OptionPrimaryTextDirective, OptionSecondaryTextDirective, POPOVER_TRIGGER, PaginationComponent, PanelComponent, PanelTriggerDirective, ParagraphComponent, PopoverCloseButtonDirective, PopoverComponent, PopoverTitleDirective, PopoverTriggerDirective, PressedDirective, RadioComponent, RadioGroupComponent, SapphireBadgeModule, SapphireButtonModule, SapphireCheckboxModule, SapphireCheckboxRequiredValidator, SapphireCoreModule, SapphireFieldModule, SapphireHelpButtonModule, SapphireIconModule, SapphireLinkModule, SapphireListboxModule, SapphireMenuModule, SapphireModalModule, SapphireNotificationBadgeModule, SapphireOverlayContainer, SapphirePaginationChange, SapphirePaginationModule, SapphirePopoverModule,
|
|
8930
|
+
export { BadgeComponent, BasicSelectComponent, BasicSingleSelectDirective, ButtonComponent, ButtonGroupComponent, ButtonIconDirective, CdkVirtualScrollViewportFixDirective, CheckboxChange, CheckboxComponent, CheckboxGroupComponent, ConfirmationDialogComponent, DEFAULT_BREAKPOINTS, DangerDialogComponent, DialogComponent, DialogTriggerDirective, FieldComponent, FieldControl, FieldErrorDirective, FieldLabelDirective, FieldNoteDirective, FieldNoteSuffixDirective, FocusedDirective, HeadingComponent, HelpButtonComponent, HelpButtonContentDirective, HelpButtonFooterDirective, HelpButtonHeaderDirective, ICON_SIZE_PROVIDER, IconButtonComponent, IconComponent, LabelComponent, LinkComponent, ListboxChild, ListboxComponent, ListboxInputDirective, MenuComponent, MenuIconComponent, MenuItemComponent, MenuPrimaryTextComponent, MenuSecondaryTextComponent, MenuSectionComponent, MenuTriggerDirective, ModalBackButtonDirective, ModalBodyComponent, ModalCloseButtonDirective, ModalFooterComponent, ModalFooterDirective, ModalHeaderComponent, ModalHeaderDirective, ModalLayoutComponent, ModalService, MultiSelectDirective, NotificationBadgeComponent, OptionComponent, OptionIconDirective, OptionPrimaryTextDirective, OptionSecondaryTextDirective, POPOVER_TRIGGER, PaginationComponent, PanelComponent, PanelTriggerDirective, ParagraphComponent, PopoverCloseButtonDirective, PopoverComponent, PopoverTitleDirective, PopoverTriggerDirective, PressedDirective, RadioComponent, RadioGroupComponent, SapphireBadgeModule, SapphireButtonModule, SapphireCheckboxModule, SapphireCheckboxRequiredValidator, SapphireCoreModule, SapphireFieldModule, SapphireHelpButtonModule, SapphireIconModule, SapphireLinkModule, SapphireListboxModule, SapphireMenuModule, SapphireModalModule, SapphireNotificationBadgeModule, SapphireOverlayContainer, SapphirePaginationChange, SapphirePaginationModule, SapphirePopoverModule, SapphireRadioModule, SapphireSegmentedTabsModule, SapphireSelectModule, SapphireSkeletonModule, SapphireSurfaceModule, SapphireSwitchChange, SapphireSwitchModule, SapphireSwitchRequiredValidator, SapphireTableModule, SapphireTextFieldModule, SapphireThemeModule, SapphireToggleButtonRequiredValidator, SapphireTooltipModule, SapphireTypographyModule, ScrollMonitorDirective, SearchableSelectDirective, SectionDirective, SegmentedRadioComponent, SegmentedRadioGroupComponent, SegmentedTabComponent, SegmentedTabContentDirective, SegmentedTabLabelDirective, SegmentedTabsComponent, SelectComponent, SelectionTextDirective, SingleSelectDirective, SkeletonBlockDirective, SkeletonCircleDirective, SkeletonComponent, SkeletonTextDirective, SurfaceComponent, SwitchComponent, TableBodyDirective, TableCellDirective, TableComponent, TableDirective, TableFooterDirective, TableHeadCellComponent, TableHeadDirective, TableRowDirective, TableSortDirective, TableSortHeaderDirective, TextFieldComponent, TextFieldInputDirective, TextFieldPostfixDirective, TextFieldPrefixDirective, TextFieldTextareaAutosizeDirective, ThemeBaseDirective, ThemeCheckDirective, ThemeDefault, ThemeDefaultDark, ThemeRootDirective, ToggleButtonComponent, TooltipComponent, TooltipDirective, TranslatePipe, TranslateService, TruncatedWithTooltipDirective, UseComponentStyles, UseComponentStylesOnHost, ViewEncapsulationProvider };
|
|
8650
8931
|
//# sourceMappingURL=danske-sapphire-angular.mjs.map
|