@danske/sapphire-angular 2.1.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 +3 -3
|
@@ -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
|
/**
|
|
@@ -1172,7 +1173,11 @@ const _RadioMixinBase = mixinTabIndex(mixinDisabled(class {
|
|
|
1172
1173
|
this._elementRef = _elementRef;
|
|
1173
1174
|
}
|
|
1174
1175
|
}));
|
|
1175
|
-
|
|
1176
|
+
/**
|
|
1177
|
+
* @Directive decorator is just to be able to have a constructor with DI.
|
|
1178
|
+
* This class is being extended by other components.
|
|
1179
|
+
**/
|
|
1180
|
+
class RadioBase extends _RadioMixinBase {
|
|
1176
1181
|
_getAriaChecked() {
|
|
1177
1182
|
return this.checked ? 'true' : 'false';
|
|
1178
1183
|
}
|
|
@@ -1245,6 +1250,7 @@ class RadioComponent extends _RadioMixinBase {
|
|
|
1245
1250
|
constructor(radioGroup, elementRef, tabIndex, _focusMonitor, _radioDispatcher) {
|
|
1246
1251
|
super(elementRef);
|
|
1247
1252
|
this.radioGroup = radioGroup;
|
|
1253
|
+
this.elementRef = elementRef;
|
|
1248
1254
|
this._focusMonitor = _focusMonitor;
|
|
1249
1255
|
this._radioDispatcher = _radioDispatcher;
|
|
1250
1256
|
/**
|
|
@@ -1370,21 +1376,15 @@ class RadioComponent extends _RadioMixinBase {
|
|
|
1370
1376
|
}
|
|
1371
1377
|
}
|
|
1372
1378
|
}
|
|
1373
|
-
|
|
1374
|
-
|
|
1379
|
+
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 });
|
|
1380
|
+
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 });
|
|
1375
1381
|
__decorate([
|
|
1376
1382
|
AutoId()
|
|
1377
|
-
],
|
|
1378
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type:
|
|
1379
|
-
type:
|
|
1380
|
-
args: [{
|
|
1381
|
-
|
|
1382
|
-
'[attr.tabindex]': 'null',
|
|
1383
|
-
'[attr.aria-label]': 'null',
|
|
1384
|
-
'[attr.aria-labelledby]': 'null',
|
|
1385
|
-
'[attr.aria-describedby]': 'null',
|
|
1386
|
-
}, 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"] }]
|
|
1387
|
-
}], ctorParameters: function () { return [{ type: RadioGroupComponent, decorators: [{
|
|
1383
|
+
], RadioBase.prototype, "id", void 0);
|
|
1384
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: RadioBase, decorators: [{
|
|
1385
|
+
type: Directive,
|
|
1386
|
+
args: [{}]
|
|
1387
|
+
}], ctorParameters: function () { return [{ type: RadioGroupBase, decorators: [{
|
|
1388
1388
|
type: Optional
|
|
1389
1389
|
}] }, { type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
1390
1390
|
type: Attribute,
|
|
@@ -1423,7 +1423,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
1423
1423
|
type: Output
|
|
1424
1424
|
}] } });
|
|
1425
1425
|
|
|
1426
|
-
class
|
|
1426
|
+
class RadioComponent extends RadioBase {
|
|
1427
|
+
}
|
|
1428
|
+
RadioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: RadioComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1429
|
+
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 });
|
|
1430
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: RadioComponent, decorators: [{
|
|
1431
|
+
type: Component,
|
|
1432
|
+
args: [{ selector: 'sp-radio', changeDetection: ChangeDetectionStrategy.Default, hostDirectives: [ThemeCheckDirective], inputs: ['tabIndex'], host: {
|
|
1433
|
+
'[attr.id]': 'id',
|
|
1434
|
+
'[attr.tabindex]': 'null',
|
|
1435
|
+
'[attr.aria-label]': 'null',
|
|
1436
|
+
'[attr.aria-labelledby]': 'null',
|
|
1437
|
+
'[attr.aria-describedby]': 'null',
|
|
1438
|
+
}, 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"] }]
|
|
1439
|
+
}] });
|
|
1440
|
+
|
|
1441
|
+
class RadioGroupBase {
|
|
1427
1442
|
/** Name of the radio button group. All radio buttons inside this group will use this name. */
|
|
1428
1443
|
get name() {
|
|
1429
1444
|
return this._name;
|
|
@@ -1526,11 +1541,6 @@ class RadioGroupComponent {
|
|
|
1526
1541
|
isDisabled() {
|
|
1527
1542
|
return this.disabled;
|
|
1528
1543
|
}
|
|
1529
|
-
_contentFocusChanged(focusOrigin) {
|
|
1530
|
-
if (!focusOrigin) {
|
|
1531
|
-
this.onTouched();
|
|
1532
|
-
}
|
|
1533
|
-
}
|
|
1534
1544
|
/** Updates the `selected` radio button from the internal _value state. */
|
|
1535
1545
|
updateSelectedRadioFromValue() {
|
|
1536
1546
|
// If the value already matches the selected radio, do nothing.
|
|
@@ -1553,8 +1563,52 @@ class RadioGroupComponent {
|
|
|
1553
1563
|
}
|
|
1554
1564
|
}
|
|
1555
1565
|
}
|
|
1556
|
-
|
|
1557
|
-
|
|
1566
|
+
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 });
|
|
1567
|
+
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 });
|
|
1568
|
+
__decorate([
|
|
1569
|
+
AutoId()
|
|
1570
|
+
], RadioGroupBase.prototype, "uniqueId", void 0);
|
|
1571
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: RadioGroupBase, decorators: [{
|
|
1572
|
+
type: Directive,
|
|
1573
|
+
args: [{
|
|
1574
|
+
standalone: true,
|
|
1575
|
+
}]
|
|
1576
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: FieldComponent, decorators: [{
|
|
1577
|
+
type: Optional
|
|
1578
|
+
}] }]; }, propDecorators: { uniqueId: [], orientation: [{
|
|
1579
|
+
type: Input
|
|
1580
|
+
}], name: [{
|
|
1581
|
+
type: Input
|
|
1582
|
+
}], change: [{
|
|
1583
|
+
type: Output
|
|
1584
|
+
}], value: [{
|
|
1585
|
+
type: Input
|
|
1586
|
+
}], selected: [{
|
|
1587
|
+
type: Input
|
|
1588
|
+
}], disabled: [{
|
|
1589
|
+
type: Input
|
|
1590
|
+
}], readonly: [{
|
|
1591
|
+
type: Input
|
|
1592
|
+
}], required: [{
|
|
1593
|
+
type: Input
|
|
1594
|
+
}], radios: [{
|
|
1595
|
+
type: ContentChildren,
|
|
1596
|
+
args: [forwardRef(() => RadioComponent), { descendants: true }]
|
|
1597
|
+
}] } });
|
|
1598
|
+
|
|
1599
|
+
class RadioGroupComponent extends RadioGroupBase {
|
|
1600
|
+
constructor() {
|
|
1601
|
+
super(...arguments);
|
|
1602
|
+
this.orientation = 'vertical';
|
|
1603
|
+
}
|
|
1604
|
+
_onFocusChange(focusOrigin) {
|
|
1605
|
+
if (!focusOrigin) {
|
|
1606
|
+
this.onTouched();
|
|
1607
|
+
}
|
|
1608
|
+
}
|
|
1609
|
+
}
|
|
1610
|
+
RadioGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: RadioGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1611
|
+
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: [
|
|
1558
1612
|
{
|
|
1559
1613
|
provide: NG_VALUE_ACCESSOR,
|
|
1560
1614
|
useExisting: forwardRef(() => RadioGroupComponent),
|
|
@@ -1564,10 +1618,11 @@ RadioGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
|
|
|
1564
1618
|
provide: FieldControl,
|
|
1565
1619
|
useExisting: forwardRef(() => RadioGroupComponent),
|
|
1566
1620
|
},
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1621
|
+
{
|
|
1622
|
+
provide: RadioGroupBase,
|
|
1623
|
+
useExisting: forwardRef(() => RadioGroupComponent),
|
|
1624
|
+
},
|
|
1625
|
+
], 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 });
|
|
1571
1626
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: RadioGroupComponent, decorators: [{
|
|
1572
1627
|
type: Component,
|
|
1573
1628
|
args: [{ selector: 'sp-radio-group', changeDetection: ChangeDetectionStrategy.Default, providers: [
|
|
@@ -1580,30 +1635,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
1580
1635
|
provide: FieldControl,
|
|
1581
1636
|
useExisting: forwardRef(() => RadioGroupComponent),
|
|
1582
1637
|
},
|
|
1638
|
+
{
|
|
1639
|
+
provide: RadioGroupBase,
|
|
1640
|
+
useExisting: forwardRef(() => RadioGroupComponent),
|
|
1641
|
+
},
|
|
1583
1642
|
], host: {
|
|
1584
1643
|
role: 'radiogroup',
|
|
1585
|
-
}, 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)=\"
|
|
1586
|
-
}],
|
|
1587
|
-
type: Optional
|
|
1588
|
-
}] }]; }, propDecorators: { uniqueId: [], orientation: [{
|
|
1589
|
-
type: Input
|
|
1590
|
-
}], name: [{
|
|
1591
|
-
type: Input
|
|
1592
|
-
}], change: [{
|
|
1593
|
-
type: Output
|
|
1594
|
-
}], value: [{
|
|
1595
|
-
type: Input
|
|
1596
|
-
}], selected: [{
|
|
1597
|
-
type: Input
|
|
1598
|
-
}], disabled: [{
|
|
1599
|
-
type: Input
|
|
1600
|
-
}], readonly: [{
|
|
1601
|
-
type: Input
|
|
1602
|
-
}], required: [{
|
|
1644
|
+
}, 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"] }]
|
|
1645
|
+
}], propDecorators: { orientation: [{
|
|
1603
1646
|
type: Input
|
|
1604
|
-
}], radios: [{
|
|
1605
|
-
type: ContentChildren,
|
|
1606
|
-
args: [forwardRef(() => RadioComponent), { descendants: true }]
|
|
1607
1647
|
}] } });
|
|
1608
1648
|
|
|
1609
1649
|
/**
|
|
@@ -5348,7 +5388,7 @@ class SegmentedTabsComponent {
|
|
|
5348
5388
|
this.selectedIndexChange = new EventEmitter();
|
|
5349
5389
|
this.tabs = new QueryList();
|
|
5350
5390
|
this._tabIds = [];
|
|
5351
|
-
this.
|
|
5391
|
+
this._gliderStyles = { left: '0px', width: '0px' };
|
|
5352
5392
|
this._animationEnabled = false;
|
|
5353
5393
|
this._focusVisible = false;
|
|
5354
5394
|
this.skipAnimationFrame();
|
|
@@ -5370,17 +5410,17 @@ class SegmentedTabsComponent {
|
|
|
5370
5410
|
// changed after it was checked" angular error.
|
|
5371
5411
|
//
|
|
5372
5412
|
// https://angular.io/errors/NG0100
|
|
5373
|
-
this.
|
|
5413
|
+
this.setGliderStyles();
|
|
5374
5414
|
this.changeDetector.detectChanges();
|
|
5375
5415
|
this.resizeObserver = new ResizeObserver(() => {
|
|
5376
5416
|
// zonejs doesn't monkey-patch resize observer (yet)
|
|
5377
5417
|
this.zone.run(() => {
|
|
5378
|
-
this.
|
|
5418
|
+
this.setGliderStyles();
|
|
5379
5419
|
});
|
|
5380
5420
|
});
|
|
5381
5421
|
this.resizeObserver.observe(this.segmentedControl.nativeElement);
|
|
5382
5422
|
this.selectedIndexChange.subscribe(() => {
|
|
5383
|
-
this.
|
|
5423
|
+
this.setGliderStyles();
|
|
5384
5424
|
});
|
|
5385
5425
|
}
|
|
5386
5426
|
ngOnDestroy() {
|
|
@@ -5388,7 +5428,7 @@ class SegmentedTabsComponent {
|
|
|
5388
5428
|
this.selectedIndexChange.unsubscribe();
|
|
5389
5429
|
}
|
|
5390
5430
|
ngAfterViewChecked() {
|
|
5391
|
-
this.
|
|
5431
|
+
this.setGliderStyles();
|
|
5392
5432
|
this.changeDetector.detectChanges();
|
|
5393
5433
|
}
|
|
5394
5434
|
getFocusedTab() {
|
|
@@ -5458,11 +5498,18 @@ class SegmentedTabsComponent {
|
|
|
5458
5498
|
return;
|
|
5459
5499
|
}
|
|
5460
5500
|
}
|
|
5461
|
-
|
|
5501
|
+
setGliderStyles() {
|
|
5502
|
+
const { offsetLeft, clientWidth } = this.getSelectedTabPosition();
|
|
5503
|
+
this._gliderStyles = {
|
|
5504
|
+
left: `${offsetLeft}px`,
|
|
5505
|
+
width: `${clientWidth}px`,
|
|
5506
|
+
};
|
|
5507
|
+
}
|
|
5508
|
+
getSelectedTabPosition() {
|
|
5462
5509
|
const tab = this.tabs.toArray()[this.selectedIndex]?._button?.nativeElement;
|
|
5463
|
-
|
|
5464
|
-
|
|
5465
|
-
|
|
5510
|
+
return {
|
|
5511
|
+
offsetLeft: tab?.offsetLeft || 0,
|
|
5512
|
+
clientWidth: tab?.clientWidth || 0,
|
|
5466
5513
|
};
|
|
5467
5514
|
}
|
|
5468
5515
|
onTabsChange() {
|
|
@@ -5513,7 +5560,7 @@ class SegmentedTabsComponent {
|
|
|
5513
5560
|
}
|
|
5514
5561
|
}
|
|
5515
5562
|
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 });
|
|
5516
|
-
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]=\"
|
|
5563
|
+
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"] }] });
|
|
5517
5564
|
__decorate([
|
|
5518
5565
|
CoerceBoolean
|
|
5519
5566
|
], SegmentedTabsComponent.prototype, "disabled", void 0);
|
|
@@ -5521,7 +5568,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
5521
5568
|
type: Component,
|
|
5522
5569
|
args: [{ selector: 'sp-segmented-tabs', providers: [ViewEncapsulationProvider], exportAs: 'spSegmentedTabs', host: {
|
|
5523
5570
|
'[attr.align]': 'null',
|
|
5524
|
-
}, 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]=\"
|
|
5571
|
+
}, 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"] }]
|
|
5525
5572
|
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { segmentedControl: [{
|
|
5526
5573
|
type: ViewChild,
|
|
5527
5574
|
args: ['segmentedControl']
|
|
@@ -6381,6 +6428,64 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
6381
6428
|
args: ['class']
|
|
6382
6429
|
}] } });
|
|
6383
6430
|
|
|
6431
|
+
/**
|
|
6432
|
+
* A patch to fix the issue of sticky header position getting affected
|
|
6433
|
+
* by transform, which is due to transform making the element
|
|
6434
|
+
* a [containing block](https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block).
|
|
6435
|
+
*
|
|
6436
|
+
* It intercepts style assignments on the content wrapper, and converts
|
|
6437
|
+
* transform: translateY(value) to top: value, to avoid making the content
|
|
6438
|
+
* wrapper a containing block for sticky positioned children.
|
|
6439
|
+
*
|
|
6440
|
+
* @see
|
|
6441
|
+
* https://github.com/angular/components/issues/14833
|
|
6442
|
+
* https://github.com/angular/components/issues/18240
|
|
6443
|
+
* https://github.com/angular/components/issues/21576
|
|
6444
|
+
* https://github.com/angular/components/issues/28584
|
|
6445
|
+
*/
|
|
6446
|
+
class CdkVirtualScrollViewportFixDirective {
|
|
6447
|
+
constructor(cdkViewport) {
|
|
6448
|
+
this.cdkViewport = cdkViewport;
|
|
6449
|
+
}
|
|
6450
|
+
ngOnInit() {
|
|
6451
|
+
const contentWrapper = this.cdkViewport._contentWrapper.nativeElement;
|
|
6452
|
+
/**
|
|
6453
|
+
* Proxy to set `top: {value}px` instead of `transform: translateY({value}px)`
|
|
6454
|
+
* whenever `style.transform` is set.
|
|
6455
|
+
*/
|
|
6456
|
+
const styleProxy = new Proxy(contentWrapper.style, {
|
|
6457
|
+
set: (target, prop, value) => {
|
|
6458
|
+
const top = prop === 'transform'
|
|
6459
|
+
? value?.match(/translateY\((\d+)px\)/)?.[1]
|
|
6460
|
+
: undefined;
|
|
6461
|
+
if (top) {
|
|
6462
|
+
target['top'] = `${top}px`;
|
|
6463
|
+
return true;
|
|
6464
|
+
}
|
|
6465
|
+
target[prop] = value;
|
|
6466
|
+
return true;
|
|
6467
|
+
},
|
|
6468
|
+
});
|
|
6469
|
+
// Not directly setting style proxy to contentWrapper.style, to limit
|
|
6470
|
+
// it to the styles set by CdkVirtualScrollViewport.
|
|
6471
|
+
// i.e. only setting `top` instead of `transform`, when set by cdk viewport.
|
|
6472
|
+
this.cdkViewport._contentWrapper.nativeElement = new Proxy(contentWrapper, {
|
|
6473
|
+
get: (target, prop) => {
|
|
6474
|
+
return prop === 'style' ? styleProxy : target[prop];
|
|
6475
|
+
},
|
|
6476
|
+
});
|
|
6477
|
+
}
|
|
6478
|
+
}
|
|
6479
|
+
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 });
|
|
6480
|
+
CdkVirtualScrollViewportFixDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: CdkVirtualScrollViewportFixDirective, isStandalone: true, selector: "cdk-virtual-scroll-viewport", ngImport: i0 });
|
|
6481
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: CdkVirtualScrollViewportFixDirective, decorators: [{
|
|
6482
|
+
type: Directive,
|
|
6483
|
+
args: [{
|
|
6484
|
+
selector: 'cdk-virtual-scroll-viewport',
|
|
6485
|
+
standalone: true,
|
|
6486
|
+
}]
|
|
6487
|
+
}], ctorParameters: function () { return [{ type: i1$5.CdkVirtualScrollViewport }]; } });
|
|
6488
|
+
|
|
6384
6489
|
class SapphireTableModule {
|
|
6385
6490
|
}
|
|
6386
6491
|
SapphireTableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
@@ -6396,6 +6501,7 @@ SapphireTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", ver
|
|
|
6396
6501
|
TableSortHeaderDirective], imports: [CommonModule,
|
|
6397
6502
|
SapphireIconModule,
|
|
6398
6503
|
TruncatedWithTooltipDirective,
|
|
6504
|
+
CdkVirtualScrollViewportFixDirective,
|
|
6399
6505
|
UseComponentStyles], exports: [TableComponent,
|
|
6400
6506
|
TableDirective,
|
|
6401
6507
|
TableBodyDirective,
|
|
@@ -6405,7 +6511,8 @@ SapphireTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", ver
|
|
|
6405
6511
|
TableHeadCellComponent,
|
|
6406
6512
|
TableCellDirective,
|
|
6407
6513
|
TableSortDirective,
|
|
6408
|
-
TableSortHeaderDirective
|
|
6514
|
+
TableSortHeaderDirective,
|
|
6515
|
+
CdkVirtualScrollViewportFixDirective] });
|
|
6409
6516
|
SapphireTableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireTableModule, imports: [CommonModule,
|
|
6410
6517
|
SapphireIconModule] });
|
|
6411
6518
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireTableModule, decorators: [{
|
|
@@ -6427,6 +6534,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
6427
6534
|
CommonModule,
|
|
6428
6535
|
SapphireIconModule,
|
|
6429
6536
|
TruncatedWithTooltipDirective,
|
|
6537
|
+
CdkVirtualScrollViewportFixDirective,
|
|
6430
6538
|
UseComponentStyles,
|
|
6431
6539
|
],
|
|
6432
6540
|
exports: [
|
|
@@ -6440,6 +6548,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
6440
6548
|
TableCellDirective,
|
|
6441
6549
|
TableSortDirective,
|
|
6442
6550
|
TableSortHeaderDirective,
|
|
6551
|
+
CdkVirtualScrollViewportFixDirective,
|
|
6443
6552
|
],
|
|
6444
6553
|
}]
|
|
6445
6554
|
}] });
|
|
@@ -6846,17 +6955,186 @@ const DEFAULT_BREAKPOINTS = {
|
|
|
6846
6955
|
XL: 1400,
|
|
6847
6956
|
};
|
|
6848
6957
|
|
|
6958
|
+
class SegmentedRadioGroupComponent extends RadioGroupBase {
|
|
6959
|
+
constructor(zone, changeDetector) {
|
|
6960
|
+
super(changeDetector, undefined);
|
|
6961
|
+
this.zone = zone;
|
|
6962
|
+
this.changeDetector = changeDetector;
|
|
6963
|
+
/** Size of tabs */
|
|
6964
|
+
this.size = 'md';
|
|
6965
|
+
/**
|
|
6966
|
+
* Alignment of tabs' buttons group.
|
|
6967
|
+
* @default 'left'
|
|
6968
|
+
*/
|
|
6969
|
+
this.align = 'left';
|
|
6970
|
+
this._gliderStyles = { left: '0px', width: '0px' };
|
|
6971
|
+
this._animationEnabled = false;
|
|
6972
|
+
this._focusVisible = false;
|
|
6973
|
+
this.skipAnimationFrame();
|
|
6974
|
+
}
|
|
6975
|
+
skipAnimationFrame() {
|
|
6976
|
+
// We want to avoid animation on first render and whenever tab content changes
|
|
6977
|
+
this._animationEnabled = false;
|
|
6978
|
+
requestAnimationFrame(() => {
|
|
6979
|
+
this._animationEnabled = true;
|
|
6980
|
+
});
|
|
6981
|
+
}
|
|
6982
|
+
setGliderStyles() {
|
|
6983
|
+
const { offsetLeft, clientWidth } = this.getSelectedTabPosition();
|
|
6984
|
+
this._gliderStyles = {
|
|
6985
|
+
left: `${offsetLeft}px`,
|
|
6986
|
+
width: `${clientWidth}px`,
|
|
6987
|
+
};
|
|
6988
|
+
}
|
|
6989
|
+
getSelectedTabPosition() {
|
|
6990
|
+
const selected = this.selected?.elementRef.nativeElement;
|
|
6991
|
+
return {
|
|
6992
|
+
offsetLeft: selected?.offsetLeft || 0,
|
|
6993
|
+
clientWidth: selected?.clientWidth || 0,
|
|
6994
|
+
};
|
|
6995
|
+
}
|
|
6996
|
+
shouldUpdateGliderStyles() {
|
|
6997
|
+
const { offsetLeft, clientWidth } = this.getSelectedTabPosition();
|
|
6998
|
+
return (`${offsetLeft}px` !== this._gliderStyles.left ||
|
|
6999
|
+
`${clientWidth}px` !== this._gliderStyles.width);
|
|
7000
|
+
}
|
|
7001
|
+
ngAfterViewInit() {
|
|
7002
|
+
this.setGliderStyles();
|
|
7003
|
+
this.resizeObserver = new ResizeObserver(() => {
|
|
7004
|
+
if (this.shouldUpdateGliderStyles()) {
|
|
7005
|
+
// zonejs doesn't monkey-patch resize observer (yet)
|
|
7006
|
+
this.zone.run(() => {
|
|
7007
|
+
this.setGliderStyles();
|
|
7008
|
+
});
|
|
7009
|
+
}
|
|
7010
|
+
});
|
|
7011
|
+
this.resizeObserver.observe(this.segmentedControl.nativeElement);
|
|
7012
|
+
this.change.subscribe(() => {
|
|
7013
|
+
this.setGliderStyles();
|
|
7014
|
+
});
|
|
7015
|
+
}
|
|
7016
|
+
ngAfterViewChecked() {
|
|
7017
|
+
this.setGliderStyles();
|
|
7018
|
+
this.changeDetector.detectChanges();
|
|
7019
|
+
}
|
|
7020
|
+
ngOnDestroy() {
|
|
7021
|
+
this.resizeObserver?.unobserve(this.segmentedControl.nativeElement);
|
|
7022
|
+
this.change.unsubscribe();
|
|
7023
|
+
}
|
|
7024
|
+
_onFocusChange(focusOrigin) {
|
|
7025
|
+
this._focusVisible = focusOrigin === 'keyboard';
|
|
7026
|
+
if (!focusOrigin) {
|
|
7027
|
+
this.onTouched();
|
|
7028
|
+
}
|
|
7029
|
+
}
|
|
7030
|
+
}
|
|
7031
|
+
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 });
|
|
7032
|
+
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: [
|
|
7033
|
+
ViewEncapsulationProvider,
|
|
7034
|
+
{
|
|
7035
|
+
provide: NG_VALUE_ACCESSOR,
|
|
7036
|
+
useExisting: forwardRef(() => SegmentedRadioGroupComponent),
|
|
7037
|
+
multi: true,
|
|
7038
|
+
},
|
|
7039
|
+
{
|
|
7040
|
+
provide: FieldControl,
|
|
7041
|
+
useExisting: forwardRef(() => SegmentedRadioGroupComponent),
|
|
7042
|
+
},
|
|
7043
|
+
{
|
|
7044
|
+
provide: RadioGroupBase,
|
|
7045
|
+
useExisting: forwardRef(() => SegmentedRadioGroupComponent),
|
|
7046
|
+
},
|
|
7047
|
+
], 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 });
|
|
7048
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SegmentedRadioGroupComponent, decorators: [{
|
|
7049
|
+
type: Component,
|
|
7050
|
+
args: [{ selector: 'sp-segmented-radio-group', changeDetection: ChangeDetectionStrategy.Default, providers: [
|
|
7051
|
+
ViewEncapsulationProvider,
|
|
7052
|
+
{
|
|
7053
|
+
provide: NG_VALUE_ACCESSOR,
|
|
7054
|
+
useExisting: forwardRef(() => SegmentedRadioGroupComponent),
|
|
7055
|
+
multi: true,
|
|
7056
|
+
},
|
|
7057
|
+
{
|
|
7058
|
+
provide: FieldControl,
|
|
7059
|
+
useExisting: forwardRef(() => SegmentedRadioGroupComponent),
|
|
7060
|
+
},
|
|
7061
|
+
{
|
|
7062
|
+
provide: RadioGroupBase,
|
|
7063
|
+
useExisting: forwardRef(() => SegmentedRadioGroupComponent),
|
|
7064
|
+
},
|
|
7065
|
+
], 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"] }]
|
|
7066
|
+
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { segmentedControl: [{
|
|
7067
|
+
type: ViewChild,
|
|
7068
|
+
args: ['segmentedControl']
|
|
7069
|
+
}], ariaLabel: [{
|
|
7070
|
+
type: Input,
|
|
7071
|
+
args: ['aria-label']
|
|
7072
|
+
}], size: [{
|
|
7073
|
+
type: Input
|
|
7074
|
+
}], align: [{
|
|
7075
|
+
type: Input
|
|
7076
|
+
}] } });
|
|
7077
|
+
|
|
7078
|
+
class SegmentedRadioComponent extends RadioBase {
|
|
7079
|
+
}
|
|
7080
|
+
SegmentedRadioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SegmentedRadioComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
7081
|
+
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 });
|
|
7082
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SegmentedRadioComponent, decorators: [{
|
|
7083
|
+
type: Component,
|
|
7084
|
+
args: [{ selector: 'sp-segmented-radio', changeDetection: ChangeDetectionStrategy.Default, hostDirectives: [ThemeCheckDirective, UseComponentStyles], inputs: ['tabIndex'], host: {
|
|
7085
|
+
class: 'sapphire-segmented-control__button',
|
|
7086
|
+
'[class.sapphire-segmented-control__button--disabled]': 'disabled',
|
|
7087
|
+
'[class.sapphire-segmented-control__button--active]': 'checked',
|
|
7088
|
+
'[attr.id]': 'id',
|
|
7089
|
+
'[attr.tabindex]': 'null',
|
|
7090
|
+
'[attr.aria-label]': 'null',
|
|
7091
|
+
'[attr.aria-labelledby]': 'null',
|
|
7092
|
+
'[attr.aria-describedby]': 'null',
|
|
7093
|
+
}, 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" }]
|
|
7094
|
+
}] });
|
|
7095
|
+
|
|
6849
7096
|
class SapphireRadioModule {
|
|
6850
7097
|
}
|
|
6851
7098
|
SapphireRadioModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
6852
|
-
SapphireRadioModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0", ngImport: i0, type: SapphireRadioModule, declarations: [RadioComponent,
|
|
6853
|
-
|
|
7099
|
+
SapphireRadioModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0", ngImport: i0, type: SapphireRadioModule, declarations: [RadioComponent,
|
|
7100
|
+
RadioGroupComponent,
|
|
7101
|
+
SegmentedRadioComponent,
|
|
7102
|
+
SegmentedRadioGroupComponent], imports: [CommonModule,
|
|
7103
|
+
LabelComponent,
|
|
7104
|
+
A11yModule,
|
|
7105
|
+
SapphireFieldModule,
|
|
7106
|
+
UseComponentStyles], exports: [RadioComponent,
|
|
7107
|
+
RadioGroupComponent,
|
|
7108
|
+
SegmentedRadioComponent,
|
|
7109
|
+
SegmentedRadioGroupComponent,
|
|
7110
|
+
SapphireFieldModule] });
|
|
7111
|
+
SapphireRadioModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireRadioModule, imports: [CommonModule,
|
|
7112
|
+
LabelComponent,
|
|
7113
|
+
A11yModule,
|
|
7114
|
+
SapphireFieldModule, SapphireFieldModule] });
|
|
6854
7115
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireRadioModule, decorators: [{
|
|
6855
7116
|
type: NgModule,
|
|
6856
7117
|
args: [{
|
|
6857
|
-
declarations: [
|
|
6858
|
-
|
|
6859
|
-
|
|
7118
|
+
declarations: [
|
|
7119
|
+
RadioComponent,
|
|
7120
|
+
RadioGroupComponent,
|
|
7121
|
+
SegmentedRadioComponent,
|
|
7122
|
+
SegmentedRadioGroupComponent,
|
|
7123
|
+
],
|
|
7124
|
+
imports: [
|
|
7125
|
+
CommonModule,
|
|
7126
|
+
LabelComponent,
|
|
7127
|
+
A11yModule,
|
|
7128
|
+
SapphireFieldModule,
|
|
7129
|
+
UseComponentStyles,
|
|
7130
|
+
],
|
|
7131
|
+
exports: [
|
|
7132
|
+
RadioComponent,
|
|
7133
|
+
RadioGroupComponent,
|
|
7134
|
+
SegmentedRadioComponent,
|
|
7135
|
+
SegmentedRadioGroupComponent,
|
|
7136
|
+
SapphireFieldModule,
|
|
7137
|
+
],
|
|
6860
7138
|
}]
|
|
6861
7139
|
}] });
|
|
6862
7140
|
|
|
@@ -6919,12 +7197,12 @@ class ModalService {
|
|
|
6919
7197
|
return this.open(componentOrTemplateRef, options, this.overlay.position().global().right());
|
|
6920
7198
|
}
|
|
6921
7199
|
}
|
|
6922
|
-
ModalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ModalService, deps: [{ token: i1$
|
|
7200
|
+
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 });
|
|
6923
7201
|
ModalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ModalService, providedIn: 'root' });
|
|
6924
7202
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ModalService, decorators: [{
|
|
6925
7203
|
type: Injectable,
|
|
6926
7204
|
args: [{ providedIn: 'root' }]
|
|
6927
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
7205
|
+
}], ctorParameters: function () { return [{ type: i1$6.Dialog }, { type: i1$3.Overlay }]; } });
|
|
6928
7206
|
|
|
6929
7207
|
/**
|
|
6930
7208
|
* Monitors host element's **scrolled** and **scrollable** state.
|
|
@@ -7040,7 +7318,7 @@ class ModalCloseButtonDirective {
|
|
|
7040
7318
|
this.dialogRef?.close();
|
|
7041
7319
|
}
|
|
7042
7320
|
}
|
|
7043
|
-
ModalCloseButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ModalCloseButtonDirective, deps: [{ token: TranslateService }, { token: i1$
|
|
7321
|
+
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 });
|
|
7044
7322
|
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 });
|
|
7045
7323
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ModalCloseButtonDirective, decorators: [{
|
|
7046
7324
|
type: Directive,
|
|
@@ -7050,7 +7328,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
7050
7328
|
'[attr.aria-label]': 'dismissLabel',
|
|
7051
7329
|
},
|
|
7052
7330
|
}]
|
|
7053
|
-
}], ctorParameters: function () { return [{ type: TranslateService }, { type: i1$
|
|
7331
|
+
}], ctorParameters: function () { return [{ type: TranslateService }, { type: i1$6.DialogRef, decorators: [{
|
|
7054
7332
|
type: Optional
|
|
7055
7333
|
}] }]; }, propDecorators: { close: [{
|
|
7056
7334
|
type: HostListener,
|
|
@@ -7171,7 +7449,7 @@ class ModalBaseComponent {
|
|
|
7171
7449
|
this.dialogRef.immediateClose();
|
|
7172
7450
|
}
|
|
7173
7451
|
}
|
|
7174
|
-
ModalBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ModalBaseComponent, deps: [{ token: i1$
|
|
7452
|
+
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 });
|
|
7175
7453
|
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 });
|
|
7176
7454
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ModalBaseComponent, decorators: [{
|
|
7177
7455
|
type: Component,
|
|
@@ -7186,7 +7464,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
7186
7464
|
'[attr.role]': 'null',
|
|
7187
7465
|
},
|
|
7188
7466
|
}]
|
|
7189
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
7467
|
+
}], ctorParameters: function () { return [{ type: i1$6.DialogRef }]; }, propDecorators: { ariaLabel: [{
|
|
7190
7468
|
type: Input,
|
|
7191
7469
|
args: ['aria-label']
|
|
7192
7470
|
}], ariaLabelledBy: [{
|
|
@@ -7217,7 +7495,7 @@ class DialogComponent extends ModalBaseComponent {
|
|
|
7217
7495
|
this.size = 'sm';
|
|
7218
7496
|
}
|
|
7219
7497
|
}
|
|
7220
|
-
DialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DialogComponent, deps: [{ token: i1$
|
|
7498
|
+
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 });
|
|
7221
7499
|
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"] });
|
|
7222
7500
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DialogComponent, decorators: [{
|
|
7223
7501
|
type: Component,
|
|
@@ -7229,7 +7507,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
7229
7507
|
'[class.sapphire-dialog--lg]': "size === 'lg'",
|
|
7230
7508
|
'[class.sapphire-dialog--exiting]': 'dialogRef.closing',
|
|
7231
7509
|
}, 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"] }]
|
|
7232
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
7510
|
+
}], ctorParameters: function () { return [{ type: i1$6.DialogRef }]; }, propDecorators: { size: [{
|
|
7233
7511
|
type: Input
|
|
7234
7512
|
}] } });
|
|
7235
7513
|
|
|
@@ -7496,7 +7774,7 @@ class PanelComponent extends ModalBaseComponent {
|
|
|
7496
7774
|
this.size = 'lg';
|
|
7497
7775
|
}
|
|
7498
7776
|
}
|
|
7499
|
-
PanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: PanelComponent, deps: [{ token: i1$
|
|
7777
|
+
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 });
|
|
7500
7778
|
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"] });
|
|
7501
7779
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: PanelComponent, decorators: [{
|
|
7502
7780
|
type: Component,
|
|
@@ -7505,7 +7783,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
7505
7783
|
'[class.sapphire-panel--sm]': 'size === "sm"',
|
|
7506
7784
|
'[class.sapphire-panel--visible]': '!dialogRef.closing',
|
|
7507
7785
|
}, 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"] }]
|
|
7508
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
7786
|
+
}], ctorParameters: function () { return [{ type: i1$6.DialogRef }]; }, propDecorators: { size: [{
|
|
7509
7787
|
type: Input
|
|
7510
7788
|
}] } });
|
|
7511
7789
|
|
|
@@ -8510,5 +8788,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
8510
8788
|
* Generated bundle index. Do not edit.
|
|
8511
8789
|
*/
|
|
8512
8790
|
|
|
8513
|
-
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,
|
|
8791
|
+
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 };
|
|
8514
8792
|
//# sourceMappingURL=danske-sapphire-angular.mjs.map
|