@ndwnu/design-system 12.0.0 → 12.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/ndwnu-design-system.mjs +1109 -553
- package/fesm2022/ndwnu-design-system.mjs.map +1 -1
- package/index.d.ts +168 -77
- package/package.json +3 -2
- package/styles/base/_material.scss +17 -0
- package/styles/base/index.scss +1 -0
- package/styles/components/_datepicker.scss +68 -21
- package/styles/components/_input.scss +6 -6
- package/styles/layout/_grid.scss +64 -0
- package/styles/layout/grid.stories.ts +69 -40
package/index.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { CoreAutosuggestPanelComponent, CoreAutosuggestDirective, CoreAutosuggestOptionComponent, Image, CoreAutosuggestAddOptionComponent, CoreCheckboxComponent, CoreCheckboxGroupComponent, InputType, CheckableComponent, PillColor, CoreBreadcrumbComponent, CoreBreadcrumbGroupComponent, CoreIconComponent, CoreKeyValueListComponent, CorePillComponent, CoreRouterBreadcrumbsComponent } from '@ndwnu/core';
|
|
1
|
+
import { CoreAutosuggestPanelComponent, CoreAutosuggestDirective, CoreAutosuggestOptionComponent, Image, CoreAutosuggestAddOptionComponent, CoreCheckboxComponent, CoreCheckboxGroupComponent, InputType, CheckableComponent, PillColor, CoreBadgeComponent, CoreBreadcrumbComponent, CoreBreadcrumbGroupComponent, CoreIconComponent, CoreKeyValueListComponent, CorePillComponent, CoreRouterBreadcrumbsComponent } from '@ndwnu/core';
|
|
2
2
|
export { AutosuggestOption, AutosuggestOptions, AutosuggestSearchFn, IconSize, KeyValueRow } from '@ndwnu/core';
|
|
3
3
|
import * as _angular_core from '@angular/core';
|
|
4
|
-
import {
|
|
4
|
+
import { OnDestroy, Signal, ElementRef, EventEmitter, TemplateRef, OnInit, AfterContentInit, AfterViewInit, InjectionToken, OnChanges } from '@angular/core';
|
|
5
5
|
import { ControlValueAccessor, AbstractControl, NgControl } from '@angular/forms';
|
|
6
6
|
import { Subject, Observable } from 'rxjs';
|
|
7
|
-
import
|
|
7
|
+
import * as _angular_material_datepicker from '@angular/material/datepicker';
|
|
8
|
+
import { DateFilterFn, MatCalendar } from '@angular/material/datepicker';
|
|
8
9
|
import { Params } from '@angular/router';
|
|
9
10
|
import * as _ndwnu_design_system from '@ndwnu/design-system';
|
|
10
11
|
import { Point } from '@angular/cdk/drag-drop';
|
|
@@ -65,10 +66,114 @@ declare class CheckboxGroupComponent extends CoreCheckboxGroupComponent {
|
|
|
65
66
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CheckboxGroupComponent, "ndw-checkbox-group", never, {}, {}, never, ["*"], true, never>;
|
|
66
67
|
}
|
|
67
68
|
|
|
68
|
-
|
|
69
|
-
|
|
69
|
+
type DatepickerMode = 'single' | 'range' | 'multiple' | 'month';
|
|
70
|
+
|
|
71
|
+
declare class CalendarComponent implements ControlValueAccessor, OnDestroy {
|
|
72
|
+
#private;
|
|
73
|
+
readonly mode: _angular_core.InputSignal<DatepickerMode>;
|
|
74
|
+
readonly disabled: _angular_core.ModelSignal<boolean>;
|
|
75
|
+
readonly minDate: _angular_core.InputSignal<Date | null>;
|
|
76
|
+
readonly maxDate: _angular_core.InputSignal<Date | null>;
|
|
77
|
+
readonly startAt: _angular_core.InputSignal<Date | null>;
|
|
78
|
+
readonly dateEnabledFilter: _angular_core.InputSignal<DateFilterFn<Date | null>>;
|
|
79
|
+
readonly dateWithIndicatorFilter: _angular_core.InputSignal<DateFilterFn<Date | null>>;
|
|
80
|
+
readonly elevated: _angular_core.InputSignal<boolean>;
|
|
81
|
+
protected internalDateEnabledFilter: Signal<(date: Date | null) => boolean>;
|
|
82
|
+
protected readonly calendar: Signal<MatCalendar<any> | undefined>;
|
|
83
|
+
protected readonly calendarElement: Signal<ElementRef<HTMLElement> | undefined>;
|
|
84
|
+
protected readonly value: _angular_core.WritableSignal<Date[]>;
|
|
85
|
+
protected readonly startView: Signal<"month" | "year">;
|
|
86
|
+
protected readonly dateClass: Signal<_angular_material_datepicker.MatCalendarCellClassFunction<Date>>;
|
|
87
|
+
constructor();
|
|
88
|
+
ngOnDestroy(): void;
|
|
89
|
+
private addMouseMoveListener;
|
|
90
|
+
private removeMouseMoveListener;
|
|
91
|
+
private addRangePreviewClasses;
|
|
92
|
+
private removeRangePreviewClasses;
|
|
93
|
+
protected onDateSelected(date: Date | Date[] | null, toggle?: boolean): void;
|
|
94
|
+
protected onMonthSelected(date: Date): void;
|
|
95
|
+
writeValue(value: Date | Date[] | null): void;
|
|
96
|
+
registerOnChange(fn: (value: Date | Date[] | null) => void): void;
|
|
97
|
+
registerOnTouched(_fn: () => void): void;
|
|
98
|
+
setDisabledState?(isDisabled: boolean): void;
|
|
99
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CalendarComponent, never>;
|
|
100
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CalendarComponent, "ndw-calendar", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "startAt": { "alias": "startAt"; "required": false; "isSignal": true; }; "dateEnabledFilter": { "alias": "dateEnabledFilter"; "required": false; "isSignal": true; }; "dateWithIndicatorFilter": { "alias": "dateWithIndicatorFilter"; "required": false; "isSignal": true; }; "elevated": { "alias": "elevated"; "required": false; "isSignal": true; }; }, { "disabled": "disabledChange"; }, never, never, true, never>;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
type PopoverPosition = 'nextToTriggerButton' | 'overTriggerButton';
|
|
104
|
+
declare class PopoverTriggerDirective implements OnDestroy {
|
|
105
|
+
popoverToggled: EventEmitter<boolean>;
|
|
106
|
+
popoverPosition: _angular_core.InputSignal<PopoverPosition>;
|
|
107
|
+
popoverContent: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
108
|
+
toggleOnClick: _angular_core.InputSignal<boolean>;
|
|
109
|
+
isOpen: _angular_core.ModelSignal<boolean>;
|
|
110
|
+
toggle(): void;
|
|
111
|
+
private destroyRef;
|
|
112
|
+
private elementRef;
|
|
113
|
+
private overlay;
|
|
114
|
+
private viewContainerRef;
|
|
115
|
+
private focusTrapFactory;
|
|
116
|
+
private overlayRef?;
|
|
117
|
+
ngOnDestroy(): void;
|
|
118
|
+
togglePopover(): void;
|
|
119
|
+
private open;
|
|
120
|
+
private trapFocus;
|
|
121
|
+
private closeOverlayOnEscapeKey;
|
|
122
|
+
private nodeOrParentsHaveAttribute;
|
|
123
|
+
private closeOverlayOnBackdropClick;
|
|
124
|
+
private close;
|
|
125
|
+
private getPopoverPosition;
|
|
126
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PopoverTriggerDirective, never>;
|
|
127
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<PopoverTriggerDirective, "[ndwPopoverTrigger]", ["ndwPopoverTrigger"], { "popoverPosition": { "alias": "popoverPosition"; "required": false; "isSignal": true; }; "popoverContent": { "alias": "ndwPopoverTrigger"; "required": true; "isSignal": true; }; "toggleOnClick": { "alias": "toggleOnClick"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; }, { "popoverToggled": "popoverToggled"; "isOpen": "isOpenChange"; }, never, never, true, never>;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
declare class InputDirective implements OnInit {
|
|
131
|
+
set disabled(disabled: boolean);
|
|
132
|
+
get error(): boolean;
|
|
133
|
+
set error(error: boolean);
|
|
134
|
+
set success(success: boolean);
|
|
135
|
+
set id(id: string);
|
|
136
|
+
set ariaDescribedBy(id: string);
|
|
137
|
+
private readonly elementRef;
|
|
138
|
+
private readonly destroyRef;
|
|
139
|
+
private readonly ngControl;
|
|
140
|
+
get element(): HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;
|
|
141
|
+
get control(): AbstractControl | null;
|
|
142
|
+
ngOnInit(): void;
|
|
143
|
+
updateErrorAttribute(formFieldError?: boolean): void;
|
|
144
|
+
private setSelectPlaceholderAttribute;
|
|
145
|
+
private updateRequiredAttribute;
|
|
146
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<InputDirective, never>;
|
|
147
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<InputDirective, "input[ndwInput], select[ndwInput], textarea[ndwInput]", never, {}, {}, never, never, true, never>;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
declare class DatepickerComponent implements ControlValueAccessor {
|
|
151
|
+
#private;
|
|
152
|
+
readonly mode: _angular_core.InputSignal<DatepickerMode>;
|
|
153
|
+
readonly required: _angular_core.InputSignal<boolean>;
|
|
154
|
+
readonly disabled: _angular_core.ModelSignal<boolean>;
|
|
155
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
156
|
+
readonly openCalendarLabel: _angular_core.InputSignal<string>;
|
|
157
|
+
readonly minDate: _angular_core.InputSignal<Date | null>;
|
|
158
|
+
readonly maxDate: _angular_core.InputSignal<Date | null>;
|
|
159
|
+
readonly dateEnabledFilter: _angular_core.InputSignal<DateFilterFn<Date | null>>;
|
|
160
|
+
readonly dateWithIndicatorFilter: _angular_core.InputSignal<DateFilterFn<Date | null>>;
|
|
161
|
+
readonly input: _angular_core.Signal<InputDirective>;
|
|
162
|
+
protected readonly popoverTrigger: _angular_core.Signal<PopoverTriggerDirective>;
|
|
163
|
+
protected readonly value: _angular_core.ModelSignal<Date[]>;
|
|
164
|
+
protected readonly startAt: _angular_core.Signal<Date | null>;
|
|
165
|
+
protected readonly formattedValue: _angular_core.Signal<string>;
|
|
166
|
+
protected readonly showTags: _angular_core.Signal<boolean>;
|
|
167
|
+
protected onDateInput(input: string): void;
|
|
168
|
+
protected removeDate(date: Date): void;
|
|
169
|
+
protected onDateSelected(date: Date | Date[] | null): void;
|
|
170
|
+
protected onPopoverOpenChange(isOpen: boolean): void;
|
|
171
|
+
writeValue(value: Date | Date[] | null): void;
|
|
172
|
+
registerOnChange(fn: (value: Date | Date[] | null) => void): void;
|
|
173
|
+
registerOnTouched(_fn: () => void): void;
|
|
174
|
+
setDisabledState?(isDisabled: boolean): void;
|
|
70
175
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DatepickerComponent, never>;
|
|
71
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DatepickerComponent, "ndw-datepicker", never, {}, {}, never, never, true, never>;
|
|
176
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DatepickerComponent, "ndw-datepicker", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "openCalendarLabel": { "alias": "openCalendarLabel"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "dateEnabledFilter": { "alias": "dateEnabledFilter"; "required": false; "isSignal": true; }; "dateWithIndicatorFilter": { "alias": "dateWithIndicatorFilter"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "disabled": "disabledChange"; "value": "valueChange"; }, never, never, true, never>;
|
|
72
177
|
}
|
|
73
178
|
|
|
74
179
|
declare class ErrorComponent {
|
|
@@ -86,6 +191,7 @@ declare class FileUploadComponent implements ControlValueAccessor {
|
|
|
86
191
|
readonly disabled: _angular_core.ModelSignal<boolean>;
|
|
87
192
|
readonly fileUploadText: _angular_core.InputSignal<FileUploadText>;
|
|
88
193
|
readonly maxFileSizeInBytes: _angular_core.InputSignal<number>;
|
|
194
|
+
readonly mimeTypeMap: _angular_core.InputSignal<Record<string, string>>;
|
|
89
195
|
readonly readonly: _angular_core.InputSignal<boolean>;
|
|
90
196
|
readonly uploadDate: _angular_core.InputSignal<string>;
|
|
91
197
|
readonly draggingOver: _angular_core.ModelSignal<boolean>;
|
|
@@ -118,31 +224,11 @@ declare class FileUploadComponent implements ControlValueAccessor {
|
|
|
118
224
|
* Ensures that the provided File has a valid MIME type.
|
|
119
225
|
*
|
|
120
226
|
* NOTE: Some file extensions are not automatically mapped to a valid MIME type by the operating system.
|
|
121
|
-
* In such cases, the MIME_TYPE_MAP is used to assign the correct MIME type.
|
|
227
|
+
* In such cases, the MIME_TYPE_MAP in combination with the mimeTypeMap input is used to assign the correct MIME type.
|
|
122
228
|
*/
|
|
123
229
|
private ensureFileType;
|
|
124
230
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FileUploadComponent, never>;
|
|
125
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FileUploadComponent, "ndw-file-upload", never, { "allowedFileTypeRegex": { "alias": "allowedFileTypeRegex"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "fileUploadText": { "alias": "fileUploadText"; "required": false; "isSignal": true; }; "maxFileSizeInBytes": { "alias": "maxFileSizeInBytes"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "uploadDate": { "alias": "uploadDate"; "required": false; "isSignal": true; }; "draggingOver": { "alias": "draggingOver"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "incorrectFileSize": { "alias": "incorrectFileSize"; "required": false; "isSignal": true; }; "incorrectFileType": { "alias": "incorrectFileType"; "required": false; "isSignal": true; }; "selectedFile": { "alias": "selectedFile"; "required": false; "isSignal": true; }; "success": { "alias": "success"; "required": false; "isSignal": true; }; }, { "disabled": "disabledChange"; "draggingOver": "draggingOverChange"; "error": "errorChange"; "incorrectFileSize": "incorrectFileSizeChange"; "incorrectFileType": "incorrectFileTypeChange"; "selectedFile": "selectedFileChange"; "success": "successChange"; }, never, never, true, never>;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
declare class InputDirective implements OnInit {
|
|
129
|
-
set disabled(disabled: boolean);
|
|
130
|
-
get error(): boolean;
|
|
131
|
-
set error(error: boolean);
|
|
132
|
-
set success(success: boolean);
|
|
133
|
-
set id(id: string);
|
|
134
|
-
set ariaDescribedBy(id: string);
|
|
135
|
-
private readonly elementRef;
|
|
136
|
-
private readonly destroyRef;
|
|
137
|
-
private readonly ngControl;
|
|
138
|
-
get element(): HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;
|
|
139
|
-
get control(): AbstractControl | null;
|
|
140
|
-
ngOnInit(): void;
|
|
141
|
-
updateErrorAttribute(formFieldError?: boolean): void;
|
|
142
|
-
private setSelectPlaceholderAttribute;
|
|
143
|
-
private updateRequiredAttribute;
|
|
144
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<InputDirective, never>;
|
|
145
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<InputDirective, "input[ndwInput], select[ndwInput], textarea[ndwInput]", never, {}, {}, never, never, true, never>;
|
|
231
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FileUploadComponent, "ndw-file-upload", never, { "allowedFileTypeRegex": { "alias": "allowedFileTypeRegex"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "fileUploadText": { "alias": "fileUploadText"; "required": false; "isSignal": true; }; "maxFileSizeInBytes": { "alias": "maxFileSizeInBytes"; "required": false; "isSignal": true; }; "mimeTypeMap": { "alias": "mimeTypeMap"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "uploadDate": { "alias": "uploadDate"; "required": false; "isSignal": true; }; "draggingOver": { "alias": "draggingOver"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "incorrectFileSize": { "alias": "incorrectFileSize"; "required": false; "isSignal": true; }; "incorrectFileType": { "alias": "incorrectFileType"; "required": false; "isSignal": true; }; "selectedFile": { "alias": "selectedFile"; "required": false; "isSignal": true; }; "success": { "alias": "success"; "required": false; "isSignal": true; }; }, { "disabled": "disabledChange"; "draggingOver": "draggingOverChange"; "error": "errorChange"; "incorrectFileSize": "incorrectFileSizeChange"; "incorrectFileType": "incorrectFileTypeChange"; "selectedFile": "selectedFileChange"; "success": "successChange"; }, never, never, true, never>;
|
|
146
232
|
}
|
|
147
233
|
|
|
148
234
|
declare class MonthInputComponent implements ControlValueAccessor, OnInit {
|
|
@@ -200,6 +286,7 @@ declare class FormFieldComponent {
|
|
|
200
286
|
readonly tooltip: _angular_core.InputSignal<string>;
|
|
201
287
|
readonly clearButtonClicked: _angular_core.OutputEmitterRef<void>;
|
|
202
288
|
protected readonly monthInput: _angular_core.Signal<MonthInputComponent | undefined>;
|
|
289
|
+
protected readonly dateInput: _angular_core.Signal<DatepickerComponent | undefined>;
|
|
203
290
|
protected readonly regularInput: _angular_core.Signal<InputDirective | undefined>;
|
|
204
291
|
protected readonly input: _angular_core.Signal<InputDirective | undefined>;
|
|
205
292
|
protected readonly inputType: _angular_core.Signal<InputType | undefined>;
|
|
@@ -215,7 +302,7 @@ declare class FormFieldComponent {
|
|
|
215
302
|
private setInputId;
|
|
216
303
|
private setAriaDescribedBy;
|
|
217
304
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormFieldComponent, never>;
|
|
218
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormFieldComponent, "ndw-form-field", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "suffixAriaLabel": { "alias": "suffixAriaLabel"; "required": false; "isSignal": true; }; "hideLabel": { "alias": "hideLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "success": { "alias": "success"; "required": false; "isSignal": true; }; "info": { "alias": "info"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; }, { "clearButtonClicked": "clearButtonClicked"; }, ["monthInput", "regularInput"], ["*"], true, never>;
|
|
305
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormFieldComponent, "ndw-form-field", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "suffixAriaLabel": { "alias": "suffixAriaLabel"; "required": false; "isSignal": true; }; "hideLabel": { "alias": "hideLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "success": { "alias": "success"; "required": false; "isSignal": true; }; "info": { "alias": "info"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; }, { "clearButtonClicked": "clearButtonClicked"; }, ["monthInput", "dateInput", "regularInput"], ["*"], true, never>;
|
|
219
306
|
}
|
|
220
307
|
|
|
221
308
|
declare enum FormFieldElement {
|
|
@@ -247,6 +334,33 @@ declare class InputIconComponent {
|
|
|
247
334
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<InputIconComponent, "ndw-input-icon", never, {}, {}, never, ["*"], true, never>;
|
|
248
335
|
}
|
|
249
336
|
|
|
337
|
+
declare class MarkdownEditorComponent implements ControlValueAccessor {
|
|
338
|
+
private readonly ngControl;
|
|
339
|
+
readonly uuid: _angular_core.InputSignal<`${string}-${string}-${string}-${string}-${string}`>;
|
|
340
|
+
readonly value: _angular_core.ModelSignal<string>;
|
|
341
|
+
readonly disabled: _angular_core.ModelSignal<boolean>;
|
|
342
|
+
readonly error: _angular_core.InputSignal<boolean>;
|
|
343
|
+
readonly readonly: _angular_core.InputSignal<boolean>;
|
|
344
|
+
readonly success: _angular_core.InputSignal<boolean>;
|
|
345
|
+
readonly required: _angular_core.InputSignal<boolean>;
|
|
346
|
+
readonly toolbar: _angular_core.InputSignal<string[]>;
|
|
347
|
+
readonly bold: _angular_core.Signal<boolean>;
|
|
348
|
+
readonly header: _angular_core.Signal<boolean>;
|
|
349
|
+
readonly italic: _angular_core.Signal<boolean>;
|
|
350
|
+
readonly quote: _angular_core.Signal<boolean>;
|
|
351
|
+
readonly unorderedList: _angular_core.Signal<boolean>;
|
|
352
|
+
readonly orderedList: _angular_core.Signal<boolean>;
|
|
353
|
+
readonly taskList: _angular_core.Signal<boolean>;
|
|
354
|
+
get isRequiredOrHasRequiredValidator(): boolean | null;
|
|
355
|
+
constructor();
|
|
356
|
+
writeValue(value: string): void;
|
|
357
|
+
registerOnChange(fn: (value: string | null | undefined) => void): void;
|
|
358
|
+
registerOnTouched(): void;
|
|
359
|
+
setDisabledState?(isDisabled: boolean): void;
|
|
360
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MarkdownEditorComponent, never>;
|
|
361
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MarkdownEditorComponent, "ndw-markdown-editor", never, { "uuid": { "alias": "uuid"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "success": { "alias": "success"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "toolbar": { "alias": "toolbar"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "disabled": "disabledChange"; }, never, never, true, never>;
|
|
362
|
+
}
|
|
363
|
+
|
|
250
364
|
type OptionGroupMode = 'single' | 'multiple';
|
|
251
365
|
|
|
252
366
|
declare class OptionComponent {
|
|
@@ -458,22 +572,9 @@ declare class AvatarComponent {
|
|
|
458
572
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AvatarComponent, "ndw-avatar", never, { "status": { "alias": "status"; "required": false; "isSignal": true; }; "initials": { "alias": "initials"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
459
573
|
}
|
|
460
574
|
|
|
461
|
-
declare class BadgeComponent {
|
|
462
|
-
/**
|
|
463
|
-
* The value of the badge
|
|
464
|
-
*/
|
|
465
|
-
value: _angular_core.InputSignal<number | undefined>;
|
|
466
|
-
/**
|
|
467
|
-
* The aria label, used by screen readers to give context.
|
|
468
|
-
*/
|
|
469
|
-
ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
470
|
-
/**
|
|
471
|
-
* When true, the badge will display values above 99.
|
|
472
|
-
* When false (default), the badge will display values above 99 as a dot
|
|
473
|
-
*/
|
|
474
|
-
displayLargeNumbers: _angular_core.InputSignal<boolean>;
|
|
575
|
+
declare class BadgeComponent extends CoreBadgeComponent {
|
|
475
576
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BadgeComponent, never>;
|
|
476
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BadgeComponent, "ndw-badge", never, {
|
|
577
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BadgeComponent, "ndw-badge", never, {}, {}, never, never, true, never>;
|
|
477
578
|
}
|
|
478
579
|
|
|
479
580
|
type BannerType = 'critical' | 'info' | 'info-grey' | 'warning' | 'positive';
|
|
@@ -595,33 +696,6 @@ declare class DashboardCardComponent {
|
|
|
595
696
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DashboardCardComponent, "ndw-dashboard-card", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "imgSource": { "alias": "imgSource"; "required": true; "isSignal": true; }; "link": { "alias": "link"; "required": true; "isSignal": true; }; "linkTarget": { "alias": "linkTarget"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
596
697
|
}
|
|
597
698
|
|
|
598
|
-
type PopoverPosition = 'nextToTriggerButton' | 'overTriggerButton';
|
|
599
|
-
declare class PopoverTriggerDirective implements OnDestroy {
|
|
600
|
-
popoverToggled: EventEmitter<boolean>;
|
|
601
|
-
popoverPosition: _angular_core.InputSignal<PopoverPosition>;
|
|
602
|
-
popoverContent: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
603
|
-
toggleOnClick: _angular_core.InputSignal<boolean>;
|
|
604
|
-
isOpen: _angular_core.ModelSignal<boolean>;
|
|
605
|
-
toggle(): void;
|
|
606
|
-
private destroyRef;
|
|
607
|
-
private elementRef;
|
|
608
|
-
private overlay;
|
|
609
|
-
private viewContainerRef;
|
|
610
|
-
private focusTrapFactory;
|
|
611
|
-
private overlayRef?;
|
|
612
|
-
ngOnDestroy(): void;
|
|
613
|
-
togglePopover(): void;
|
|
614
|
-
private open;
|
|
615
|
-
private trapFocus;
|
|
616
|
-
private closeOverlayOnEscapeKey;
|
|
617
|
-
private nodeOrParentsHaveAttribute;
|
|
618
|
-
private closeOverlayOnBackdropClick;
|
|
619
|
-
private close;
|
|
620
|
-
private getPopoverPosition;
|
|
621
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PopoverTriggerDirective, never>;
|
|
622
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<PopoverTriggerDirective, "[ndwPopoverTrigger]", ["ndwPopoverTrigger"], { "popoverPosition": { "alias": "popoverPosition"; "required": false; "isSignal": true; }; "popoverContent": { "alias": "ndwPopoverTrigger"; "required": true; "isSignal": true; }; "toggleOnClick": { "alias": "toggleOnClick"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; }, { "popoverToggled": "popoverToggled"; "isOpen": "isOpenChange"; }, never, never, true, never>;
|
|
623
|
-
}
|
|
624
|
-
|
|
625
699
|
declare class DropdownComponent {
|
|
626
700
|
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
627
701
|
readonly chevron: _angular_core.InputSignal<boolean>;
|
|
@@ -772,7 +846,7 @@ declare class LoaderComponent {
|
|
|
772
846
|
|
|
773
847
|
declare class MapButtonComponent {
|
|
774
848
|
#private;
|
|
775
|
-
readonly icon: _angular_core.InputSignal<"search" | "direction" | "gps" | "high-res" | "layers" | "
|
|
849
|
+
readonly icon: _angular_core.InputSignal<"search" | "polygon" | "direction" | "gps" | "high-res" | "layers" | "zoom-in" | "zoom-out" | "add-traffic-sign" | "add-zone" | "download" | "hectometer" | "low-res" | "zoom-to-content">;
|
|
776
850
|
readonly active: _angular_core.InputSignal<boolean>;
|
|
777
851
|
readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
778
852
|
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
@@ -992,6 +1066,7 @@ declare class MultiSelectComponent {
|
|
|
992
1066
|
protected readonly lastCheckedElementId: _angular_core.ModelSignal<string | number | null | undefined>;
|
|
993
1067
|
protected readonly searchInputValue: _angular_core.ModelSignal<string>;
|
|
994
1068
|
protected readonly isOpen: _angular_core.WritableSignal<boolean>;
|
|
1069
|
+
protected readonly viewItems: _angular_core.Signal<CheckboxData[]>;
|
|
995
1070
|
readonly selectAmount: _angular_core.Signal<number>;
|
|
996
1071
|
readonly noSearchResults: _angular_core.Signal<boolean>;
|
|
997
1072
|
filterSearch(value: string): boolean;
|
|
@@ -1168,25 +1243,41 @@ declare class TabComponent implements OnInit {
|
|
|
1168
1243
|
get content(): TemplatePortal | null;
|
|
1169
1244
|
title: _angular_core.InputSignal<string>;
|
|
1170
1245
|
disabled: _angular_core.InputSignal<boolean>;
|
|
1246
|
+
hasError: _angular_core.InputSignal<boolean>;
|
|
1171
1247
|
active: boolean;
|
|
1172
1248
|
id: _angular_core.InputSignal<string | number>;
|
|
1173
1249
|
ngOnInit(): void;
|
|
1174
1250
|
getNativeElement(): HTMLElement;
|
|
1175
1251
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TabComponent, never>;
|
|
1176
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabComponent, "ndw-tab", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
1252
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabComponent, "ndw-tab", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "hasError": { "alias": "hasError"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
1177
1253
|
}
|
|
1178
1254
|
|
|
1179
|
-
declare class TabGroupComponent {
|
|
1255
|
+
declare class TabGroupComponent implements OnDestroy {
|
|
1256
|
+
private readonly _injector;
|
|
1257
|
+
private readonly _destroyRef;
|
|
1180
1258
|
private readonly _tabs;
|
|
1181
1259
|
private readonly _tabButtons;
|
|
1182
|
-
|
|
1260
|
+
private readonly _tabGroupContainer;
|
|
1183
1261
|
hasPadding: _angular_core.InputSignal<boolean>;
|
|
1184
1262
|
activeTabId: _angular_core.ModelSignal<string | number | undefined>;
|
|
1185
1263
|
inlinePadding: _angular_core.InputSignal<number>;
|
|
1264
|
+
private readonly _scrollLeft;
|
|
1265
|
+
private readonly _scrollWidth;
|
|
1266
|
+
private readonly _clientWidth;
|
|
1267
|
+
tabs: _angular_core.Signal<TabComponent[]>;
|
|
1268
|
+
canScrollLeft: _angular_core.Signal<boolean>;
|
|
1269
|
+
canScrollRight: _angular_core.Signal<boolean>;
|
|
1270
|
+
private _resizeObserver?;
|
|
1186
1271
|
constructor();
|
|
1272
|
+
ngOnDestroy(): void;
|
|
1273
|
+
private _setupScrollDetection;
|
|
1274
|
+
private _updateScrollState;
|
|
1275
|
+
scrollTo(direction: 'left' | 'right'): void;
|
|
1187
1276
|
selectTab(index: number): void;
|
|
1188
1277
|
onKeyDown(event: KeyboardEvent): void;
|
|
1189
1278
|
private getNextEnabledIndex;
|
|
1279
|
+
private getFirstEnabledIndex;
|
|
1280
|
+
private getLastEnabledIndex;
|
|
1190
1281
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TabGroupComponent, never>;
|
|
1191
1282
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabGroupComponent, "ndw-tab-group", never, { "hasPadding": { "alias": "hasPadding"; "required": false; "isSignal": true; }; "activeTabId": { "alias": "activeTabId"; "required": false; "isSignal": true; }; "inlinePadding": { "alias": "inlinePadding"; "required": false; "isSignal": true; }; }, { "activeTabId": "activeTabIdChange"; }, ["_tabs"], never, true, never>;
|
|
1192
1283
|
}
|
|
@@ -1284,5 +1375,5 @@ declare class TooltipDirective implements OnChanges, OnDestroy, OnInit {
|
|
|
1284
1375
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TooltipDirective, "[ndwTooltip]", never, { "text": { "alias": "ndwTooltip"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1285
1376
|
}
|
|
1286
1377
|
|
|
1287
|
-
export { AccordionComponent, AccordionService, AlertComponent, AutoGrowDirective, AutosuggestAddOptionComponent, AutosuggestDirective, AutosuggestOptionComponent, AutosuggestPanelComponent, AvatarComponent, BadgeComponent, BannerComponent, BreadcrumbComponent, BreadcrumbGroupComponent, ButtonDirective, CARD_COMPONENTS, CARD_ID_TOKEN, CardComponent, CardContentComponent, CardFooterComponent, CardHeaderComponent, CheckboxComponent, CheckboxGroupComponent, CollapsibleComponent, DEFAULT_BACKGROUNDS, DashboardCardComponent, DatepickerComponent, DropdownComponent, EditBarActionsComponent, EditBarComponent, EditBarMessageComponent, ErrorComponent, FavoriteComponent, FileUploadComponent, FormFieldComponent, FormFieldElement, HoverableListItemComponent, IconComponent, InfoComponent, InputButtonComponent, InputDirective, InputIconComponent, KeyValueListComponent, LayoutBannersComponent, LayoutComponent, ListComponent, ListItemComponent, LoaderComponent, MAP_BACKGROUNDS, MAP_BACKGROUND_IMAGES, MAP_LAYERS, MAP_LAYER_IMAGES, MODAL_COMPONENTS, MainNavigationComponent, MapButtonComponent, MapDisplayComponent, MapDisplayOptionComponent, MapLegendComponent, MaxCharDirective, ModalComponent, ModalContentComponent, ModalFooterComponent, ModalHeaderComponent, ModalService, MonthInputComponent, MultiSelectComponent, OptionComponent, OptionGroupComponent, PillComponent, PopoverTriggerDirective, RadioButtonComponent, RadioGroupComponent, RouterBreadcrumbsComponent, SplitterComponent, SummaryCardActionComponent, SummaryCardActionsComponent, SummaryCardComponent, SummaryCardContentComponent, SummaryCardHeaderComponent, SummaryCardSubtitleComponent, SummaryCardTagComponent, SummaryCardTagsComponent, SwitcherComponent, TabComponent, TabGroupComponent, TagComponent, ToastComponent, ToastService, TooltipComponent, TooltipDirective, fontMapButtonIcons, mapButtonIcons, ndwAgGridTheme, svgMapButtonIcons };
|
|
1288
|
-
export type { AlertType, AvatarColor, AvatarStatus, BannerType, BaseMapLegendOption, CheckType, CheckboxData, CircleMapLegendOption, DisplayOptionDirection, DisplayOptionType, EditBarPosition, EditBarWidth, Environment, FileUploadText, HoverableListItemAction, IconMapLegendOption, ImageMapLegendOption, LineMapLegendOption, MapBackgroundOption, MapBackgrounds, MapButtonIcon, MapDisplayOption, MapLegendOption, MapLegendOptionGroup, MapLegendOptionType, MapLegendViewMode, MenuItem, ModalSize, OptionGroupMode, PolygonMapLegendOption, PopoverPosition, SelectAllText, SubMenuItem, SummaryActionsView, SwitcherOption, Theme, ToastDimensions };
|
|
1378
|
+
export { AccordionComponent, AccordionService, AlertComponent, AutoGrowDirective, AutosuggestAddOptionComponent, AutosuggestDirective, AutosuggestOptionComponent, AutosuggestPanelComponent, AvatarComponent, BadgeComponent, BannerComponent, BreadcrumbComponent, BreadcrumbGroupComponent, ButtonDirective, CARD_COMPONENTS, CARD_ID_TOKEN, CalendarComponent, CardComponent, CardContentComponent, CardFooterComponent, CardHeaderComponent, CheckboxComponent, CheckboxGroupComponent, CollapsibleComponent, DEFAULT_BACKGROUNDS, DashboardCardComponent, DatepickerComponent, DropdownComponent, EditBarActionsComponent, EditBarComponent, EditBarMessageComponent, ErrorComponent, FavoriteComponent, FileUploadComponent, FormFieldComponent, FormFieldElement, HoverableListItemComponent, IconComponent, InfoComponent, InputButtonComponent, InputDirective, InputIconComponent, KeyValueListComponent, LayoutBannersComponent, LayoutComponent, ListComponent, ListItemComponent, LoaderComponent, MAP_BACKGROUNDS, MAP_BACKGROUND_IMAGES, MAP_LAYERS, MAP_LAYER_IMAGES, MODAL_COMPONENTS, MainNavigationComponent, MapButtonComponent, MapDisplayComponent, MapDisplayOptionComponent, MapLegendComponent, MarkdownEditorComponent, MaxCharDirective, ModalComponent, ModalContentComponent, ModalFooterComponent, ModalHeaderComponent, ModalService, MonthInputComponent, MultiSelectComponent, OptionComponent, OptionGroupComponent, PillComponent, PopoverTriggerDirective, RadioButtonComponent, RadioGroupComponent, RouterBreadcrumbsComponent, SplitterComponent, SummaryCardActionComponent, SummaryCardActionsComponent, SummaryCardComponent, SummaryCardContentComponent, SummaryCardHeaderComponent, SummaryCardSubtitleComponent, SummaryCardTagComponent, SummaryCardTagsComponent, SwitcherComponent, TabComponent, TabGroupComponent, TagComponent, ToastComponent, ToastService, TooltipComponent, TooltipDirective, fontMapButtonIcons, mapButtonIcons, ndwAgGridTheme, svgMapButtonIcons };
|
|
1379
|
+
export type { AlertType, AvatarColor, AvatarStatus, BannerType, BaseMapLegendOption, CheckType, CheckboxData, CircleMapLegendOption, DatepickerMode, DisplayOptionDirection, DisplayOptionType, EditBarPosition, EditBarWidth, Environment, FileUploadText, HoverableListItemAction, IconMapLegendOption, ImageMapLegendOption, LineMapLegendOption, MapBackgroundOption, MapBackgrounds, MapButtonIcon, MapDisplayOption, MapLegendOption, MapLegendOptionGroup, MapLegendOptionType, MapLegendViewMode, MenuItem, ModalSize, OptionGroupMode, PolygonMapLegendOption, PopoverPosition, SelectAllText, SubMenuItem, SummaryActionsView, SwitcherOption, Theme, ToastDimensions };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ndwnu/design-system",
|
|
3
|
-
"version": "12.
|
|
3
|
+
"version": "12.2.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/animations": "^20.0.0",
|
|
6
6
|
"@angular/cdk": "^20.0.0",
|
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
"@angular/forms": "^20.0.0",
|
|
10
10
|
"@angular/material": "^20.0.0",
|
|
11
11
|
"@angular/router": "^20.0.0",
|
|
12
|
-
"@ndwnu/core": "2.
|
|
12
|
+
"@ndwnu/core": "2.1.0",
|
|
13
|
+
"@github/markdown-toolbar-element": "2.2.3",
|
|
13
14
|
"ag-grid-angular": "^34.0.2",
|
|
14
15
|
"ag-grid-community": "^34.0.2",
|
|
15
16
|
"rxjs": "^7.8.0"
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
@use '@angular/material' as mat;
|
|
2
|
+
|
|
3
|
+
html {
|
|
4
|
+
@include mat.theme(
|
|
5
|
+
(
|
|
6
|
+
color: mat.$orange-palette,
|
|
7
|
+
typography: (
|
|
8
|
+
plain-family: var(--ndw-font-family-body),
|
|
9
|
+
brand-family: var(--ndw-font-family-heading),
|
|
10
|
+
bold-weight: var(--ndw-font-weight-bold),
|
|
11
|
+
medium-weight: var(--ndw-font-weight-bold),
|
|
12
|
+
regular-weight: var(--ndw-font-weight-regular),
|
|
13
|
+
),
|
|
14
|
+
density: 0,
|
|
15
|
+
)
|
|
16
|
+
);
|
|
17
|
+
}
|
package/styles/base/index.scss
CHANGED
|
@@ -3,41 +3,88 @@
|
|
|
3
3
|
:root {
|
|
4
4
|
@include mat.datepicker-overrides(
|
|
5
5
|
(
|
|
6
|
-
|
|
7
|
-
calendar-
|
|
6
|
+
toggle-icon-color: var(--ndw-color-primary),
|
|
7
|
+
calendar-container-background-color: var(--ndw-color-grey-100),
|
|
8
|
+
calendar-container-elevation-shadow: var(--ndw-elevation-content),
|
|
9
|
+
calendar-container-shape: var(--ndw-border-radius-md),
|
|
8
10
|
calendar-text-font: var(--ndw-font-family-body),
|
|
9
11
|
calendar-text-size: var(--ndw-font-size-sm),
|
|
10
|
-
|
|
12
|
+
calendar-header-text-size: var(--ndw-font-size-sm),
|
|
13
|
+
calendar-body-label-text-size: var(--ndw-font-size-sm),
|
|
14
|
+
calendar-period-button-text-size: var(--ndw-font-size-sm),
|
|
15
|
+
calendar-date-text-color: var(--ndw-color-text),
|
|
16
|
+
calendar-date-today-outline-color: var(--ndw-color-secondary-200),
|
|
17
|
+
calendar-date-selected-state-background-color: var(--ndw-color-secondary-400),
|
|
18
|
+
calendar-date-today-selected-state-outline-color: var(--ndw-color-secondary-400),
|
|
19
|
+
calendar-date-preview-state-outline-color: var(--ndw-color-secondary-300),
|
|
20
|
+
calendar-date-hover-state-background-color: var(--ndw-color-secondary-300),
|
|
21
|
+
calendar-date-focus-state-background-color: var(--ndw-color-secondary-300),
|
|
11
22
|
)
|
|
12
23
|
);
|
|
13
24
|
|
|
14
|
-
mat-calendar
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
25
|
+
mat-calendar {
|
|
26
|
+
--range-preview-border: var(--ndw-border-size-sm) dashed var(--ndw-color-secondary-300);
|
|
27
|
+
|
|
28
|
+
.ndw-date-selected > :first-child {
|
|
29
|
+
background-color: var(--ndw-color-secondary-400) !important;
|
|
30
|
+
color: var(--ndw-color-white) !important;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.ndw-date-range-start {
|
|
34
|
+
background-color: var(--ndw-color-secondary-200);
|
|
35
|
+
border-top-left-radius: 50%;
|
|
36
|
+
border-bottom-left-radius: 50%;
|
|
37
|
+
}
|
|
18
38
|
|
|
19
|
-
|
|
20
|
-
|
|
39
|
+
.ndw-date-range-end {
|
|
40
|
+
background-color: var(--ndw-color-secondary-200);
|
|
41
|
+
border-top-right-radius: 50%;
|
|
42
|
+
border-bottom-right-radius: 50%;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.ndw-date-in-range {
|
|
46
|
+
background-color: var(--ndw-color-secondary-200);
|
|
47
|
+
}
|
|
21
48
|
|
|
22
|
-
|
|
23
|
-
background: var(--ndw-color-
|
|
49
|
+
.ndw-date-range-start-preview {
|
|
50
|
+
background-color: var(--ndw-color-secondary-100);
|
|
51
|
+
border-top-left-radius: 50%;
|
|
52
|
+
border-bottom-left-radius: 50%;
|
|
24
53
|
}
|
|
25
54
|
|
|
26
|
-
|
|
27
|
-
background: var(--ndw-color-
|
|
55
|
+
.ndw-date-range-end-preview {
|
|
56
|
+
background-color: var(--ndw-color-secondary-100);
|
|
57
|
+
border-top-right-radius: 50%;
|
|
58
|
+
border-bottom-right-radius: 50%;
|
|
28
59
|
}
|
|
29
60
|
|
|
30
|
-
|
|
31
|
-
background: var(--ndw-color-secondary-
|
|
32
|
-
|
|
33
|
-
|
|
61
|
+
.ndw-date-in-range-preview {
|
|
62
|
+
background-color: var(--ndw-color-secondary-100);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// Add a dot below dates with the ndw-date-indicator class
|
|
66
|
+
.ndw-date-indicator > :first-child {
|
|
67
|
+
&::after {
|
|
68
|
+
content: '';
|
|
69
|
+
background: var(--ndw-color-primary);
|
|
70
|
+
position: absolute;
|
|
71
|
+
bottom: 2px;
|
|
72
|
+
left: calc(50% - 4px);
|
|
73
|
+
width: 8px;
|
|
74
|
+
height: 8px;
|
|
75
|
+
box-sizing: border-box;
|
|
76
|
+
border-radius: 4px;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
34
79
|
|
|
35
|
-
|
|
36
|
-
|
|
80
|
+
// Disable the month view when in 'month' mode
|
|
81
|
+
&.month-picker {
|
|
82
|
+
.mat-calendar-period-button {
|
|
83
|
+
pointer-events: none;
|
|
37
84
|
}
|
|
38
85
|
|
|
39
|
-
|
|
40
|
-
|
|
86
|
+
.mat-calendar-arrow {
|
|
87
|
+
display: none;
|
|
41
88
|
}
|
|
42
89
|
}
|
|
43
90
|
}
|
|
@@ -90,17 +90,17 @@
|
|
|
90
90
|
outline-width: 1px;
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
-
.input-container:has(
|
|
93
|
+
.input-container:has([ndwInput][error]) {
|
|
94
94
|
background-color: var(--ndw-color-critical-100);
|
|
95
95
|
border-color: var(--ndw-color-critical-500);
|
|
96
96
|
}
|
|
97
97
|
|
|
98
98
|
// Add input container right padding when select element is used
|
|
99
|
-
.input-container:has(
|
|
99
|
+
.input-container:has(select[ndwInput]) {
|
|
100
100
|
padding-inline-end: var(--ndw-spacing-xs);
|
|
101
101
|
}
|
|
102
102
|
|
|
103
|
-
.input-container[error]:has(
|
|
103
|
+
.input-container[error]:has([ndwInput]:is(:active, :focus, :focus-visible)) {
|
|
104
104
|
background-color: var(--ndw-color-white);
|
|
105
105
|
select[ndwInput] {
|
|
106
106
|
background-color: var(--ndw-color-white);
|
|
@@ -109,9 +109,11 @@
|
|
|
109
109
|
|
|
110
110
|
// When an ndwInput is contained in an input-container hide the
|
|
111
111
|
// ndwInput borders and instead put the borders on the container.
|
|
112
|
-
.input-container:has(
|
|
112
|
+
.input-container:has([ndwInput]) {
|
|
113
113
|
@include shared-style();
|
|
114
114
|
|
|
115
|
+
gap: var(--ndw-spacing-xs);
|
|
116
|
+
|
|
115
117
|
// When input has a ndw-input-icon enable the inline padding
|
|
116
118
|
&:has(> ndw-input-icon) {
|
|
117
119
|
padding-inline: var(--ndw-spacing-xs);
|
|
@@ -120,8 +122,6 @@
|
|
|
120
122
|
padding-inline-end: var(--ndw-spacing-xs);
|
|
121
123
|
}
|
|
122
124
|
|
|
123
|
-
gap: var(--ndw-spacing-xs);
|
|
124
|
-
|
|
125
125
|
// Any elements before the input have a lighter grey color
|
|
126
126
|
> *:has(~ [ndwInput]) {
|
|
127
127
|
color: var(--ndw-color-grey-400);
|
package/styles/layout/_grid.scss
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
@use '../base/variables' as *;
|
|
2
2
|
|
|
3
|
+
$breakpoints: (
|
|
4
|
+
2xs: $ndw-screen-2xs,
|
|
5
|
+
xs: $ndw-screen-xs,
|
|
6
|
+
sm: $ndw-screen-sm,
|
|
7
|
+
md: $ndw-screen-md,
|
|
8
|
+
);
|
|
9
|
+
|
|
3
10
|
@mixin column($span) {
|
|
4
11
|
grid-column: span $span;
|
|
5
12
|
}
|
|
@@ -99,3 +106,60 @@
|
|
|
99
106
|
}
|
|
100
107
|
}
|
|
101
108
|
}
|
|
109
|
+
|
|
110
|
+
.ndw-c-grid {
|
|
111
|
+
display: flex;
|
|
112
|
+
flex-wrap: wrap;
|
|
113
|
+
container-type: inline-size;
|
|
114
|
+
container-name: ndw-c-grid;
|
|
115
|
+
|
|
116
|
+
@mixin ndw-c-col-span($size, $important: false) {
|
|
117
|
+
$flag: if($important, '!important', '');
|
|
118
|
+
flex: 0 0 calc((100% / 12) * #{$size}) #{$flag};
|
|
119
|
+
max-width: calc((100% / 12) * #{$size}) #{$flag};
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
@mixin ndw-c-breakpoint($name, $min-width) {
|
|
123
|
+
@container ndw-c-grid (min-width: #{$min-width}) {
|
|
124
|
+
@content;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
@for $i from 1 through 12 {
|
|
129
|
+
.ndw-c-col-#{$i} {
|
|
130
|
+
@include ndw-c-col-span($i, false);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
@each $name, $width in $breakpoints {
|
|
135
|
+
@include ndw-c-breakpoint($name, $width) {
|
|
136
|
+
@for $i from 1 through 12 {
|
|
137
|
+
.ndw-c-col-#{$name}-#{$i} {
|
|
138
|
+
@include ndw-c-col-span($i, true);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
$order-range: 0 1 2 3 4 5;
|
|
145
|
+
|
|
146
|
+
@each $i in $order-range {
|
|
147
|
+
.ndw-c-order-#{$i} {
|
|
148
|
+
order: $i !important;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
@each $name, $width in $breakpoints {
|
|
153
|
+
@container ndw-c-grid (min-width: #{$width}) {
|
|
154
|
+
@each $i in $order-range {
|
|
155
|
+
.ndw-c-order-#{$name}-#{$i} {
|
|
156
|
+
order: $i !important;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.ndw-c-col {
|
|
164
|
+
flex: 1 1 100%;
|
|
165
|
+
}
|