@ngrdt/gov 0.0.78 → 0.0.81
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/fesm2022/ngrdt-gov.mjs +439 -13
- package/fesm2022/ngrdt-gov.mjs.map +1 -1
- package/index.d.ts +265 -5
- package/package.json +8 -7
- package/rdt-gov-menu.css +88 -0
- package/rdt-gov-table.css +73 -0
- package/styles.css +8 -0
- package/lib/gov/ui/button/rdt-gov-button.component.scss +0 -0
- package/lib/gov/ui/checkbox/rdt-gov-checkbox.component.scss +0 -11
- package/lib/gov/ui/gov-shared-styles.scss +0 -23
- package/lib/gov/ui/icon/rdt-gov-icon.component.scss +0 -13
- package/lib/gov/ui/select/rdt-gov-select.component.scss +0 -288
package/fesm2022/ngrdt-gov.mjs
CHANGED
|
@@ -1,22 +1,24 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, Injector, signal, input, linkedSignal, viewChild, effect, afterNextRender, untracked, Component, forwardRef,
|
|
2
|
+
import { inject, Injector, signal, input, linkedSignal, viewChild, effect, afterNextRender, untracked, Component, forwardRef, ViewEncapsulation, InjectionToken, Renderer2, computed, ChangeDetectionStrategy, Injectable, importProvidersFrom, CUSTOM_ELEMENTS_SCHEMA, Directive, ViewContainerRef, viewChildren, booleanAttribute } from '@angular/core';
|
|
3
3
|
import * as i1 from '@gov-design-system-ce/angular';
|
|
4
4
|
import { GovButton, GovDesignSystemModule } from '@gov-design-system-ce/angular';
|
|
5
|
+
import { RdtButtonBase, RDT_BUTTON_BASE_PROVIDER } from '@ngrdt/button';
|
|
5
6
|
import { RdtCheckboxComponent, RdtFormErrorPipe, RDT_CHECKBOX_BASE_PROVIDER, RdtDateComponent, RdtBaseFormInputComponent, RdtNumericInputComponent, RdtSelectOfflineDatasourceProviderDirective, RdtBaseSelectCommonComponent, RdtSelectOptionDirective, RdtSelectStore, RdtSingleSelectComponent, RdtTextInputComponent } from '@ngrdt/forms';
|
|
6
|
-
import { RdtIconOutletDirective, RdtIconComponent, RDT_ICON_BASE_PROVIDER, RDT_ICON_REGISTRY_PROVIDER
|
|
7
|
-
import
|
|
7
|
+
import { RdtIconOutletDirective, RdtIcon, RdtIconComponent, RDT_ICON_BASE_PROVIDER, RDT_ICON_REGISTRY_PROVIDER } from '@ngrdt/icon';
|
|
8
|
+
import { RdtSpinnerComponent, RDT_SPINNER_BASE_PROVIDER } from '@ngrdt/loading';
|
|
9
|
+
import * as i1$1 from '@angular/common';
|
|
8
10
|
import { NgTemplateOutlet, CommonModule } from '@angular/common';
|
|
9
11
|
import { RouterLink } from '@angular/router';
|
|
10
|
-
import
|
|
11
|
-
import * as i1$1 from '@angular/forms';
|
|
12
|
+
import * as i1$2 from '@angular/forms';
|
|
12
13
|
import { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
|
|
14
|
+
import { ReplaySubject, Subject, take, fromEvent, filter, throttleTime, animationFrameScheduler, map } from 'rxjs';
|
|
15
|
+
import { Overlay } from '@angular/cdk/overlay';
|
|
16
|
+
import { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';
|
|
17
|
+
import { CdkDrag } from '@angular/cdk/drag-drop';
|
|
18
|
+
import { RdtTranslateService, RdtAutoFocusOnInitDirective, RdtTranslatePipe } from '@ngrdt/core';
|
|
13
19
|
import { defineCustomElements } from '@gov-design-system-ce/components/loader';
|
|
14
20
|
import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';
|
|
15
21
|
import { TAB, ENTER } from '@angular/cdk/keycodes';
|
|
16
|
-
import { Overlay } from '@angular/cdk/overlay';
|
|
17
|
-
import { TemplatePortal } from '@angular/cdk/portal';
|
|
18
|
-
import { RdtAutoFocusOnInitDirective } from '@ngrdt/core';
|
|
19
|
-
import { fromEvent, filter, throttleTime, animationFrameScheduler, map } from 'rxjs';
|
|
20
22
|
|
|
21
23
|
const DEFAULT_GOV_BUTTON_COLOR = 'primary';
|
|
22
24
|
const DEFAULT_GOV_BUTTON_TYPE = 'outlined';
|
|
@@ -134,6 +136,320 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
134
136
|
], template: "@let lPos = labelPosition();\n<div [class.center]=\"lPos !== 'top'\">\n @if(lPos === 'top' && label().length>0){\n <gov-form-label\n slot=\"left\"\n size=\"m\"\n [class.warning-color-gov-label]=\"hasError\"\n >{{ label() }} @if (required()) {\n <span class=\"warning-color-text\">*</span>\n }</gov-form-label\n >\n } @if(lPos === 'left') {\n <p\n class=\"gov-form-label__label s_label spaced\"\n [class.warning-color-text]=\"hasError\"\n >\n {{ label() }} @if (required()) {\n <span class=\"warning-color-text\">*</span>\n }\n </p>\n }\n <gov-form-checkbox\n class=\"rdt-gov-checkbox\"\n [size]=\"size()\"\n [value]=\"value()\"\n [ariaLabel]=\"lPos === 'left' ? label() : ''\"\n [required]=\"required()\"\n [checked]=\"checkedState()\"\n [invalid]=\"invalid()\"\n [disabled]=\"disabled()\"\n [identifier]=\"id()\"\n [noLabel]=\"true\"\n (gov-change)=\"checkedChange.emit(checkedState())\"\n ></gov-form-checkbox>\n @if(lPos === 'right') {\n <p\n class=\"gov-form-label__label s_label\"\n [class.warning-color-text]=\"hasError\"\n >\n {{ label() }} @if (required()) {\n <span class=\"warning-color-text\">*</span>\n }\n </p>\n } @let hasError = visibleErrors() | rdtFormError; @if(hasError){\n <gov-form-message slot=\"bottom\" color=\"error\">{{\n hasError\n }}</gov-form-message>\n }\n</div>\n", styles: ["gov-form-checkbox{min-height:0px!important;padding:0!important}.center{display:flex;align-items:center}.spaced{margin-right:var(--spacing-xs-nudge)}\n"] }]
|
|
135
137
|
}] });
|
|
136
138
|
|
|
139
|
+
class RdtGovDialogContentComponent {
|
|
140
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: RdtGovDialogContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
141
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.0", type: RdtGovDialogContentComponent, isStandalone: true, selector: "rdt-gov-dialog-content", ngImport: i0, template: "<div class=\"gov-dialog__content\">\n <ng-content></ng-content>\n</div>\n" });
|
|
142
|
+
}
|
|
143
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: RdtGovDialogContentComponent, decorators: [{
|
|
144
|
+
type: Component,
|
|
145
|
+
args: [{ selector: 'rdt-gov-dialog-content', imports: [], template: "<div class=\"gov-dialog__content\">\n <ng-content></ng-content>\n</div>\n" }]
|
|
146
|
+
}] });
|
|
147
|
+
|
|
148
|
+
class RdtGovDialogRef {
|
|
149
|
+
config;
|
|
150
|
+
_close$ = new ReplaySubject(1);
|
|
151
|
+
_open$ = new Subject();
|
|
152
|
+
close$ = this._close$.asObservable();
|
|
153
|
+
open$ = this._open$.asObservable();
|
|
154
|
+
header = signal(null);
|
|
155
|
+
headerIcons = signal(null);
|
|
156
|
+
isLoading = signal(false);
|
|
157
|
+
hasBackdrop = signal(true);
|
|
158
|
+
isDraggable = signal(false);
|
|
159
|
+
isResizable = signal(false);
|
|
160
|
+
inputData = signal(null);
|
|
161
|
+
constructor(config) {
|
|
162
|
+
this.config = signal(config);
|
|
163
|
+
}
|
|
164
|
+
ready() {
|
|
165
|
+
this._open$.next();
|
|
166
|
+
}
|
|
167
|
+
close(data) {
|
|
168
|
+
this._close$.next(data);
|
|
169
|
+
this._close$.complete();
|
|
170
|
+
this._open$.complete();
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
class RdtGovDialogFooterComponent {
|
|
175
|
+
dialogRef = inject(RdtGovDialogRef);
|
|
176
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: RdtGovDialogFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
177
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.0", type: RdtGovDialogFooterComponent, isStandalone: true, selector: "rdt-gov-dialog-footer", ngImport: i0, template: "<div class=\"gov-dialog__footer\">\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "ngmodule", type: GovDesignSystemModule }] });
|
|
178
|
+
}
|
|
179
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: RdtGovDialogFooterComponent, decorators: [{
|
|
180
|
+
type: Component,
|
|
181
|
+
args: [{ selector: 'rdt-gov-dialog-footer', imports: [GovDesignSystemModule], template: "<div class=\"gov-dialog__footer\">\n <ng-content></ng-content>\n</div>\n" }]
|
|
182
|
+
}] });
|
|
183
|
+
|
|
184
|
+
class RdtGovDialogHeaderComponent {
|
|
185
|
+
dialogRef = inject(RdtGovDialogRef);
|
|
186
|
+
govIcon = RdtIcon.Close;
|
|
187
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: RdtGovDialogHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
188
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0", type: RdtGovDialogHeaderComponent, isStandalone: true, selector: "rdt-gov-dialog-header", ngImport: i0, template: "<div class=\"gov-dialog__header\">\n <div class=\"gov-dialog__header-left\">\n @let lI = dialogRef.headerIcons()?.iconStart; @if(lI){\n <span [class]=\"dialogRef.headerIcons()?.iconStartColor\">\n <ng-container rdtIconOutlet [inputs]=\"{ name: lI }\"></ng-container\n ></span>\n }\n <h2 class=\"gov-dialog__title\">\n {{ dialogRef.header() }}\n </h2>\n @let rI = dialogRef.headerIcons()?.icon; @if(rI){\n <span [class]=\"dialogRef.headerIcons()?.iconColor\">\n <ng-container rdtIconOutlet [inputs]=\"{ name: rI }\"></ng-container\n ></span>\n }\n </div>\n <rdt-gov-button\n [appearance]=\"'base'\"\n [size]=\"'l'\"\n [expanded]=\"true\"\n [iconStart]=\"govIcon\"\n (click)=\"dialogRef.close()\"\n ></rdt-gov-button>\n</div>\n", dependencies: [{ kind: "ngmodule", type: GovDesignSystemModule }, { kind: "component", type: RdtGovButtonComponent, selector: "rdt-gov-button", inputs: ["appearance", "color", "size", "iconStart", "expanded"] }, { kind: "directive", type: RdtIconOutletDirective, selector: "[rdtIconOutlet]", exportAs: ["rdtIconOutlet"] }] });
|
|
189
|
+
}
|
|
190
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: RdtGovDialogHeaderComponent, decorators: [{
|
|
191
|
+
type: Component,
|
|
192
|
+
args: [{ selector: 'rdt-gov-dialog-header', imports: [
|
|
193
|
+
GovDesignSystemModule,
|
|
194
|
+
RdtGovButtonComponent,
|
|
195
|
+
RdtIconOutletDirective,
|
|
196
|
+
], template: "<div class=\"gov-dialog__header\">\n <div class=\"gov-dialog__header-left\">\n @let lI = dialogRef.headerIcons()?.iconStart; @if(lI){\n <span [class]=\"dialogRef.headerIcons()?.iconStartColor\">\n <ng-container rdtIconOutlet [inputs]=\"{ name: lI }\"></ng-container\n ></span>\n }\n <h2 class=\"gov-dialog__title\">\n {{ dialogRef.header() }}\n </h2>\n @let rI = dialogRef.headerIcons()?.icon; @if(rI){\n <span [class]=\"dialogRef.headerIcons()?.iconColor\">\n <ng-container rdtIconOutlet [inputs]=\"{ name: rI }\"></ng-container\n ></span>\n }\n </div>\n <rdt-gov-button\n [appearance]=\"'base'\"\n [size]=\"'l'\"\n [expanded]=\"true\"\n [iconStart]=\"govIcon\"\n (click)=\"dialogRef.close()\"\n ></rdt-gov-button>\n</div>\n" }]
|
|
197
|
+
}] });
|
|
198
|
+
|
|
199
|
+
class RdtGovSpinnerComponent extends RdtSpinnerComponent {
|
|
200
|
+
message = linkedSignal(() => this.messageInput());
|
|
201
|
+
messageInput = input('Loading...', {
|
|
202
|
+
alias: 'message',
|
|
203
|
+
});
|
|
204
|
+
size = linkedSignal(() => this.sizeInput());
|
|
205
|
+
sizeInput = input('m', {
|
|
206
|
+
alias: 'size',
|
|
207
|
+
});
|
|
208
|
+
mode = linkedSignal(() => this.modeInput());
|
|
209
|
+
modeInput = input('local', {
|
|
210
|
+
alias: 'mode',
|
|
211
|
+
});
|
|
212
|
+
messagePositionInput = input('below', {
|
|
213
|
+
alias: 'messagePosition',
|
|
214
|
+
});
|
|
215
|
+
messagePosition = linkedSignal(() => this.messagePositionInput());
|
|
216
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: RdtGovSpinnerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
217
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.0", type: RdtGovSpinnerComponent, isStandalone: true, selector: "rdt-gov-spinner", inputs: { messageInput: { classPropertyName: "messageInput", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, sizeInput: { classPropertyName: "sizeInput", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, modeInput: { classPropertyName: "modeInput", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, messagePositionInput: { classPropertyName: "messagePositionInput", publicName: "messagePosition", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<gov-loading\n [size]=\"size()\"\n [class]=\"\n 'rdt-spinner-' + mode() + ' ' + 'rdt-spinner-pos-' + messagePosition()\n \"\n >{{ message() }}</gov-loading\n>\n", styles: ["gov-loading svg{animation:spin 2s linear infinite;transform-box:fill-box;transform-origin:center}.rdt-spinner-local{width:fit-content}.rdt-spinner-local .gov-loading__content{background-color:transparent;position:unset;z-index:1;transform:none;padding:0!important;width:fit-content;min-width:fit-content!important}.rdt-spinner-local gov-backdrop{display:none}.rdt-spinner-pos-left .gov-loading__content{flex-direction:row-reverse}.rdt-spinner-pos-right .gov-loading__content{flex-direction:row}.rdt-spinner-pos-above .gov-loading__content{flex-direction:column-reverse}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "ngmodule", type: GovDesignSystemModule }, { kind: "component", type: i1.GovLoading, selector: "gov-loading", inputs: ["size"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
218
|
+
}
|
|
219
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: RdtGovSpinnerComponent, decorators: [{
|
|
220
|
+
type: Component,
|
|
221
|
+
args: [{ selector: 'rdt-gov-spinner', imports: [GovDesignSystemModule], encapsulation: ViewEncapsulation.None, template: "<gov-loading\n [size]=\"size()\"\n [class]=\"\n 'rdt-spinner-' + mode() + ' ' + 'rdt-spinner-pos-' + messagePosition()\n \"\n >{{ message() }}</gov-loading\n>\n", styles: ["gov-loading svg{animation:spin 2s linear infinite;transform-box:fill-box;transform-origin:center}.rdt-spinner-local{width:fit-content}.rdt-spinner-local .gov-loading__content{background-color:transparent;position:unset;z-index:1;transform:none;padding:0!important;width:fit-content;min-width:fit-content!important}.rdt-spinner-local gov-backdrop{display:none}.rdt-spinner-pos-left .gov-loading__content{flex-direction:row-reverse}.rdt-spinner-pos-right .gov-loading__content{flex-direction:row}.rdt-spinner-pos-above .gov-loading__content{flex-direction:column-reverse}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
|
|
222
|
+
}] });
|
|
223
|
+
|
|
224
|
+
class RdtGovDialogLoadingComponent {
|
|
225
|
+
messageInput = input(null, {
|
|
226
|
+
alias: 'message',
|
|
227
|
+
});
|
|
228
|
+
message = linkedSignal(() => this.messageInput());
|
|
229
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: RdtGovDialogLoadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
230
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.0", type: RdtGovDialogLoadingComponent, isStandalone: true, selector: "rdt-gov-dialog-loading", inputs: { messageInput: { classPropertyName: "messageInput", publicName: "message", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"gov-dialog__loading\">\n <rdt-gov-spinner\n [size]=\"'m'\"\n [messagePosition]=\"'below'\"\n [message]=\"message() ?? 'Loading...'\"\n ></rdt-gov-spinner>\n <div></div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: GovDesignSystemModule }, { kind: "component", type: RdtGovSpinnerComponent, selector: "rdt-gov-spinner", inputs: ["message", "size", "mode", "messagePosition"] }] });
|
|
231
|
+
}
|
|
232
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: RdtGovDialogLoadingComponent, decorators: [{
|
|
233
|
+
type: Component,
|
|
234
|
+
args: [{ selector: 'rdt-gov-dialog-loading', imports: [GovDesignSystemModule, RdtGovSpinnerComponent], template: "<div class=\"gov-dialog__loading\">\n <rdt-gov-spinner\n [size]=\"'m'\"\n [messagePosition]=\"'below'\"\n [message]=\"message() ?? 'Loading...'\"\n ></rdt-gov-spinner>\n <div></div>\n</div>\n" }]
|
|
235
|
+
}] });
|
|
236
|
+
|
|
237
|
+
class RdtGovBaseDialog {
|
|
238
|
+
dialogRef = inject(RdtGovDialogRef);
|
|
239
|
+
constructor() {
|
|
240
|
+
this.ready();
|
|
241
|
+
}
|
|
242
|
+
ready() {
|
|
243
|
+
this.dialogRef.ready();
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
const RDT_BASE_DIALOG_PROVIDER = new InjectionToken('RDT_GOV_BASE_DIALOG_PROVIDER');
|
|
248
|
+
const RDT_ALERT_DIALOG_PROVIDER = new InjectionToken('RDT_GOV_ALERT_DIALOG_PROVIDER');
|
|
249
|
+
const RDT_CONFIRM_DIALOG_PROVIDER = new InjectionToken('RDT_GOV_CONFIRM_DIALOG_PROVIDER');
|
|
250
|
+
|
|
251
|
+
class RdtGovDialogComponent {
|
|
252
|
+
dialogRef = inject(RdtGovDialogRef);
|
|
253
|
+
renderer = inject(Renderer2);
|
|
254
|
+
dialogRefInjector = computed(() => Injector.create({
|
|
255
|
+
providers: [{ provide: RdtGovDialogRef, useValue: this.dialogRef }],
|
|
256
|
+
parent: this.dialogRef.config().injector,
|
|
257
|
+
}));
|
|
258
|
+
constructor() {
|
|
259
|
+
const config = this.dialogRef.config();
|
|
260
|
+
const pxBindings = {
|
|
261
|
+
minHeight: '--dialog-min-height',
|
|
262
|
+
minWidth: '--dialog-min-width',
|
|
263
|
+
maxHeight: '--dialog-max-height',
|
|
264
|
+
maxWidth: '--dialog-max-width',
|
|
265
|
+
};
|
|
266
|
+
Object.keys(pxBindings).forEach((prop) => {
|
|
267
|
+
if (this.isPxSize(prop)) {
|
|
268
|
+
const value = config[prop];
|
|
269
|
+
if (value) {
|
|
270
|
+
document.documentElement.style.setProperty(pxBindings[prop], value);
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
isPxSize(propname) {
|
|
276
|
+
const size = this.dialogRef.config()[propname];
|
|
277
|
+
return typeof size === 'string' && size.endsWith('px');
|
|
278
|
+
}
|
|
279
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: RdtGovDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
280
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.0", type: RdtGovDialogComponent, isStandalone: true, selector: "rdt-gov-dialog", host: { properties: { "class.fullscreen-modal": "dialogRef.config().size === 'fullscreen'", "style.width": "isPxSize(\"size\") ? dialogRef.config().size : null" } }, ngImport: i0, template: "<div\n class=\"gov-modal__dialog rdt-gov-dialog\"\n cdkDrag\n [cdkDragDisabled]=\"!dialogRef.config().isDraggable\"\n>\n <ng-container\n *ngComponentOutlet=\"\n dialogRef.config().component;\n injector: dialogRefInjector()\n \"\n ></ng-container>\n</div>\n", styles: [":root{--dialog-min-height: 400px;--dialog-min-width: 400px;--dialog-max-height: 100%;--dialog-max-width: 100%}.fullscreen-modal{width:100vw;height:100vh}.fullscreen-modal .rdt-gov-dialog{padding:1.25rem;height:100%}.gov-dialog__content{flex:1;display:flex;flex-direction:column}.gov-modal__dialog>*{min-width:var(--dialog-min-width);min-height:var(--dialog-min-height);position:relative;display:flex;flex-direction:column;width:100%;height:100%;max-height:var(--dialog-max-height);max-width:var(--dialog-max-width);border-radius:var(--border-radius, var(--corner-radius-s));background:var(--background, var(--background-block-primary));overflow:hidden;pointer-events:auto;box-shadow:0 .5rem 2rem #0000004d}.gov-modal__dialog>* rdt-gov-dialog-content{flex:1;position:relative}.gov-dialog__header{margin-top:0;margin-bottom:0;display:flex;padding:var(--spacing-m) var(--spacing-l);line-height:var(--height-line-l);border-bottom:var(--border-width, .0625rem) solid var(--border-color, var(--border-subtlest));justify-content:space-between;align-items:center}.gov-dialog__header h2{font-size:var(--font-size-body-l);line-height:150%;font-weight:400}.gov-dialog__header-left{display:flex;gap:var(--spacing-m)}.gov-dialog__header-left .warning{color:var(--warning, var(--icon-warning))}.gov-dialog__header-left .error{color:var(--error, var(--icon-error))}.gov-dialog__header-left .success{color:var(--success, var(--icon-success))}.gov-dialog__header-left .neutral{color:var(--neutral, var(--icon-neutral))}.gov-dialog__header-left .primary{color:var(--primary, var(--icon-on-subtle))}.gov-dialog__header-left .secondary{color:var(--secondary, var(--icon-secondary))}rdt-gov-dialog-loading{min-height:calc(var(--dialog-min-height) - 210px);flex:1;display:grid;place-items:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
281
|
+
}
|
|
282
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: RdtGovDialogComponent, decorators: [{
|
|
283
|
+
type: Component,
|
|
284
|
+
args: [{ selector: 'rdt-gov-dialog', standalone: true, imports: [CommonModule, CdkDrag], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
285
|
+
'[class.fullscreen-modal]': "dialogRef.config().size === 'fullscreen'",
|
|
286
|
+
'[style.width]': 'isPxSize("size") ? dialogRef.config().size : null',
|
|
287
|
+
}, template: "<div\n class=\"gov-modal__dialog rdt-gov-dialog\"\n cdkDrag\n [cdkDragDisabled]=\"!dialogRef.config().isDraggable\"\n>\n <ng-container\n *ngComponentOutlet=\"\n dialogRef.config().component;\n injector: dialogRefInjector()\n \"\n ></ng-container>\n</div>\n", styles: [":root{--dialog-min-height: 400px;--dialog-min-width: 400px;--dialog-max-height: 100%;--dialog-max-width: 100%}.fullscreen-modal{width:100vw;height:100vh}.fullscreen-modal .rdt-gov-dialog{padding:1.25rem;height:100%}.gov-dialog__content{flex:1;display:flex;flex-direction:column}.gov-modal__dialog>*{min-width:var(--dialog-min-width);min-height:var(--dialog-min-height);position:relative;display:flex;flex-direction:column;width:100%;height:100%;max-height:var(--dialog-max-height);max-width:var(--dialog-max-width);border-radius:var(--border-radius, var(--corner-radius-s));background:var(--background, var(--background-block-primary));overflow:hidden;pointer-events:auto;box-shadow:0 .5rem 2rem #0000004d}.gov-modal__dialog>* rdt-gov-dialog-content{flex:1;position:relative}.gov-dialog__header{margin-top:0;margin-bottom:0;display:flex;padding:var(--spacing-m) var(--spacing-l);line-height:var(--height-line-l);border-bottom:var(--border-width, .0625rem) solid var(--border-color, var(--border-subtlest));justify-content:space-between;align-items:center}.gov-dialog__header h2{font-size:var(--font-size-body-l);line-height:150%;font-weight:400}.gov-dialog__header-left{display:flex;gap:var(--spacing-m)}.gov-dialog__header-left .warning{color:var(--warning, var(--icon-warning))}.gov-dialog__header-left .error{color:var(--error, var(--icon-error))}.gov-dialog__header-left .success{color:var(--success, var(--icon-success))}.gov-dialog__header-left .neutral{color:var(--neutral, var(--icon-neutral))}.gov-dialog__header-left .primary{color:var(--primary, var(--icon-on-subtle))}.gov-dialog__header-left .secondary{color:var(--secondary, var(--icon-secondary))}rdt-gov-dialog-loading{min-height:calc(var(--dialog-min-height) - 210px);flex:1;display:grid;place-items:center}\n"] }]
|
|
288
|
+
}], ctorParameters: () => [] });
|
|
289
|
+
|
|
290
|
+
class RdtGovAlertDialog extends RdtGovBaseDialog {
|
|
291
|
+
proceed() {
|
|
292
|
+
this.dialogRef.close(true);
|
|
293
|
+
}
|
|
294
|
+
get alert() {
|
|
295
|
+
return this.dialogRef.inputData();
|
|
296
|
+
}
|
|
297
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: RdtGovAlertDialog, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
298
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.0", type: RdtGovAlertDialog, isStandalone: true, selector: "rdt-gov-alert-dialog", usesInheritance: true, ngImport: i0, template: "<rdt-gov-dialog-header />\n<rdt-gov-dialog-content>\n <p>{{ alert.message }}</p>\n</rdt-gov-dialog-content>\n<rdt-gov-dialog-footer>\n <rdt-gov-button\n [appearance]=\"alert.okBtn?.appearance ?? 'solid'\"\n [label]=\"alert.okBtn?.text\"\n [size]=\"alert.okBtn?.size ?? 'm'\"\n [iconStart]=\"alert.okBtn?.iconStart\"\n [icon]=\"alert.okBtn?.icon\"\n [color]=\"alert.okBtn?.color ?? 'primary'\"\n [autofocus]=\"alert.okBtn?.isAutofocused ?? true\"\n (click)=\"proceed()\"\n ></rdt-gov-button>\n</rdt-gov-dialog-footer>\n", dependencies: [{ kind: "component", type: RdtGovDialogHeaderComponent, selector: "rdt-gov-dialog-header" }, { kind: "component", type: RdtGovDialogFooterComponent, selector: "rdt-gov-dialog-footer" }, { kind: "component", type: RdtGovDialogContentComponent, selector: "rdt-gov-dialog-content" }, { kind: "component", type: RdtGovButtonComponent, selector: "rdt-gov-button", inputs: ["appearance", "color", "size", "iconStart", "expanded"] }] });
|
|
299
|
+
}
|
|
300
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: RdtGovAlertDialog, decorators: [{
|
|
301
|
+
type: Component,
|
|
302
|
+
args: [{ selector: 'rdt-gov-alert-dialog', imports: [
|
|
303
|
+
RdtGovDialogHeaderComponent,
|
|
304
|
+
RdtGovDialogFooterComponent,
|
|
305
|
+
RdtGovDialogContentComponent,
|
|
306
|
+
RdtGovButtonComponent,
|
|
307
|
+
], template: "<rdt-gov-dialog-header />\n<rdt-gov-dialog-content>\n <p>{{ alert.message }}</p>\n</rdt-gov-dialog-content>\n<rdt-gov-dialog-footer>\n <rdt-gov-button\n [appearance]=\"alert.okBtn?.appearance ?? 'solid'\"\n [label]=\"alert.okBtn?.text\"\n [size]=\"alert.okBtn?.size ?? 'm'\"\n [iconStart]=\"alert.okBtn?.iconStart\"\n [icon]=\"alert.okBtn?.icon\"\n [color]=\"alert.okBtn?.color ?? 'primary'\"\n [autofocus]=\"alert.okBtn?.isAutofocused ?? true\"\n (click)=\"proceed()\"\n ></rdt-gov-button>\n</rdt-gov-dialog-footer>\n" }]
|
|
308
|
+
}] });
|
|
309
|
+
|
|
310
|
+
class RdtGovConfirmDialog extends RdtGovBaseDialog {
|
|
311
|
+
abort() {
|
|
312
|
+
this.dialogRef.close(false);
|
|
313
|
+
}
|
|
314
|
+
proceed() {
|
|
315
|
+
this.dialogRef.close(true);
|
|
316
|
+
}
|
|
317
|
+
get confirm() {
|
|
318
|
+
return this.dialogRef.inputData();
|
|
319
|
+
}
|
|
320
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: RdtGovConfirmDialog, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
321
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.0", type: RdtGovConfirmDialog, isStandalone: true, selector: "rdt-gov-confirm-dialog", usesInheritance: true, ngImport: i0, template: "<rdt-gov-dialog-header />\n<rdt-gov-dialog-content>\n <p>{{ confirm.message }}</p>\n</rdt-gov-dialog-content>\n<rdt-gov-dialog-footer>\n <rdt-gov-button\n [appearance]=\"confirm.noBtn?.appearance ?? 'outlined'\"\n [label]=\"confirm.noBtn?.text\"\n [size]=\"confirm.noBtn?.size ?? 'm'\"\n [color]=\"confirm.noBtn?.color ?? 'primary'\"\n [icon]=\"confirm.noBtn?.icon\"\n [iconStart]=\"confirm.noBtn?.iconStart\"\n [autofocus]=\"\n confirm.noBtn?.isAutofocused ?? confirm.yesBtn?.isAutofocused\n ? false\n : true\n \"\n (click)=\"abort()\"\n ></rdt-gov-button>\n <rdt-gov-button\n [appearance]=\"confirm.yesBtn?.appearance ?? 'solid'\"\n [label]=\"confirm.yesBtn?.text\"\n [size]=\"confirm.yesBtn?.size ?? 'm'\"\n [icon]=\"confirm.yesBtn?.icon\"\n [iconStart]=\"confirm.yesBtn?.iconStart\"\n [color]=\"confirm.yesBtn?.color ?? 'primary'\"\n [autofocus]=\"confirm.yesBtn?.isAutofocused ?? false\"\n (click)=\"proceed()\"\n ></rdt-gov-button>\n</rdt-gov-dialog-footer>\n", dependencies: [{ kind: "component", type: RdtGovDialogHeaderComponent, selector: "rdt-gov-dialog-header" }, { kind: "component", type: RdtGovDialogFooterComponent, selector: "rdt-gov-dialog-footer" }, { kind: "component", type: RdtGovDialogContentComponent, selector: "rdt-gov-dialog-content" }, { kind: "component", type: RdtGovButtonComponent, selector: "rdt-gov-button", inputs: ["appearance", "color", "size", "iconStart", "expanded"] }] });
|
|
322
|
+
}
|
|
323
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: RdtGovConfirmDialog, decorators: [{
|
|
324
|
+
type: Component,
|
|
325
|
+
args: [{ selector: 'rdt-gov-confirm-dialog', imports: [
|
|
326
|
+
RdtGovDialogHeaderComponent,
|
|
327
|
+
RdtGovDialogFooterComponent,
|
|
328
|
+
RdtGovDialogContentComponent,
|
|
329
|
+
RdtGovButtonComponent,
|
|
330
|
+
], template: "<rdt-gov-dialog-header />\n<rdt-gov-dialog-content>\n <p>{{ confirm.message }}</p>\n</rdt-gov-dialog-content>\n<rdt-gov-dialog-footer>\n <rdt-gov-button\n [appearance]=\"confirm.noBtn?.appearance ?? 'outlined'\"\n [label]=\"confirm.noBtn?.text\"\n [size]=\"confirm.noBtn?.size ?? 'm'\"\n [color]=\"confirm.noBtn?.color ?? 'primary'\"\n [icon]=\"confirm.noBtn?.icon\"\n [iconStart]=\"confirm.noBtn?.iconStart\"\n [autofocus]=\"\n confirm.noBtn?.isAutofocused ?? confirm.yesBtn?.isAutofocused\n ? false\n : true\n \"\n (click)=\"abort()\"\n ></rdt-gov-button>\n <rdt-gov-button\n [appearance]=\"confirm.yesBtn?.appearance ?? 'solid'\"\n [label]=\"confirm.yesBtn?.text\"\n [size]=\"confirm.yesBtn?.size ?? 'm'\"\n [icon]=\"confirm.yesBtn?.icon\"\n [iconStart]=\"confirm.yesBtn?.iconStart\"\n [color]=\"confirm.yesBtn?.color ?? 'primary'\"\n [autofocus]=\"confirm.yesBtn?.isAutofocused ?? false\"\n (click)=\"proceed()\"\n ></rdt-gov-button>\n</rdt-gov-dialog-footer>\n" }]
|
|
331
|
+
}] });
|
|
332
|
+
|
|
333
|
+
class RdtGovDialogService {
|
|
334
|
+
overlay = inject(Overlay);
|
|
335
|
+
confirmDefaults = inject(RDT_CONFIRM_DIALOG_PROVIDER, {
|
|
336
|
+
optional: true,
|
|
337
|
+
});
|
|
338
|
+
alertDefaults = inject(RDT_ALERT_DIALOG_PROVIDER, {
|
|
339
|
+
optional: true,
|
|
340
|
+
});
|
|
341
|
+
baseDefaults = inject(RDT_BASE_DIALOG_PROVIDER, {
|
|
342
|
+
optional: true,
|
|
343
|
+
});
|
|
344
|
+
open(config) {
|
|
345
|
+
const mergedConfig = {
|
|
346
|
+
...this.baseDefaults,
|
|
347
|
+
...config,
|
|
348
|
+
};
|
|
349
|
+
console.log(config, mergedConfig);
|
|
350
|
+
const overlayRef = this.overlay.create(this.getOverlayConfig(mergedConfig));
|
|
351
|
+
const dialogRef = new RdtGovDialogRef(mergedConfig);
|
|
352
|
+
dialogRef.header.set(mergedConfig.header ?? null);
|
|
353
|
+
dialogRef.headerIcons.set(mergedConfig.headerIcons ?? null);
|
|
354
|
+
dialogRef.hasBackdrop.set(mergedConfig.hasBackdrop ?? true);
|
|
355
|
+
dialogRef.isDraggable.set(mergedConfig.isDraggable ?? true);
|
|
356
|
+
dialogRef.isResizable.set(mergedConfig.isResizable ?? true);
|
|
357
|
+
dialogRef.inputData.set(mergedConfig.inputData);
|
|
358
|
+
const portal = new ComponentPortal(RdtGovDialogComponent, null, Injector.create({
|
|
359
|
+
providers: [{ provide: RdtGovDialogRef, useValue: dialogRef }],
|
|
360
|
+
parent: mergedConfig.injector,
|
|
361
|
+
}));
|
|
362
|
+
overlayRef.attach(portal);
|
|
363
|
+
if (mergedConfig.initialLoading) {
|
|
364
|
+
dialogRef.isLoading.set(mergedConfig.initialLoading);
|
|
365
|
+
}
|
|
366
|
+
dialogRef.open$.pipe(take(1)).subscribe(() => {
|
|
367
|
+
dialogRef.isLoading.set(false);
|
|
368
|
+
});
|
|
369
|
+
dialogRef.close$.subscribe(() => {
|
|
370
|
+
overlayRef.dispose();
|
|
371
|
+
});
|
|
372
|
+
return dialogRef;
|
|
373
|
+
}
|
|
374
|
+
alert(config) {
|
|
375
|
+
const mergedConfig = {
|
|
376
|
+
...this.alertDefaults,
|
|
377
|
+
...config,
|
|
378
|
+
};
|
|
379
|
+
const dialogConfig = {
|
|
380
|
+
component: RdtGovAlertDialog,
|
|
381
|
+
header: mergedConfig.header,
|
|
382
|
+
headerIcons: mergedConfig.headerIcons,
|
|
383
|
+
inputData: mergedConfig,
|
|
384
|
+
minHeight: mergedConfig.minHeight,
|
|
385
|
+
maxHeight: mergedConfig.maxHeight,
|
|
386
|
+
maxWidth: mergedConfig.maxWidth,
|
|
387
|
+
minWidth: mergedConfig.minWidth,
|
|
388
|
+
};
|
|
389
|
+
if (dialogConfig.inputData && !dialogConfig.inputData.okBtn) {
|
|
390
|
+
dialogConfig.inputData.okBtn = {
|
|
391
|
+
text: 'OK',
|
|
392
|
+
};
|
|
393
|
+
}
|
|
394
|
+
return this.open(this.parseInternalConfig(dialogConfig));
|
|
395
|
+
}
|
|
396
|
+
confirm(config) {
|
|
397
|
+
const mergedConfig = {
|
|
398
|
+
...this.confirmDefaults,
|
|
399
|
+
...config,
|
|
400
|
+
};
|
|
401
|
+
const dialogConfig = {
|
|
402
|
+
component: RdtGovConfirmDialog,
|
|
403
|
+
header: mergedConfig.header,
|
|
404
|
+
headerIcons: mergedConfig.headerIcons,
|
|
405
|
+
inputData: mergedConfig,
|
|
406
|
+
minHeight: mergedConfig.minHeight,
|
|
407
|
+
maxHeight: mergedConfig.maxHeight,
|
|
408
|
+
maxWidth: mergedConfig.maxWidth,
|
|
409
|
+
minWidth: mergedConfig.minWidth,
|
|
410
|
+
};
|
|
411
|
+
if (dialogConfig.inputData && !dialogConfig.inputData.yesBtn) {
|
|
412
|
+
dialogConfig.inputData.yesBtn = {
|
|
413
|
+
text: 'Ano',
|
|
414
|
+
};
|
|
415
|
+
}
|
|
416
|
+
if (dialogConfig.inputData && !dialogConfig.inputData.noBtn) {
|
|
417
|
+
dialogConfig.inputData.noBtn = {
|
|
418
|
+
text: 'Ne',
|
|
419
|
+
};
|
|
420
|
+
}
|
|
421
|
+
return this.open(this.parseInternalConfig(dialogConfig));
|
|
422
|
+
}
|
|
423
|
+
parseInternalConfig(config) {
|
|
424
|
+
const filled = {
|
|
425
|
+
...config,
|
|
426
|
+
size: 'content',
|
|
427
|
+
hasBackdrop: true,
|
|
428
|
+
initialLoading: false,
|
|
429
|
+
};
|
|
430
|
+
return filled;
|
|
431
|
+
}
|
|
432
|
+
getOverlayConfig(config) {
|
|
433
|
+
return {
|
|
434
|
+
hasBackdrop: config.hasBackdrop ?? true,
|
|
435
|
+
backdropClass: 'cdk-overlay-dark-backdrop',
|
|
436
|
+
positionStrategy: this.overlay
|
|
437
|
+
.position()
|
|
438
|
+
.global()
|
|
439
|
+
.centerHorizontally()
|
|
440
|
+
.centerVertically(),
|
|
441
|
+
scrollStrategy: this.overlay.scrollStrategies.block(),
|
|
442
|
+
disposeOnNavigation: true,
|
|
443
|
+
};
|
|
444
|
+
}
|
|
445
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: RdtGovDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
446
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: RdtGovDialogService, providedIn: 'root' });
|
|
447
|
+
}
|
|
448
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: RdtGovDialogService, decorators: [{
|
|
449
|
+
type: Injectable,
|
|
450
|
+
args: [{ providedIn: 'root' }]
|
|
451
|
+
}] });
|
|
452
|
+
|
|
137
453
|
class RdtGovIconComponent extends RdtIconComponent {
|
|
138
454
|
parsedName = computed(() => {
|
|
139
455
|
const value = this.name() || '';
|
|
@@ -148,6 +464,81 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
148
464
|
args: [{ selector: 'rdt-gov-icon', imports: [GovDesignSystemModule, CommonModule], template: "@let p = parsedName(); @if (p.name) {\n<gov-icon class=\"rdt-gov-icon\" [type]=\"p.type\" [name]=\"p.name\"></gov-icon>\n} @else {\n<i class=\"bi\" [class]=\"'bi-' + p.type\"></i>\n}\n", styles: [":host{display:flex;align-items:center;justify-content:center}.rdt-gov-icon{width:16px;height:16px;font-size:10px;display:flex;align-items:center;justify-content:center}\n"] }]
|
|
149
465
|
}] });
|
|
150
466
|
|
|
467
|
+
const RDT_BASE_NOTIFICATION_PROVIDER = new InjectionToken('RDT_GOV_NOTIFICATION_PROVIDER');
|
|
468
|
+
const RDT_POPUP_NOTIFICATION_PROVIDER = new InjectionToken('RDT_CUSTOM_NOTIFICATION_PROVIDER');
|
|
469
|
+
|
|
470
|
+
class RdtGovNotificationPopupComponent {
|
|
471
|
+
injected = inject(RDT_POPUP_NOTIFICATION_PROVIDER);
|
|
472
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: RdtGovNotificationPopupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
473
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0", type: RdtGovNotificationPopupComponent, isStandalone: true, selector: "rdt-gov-notification-popup", ngImport: i0, template: "@let icon = injected?.icon; @if(injected){\n<gov-toast\n [color]=\"injected.color\"\n [gravity]=\"injected.positionVert\"\n [position]=\"injected.positionHoriz\"\n [type]=\"injected.type\"\n [closeLabel]=\"injected.closeLabel\"\n ><div class=\"toast-wrapper\">\n @if (icon) {\n <span class=\"toast-icon\">\n <ng-container rdtIconOutlet [inputs]=\"{ name: icon }\"></ng-container>\n </span>\n }\n <span>{{ injected.message }}</span>\n </div>\n</gov-toast>\n}\n", styles: [".toast-wrapper{display:flex;gap:var(--spacing-s-nudge)}\n"], dependencies: [{ kind: "ngmodule", type: GovDesignSystemModule }, { kind: "component", type: i1.GovToast, selector: "gov-toast", inputs: ["accessibleCloseLabel", "closeLabel", "color", "gravity", "position", "time", "type"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: RdtIconOutletDirective, selector: "[rdtIconOutlet]", exportAs: ["rdtIconOutlet"] }] });
|
|
474
|
+
}
|
|
475
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: RdtGovNotificationPopupComponent, decorators: [{
|
|
476
|
+
type: Component,
|
|
477
|
+
args: [{ selector: 'rdt-gov-notification-popup', imports: [GovDesignSystemModule, CommonModule, RdtIconOutletDirective], template: "@let icon = injected?.icon; @if(injected){\n<gov-toast\n [color]=\"injected.color\"\n [gravity]=\"injected.positionVert\"\n [position]=\"injected.positionHoriz\"\n [type]=\"injected.type\"\n [closeLabel]=\"injected.closeLabel\"\n ><div class=\"toast-wrapper\">\n @if (icon) {\n <span class=\"toast-icon\">\n <ng-container rdtIconOutlet [inputs]=\"{ name: icon }\"></ng-container>\n </span>\n }\n <span>{{ injected.message }}</span>\n </div>\n</gov-toast>\n}\n", styles: [".toast-wrapper{display:flex;gap:var(--spacing-s-nudge)}\n"] }]
|
|
478
|
+
}] });
|
|
479
|
+
|
|
480
|
+
class RdtGovNotificationService {
|
|
481
|
+
overlay = inject(Overlay);
|
|
482
|
+
injector = inject(Injector);
|
|
483
|
+
translateService = inject(RdtTranslateService);
|
|
484
|
+
govDefaults = inject(RDT_BASE_NOTIFICATION_PROVIDER);
|
|
485
|
+
show(cfg) {
|
|
486
|
+
this.open(cfg);
|
|
487
|
+
}
|
|
488
|
+
success(customMsg = '') {
|
|
489
|
+
this.openDefault('success', this.translateService.instant(customMsg));
|
|
490
|
+
}
|
|
491
|
+
warning(customMsg = '') {
|
|
492
|
+
this.openDefault('warning', this.translateService.instant(customMsg));
|
|
493
|
+
}
|
|
494
|
+
error(customMsg = '') {
|
|
495
|
+
this.openDefault('error', this.translateService.instant(customMsg));
|
|
496
|
+
}
|
|
497
|
+
openDefault(type, customMsg) {
|
|
498
|
+
const msgPropName = (type + 'Msg');
|
|
499
|
+
this.open({
|
|
500
|
+
message: customMsg
|
|
501
|
+
? customMsg
|
|
502
|
+
: this.govDefaults?.[msgPropName].toString() ?? '',
|
|
503
|
+
positionVert: this.govDefaults?.positionVert ?? 'top',
|
|
504
|
+
positionHoriz: this.govDefaults?.positionHoriz ?? 'center',
|
|
505
|
+
duration: this.govDefaults?.duration ?? 2000,
|
|
506
|
+
color: type,
|
|
507
|
+
type: 'bold',
|
|
508
|
+
});
|
|
509
|
+
}
|
|
510
|
+
open(cfg) {
|
|
511
|
+
let positionStrat = this.overlay.position().global();
|
|
512
|
+
const overlayRef = this.overlay.create({
|
|
513
|
+
positionStrategy: positionStrat,
|
|
514
|
+
hasBackdrop: false,
|
|
515
|
+
});
|
|
516
|
+
const popupInjector = Injector.create({
|
|
517
|
+
providers: [
|
|
518
|
+
{
|
|
519
|
+
provide: RDT_POPUP_NOTIFICATION_PROVIDER,
|
|
520
|
+
useValue: cfg,
|
|
521
|
+
},
|
|
522
|
+
],
|
|
523
|
+
parent: this.injector,
|
|
524
|
+
});
|
|
525
|
+
const portal = new ComponentPortal(RdtGovNotificationPopupComponent, null, popupInjector);
|
|
526
|
+
overlayRef.attach(portal);
|
|
527
|
+
setTimeout(() => {
|
|
528
|
+
this.close(overlayRef);
|
|
529
|
+
}, cfg.duration);
|
|
530
|
+
}
|
|
531
|
+
close(overlayRef) {
|
|
532
|
+
overlayRef?.dispose();
|
|
533
|
+
}
|
|
534
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: RdtGovNotificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
535
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: RdtGovNotificationService, providedIn: 'root' });
|
|
536
|
+
}
|
|
537
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: RdtGovNotificationService, decorators: [{
|
|
538
|
+
type: Injectable,
|
|
539
|
+
args: [{ providedIn: 'root' }]
|
|
540
|
+
}] });
|
|
541
|
+
|
|
151
542
|
function provideNgrdtGov(options = {}) {
|
|
152
543
|
return [
|
|
153
544
|
importProvidersFrom(GovDesignSystemModule),
|
|
@@ -174,9 +565,43 @@ function provideNgrdtGov(options = {}) {
|
|
|
174
565
|
[RdtIcon.SkipRight]: 'components/chevron-right',
|
|
175
566
|
[RdtIcon.SortAsc]: 'sort-down',
|
|
176
567
|
[RdtIcon.SortDesc]: 'sort-up',
|
|
177
|
-
[RdtIcon.SortEnabled]: '
|
|
568
|
+
[RdtIcon.SortEnabled]: 'filter',
|
|
569
|
+
},
|
|
570
|
+
},
|
|
571
|
+
{
|
|
572
|
+
provide: RDT_BASE_NOTIFICATION_PROVIDER,
|
|
573
|
+
useValue: {
|
|
574
|
+
duration: 3000,
|
|
575
|
+
positionVert: 'top',
|
|
576
|
+
positionHoriz: 'right',
|
|
577
|
+
successMsg: 'RDT_GOV_NOTIFY_SUCCESS',
|
|
578
|
+
warningMsg: 'RDT_GOV_NOTIFY_WARNING',
|
|
579
|
+
errorMsg: 'RDT_GOV_NOTIFY_ERROR',
|
|
580
|
+
},
|
|
581
|
+
},
|
|
582
|
+
{
|
|
583
|
+
provide: RDT_ALERT_DIALOG_PROVIDER,
|
|
584
|
+
useValue: {
|
|
585
|
+
minHeight: '250px',
|
|
586
|
+
},
|
|
587
|
+
},
|
|
588
|
+
{
|
|
589
|
+
provide: RDT_CONFIRM_DIALOG_PROVIDER,
|
|
590
|
+
useValue: {
|
|
591
|
+
minHeight: '250px',
|
|
592
|
+
},
|
|
593
|
+
},
|
|
594
|
+
{
|
|
595
|
+
provide: RDT_BASE_DIALOG_PROVIDER,
|
|
596
|
+
useValue: {
|
|
597
|
+
isDraggable: false,
|
|
598
|
+
minHeight: '400px',
|
|
178
599
|
},
|
|
179
600
|
},
|
|
601
|
+
{
|
|
602
|
+
provide: RDT_SPINNER_BASE_PROVIDER,
|
|
603
|
+
useValue: RdtGovSpinnerComponent,
|
|
604
|
+
},
|
|
180
605
|
];
|
|
181
606
|
}
|
|
182
607
|
|
|
@@ -787,7 +1212,7 @@ class RdtGovSelectComponent extends RdtBaseSelectCommonComponent {
|
|
|
787
1212
|
provide: RdtBaseFormInputComponent,
|
|
788
1213
|
useExisting: RdtGovSelectComponent,
|
|
789
1214
|
},
|
|
790
|
-
], viewQueries: [{ propertyName: "scrollContainer", first: true, predicate: ["scrollContainer"], descendants: true, isSignal: true }, { propertyName: "selectButton", first: true, predicate: ["selectButton"], descendants: true, isSignal: true }, { propertyName: "overlayTemplate", first: true, predicate: ["overlayContainer"], descendants: true, isSignal: true }, { propertyName: "optionEls", predicate: (RdtSelectOptionDirective), descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@let sel = selectedLabel(); @let lPos = labelPosition(); @let hasError =\nhideErrors() ? '' : visibleErrors() | rdtFormError; @if(lPos === 'top'){\n<gov-form-label slot=\"left\" [class.warning-color-gov-label]=\"hasError\" size=\"s\"\n >{{ label() }}\n @if (required()) {\n <span class=\"warning-color-text\">*</span>\n }</gov-form-label\n>\n}\n<div\n class=\"gov-form-select gov-form-input\"\n [class.has-clear]=\"showClear() && !!sel\"\n [attr.size]=\"size()\"\n [attr.invalid]=\"invalid() && touched()\"\n [attr.disabled]=\"disabled()\"\n>\n @if (lPos === 'left') {\n <p\n class=\"gov-form-label__label s_label\"\n slot=\"prefix\"\n [class.warning-color-text]=\"hasError\"\n >\n {{ label() }}\n @if (required()) {\n <span class=\"warning-color-text\">*</span>\n }\n </p>\n }\n <div class=\"element\">\n <button\n #selectButton\n [attr.size]=\"size()\"\n (click)=\"openOverlay()\"\n (keydown)=\"handleButtonKeydown($event)\"\n [disabled]=\"disabled()\"\n class=\"select\"\n type=\"button\"\n (blur)=\"handleButtonBlur()\"\n (focus)=\"onFocus()\"\n >\n <div class=\"scroll-content\" [class.warning-color-text]=\"hasError\">\n @if (sel) {\n {{ sel }}\n } @else if (!disabled() && !readonlyInput()) {\n {{ placeholder() || ' ' }}\n }\n </div>\n @if (showClear() && sel) {\n <gov-button\n class=\"clear-button\"\n iconStart=\"basic/x\"\n (click)=\"onClearClick($event)\"\n propagate=\"false\"\n buttonType=\"base\"\n color=\"error\"\n [rdtDisabled]=\"disabled()\"\n ></gov-button>\n } @if (loading()) {\n <rdt-spinner />\n } @else { @if(hasError){\n <gov-icon\n name=\"exclamation-lg\"\n class=\"icon-warning\"\n [ngClass]=\"'icon-' + size()\"\n ></gov-icon>\n }\n <gov-icon\n name=\"chevron-down\"\n class=\"icon-arrow\"\n [class.warning-color-icon]=\"hasError\"\n ></gov-icon>\n }\n </button>\n </div>\n @if (lPos === 'right') {\n <p\n class=\"gov-form-label__label s_label\"\n slot=\"sufix\"\n [class.warning-color-text]=\"hasError\"\n >\n {{ label() }}\n @if (required()) {\n <span class=\"warning-color-text\">*</span>\n }\n </p>\n }\n</div>\n<ng-template #overlayContainer>\n <div class=\"rdt-gov-select-container\" [attr.data-size]=\"size()\">\n @if (showSearch()) {\n <div class=\"search-container\" [class.loading]=\"loading()\">\n <input\n class=\"gov-form-input\"\n size=\"s\"\n type=\"search\"\n rdtAutofocusOnInit\n [formControl]=\"inputCtrl\"\n (keydown)=\"handleInputKeydown($event)\"\n placeholder=\"Zadejte hledan\u00FD v\u00FDraz\"\n />\n @if (loading()) {\n <rdt-spinner />\n }\n </div>\n }\n <ul role=\"listbox\" aria-hidden=\"false\" #scrollContainer>\n @for (option of visibleOptions(); track option.id) {\n <li role=\"option\" [attr.aria-selected]=\"option.selected\">\n <button\n tabindex=\"-1\"\n [rdtSelectOption]=\"option.id\"\n (click)=\"selectOption(option.id)\"\n class=\"option\"\n type=\"button\"\n >\n <gov-icon\n name=\"check-lg\"\n [class.invisible]=\"!option.selected\"\n class=\"mr-1 w-4 picked\"\n />\n {{ option.label }}\n </button>\n </li>\n } @empty { @if (loading()) {\n <li class=\"pointer-events-none\">\n <div class=\"option\">Na\u010D\u00EDt\u00E1n\u00ED hodnot...</div>\n </li>\n } @else if (store.query()) {\n <li class=\"pointer-events-none\">\n <div class=\"option\">\n Pro zadan\u00FD v\u00FDraz nejsou k dispozici \u017E\u00E1dn\u00E9 z\u00E1znamy\n </div>\n </li>\n } @else if (!store.datasource()?.queryRequired) {\n <li class=\"pointer-events-none\">\n <div class=\"option\">Nejsou k dispozici \u017E\u00E1dn\u00E9 hodnoty</div>\n </li>\n } }\n </ul>\n </div>\n</ng-template>\n@if(hasError){\n<gov-form-message slot=\"bottom\" color=\"error\">{{ hasError }}</gov-form-message>\n}\n", styles: [".rdt-option-selected{background:var(--gov-autocomplete-item-hover, var(--color-neutral-600))!important;color:var(--color-primary-50)!important}.icon-warning{width:var(--icon-size)!important;height:var(--icon-size)!important}.icon-xs{--icon-size: 12px}.icon-s{--icon-size: 14px}.icon-m{--icon-size: 16px}.icon-l{--icon-size: 18px}.icon-xl{--icon-size: 20px}rdt-gov-select{display:inline-block;width:100%;max-width:100%}rdt-gov-select .gov-form-select{width:100%}rdt-gov-select .gov-form-select.has-clear .select{padding-right:calc(1.5rem + var(--spacing-s))!important}rdt-gov-select .gov-form-input{border:none!important;background-color:transparent!important}rdt-gov-select .select{display:flex}rdt-gov-select .select rdt-spinner{position:absolute;right:.5rem;width:1rem;height:1rem}rdt-gov-select [size=xs].gov-form-select .select{min-height:var(--height-component-xs);font-size:var(--font-size-body-xs)}rdt-gov-select [size=xs].gov-form-select .select:hover{background-color:var(--button-outlined-primary-hover)}rdt-gov-select [size=s].gov-form-select .select{min-height:var(--height-component-s);font-size:var(--font-size-body-s)}rdt-gov-select [size=s].gov-form-select .select:hover{background-color:var(--button-outlined-primary-hover)}rdt-gov-select [size=m].gov-form-select .select{min-height:var(--height-component-m);font-size:var(--font-size-body-m)}rdt-gov-select [size=m].gov-form-select .select:hover{background-color:var(--button-outlined-primary-hover)}rdt-gov-select [size=l].gov-form-select .select{min-height:var(--height-component-l);font-size:var(--font-size-body-l)}rdt-gov-select [size=l].gov-form-select .select:hover{background-color:var(--button-outlined-primary-hover)}rdt-gov-select [size=xl].gov-form-select .select{min-height:var(--height-component-xl);font-size:var(--font-size-body-xl)}rdt-gov-select [size=xl].gov-form-select .select:hover{background-color:var(--button-outlined-primary-hover)}rdt-gov-select [size=xs].gov-form-select .select{padding:var(--spacing-multiline-vertical-padding-xs) var(--spacing-xs-nudge)}rdt-gov-select [size=s].gov-form-select .select{padding:var(--spacing-multiline-vertical-padding-s) var(--spacing-s)}rdt-gov-select [size=m].gov-form-select .select{padding:var(--spacing-multiline-vertical-padding-m) var(--spacing-s-nudge)}rdt-gov-select [size=l].gov-form-select .select{padding:var(--spacing-multiline-vertical-padding-l) var(--spacing-m)}rdt-gov-select [size=xl].gov-form-select .select{padding:var(--spacing-multiline-vertical-padding-xl) var(--spacing-m-nudge)}rdt-gov-select .gov-form-select .select{position:relative;border:none;width:100%;border-radius:var(--corner-radius-s);background-color:var(--background-block-primary);font-family:var(--font-family);text-align:left}rdt-gov-select [invalid=true].gov-form-input .select{border-color:var(--background-status-error);color:var(--background-status-error)}rdt-gov-select .icon-arrow{color:var(--text-primary);position:absolute;top:50%;display:flex;justify-content:center;transform:translateY(-50%);pointer-events:none;right:.75rem;width:.75rem;height:.75rem}rdt-gov-select .icon-warning{color:var(--icon-error);position:absolute;top:50%;display:flex;justify-content:center;transform:translateY(-50%);pointer-events:none;right:1.85rem;width:.75rem;height:.75rem}rdt-gov-select .scroll-content{display:flex;align-items:center;color:var(--text-primary);width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}rdt-gov-select .clear-button{display:flex;position:absolute;right:2rem;top:50%;transform:translateY(-50%)}rdt-gov-select .clear-button button{padding:0!important;min-height:auto!important;--icon-size-xs: 1rem}rdt-gov-select .clear-button gov-icon[slot=left-icon]{left:0!important;position:inherit!important;top:0!important;display:inline!important;transform:none!important}rdt-gov-select .element{max-width:100%}.rdt-gov-select-container{width:100%;margin-top:.5rem;margin-bottom:.5rem;overflow:hidden;border:1px solid var(--color-neutral-600);border-radius:0;background-color:var(--background-block-primary)}.rdt-gov-select-container ul{padding-left:0;margin-top:0;margin-bottom:0;list-style:none;max-height:14.0625rem;overflow-x:hidden;overflow-y:auto;overscroll-behavior:none}.rdt-gov-select-container ul .option{font-family:var(--font-family);color:var(--text-primary);border:none;display:flex;align-items:center;padding:.75rem .5rem;width:100%;margin:0;background:none;text-align:left}.rdt-gov-select-container ul .option gov-icon{padding-right:var(--spacing-s)}.rdt-gov-select-container ul .option gov-icon.invisible{display:none}.rdt-gov-select-container ul .option:hover{color:var(--color-primary-50);background:var(--color-neutral-600)}.rdt-gov-select-container li{margin-bottom:0}.rdt-gov-select-container .picked{color:var(--icon-success)}.rdt-gov-select-container .search-spinner{--spinner-size: 1.2rem;position:absolute;right:1rem;top:100%;transform:translateY(calc(var(--spinner-size) / -2))}.rdt-gov-select-container .search-spinner .sis-icon-32-fix{height:var(--spinner-size)}.rdt-gov-select-container .search-container{width:100%;position:relative}.rdt-gov-select-container .search-container input{font-family:var(--font-family);border-radius:0;border-top:1px;border-left:1px;border-right:1px;padding:.75rem .5rem;width:100%;background-color:var(--background-block-primary);color:var(--text-primary)}.rdt-gov-select-container .search-container input:focus-visible{outline:var(.125rem) solid var(--status-focus);outline-offset:0}.rdt-gov-select-container .search-container.loading input::-webkit-search-cancel-button{position:relative;right:1rem}[data-size=xs].rdt-gov-select-container ul li button{font-size:var(--font-size-body-xs)!important;line-height:var(--height-line-xs);padding:var(--spacing-multiline-vertical-padding-xs)}[data-size=xs].rdt-gov-select-container input{font-size:var(--font-size-body-xs)!important;padding:var(--spacing-multiline-vertical-padding-xs)}[data-size=s].rdt-gov-select-container ul li button{font-size:var(--font-size-body-s)!important;line-height:var(--height-line-s);padding:var(--spacing-multiline-vertical-padding-s)}[data-size=s].rdt-gov-select-container input{font-size:var(--font-size-body-s)!important;padding:var(--spacing-multiline-vertical-padding-s)}[data-size=m].rdt-gov-select-container ul li button{font-size:var(--font-size-body-m)!important;line-height:var(--height-line-m);padding:var(--spacing-multiline-vertical-padding-m)}[data-size=m].rdt-gov-select-container input{font-size:var(--font-size-body-m)!important;padding:var(--spacing-multiline-vertical-padding-m)}[data-size=l].rdt-gov-select-container ul li button{font-size:var(--font-size-body-l)!important;line-height:var(--height-line-l);padding:var(--spacing-multiline-vertical-padding-l)}[data-size=l].rdt-gov-select-container input{font-size:var(--font-size-body-l)!important;padding:var(--spacing-multiline-vertical-padding-l)}[data-size=xl].rdt-gov-select-container ul li button{font-size:var(--font-size-body-xl)!important;line-height:var(--height-line-xl);padding:var(--spacing-multiline-vertical-padding-xl)}[data-size=xl].rdt-gov-select-container input{font-size:var(--font-size-body-xl)!important;padding:var(--spacing-multiline-vertical-padding-xl)}.rdt-gov-select-overlay-panel-top .rdt-gov-select-container{display:flex;flex-direction:column-reverse}\n", ".warning-color-icon{color:var(--icon-error)!important}.warning-color-text{color:var(--text-status-error)!important}.warning-color-gov-label .gov-form-label__label{color:var(--form-state-label-error, var(--text-status-error))!important}.s_label{font-size:var(--font-size-body-s);line-height:150%;font-weight:400}gov-form-message{font-size:var(--font-size-body-s)}\n"], dependencies: [{ kind: "directive", type: RdtSelectOptionDirective, selector: "[rdtSelectOption]", inputs: ["rdtSelectOption"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: RdtAutoFocusOnInitDirective, selector: "[rdtAutofocusOnInit]" }, { kind: "ngmodule", type: GovDesignSystemModule }, { kind: "component", type: i1.GovButton, selector: "gov-button", inputs: ["color", "disabled", "download", "expanded", "expandedMobile", "focusable", "href", "hreflang", "identifier", "loading", "name", "nativeType", "referrerpolicy", "rel", "size", "target", "type"] }, { kind: "component", type: i1.GovFormLabel, selector: "gov-form-label", inputs: ["identifier", "legend", "required", "size"] }, { kind: "component", type: i1.GovFormMessage, selector: "gov-form-message", inputs: ["color", "size"] }, { kind: "component", type: i1.GovIcon, selector: "gov-icon", inputs: ["color", "name", "size", "type"] }, { kind: "pipe", type: RdtFormErrorPipe, name: "rdtFormError" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
1215
|
+
], viewQueries: [{ propertyName: "scrollContainer", first: true, predicate: ["scrollContainer"], descendants: true, isSignal: true }, { propertyName: "selectButton", first: true, predicate: ["selectButton"], descendants: true, isSignal: true }, { propertyName: "overlayTemplate", first: true, predicate: ["overlayContainer"], descendants: true, isSignal: true }, { propertyName: "optionEls", predicate: (RdtSelectOptionDirective), descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@let sel = selectedLabel(); @let lPos = labelPosition(); @let hasError =\nhideErrors() ? '' : visibleErrors() | rdtFormError; @if(lPos === 'top'){\n<gov-form-label slot=\"left\" [class.warning-color-gov-label]=\"hasError\" size=\"s\"\n >{{ label() }}\n @if (required()) {\n <span class=\"warning-color-text\">*</span>\n }</gov-form-label\n>\n}\n<div\n class=\"gov-form-select gov-form-input\"\n [class.has-clear]=\"showClear() && !!sel\"\n [attr.size]=\"size()\"\n [attr.invalid]=\"invalid() && touched()\"\n [attr.disabled]=\"disabled()\"\n>\n @if (lPos === 'left') {\n <p\n class=\"gov-form-label__label s_label\"\n slot=\"prefix\"\n [class.warning-color-text]=\"hasError\"\n >\n {{ label() }}\n @if (required()) {\n <span class=\"warning-color-text\">*</span>\n }\n </p>\n }\n <div class=\"element\">\n <button\n #selectButton\n [attr.size]=\"size()\"\n (click)=\"openOverlay()\"\n (keydown)=\"handleButtonKeydown($event)\"\n [disabled]=\"disabled()\"\n class=\"select\"\n type=\"button\"\n (blur)=\"handleButtonBlur()\"\n (focus)=\"onFocus()\"\n >\n <div class=\"scroll-content\" [class.warning-color-text]=\"hasError\">\n @if (sel) {\n {{ sel }}\n } @else if (!disabled() && !readonlyInput()) {\n {{ placeholder() || ' ' }}\n }\n </div>\n @if (showClear() && sel) {\n <gov-button\n class=\"clear-button\"\n iconStart=\"basic/x\"\n (click)=\"onClearClick($event)\"\n propagate=\"false\"\n buttonType=\"base\"\n color=\"error\"\n [rdtDisabled]=\"disabled()\"\n ></gov-button>\n } @if (loading()) {\n <rdt-spinner />\n } @else { @if(hasError){\n <gov-icon\n name=\"exclamation-lg\"\n class=\"icon-warning\"\n [ngClass]=\"'icon-' + size()\"\n ></gov-icon>\n }\n <gov-icon\n name=\"chevron-down\"\n class=\"icon-arrow\"\n [class.warning-color-icon]=\"hasError\"\n ></gov-icon>\n }\n </button>\n </div>\n @if (lPos === 'right') {\n <p\n class=\"gov-form-label__label s_label\"\n slot=\"sufix\"\n [class.warning-color-text]=\"hasError\"\n >\n {{ label() }}\n @if (required()) {\n <span class=\"warning-color-text\">*</span>\n }\n </p>\n }\n</div>\n<ng-template #overlayContainer>\n <div class=\"rdt-gov-select-container\" [attr.data-size]=\"size()\">\n @if (showSearch()) {\n <div class=\"search-container\" [class.loading]=\"loading()\">\n <input\n class=\"gov-form-input\"\n size=\"s\"\n type=\"search\"\n rdtAutofocusOnInit\n [formControl]=\"inputCtrl\"\n (keydown)=\"handleInputKeydown($event)\"\n [placeholder]=\"'RDT_SELECT_ENTER_SEARCH' | rdtTranslate\"\n />\n @if (loading()) {\n <rdt-spinner />\n }\n </div>\n }\n <ul role=\"listbox\" aria-hidden=\"false\" #scrollContainer>\n @for (option of visibleOptions(); track option.id) {\n <li role=\"option\" [attr.aria-selected]=\"option.selected\">\n <button\n tabindex=\"-1\"\n [rdtSelectOption]=\"option.id\"\n (click)=\"selectOption(option.id)\"\n class=\"option\"\n type=\"button\"\n >\n <gov-icon\n name=\"check-lg\"\n [class.invisible]=\"!option.selected\"\n class=\"mr-1 w-4 picked\"\n />\n {{ $any(option.label) | rdtTranslate }}\n </button>\n </li>\n } @empty { @if (loading()) {\n <li class=\"pointer-events-none\">\n <div class=\"option\">\n {{ 'RDT_GOV_SELECT_LOADING_VALUES' | rdtTranslate }}\n </div>\n </li>\n } @else if (store.query()) {\n <li class=\"pointer-events-none\">\n <div class=\"option\">\n {{ 'RDT_GOV_SELECT_NO_VALUES_FOUND' | rdtTranslate }}\n </div>\n </li>\n } @else if (!store.datasource()?.queryRequired) {\n <li class=\"pointer-events-none\">\n <div class=\"option\">\n {{ 'RDT_GOV_SELECT_NO_VALUES_AVAILABLE' | rdtTranslate }}\n </div>\n </li>\n } }\n </ul>\n </div>\n</ng-template>\n@if(hasError){\n<gov-form-message slot=\"bottom\" color=\"error\">{{ hasError }}</gov-form-message>\n}\n", styles: [".rdt-option-selected{background:var(--gov-autocomplete-item-hover, var(--color-neutral-600))!important;--text-primary: var(--color-primary-50) !important}.icon-warning{width:var(--icon-size)!important;height:var(--icon-size)!important}.icon-xs{--icon-size: 12px}.icon-s{--icon-size: 14px}.icon-m{--icon-size: 16px}.icon-l{--icon-size: 18px}.icon-xl{--icon-size: 20px}rdt-gov-select{display:inline-block;width:100%;max-width:100%}rdt-gov-select .gov-form-select{width:100%}rdt-gov-select .gov-form-select.has-clear .select{padding-right:calc(1.5rem + var(--spacing-s))!important}rdt-gov-select .gov-form-input{border:none!important;background-color:transparent!important}rdt-gov-select .select{display:flex}rdt-gov-select .select rdt-spinner{position:absolute;right:.5rem;width:1rem;height:1rem}rdt-gov-select [size=xs].gov-form-select .select{min-height:var(--height-component-xs);font-size:var(--font-size-body-xs)}rdt-gov-select [size=xs].gov-form-select .select:hover{background-color:var(--button-outlined-primary-hover)}rdt-gov-select [size=s].gov-form-select .select{min-height:var(--height-component-s);font-size:var(--font-size-body-s)}rdt-gov-select [size=s].gov-form-select .select:hover{background-color:var(--button-outlined-primary-hover)}rdt-gov-select [size=m].gov-form-select .select{min-height:var(--height-component-m);font-size:var(--font-size-body-m)}rdt-gov-select [size=m].gov-form-select .select:hover{background-color:var(--button-outlined-primary-hover)}rdt-gov-select [size=l].gov-form-select .select{min-height:var(--height-component-l);font-size:var(--font-size-body-l)}rdt-gov-select [size=l].gov-form-select .select:hover{background-color:var(--button-outlined-primary-hover)}rdt-gov-select [size=xl].gov-form-select .select{min-height:var(--height-component-xl);font-size:var(--font-size-body-xl)}rdt-gov-select [size=xl].gov-form-select .select:hover{background-color:var(--button-outlined-primary-hover)}rdt-gov-select [size=xs].gov-form-select .select{padding:var(--spacing-multiline-vertical-padding-xs) var(--spacing-xs-nudge)}rdt-gov-select [size=s].gov-form-select .select{padding:var(--spacing-multiline-vertical-padding-s) var(--spacing-s)}rdt-gov-select [size=m].gov-form-select .select{padding:var(--spacing-multiline-vertical-padding-m) var(--spacing-s-nudge)}rdt-gov-select [size=l].gov-form-select .select{padding:var(--spacing-multiline-vertical-padding-l) var(--spacing-m)}rdt-gov-select [size=xl].gov-form-select .select{padding:var(--spacing-multiline-vertical-padding-xl) var(--spacing-m-nudge)}rdt-gov-select .gov-form-select .select{position:relative;border:none;width:100%;border-radius:var(--corner-radius-s);background-color:var(--background-block-primary);font-family:var(--font-family);text-align:left}rdt-gov-select [invalid=true].gov-form-input .select{border-color:var(--background-status-error);color:var(--background-status-error)}rdt-gov-select .icon-arrow{color:var(--text-primary);position:absolute;top:50%;display:flex;justify-content:center;transform:translateY(-50%);pointer-events:none;right:.75rem;width:.75rem;height:.75rem}rdt-gov-select .icon-warning{color:var(--icon-error);position:absolute;top:50%;display:flex;justify-content:center;transform:translateY(-50%);pointer-events:none;right:1.85rem;width:.75rem;height:.75rem}rdt-gov-select .scroll-content{display:flex;align-items:center;color:var(--text-primary);width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}rdt-gov-select .clear-button{display:flex;position:absolute;right:2rem;top:50%;transform:translateY(-50%)}rdt-gov-select .clear-button button{padding:0!important;min-height:auto!important;--icon-size-xs: 1rem}rdt-gov-select .clear-button gov-icon[slot=left-icon]{left:0!important;position:inherit!important;top:0!important;display:inline!important;transform:none!important}rdt-gov-select .element{max-width:100%}.rdt-gov-select-container{width:100%;margin-top:.5rem;margin-bottom:.5rem;overflow:hidden;border:1px solid var(--color-neutral-600);border-radius:0;background-color:var(--background-block-primary)}.rdt-gov-select-container ul{padding-left:0;margin-top:0;margin-bottom:0;list-style:none;max-height:14.0625rem;overflow-x:hidden;overflow-y:auto;overscroll-behavior:none}.rdt-gov-select-container ul .option{font-family:var(--font-family);color:var(--text-primary);border:none;display:flex;align-items:center;padding:.75rem .5rem;width:100%;margin:0;background:none;text-align:left}.rdt-gov-select-container ul .option gov-icon{padding-right:var(--spacing-s)}.rdt-gov-select-container ul .option gov-icon.invisible{display:none}.rdt-gov-select-container ul .option:hover{--text-primary: var(--color-primary-50);background:var(--color-neutral-600)}.rdt-gov-select-container li{margin-bottom:0}.rdt-gov-select-container .picked{color:var(--text-primary)}.rdt-gov-select-container .search-spinner{--spinner-size: 1.2rem;position:absolute;right:1rem;top:100%;transform:translateY(calc(var(--spinner-size) / -2))}.rdt-gov-select-container .search-spinner .sis-icon-32-fix{height:var(--spinner-size)}.rdt-gov-select-container .search-container{width:100%;position:relative}.rdt-gov-select-container .search-container input{font-family:var(--font-family);border-radius:0;border-top:1px;border-left:1px;border-right:1px;padding:.75rem .5rem;width:100%;background-color:var(--background-block-primary);color:var(--text-primary)}.rdt-gov-select-container .search-container input:focus-visible{outline:var(.125rem) solid var(--status-focus);outline-offset:0}.rdt-gov-select-container .search-container.loading input::-webkit-search-cancel-button{position:relative;right:1rem}[data-size=xs].rdt-gov-select-container ul li button{font-size:var(--font-size-body-xs)!important;line-height:var(--height-line-xs);padding:var(--spacing-multiline-vertical-padding-xs)}[data-size=xs].rdt-gov-select-container input{font-size:var(--font-size-body-xs)!important;padding:var(--spacing-multiline-vertical-padding-xs)}[data-size=s].rdt-gov-select-container ul li button{font-size:var(--font-size-body-s)!important;line-height:var(--height-line-s);padding:var(--spacing-multiline-vertical-padding-s)}[data-size=s].rdt-gov-select-container input{font-size:var(--font-size-body-s)!important;padding:var(--spacing-multiline-vertical-padding-s)}[data-size=m].rdt-gov-select-container ul li button{font-size:var(--font-size-body-m)!important;line-height:var(--height-line-m);padding:var(--spacing-multiline-vertical-padding-m)}[data-size=m].rdt-gov-select-container input{font-size:var(--font-size-body-m)!important;padding:var(--spacing-multiline-vertical-padding-m)}[data-size=l].rdt-gov-select-container ul li button{font-size:var(--font-size-body-l)!important;line-height:var(--height-line-l);padding:var(--spacing-multiline-vertical-padding-l)}[data-size=l].rdt-gov-select-container input{font-size:var(--font-size-body-l)!important;padding:var(--spacing-multiline-vertical-padding-l)}[data-size=xl].rdt-gov-select-container ul li button{font-size:var(--font-size-body-xl)!important;line-height:var(--height-line-xl);padding:var(--spacing-multiline-vertical-padding-xl)}[data-size=xl].rdt-gov-select-container input{font-size:var(--font-size-body-xl)!important;padding:var(--spacing-multiline-vertical-padding-xl)}.rdt-gov-select-overlay-panel-top .rdt-gov-select-container{display:flex;flex-direction:column-reverse}\n", ".warning-color-icon{color:var(--icon-error)!important}.warning-color-text{color:var(--text-status-error)!important}.warning-color-gov-label .gov-form-label__label{color:var(--form-state-label-error, var(--text-status-error))!important}.s_label{font-size:var(--font-size-body-s);line-height:150%;font-weight:400}gov-form-message{font-size:var(--font-size-body-s)}\n"], dependencies: [{ kind: "directive", type: RdtSelectOptionDirective, selector: "[rdtSelectOption]", inputs: ["rdtSelectOption"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: RdtAutoFocusOnInitDirective, selector: "[rdtAutofocusOnInit]" }, { kind: "ngmodule", type: GovDesignSystemModule }, { kind: "component", type: i1.GovButton, selector: "gov-button", inputs: ["color", "disabled", "download", "expanded", "expandedMobile", "focusable", "href", "hreflang", "identifier", "loading", "name", "nativeType", "referrerpolicy", "rel", "size", "target", "type"] }, { kind: "component", type: i1.GovFormLabel, selector: "gov-form-label", inputs: ["identifier", "legend", "required", "size"] }, { kind: "component", type: i1.GovFormMessage, selector: "gov-form-message", inputs: ["color", "size"] }, { kind: "component", type: i1.GovIcon, selector: "gov-icon", inputs: ["color", "name", "size", "type"] }, { kind: "pipe", type: RdtFormErrorPipe, name: "rdtFormError" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: RdtTranslatePipe, name: "rdtTranslate" }], encapsulation: i0.ViewEncapsulation.None });
|
|
791
1216
|
}
|
|
792
1217
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: RdtGovSelectComponent, decorators: [{
|
|
793
1218
|
type: Component,
|
|
@@ -798,6 +1223,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
798
1223
|
GovDesignSystemModule,
|
|
799
1224
|
RdtFormErrorPipe,
|
|
800
1225
|
CommonModule,
|
|
1226
|
+
RdtTranslatePipe,
|
|
801
1227
|
], providers: [
|
|
802
1228
|
RdtSelectStore,
|
|
803
1229
|
{
|
|
@@ -817,7 +1243,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
817
1243
|
provide: RdtBaseFormInputComponent,
|
|
818
1244
|
useExisting: RdtGovSelectComponent,
|
|
819
1245
|
},
|
|
820
|
-
], schemas: [CUSTOM_ELEMENTS_SCHEMA], encapsulation: ViewEncapsulation.None, template: "@let sel = selectedLabel(); @let lPos = labelPosition(); @let hasError =\nhideErrors() ? '' : visibleErrors() | rdtFormError; @if(lPos === 'top'){\n<gov-form-label slot=\"left\" [class.warning-color-gov-label]=\"hasError\" size=\"s\"\n >{{ label() }}\n @if (required()) {\n <span class=\"warning-color-text\">*</span>\n }</gov-form-label\n>\n}\n<div\n class=\"gov-form-select gov-form-input\"\n [class.has-clear]=\"showClear() && !!sel\"\n [attr.size]=\"size()\"\n [attr.invalid]=\"invalid() && touched()\"\n [attr.disabled]=\"disabled()\"\n>\n @if (lPos === 'left') {\n <p\n class=\"gov-form-label__label s_label\"\n slot=\"prefix\"\n [class.warning-color-text]=\"hasError\"\n >\n {{ label() }}\n @if (required()) {\n <span class=\"warning-color-text\">*</span>\n }\n </p>\n }\n <div class=\"element\">\n <button\n #selectButton\n [attr.size]=\"size()\"\n (click)=\"openOverlay()\"\n (keydown)=\"handleButtonKeydown($event)\"\n [disabled]=\"disabled()\"\n class=\"select\"\n type=\"button\"\n (blur)=\"handleButtonBlur()\"\n (focus)=\"onFocus()\"\n >\n <div class=\"scroll-content\" [class.warning-color-text]=\"hasError\">\n @if (sel) {\n {{ sel }}\n } @else if (!disabled() && !readonlyInput()) {\n {{ placeholder() || ' ' }}\n }\n </div>\n @if (showClear() && sel) {\n <gov-button\n class=\"clear-button\"\n iconStart=\"basic/x\"\n (click)=\"onClearClick($event)\"\n propagate=\"false\"\n buttonType=\"base\"\n color=\"error\"\n [rdtDisabled]=\"disabled()\"\n ></gov-button>\n } @if (loading()) {\n <rdt-spinner />\n } @else { @if(hasError){\n <gov-icon\n name=\"exclamation-lg\"\n class=\"icon-warning\"\n [ngClass]=\"'icon-' + size()\"\n ></gov-icon>\n }\n <gov-icon\n name=\"chevron-down\"\n class=\"icon-arrow\"\n [class.warning-color-icon]=\"hasError\"\n ></gov-icon>\n }\n </button>\n </div>\n @if (lPos === 'right') {\n <p\n class=\"gov-form-label__label s_label\"\n slot=\"sufix\"\n [class.warning-color-text]=\"hasError\"\n >\n {{ label() }}\n @if (required()) {\n <span class=\"warning-color-text\">*</span>\n }\n </p>\n }\n</div>\n<ng-template #overlayContainer>\n <div class=\"rdt-gov-select-container\" [attr.data-size]=\"size()\">\n @if (showSearch()) {\n <div class=\"search-container\" [class.loading]=\"loading()\">\n <input\n class=\"gov-form-input\"\n size=\"s\"\n type=\"search\"\n rdtAutofocusOnInit\n [formControl]=\"inputCtrl\"\n (keydown)=\"handleInputKeydown($event)\"\n placeholder=\"Zadejte hledan\u00FD v\u00FDraz\"\n />\n @if (loading()) {\n <rdt-spinner />\n }\n </div>\n }\n <ul role=\"listbox\" aria-hidden=\"false\" #scrollContainer>\n @for (option of visibleOptions(); track option.id) {\n <li role=\"option\" [attr.aria-selected]=\"option.selected\">\n <button\n tabindex=\"-1\"\n [rdtSelectOption]=\"option.id\"\n (click)=\"selectOption(option.id)\"\n class=\"option\"\n type=\"button\"\n >\n <gov-icon\n name=\"check-lg\"\n [class.invisible]=\"!option.selected\"\n class=\"mr-1 w-4 picked\"\n />\n {{ option.label }}\n </button>\n </li>\n } @empty { @if (loading()) {\n <li class=\"pointer-events-none\">\n <div class=\"option\">Na\u010D\u00EDt\u00E1n\u00ED hodnot...</div>\n </li>\n } @else if (store.query()) {\n <li class=\"pointer-events-none\">\n <div class=\"option\">\n Pro zadan\u00FD v\u00FDraz nejsou k dispozici \u017E\u00E1dn\u00E9 z\u00E1znamy\n </div>\n </li>\n } @else if (!store.datasource()?.queryRequired) {\n <li class=\"pointer-events-none\">\n <div class=\"option\">Nejsou k dispozici \u017E\u00E1dn\u00E9 hodnoty</div>\n </li>\n } }\n </ul>\n </div>\n</ng-template>\n@if(hasError){\n<gov-form-message slot=\"bottom\" color=\"error\">{{ hasError }}</gov-form-message>\n}\n", styles: [".rdt-option-selected{background:var(--gov-autocomplete-item-hover, var(--color-neutral-600))!important;color:var(--color-primary-50)!important}.icon-warning{width:var(--icon-size)!important;height:var(--icon-size)!important}.icon-xs{--icon-size: 12px}.icon-s{--icon-size: 14px}.icon-m{--icon-size: 16px}.icon-l{--icon-size: 18px}.icon-xl{--icon-size: 20px}rdt-gov-select{display:inline-block;width:100%;max-width:100%}rdt-gov-select .gov-form-select{width:100%}rdt-gov-select .gov-form-select.has-clear .select{padding-right:calc(1.5rem + var(--spacing-s))!important}rdt-gov-select .gov-form-input{border:none!important;background-color:transparent!important}rdt-gov-select .select{display:flex}rdt-gov-select .select rdt-spinner{position:absolute;right:.5rem;width:1rem;height:1rem}rdt-gov-select [size=xs].gov-form-select .select{min-height:var(--height-component-xs);font-size:var(--font-size-body-xs)}rdt-gov-select [size=xs].gov-form-select .select:hover{background-color:var(--button-outlined-primary-hover)}rdt-gov-select [size=s].gov-form-select .select{min-height:var(--height-component-s);font-size:var(--font-size-body-s)}rdt-gov-select [size=s].gov-form-select .select:hover{background-color:var(--button-outlined-primary-hover)}rdt-gov-select [size=m].gov-form-select .select{min-height:var(--height-component-m);font-size:var(--font-size-body-m)}rdt-gov-select [size=m].gov-form-select .select:hover{background-color:var(--button-outlined-primary-hover)}rdt-gov-select [size=l].gov-form-select .select{min-height:var(--height-component-l);font-size:var(--font-size-body-l)}rdt-gov-select [size=l].gov-form-select .select:hover{background-color:var(--button-outlined-primary-hover)}rdt-gov-select [size=xl].gov-form-select .select{min-height:var(--height-component-xl);font-size:var(--font-size-body-xl)}rdt-gov-select [size=xl].gov-form-select .select:hover{background-color:var(--button-outlined-primary-hover)}rdt-gov-select [size=xs].gov-form-select .select{padding:var(--spacing-multiline-vertical-padding-xs) var(--spacing-xs-nudge)}rdt-gov-select [size=s].gov-form-select .select{padding:var(--spacing-multiline-vertical-padding-s) var(--spacing-s)}rdt-gov-select [size=m].gov-form-select .select{padding:var(--spacing-multiline-vertical-padding-m) var(--spacing-s-nudge)}rdt-gov-select [size=l].gov-form-select .select{padding:var(--spacing-multiline-vertical-padding-l) var(--spacing-m)}rdt-gov-select [size=xl].gov-form-select .select{padding:var(--spacing-multiline-vertical-padding-xl) var(--spacing-m-nudge)}rdt-gov-select .gov-form-select .select{position:relative;border:none;width:100%;border-radius:var(--corner-radius-s);background-color:var(--background-block-primary);font-family:var(--font-family);text-align:left}rdt-gov-select [invalid=true].gov-form-input .select{border-color:var(--background-status-error);color:var(--background-status-error)}rdt-gov-select .icon-arrow{color:var(--text-primary);position:absolute;top:50%;display:flex;justify-content:center;transform:translateY(-50%);pointer-events:none;right:.75rem;width:.75rem;height:.75rem}rdt-gov-select .icon-warning{color:var(--icon-error);position:absolute;top:50%;display:flex;justify-content:center;transform:translateY(-50%);pointer-events:none;right:1.85rem;width:.75rem;height:.75rem}rdt-gov-select .scroll-content{display:flex;align-items:center;color:var(--text-primary);width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}rdt-gov-select .clear-button{display:flex;position:absolute;right:2rem;top:50%;transform:translateY(-50%)}rdt-gov-select .clear-button button{padding:0!important;min-height:auto!important;--icon-size-xs: 1rem}rdt-gov-select .clear-button gov-icon[slot=left-icon]{left:0!important;position:inherit!important;top:0!important;display:inline!important;transform:none!important}rdt-gov-select .element{max-width:100%}.rdt-gov-select-container{width:100%;margin-top:.5rem;margin-bottom:.5rem;overflow:hidden;border:1px solid var(--color-neutral-600);border-radius:0;background-color:var(--background-block-primary)}.rdt-gov-select-container ul{padding-left:0;margin-top:0;margin-bottom:0;list-style:none;max-height:14.0625rem;overflow-x:hidden;overflow-y:auto;overscroll-behavior:none}.rdt-gov-select-container ul .option{font-family:var(--font-family);color:var(--text-primary);border:none;display:flex;align-items:center;padding:.75rem .5rem;width:100%;margin:0;background:none;text-align:left}.rdt-gov-select-container ul .option gov-icon{padding-right:var(--spacing-s)}.rdt-gov-select-container ul .option gov-icon.invisible{display:none}.rdt-gov-select-container ul .option:hover{color:var(--color-primary-50);background:var(--color-neutral-600)}.rdt-gov-select-container li{margin-bottom:0}.rdt-gov-select-container .picked{color:var(--icon-success)}.rdt-gov-select-container .search-spinner{--spinner-size: 1.2rem;position:absolute;right:1rem;top:100%;transform:translateY(calc(var(--spinner-size) / -2))}.rdt-gov-select-container .search-spinner .sis-icon-32-fix{height:var(--spinner-size)}.rdt-gov-select-container .search-container{width:100%;position:relative}.rdt-gov-select-container .search-container input{font-family:var(--font-family);border-radius:0;border-top:1px;border-left:1px;border-right:1px;padding:.75rem .5rem;width:100%;background-color:var(--background-block-primary);color:var(--text-primary)}.rdt-gov-select-container .search-container input:focus-visible{outline:var(.125rem) solid var(--status-focus);outline-offset:0}.rdt-gov-select-container .search-container.loading input::-webkit-search-cancel-button{position:relative;right:1rem}[data-size=xs].rdt-gov-select-container ul li button{font-size:var(--font-size-body-xs)!important;line-height:var(--height-line-xs);padding:var(--spacing-multiline-vertical-padding-xs)}[data-size=xs].rdt-gov-select-container input{font-size:var(--font-size-body-xs)!important;padding:var(--spacing-multiline-vertical-padding-xs)}[data-size=s].rdt-gov-select-container ul li button{font-size:var(--font-size-body-s)!important;line-height:var(--height-line-s);padding:var(--spacing-multiline-vertical-padding-s)}[data-size=s].rdt-gov-select-container input{font-size:var(--font-size-body-s)!important;padding:var(--spacing-multiline-vertical-padding-s)}[data-size=m].rdt-gov-select-container ul li button{font-size:var(--font-size-body-m)!important;line-height:var(--height-line-m);padding:var(--spacing-multiline-vertical-padding-m)}[data-size=m].rdt-gov-select-container input{font-size:var(--font-size-body-m)!important;padding:var(--spacing-multiline-vertical-padding-m)}[data-size=l].rdt-gov-select-container ul li button{font-size:var(--font-size-body-l)!important;line-height:var(--height-line-l);padding:var(--spacing-multiline-vertical-padding-l)}[data-size=l].rdt-gov-select-container input{font-size:var(--font-size-body-l)!important;padding:var(--spacing-multiline-vertical-padding-l)}[data-size=xl].rdt-gov-select-container ul li button{font-size:var(--font-size-body-xl)!important;line-height:var(--height-line-xl);padding:var(--spacing-multiline-vertical-padding-xl)}[data-size=xl].rdt-gov-select-container input{font-size:var(--font-size-body-xl)!important;padding:var(--spacing-multiline-vertical-padding-xl)}.rdt-gov-select-overlay-panel-top .rdt-gov-select-container{display:flex;flex-direction:column-reverse}\n", ".warning-color-icon{color:var(--icon-error)!important}.warning-color-text{color:var(--text-status-error)!important}.warning-color-gov-label .gov-form-label__label{color:var(--form-state-label-error, var(--text-status-error))!important}.s_label{font-size:var(--font-size-body-s);line-height:150%;font-weight:400}gov-form-message{font-size:var(--font-size-body-s)}\n"] }]
|
|
1246
|
+
], schemas: [CUSTOM_ELEMENTS_SCHEMA], encapsulation: ViewEncapsulation.None, template: "@let sel = selectedLabel(); @let lPos = labelPosition(); @let hasError =\nhideErrors() ? '' : visibleErrors() | rdtFormError; @if(lPos === 'top'){\n<gov-form-label slot=\"left\" [class.warning-color-gov-label]=\"hasError\" size=\"s\"\n >{{ label() }}\n @if (required()) {\n <span class=\"warning-color-text\">*</span>\n }</gov-form-label\n>\n}\n<div\n class=\"gov-form-select gov-form-input\"\n [class.has-clear]=\"showClear() && !!sel\"\n [attr.size]=\"size()\"\n [attr.invalid]=\"invalid() && touched()\"\n [attr.disabled]=\"disabled()\"\n>\n @if (lPos === 'left') {\n <p\n class=\"gov-form-label__label s_label\"\n slot=\"prefix\"\n [class.warning-color-text]=\"hasError\"\n >\n {{ label() }}\n @if (required()) {\n <span class=\"warning-color-text\">*</span>\n }\n </p>\n }\n <div class=\"element\">\n <button\n #selectButton\n [attr.size]=\"size()\"\n (click)=\"openOverlay()\"\n (keydown)=\"handleButtonKeydown($event)\"\n [disabled]=\"disabled()\"\n class=\"select\"\n type=\"button\"\n (blur)=\"handleButtonBlur()\"\n (focus)=\"onFocus()\"\n >\n <div class=\"scroll-content\" [class.warning-color-text]=\"hasError\">\n @if (sel) {\n {{ sel }}\n } @else if (!disabled() && !readonlyInput()) {\n {{ placeholder() || ' ' }}\n }\n </div>\n @if (showClear() && sel) {\n <gov-button\n class=\"clear-button\"\n iconStart=\"basic/x\"\n (click)=\"onClearClick($event)\"\n propagate=\"false\"\n buttonType=\"base\"\n color=\"error\"\n [rdtDisabled]=\"disabled()\"\n ></gov-button>\n } @if (loading()) {\n <rdt-spinner />\n } @else { @if(hasError){\n <gov-icon\n name=\"exclamation-lg\"\n class=\"icon-warning\"\n [ngClass]=\"'icon-' + size()\"\n ></gov-icon>\n }\n <gov-icon\n name=\"chevron-down\"\n class=\"icon-arrow\"\n [class.warning-color-icon]=\"hasError\"\n ></gov-icon>\n }\n </button>\n </div>\n @if (lPos === 'right') {\n <p\n class=\"gov-form-label__label s_label\"\n slot=\"sufix\"\n [class.warning-color-text]=\"hasError\"\n >\n {{ label() }}\n @if (required()) {\n <span class=\"warning-color-text\">*</span>\n }\n </p>\n }\n</div>\n<ng-template #overlayContainer>\n <div class=\"rdt-gov-select-container\" [attr.data-size]=\"size()\">\n @if (showSearch()) {\n <div class=\"search-container\" [class.loading]=\"loading()\">\n <input\n class=\"gov-form-input\"\n size=\"s\"\n type=\"search\"\n rdtAutofocusOnInit\n [formControl]=\"inputCtrl\"\n (keydown)=\"handleInputKeydown($event)\"\n [placeholder]=\"'RDT_SELECT_ENTER_SEARCH' | rdtTranslate\"\n />\n @if (loading()) {\n <rdt-spinner />\n }\n </div>\n }\n <ul role=\"listbox\" aria-hidden=\"false\" #scrollContainer>\n @for (option of visibleOptions(); track option.id) {\n <li role=\"option\" [attr.aria-selected]=\"option.selected\">\n <button\n tabindex=\"-1\"\n [rdtSelectOption]=\"option.id\"\n (click)=\"selectOption(option.id)\"\n class=\"option\"\n type=\"button\"\n >\n <gov-icon\n name=\"check-lg\"\n [class.invisible]=\"!option.selected\"\n class=\"mr-1 w-4 picked\"\n />\n {{ $any(option.label) | rdtTranslate }}\n </button>\n </li>\n } @empty { @if (loading()) {\n <li class=\"pointer-events-none\">\n <div class=\"option\">\n {{ 'RDT_GOV_SELECT_LOADING_VALUES' | rdtTranslate }}\n </div>\n </li>\n } @else if (store.query()) {\n <li class=\"pointer-events-none\">\n <div class=\"option\">\n {{ 'RDT_GOV_SELECT_NO_VALUES_FOUND' | rdtTranslate }}\n </div>\n </li>\n } @else if (!store.datasource()?.queryRequired) {\n <li class=\"pointer-events-none\">\n <div class=\"option\">\n {{ 'RDT_GOV_SELECT_NO_VALUES_AVAILABLE' | rdtTranslate }}\n </div>\n </li>\n } }\n </ul>\n </div>\n</ng-template>\n@if(hasError){\n<gov-form-message slot=\"bottom\" color=\"error\">{{ hasError }}</gov-form-message>\n}\n", styles: [".rdt-option-selected{background:var(--gov-autocomplete-item-hover, var(--color-neutral-600))!important;--text-primary: var(--color-primary-50) !important}.icon-warning{width:var(--icon-size)!important;height:var(--icon-size)!important}.icon-xs{--icon-size: 12px}.icon-s{--icon-size: 14px}.icon-m{--icon-size: 16px}.icon-l{--icon-size: 18px}.icon-xl{--icon-size: 20px}rdt-gov-select{display:inline-block;width:100%;max-width:100%}rdt-gov-select .gov-form-select{width:100%}rdt-gov-select .gov-form-select.has-clear .select{padding-right:calc(1.5rem + var(--spacing-s))!important}rdt-gov-select .gov-form-input{border:none!important;background-color:transparent!important}rdt-gov-select .select{display:flex}rdt-gov-select .select rdt-spinner{position:absolute;right:.5rem;width:1rem;height:1rem}rdt-gov-select [size=xs].gov-form-select .select{min-height:var(--height-component-xs);font-size:var(--font-size-body-xs)}rdt-gov-select [size=xs].gov-form-select .select:hover{background-color:var(--button-outlined-primary-hover)}rdt-gov-select [size=s].gov-form-select .select{min-height:var(--height-component-s);font-size:var(--font-size-body-s)}rdt-gov-select [size=s].gov-form-select .select:hover{background-color:var(--button-outlined-primary-hover)}rdt-gov-select [size=m].gov-form-select .select{min-height:var(--height-component-m);font-size:var(--font-size-body-m)}rdt-gov-select [size=m].gov-form-select .select:hover{background-color:var(--button-outlined-primary-hover)}rdt-gov-select [size=l].gov-form-select .select{min-height:var(--height-component-l);font-size:var(--font-size-body-l)}rdt-gov-select [size=l].gov-form-select .select:hover{background-color:var(--button-outlined-primary-hover)}rdt-gov-select [size=xl].gov-form-select .select{min-height:var(--height-component-xl);font-size:var(--font-size-body-xl)}rdt-gov-select [size=xl].gov-form-select .select:hover{background-color:var(--button-outlined-primary-hover)}rdt-gov-select [size=xs].gov-form-select .select{padding:var(--spacing-multiline-vertical-padding-xs) var(--spacing-xs-nudge)}rdt-gov-select [size=s].gov-form-select .select{padding:var(--spacing-multiline-vertical-padding-s) var(--spacing-s)}rdt-gov-select [size=m].gov-form-select .select{padding:var(--spacing-multiline-vertical-padding-m) var(--spacing-s-nudge)}rdt-gov-select [size=l].gov-form-select .select{padding:var(--spacing-multiline-vertical-padding-l) var(--spacing-m)}rdt-gov-select [size=xl].gov-form-select .select{padding:var(--spacing-multiline-vertical-padding-xl) var(--spacing-m-nudge)}rdt-gov-select .gov-form-select .select{position:relative;border:none;width:100%;border-radius:var(--corner-radius-s);background-color:var(--background-block-primary);font-family:var(--font-family);text-align:left}rdt-gov-select [invalid=true].gov-form-input .select{border-color:var(--background-status-error);color:var(--background-status-error)}rdt-gov-select .icon-arrow{color:var(--text-primary);position:absolute;top:50%;display:flex;justify-content:center;transform:translateY(-50%);pointer-events:none;right:.75rem;width:.75rem;height:.75rem}rdt-gov-select .icon-warning{color:var(--icon-error);position:absolute;top:50%;display:flex;justify-content:center;transform:translateY(-50%);pointer-events:none;right:1.85rem;width:.75rem;height:.75rem}rdt-gov-select .scroll-content{display:flex;align-items:center;color:var(--text-primary);width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}rdt-gov-select .clear-button{display:flex;position:absolute;right:2rem;top:50%;transform:translateY(-50%)}rdt-gov-select .clear-button button{padding:0!important;min-height:auto!important;--icon-size-xs: 1rem}rdt-gov-select .clear-button gov-icon[slot=left-icon]{left:0!important;position:inherit!important;top:0!important;display:inline!important;transform:none!important}rdt-gov-select .element{max-width:100%}.rdt-gov-select-container{width:100%;margin-top:.5rem;margin-bottom:.5rem;overflow:hidden;border:1px solid var(--color-neutral-600);border-radius:0;background-color:var(--background-block-primary)}.rdt-gov-select-container ul{padding-left:0;margin-top:0;margin-bottom:0;list-style:none;max-height:14.0625rem;overflow-x:hidden;overflow-y:auto;overscroll-behavior:none}.rdt-gov-select-container ul .option{font-family:var(--font-family);color:var(--text-primary);border:none;display:flex;align-items:center;padding:.75rem .5rem;width:100%;margin:0;background:none;text-align:left}.rdt-gov-select-container ul .option gov-icon{padding-right:var(--spacing-s)}.rdt-gov-select-container ul .option gov-icon.invisible{display:none}.rdt-gov-select-container ul .option:hover{--text-primary: var(--color-primary-50);background:var(--color-neutral-600)}.rdt-gov-select-container li{margin-bottom:0}.rdt-gov-select-container .picked{color:var(--text-primary)}.rdt-gov-select-container .search-spinner{--spinner-size: 1.2rem;position:absolute;right:1rem;top:100%;transform:translateY(calc(var(--spinner-size) / -2))}.rdt-gov-select-container .search-spinner .sis-icon-32-fix{height:var(--spinner-size)}.rdt-gov-select-container .search-container{width:100%;position:relative}.rdt-gov-select-container .search-container input{font-family:var(--font-family);border-radius:0;border-top:1px;border-left:1px;border-right:1px;padding:.75rem .5rem;width:100%;background-color:var(--background-block-primary);color:var(--text-primary)}.rdt-gov-select-container .search-container input:focus-visible{outline:var(.125rem) solid var(--status-focus);outline-offset:0}.rdt-gov-select-container .search-container.loading input::-webkit-search-cancel-button{position:relative;right:1rem}[data-size=xs].rdt-gov-select-container ul li button{font-size:var(--font-size-body-xs)!important;line-height:var(--height-line-xs);padding:var(--spacing-multiline-vertical-padding-xs)}[data-size=xs].rdt-gov-select-container input{font-size:var(--font-size-body-xs)!important;padding:var(--spacing-multiline-vertical-padding-xs)}[data-size=s].rdt-gov-select-container ul li button{font-size:var(--font-size-body-s)!important;line-height:var(--height-line-s);padding:var(--spacing-multiline-vertical-padding-s)}[data-size=s].rdt-gov-select-container input{font-size:var(--font-size-body-s)!important;padding:var(--spacing-multiline-vertical-padding-s)}[data-size=m].rdt-gov-select-container ul li button{font-size:var(--font-size-body-m)!important;line-height:var(--height-line-m);padding:var(--spacing-multiline-vertical-padding-m)}[data-size=m].rdt-gov-select-container input{font-size:var(--font-size-body-m)!important;padding:var(--spacing-multiline-vertical-padding-m)}[data-size=l].rdt-gov-select-container ul li button{font-size:var(--font-size-body-l)!important;line-height:var(--height-line-l);padding:var(--spacing-multiline-vertical-padding-l)}[data-size=l].rdt-gov-select-container input{font-size:var(--font-size-body-l)!important;padding:var(--spacing-multiline-vertical-padding-l)}[data-size=xl].rdt-gov-select-container ul li button{font-size:var(--font-size-body-xl)!important;line-height:var(--height-line-xl);padding:var(--spacing-multiline-vertical-padding-xl)}[data-size=xl].rdt-gov-select-container input{font-size:var(--font-size-body-xl)!important;padding:var(--spacing-multiline-vertical-padding-xl)}.rdt-gov-select-overlay-panel-top .rdt-gov-select-container{display:flex;flex-direction:column-reverse}\n", ".warning-color-icon{color:var(--icon-error)!important}.warning-color-text{color:var(--text-status-error)!important}.warning-color-gov-label .gov-form-label__label{color:var(--form-state-label-error, var(--text-status-error))!important}.s_label{font-size:var(--font-size-body-s);line-height:150%;font-weight:400}gov-form-message{font-size:var(--font-size-body-s)}\n"] }]
|
|
821
1247
|
}] });
|
|
822
1248
|
|
|
823
1249
|
class RdtGovTextInputComponent extends RdtTextInputComponent {
|
|
@@ -943,5 +1369,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
943
1369
|
* Generated bundle index. Do not edit.
|
|
944
1370
|
*/
|
|
945
1371
|
|
|
946
|
-
export { DEFAULT_GOV_BUTTON_COLOR, DEFAULT_GOV_BUTTON_SIZE, DEFAULT_GOV_BUTTON_TYPE, RDT_DATE_MIN_YEAR, RdtGovButtonComponent, RdtGovCheckboxComponent, RdtGovDateComponent, RdtGovIconComponent, RdtGovNumberInputComponent, RdtGovSelectComponent, RdtGovSelectOfflineProviderDirective, RdtGovTextInputComponent, RdtGovThemeService, forceFocus, initRdtGov, provideNgrdtGov };
|
|
1372
|
+
export { DEFAULT_GOV_BUTTON_COLOR, DEFAULT_GOV_BUTTON_SIZE, DEFAULT_GOV_BUTTON_TYPE, RDT_ALERT_DIALOG_PROVIDER, RDT_BASE_DIALOG_PROVIDER, RDT_BASE_NOTIFICATION_PROVIDER, RDT_CONFIRM_DIALOG_PROVIDER, RDT_DATE_MIN_YEAR, RdtGovBaseDialog, RdtGovButtonComponent, RdtGovCheckboxComponent, RdtGovDateComponent, RdtGovDialogContentComponent, RdtGovDialogFooterComponent, RdtGovDialogHeaderComponent, RdtGovDialogLoadingComponent, RdtGovDialogService, RdtGovIconComponent, RdtGovNotificationService, RdtGovNumberInputComponent, RdtGovSelectComponent, RdtGovSelectOfflineProviderDirective, RdtGovSpinnerComponent, RdtGovTextInputComponent, RdtGovThemeService, forceFocus, initRdtGov, provideNgrdtGov };
|
|
947
1373
|
//# sourceMappingURL=ngrdt-gov.mjs.map
|