@awc-ui/angular 1.0.0-beta.9 → 1.0.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/README.md +40 -22
- package/awc-ui.module.d.ts +15 -14
- package/directives/boolean-value-accessor.d.ts +1 -1
- package/directives/index.d.ts +1 -1
- package/directives/multi-select-value-accessor.d.ts +10 -0
- package/directives/number-value-accessor.d.ts +1 -1
- package/directives/proxies.d.ts +4 -4
- package/directives/radio-value-accessor.d.ts +36 -5
- package/directives/select-value-accessor.d.ts +2 -2
- package/directives/switch-value-accessor.d.ts +1 -1
- package/directives/text-value-accessor.d.ts +1 -1
- package/esm2022/awc-ui.module.mjs +8 -5
- package/esm2022/directives/multi-select-value-accessor.mjs +23 -0
- package/esm2022/directives/proxies.mjs +17 -16
- package/esm2022/directives/radio-value-accessor.mjs +94 -24
- package/esm2022/directives/select-value-accessor.mjs +3 -3
- package/esm2022/index.mjs +2 -1
- package/fesm2022/awc-ui-angular.mjs +138 -46
- package/fesm2022/awc-ui-angular.mjs.map +1 -1
- package/index.d.ts +12 -11
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -1,43 +1,61 @@
|
|
|
1
1
|
# Angular Web Components and Angular SSR — @awc-ui/angular
|
|
2
2
|
|
|
3
|
-
Angular 17+
|
|
3
|
+
Angular 17+ integration for AWC UI.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
`@awc-ui/angular` provides standalone component proxies and Angular form value
|
|
6
|
+
accessors. Imports register their custom elements automatically.
|
|
6
7
|
|
|
7
8
|
```bash
|
|
8
9
|
npm install @awc-ui/angular @awc-ui/core
|
|
9
10
|
```
|
|
10
11
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
## Usage
|
|
12
|
+
Load the theme once in your application entry:
|
|
14
13
|
|
|
15
14
|
```ts
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
import '@awc-ui/core/css/tokens.css';
|
|
16
|
+
```
|
|
18
17
|
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
For a standalone component, import the controls and accessors into its template
|
|
19
|
+
scope, alongside Angular's forms module:
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
import { Component } from '@angular/core';
|
|
23
|
+
import { FormsModule } from '@angular/forms';
|
|
24
|
+
import { MdButton, MdTextField, TextValueAccessor } from '@awc-ui/angular';
|
|
25
|
+
|
|
26
|
+
@Component({
|
|
27
|
+
selector: 'app-root',
|
|
28
|
+
standalone: true,
|
|
29
|
+
imports: [FormsModule, MdButton, MdTextField, TextValueAccessor],
|
|
30
|
+
template: `
|
|
31
|
+
<md-text-field label="Email" type="email" [(ngModel)]="email"></md-text-field>
|
|
32
|
+
<md-button variant="filled">Continue</md-button>
|
|
33
|
+
`,
|
|
21
34
|
})
|
|
22
|
-
export class
|
|
35
|
+
export class AppComponent {
|
|
36
|
+
email = '';
|
|
37
|
+
}
|
|
23
38
|
```
|
|
24
39
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
import { AwcUiModule, provideAwcUi } from "@awc-ui/angular";
|
|
40
|
+
For convenience, `imports: [FormsModule, AwcUiModule]` supplies every component
|
|
41
|
+
and accessor. Use `ReactiveFormsModule` for `formControl` and `formControlName`.
|
|
42
|
+
NgModule applications also put `AwcUiModule` in `imports`.
|
|
29
43
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
44
|
+
`importProvidersFrom(AwcUiModule)` does not add directives to a standalone
|
|
45
|
+
component's template scope. `provideAwcUi()` is only needed for applications
|
|
46
|
+
using the lazy loader with raw tags; imported proxies already register themselves.
|
|
47
|
+
|
|
48
|
+
Radio controls bind the selected option's `value`, preserving each radio's
|
|
49
|
+
identity. Import both `MdRadio` and `RadioValueAccessor` for individual imports:
|
|
34
50
|
|
|
35
51
|
```html
|
|
36
|
-
<md-
|
|
52
|
+
<md-radio name="plan" value="basic" [(ngModel)]="plan">Basic</md-radio>
|
|
53
|
+
<md-radio name="plan" value="pro" [(ngModel)]="plan">Pro</md-radio>
|
|
37
54
|
```
|
|
38
55
|
|
|
39
|
-
|
|
56
|
+
Initialize `plan` to `'basic'` or `'pro'`; resetting the form to `null` clears the
|
|
57
|
+
selection. Multi-select accessors normalize a form reset to an empty array.
|
|
40
58
|
|
|
41
|
-
|
|
59
|
+
## Server rendering
|
|
42
60
|
|
|
43
|
-
|
|
61
|
+
See the [Angular SSR guide](https://awc-ui.dev/frameworks/angular/) for the shared hydration lifecycle and reference application.
|
package/awc-ui.module.d.ts
CHANGED
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
import { Provider } from '@angular/core';
|
|
2
|
-
import { TextValueAccessor } from './directives/text-value-accessor';
|
|
2
|
+
import { TextValueAccessor } from './directives/text-value-accessor.js';
|
|
3
|
+
import { RadioValueAccessor } from './directives/radio-value-accessor.js';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "./directives/proxies";
|
|
6
|
-
import * as i3 from "./directives/text-value-accessor";
|
|
7
|
-
import * as i4 from "./directives/select-value-accessor";
|
|
8
|
-
import * as i5 from "./directives/
|
|
9
|
-
import * as i6 from "./directives/
|
|
10
|
-
import * as i7 from "./directives/
|
|
11
|
-
import * as i8 from "./directives/
|
|
6
|
+
import * as i2 from "./directives/proxies.js";
|
|
7
|
+
import * as i3 from "./directives/text-value-accessor.js";
|
|
8
|
+
import * as i4 from "./directives/select-value-accessor.js";
|
|
9
|
+
import * as i5 from "./directives/multi-select-value-accessor.js";
|
|
10
|
+
import * as i6 from "./directives/boolean-value-accessor.js";
|
|
11
|
+
import * as i7 from "./directives/radio-value-accessor.js";
|
|
12
|
+
import * as i8 from "./directives/number-value-accessor.js";
|
|
13
|
+
import * as i9 from "./directives/switch-value-accessor.js";
|
|
12
14
|
/**
|
|
13
15
|
* ControlValueAccessor directives, so `[(ngModel)]` and `formControlName` bind
|
|
14
16
|
* to AWC UI inputs. Declared here rather than in `DIRECTIVES` because that
|
|
15
17
|
* array is GENERATED by the Stencil output target on every build and would
|
|
16
18
|
* discard anything added to it.
|
|
17
19
|
*/
|
|
18
|
-
export declare const VALUE_ACCESSORS: (typeof TextValueAccessor)[];
|
|
20
|
+
export declare const VALUE_ACCESSORS: (typeof TextValueAccessor | typeof RadioValueAccessor)[];
|
|
19
21
|
/**
|
|
20
22
|
* Registers ALL AWC UI custom elements (the Stencil lazy loader) during
|
|
21
23
|
* application bootstrap.
|
|
@@ -36,10 +38,9 @@ export declare const VALUE_ACCESSORS: (typeof TextValueAccessor)[];
|
|
|
36
38
|
* })
|
|
37
39
|
* export class AppModule {}
|
|
38
40
|
*
|
|
39
|
-
* //
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
* });
|
|
41
|
+
* // Raw custom elements without imported proxies:
|
|
42
|
+
* // AppComponent uses CUSTOM_ELEMENTS_SCHEMA; add the loader at bootstrap.
|
|
43
|
+
* bootstrapApplication(AppComponent, { providers: [provideAwcUi()] });
|
|
43
44
|
*
|
|
44
45
|
* SSR-safe: it is a no-op when `window` is not available.
|
|
45
46
|
*/
|
|
@@ -67,6 +68,6 @@ export declare function provideAwcUi(): Provider;
|
|
|
67
68
|
*/
|
|
68
69
|
export declare class AwcUiModule {
|
|
69
70
|
static ɵfac: i0.ɵɵFactoryDeclaration<AwcUiModule, never>;
|
|
70
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<AwcUiModule, never, [typeof i1.CommonModule, typeof i2.MdAccordion, typeof i2.MdAccordionItem, typeof i2.MdAppBar, typeof i2.MdAreaChart, typeof i2.MdAutocomplete, typeof i2.MdAvatar, typeof i2.MdBadge, typeof i2.MdBarChart, typeof i2.MdBottomSheet, typeof i2.MdBreadcrumbItem, typeof i2.MdBreadcrumbs, typeof i2.MdButton, typeof i2.MdButtonGroup, typeof i2.MdCard, typeof i2.MdCheckbox, typeof i2.MdChip, typeof i2.MdColorPicker, typeof i2.MdDatePicker, typeof i2.MdDialog, typeof i2.MdDivider, typeof i2.MdFab, typeof i2.MdFabMenu, typeof i2.MdFabMenuItem, typeof i2.MdIconButton, typeof i2.MdLineChart, typeof i2.MdList, typeof i2.MdListItem, typeof i2.MdLoadingIndicator, typeof i2.MdMenu, typeof i2.MdMenuItem, typeof i2.MdMenuItemGroup, typeof i2.MdMeter, typeof i2.MdMultiSelect, typeof i2.MdNavigationBar, typeof i2.MdNavigationRail, typeof i2.MdNavigationRailTab, typeof i2.MdNavigationTab, typeof i2.MdNumberField, typeof i2.MdOrganizationChart, typeof i2.MdOtpField, typeof i2.MdPieChart, typeof i2.MdProgressIndicator, typeof i2.MdRadio, typeof i2.MdRating, typeof i2.MdRipple, typeof i2.MdSearch, typeof i2.MdSegmentedButton, typeof i2.MdSegmentedButtonSet, typeof i2.MdSelect, typeof i2.MdSelectOption, typeof i2.MdSideSheet, typeof i2.MdSkeleton, typeof i2.MdSlider, typeof i2.MdSnackbar, typeof i2.MdSparkline, typeof i2.MdSplitButton, typeof i2.MdStatusDot, typeof i2.MdStep, typeof i2.MdStepper, typeof i2.MdSubMenuItem, typeof i2.MdSwitch, typeof i2.MdTab, typeof i2.MdTabPanel, typeof i2.MdTabPanels, typeof i2.MdTable, typeof i2.MdTableBody, typeof i2.MdTableCell, typeof i2.MdTableContainer, typeof i2.MdTableExpandToggle, typeof i2.MdTableFoot, typeof i2.MdTableHead, typeof i2.MdTablePagination, typeof i2.MdTableRow, typeof i2.MdTableSortLabel, typeof i2.MdTableToolbar, typeof i2.MdTabs, typeof i2.MdTextField, typeof i2.MdTimePicker, typeof i2.MdToolbar, typeof i2.MdTooltip, typeof i2.MdTransferList, typeof i3.TextValueAccessor, typeof i4.SelectValueAccessor, typeof i5.
|
|
71
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AwcUiModule, never, [typeof i1.CommonModule, typeof i2.MdAccordion, typeof i2.MdAccordionItem, typeof i2.MdAppBar, typeof i2.MdAreaChart, typeof i2.MdAutocomplete, typeof i2.MdAvatar, typeof i2.MdBadge, typeof i2.MdBarChart, typeof i2.MdBottomSheet, typeof i2.MdBreadcrumbItem, typeof i2.MdBreadcrumbs, typeof i2.MdButton, typeof i2.MdButtonGroup, typeof i2.MdCard, typeof i2.MdCheckbox, typeof i2.MdChip, typeof i2.MdColorPicker, typeof i2.MdDatePicker, typeof i2.MdDialog, typeof i2.MdDivider, typeof i2.MdFab, typeof i2.MdFabMenu, typeof i2.MdFabMenuItem, typeof i2.MdIconButton, typeof i2.MdLineChart, typeof i2.MdList, typeof i2.MdListItem, typeof i2.MdLoadingIndicator, typeof i2.MdMenu, typeof i2.MdMenuItem, typeof i2.MdMenuItemGroup, typeof i2.MdMeter, typeof i2.MdMultiSelect, typeof i2.MdNavigationBar, typeof i2.MdNavigationRail, typeof i2.MdNavigationRailTab, typeof i2.MdNavigationTab, typeof i2.MdNumberField, typeof i2.MdOrganizationChart, typeof i2.MdOtpField, typeof i2.MdPieChart, typeof i2.MdProgressIndicator, typeof i2.MdRadio, typeof i2.MdRating, typeof i2.MdRipple, typeof i2.MdSearch, typeof i2.MdSegmentedButton, typeof i2.MdSegmentedButtonSet, typeof i2.MdSelect, typeof i2.MdSelectOption, typeof i2.MdSideSheet, typeof i2.MdSkeleton, typeof i2.MdSlider, typeof i2.MdSnackbar, typeof i2.MdSparkline, typeof i2.MdSplitButton, typeof i2.MdStatusDot, typeof i2.MdStep, typeof i2.MdStepper, typeof i2.MdSubMenuItem, typeof i2.MdSwitch, typeof i2.MdTab, typeof i2.MdTabPanel, typeof i2.MdTabPanels, typeof i2.MdTable, typeof i2.MdTableBody, typeof i2.MdTableCell, typeof i2.MdTableContainer, typeof i2.MdTableExpandToggle, typeof i2.MdTableFoot, typeof i2.MdTableHead, typeof i2.MdTablePagination, typeof i2.MdTableRow, typeof i2.MdTableSortLabel, typeof i2.MdTableToolbar, typeof i2.MdTabs, typeof i2.MdTextField, typeof i2.MdTimePicker, typeof i2.MdToolbar, typeof i2.MdTooltip, typeof i2.MdTransferList, typeof i3.TextValueAccessor, typeof i4.SelectValueAccessor, typeof i5.MultiSelectValueAccessor, typeof i6.BooleanValueAccessor, typeof i7.RadioValueAccessor, typeof i8.NumericValueAccessor, typeof i9.SwitchValueAccessor], [typeof i2.MdAccordion, typeof i2.MdAccordionItem, typeof i2.MdAppBar, typeof i2.MdAreaChart, typeof i2.MdAutocomplete, typeof i2.MdAvatar, typeof i2.MdBadge, typeof i2.MdBarChart, typeof i2.MdBottomSheet, typeof i2.MdBreadcrumbItem, typeof i2.MdBreadcrumbs, typeof i2.MdButton, typeof i2.MdButtonGroup, typeof i2.MdCard, typeof i2.MdCheckbox, typeof i2.MdChip, typeof i2.MdColorPicker, typeof i2.MdDatePicker, typeof i2.MdDialog, typeof i2.MdDivider, typeof i2.MdFab, typeof i2.MdFabMenu, typeof i2.MdFabMenuItem, typeof i2.MdIconButton, typeof i2.MdLineChart, typeof i2.MdList, typeof i2.MdListItem, typeof i2.MdLoadingIndicator, typeof i2.MdMenu, typeof i2.MdMenuItem, typeof i2.MdMenuItemGroup, typeof i2.MdMeter, typeof i2.MdMultiSelect, typeof i2.MdNavigationBar, typeof i2.MdNavigationRail, typeof i2.MdNavigationRailTab, typeof i2.MdNavigationTab, typeof i2.MdNumberField, typeof i2.MdOrganizationChart, typeof i2.MdOtpField, typeof i2.MdPieChart, typeof i2.MdProgressIndicator, typeof i2.MdRadio, typeof i2.MdRating, typeof i2.MdRipple, typeof i2.MdSearch, typeof i2.MdSegmentedButton, typeof i2.MdSegmentedButtonSet, typeof i2.MdSelect, typeof i2.MdSelectOption, typeof i2.MdSideSheet, typeof i2.MdSkeleton, typeof i2.MdSlider, typeof i2.MdSnackbar, typeof i2.MdSparkline, typeof i2.MdSplitButton, typeof i2.MdStatusDot, typeof i2.MdStep, typeof i2.MdStepper, typeof i2.MdSubMenuItem, typeof i2.MdSwitch, typeof i2.MdTab, typeof i2.MdTabPanel, typeof i2.MdTabPanels, typeof i2.MdTable, typeof i2.MdTableBody, typeof i2.MdTableCell, typeof i2.MdTableContainer, typeof i2.MdTableExpandToggle, typeof i2.MdTableFoot, typeof i2.MdTableHead, typeof i2.MdTablePagination, typeof i2.MdTableRow, typeof i2.MdTableSortLabel, typeof i2.MdTableToolbar, typeof i2.MdTabs, typeof i2.MdTextField, typeof i2.MdTimePicker, typeof i2.MdToolbar, typeof i2.MdTooltip, typeof i2.MdTransferList, typeof i3.TextValueAccessor, typeof i4.SelectValueAccessor, typeof i5.MultiSelectValueAccessor, typeof i6.BooleanValueAccessor, typeof i7.RadioValueAccessor, typeof i8.NumericValueAccessor, typeof i9.SwitchValueAccessor]>;
|
|
71
72
|
static ɵinj: i0.ɵɵInjectorDeclaration<AwcUiModule>;
|
|
72
73
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ElementRef } from '@angular/core';
|
|
2
|
-
import { ValueAccessor } from './value-accessor';
|
|
2
|
+
import { ValueAccessor } from './value-accessor.js';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class BooleanValueAccessor extends ValueAccessor {
|
|
5
5
|
constructor(el: ElementRef);
|
package/directives/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import * as d from './proxies';
|
|
1
|
+
import * as d from './proxies.js';
|
|
2
2
|
export declare const DIRECTIVES: (typeof d.MdAccordion | typeof d.MdAccordionItem | typeof d.MdAppBar | typeof d.MdAreaChart | typeof d.MdAutocomplete | typeof d.MdAvatar | typeof d.MdBadge | typeof d.MdBarChart | typeof d.MdBottomSheet | typeof d.MdBreadcrumbItem | typeof d.MdBreadcrumbs | typeof d.MdButton | typeof d.MdButtonGroup | typeof d.MdCard | typeof d.MdCheckbox | typeof d.MdChip | typeof d.MdColorPicker | typeof d.MdDatePicker | typeof d.MdDialog | typeof d.MdDivider | typeof d.MdFab | typeof d.MdFabMenu | typeof d.MdFabMenuItem | typeof d.MdIconButton | typeof d.MdLineChart | typeof d.MdList | typeof d.MdListItem | typeof d.MdLoadingIndicator | typeof d.MdMenu | typeof d.MdMenuItem | typeof d.MdMenuItemGroup | typeof d.MdMeter | typeof d.MdMultiSelect | typeof d.MdNavigationBar | typeof d.MdNavigationRail | typeof d.MdNavigationRailTab | typeof d.MdNavigationTab | typeof d.MdNumberField | typeof d.MdOrganizationChart | typeof d.MdOtpField | typeof d.MdPieChart | typeof d.MdProgressIndicator | typeof d.MdRadio | typeof d.MdRating | typeof d.MdRipple | typeof d.MdSearch | typeof d.MdSegmentedButton | typeof d.MdSegmentedButtonSet | typeof d.MdSelect | typeof d.MdSelectOption | typeof d.MdSideSheet | typeof d.MdSkeleton | typeof d.MdSlider | typeof d.MdSnackbar | typeof d.MdSparkline | typeof d.MdSplitButton | typeof d.MdStatusDot | typeof d.MdStep | typeof d.MdStepper | typeof d.MdSubMenuItem | typeof d.MdSwitch | typeof d.MdTab | typeof d.MdTabPanel | typeof d.MdTabPanels | typeof d.MdTable | typeof d.MdTableBody | typeof d.MdTableCell | typeof d.MdTableContainer | typeof d.MdTableExpandToggle | typeof d.MdTableFoot | typeof d.MdTableHead | typeof d.MdTablePagination | typeof d.MdTableRow | typeof d.MdTableSortLabel | typeof d.MdTableToolbar | typeof d.MdTabs | typeof d.MdTextField | typeof d.MdTimePicker | typeof d.MdToolbar | typeof d.MdTooltip | typeof d.MdTransferList)[];
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ElementRef } from '@angular/core';
|
|
2
|
+
import { ValueAccessor } from './value-accessor.js';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/** Angular reset() writes null; a multi-select's empty value must remain an array. */
|
|
5
|
+
export declare class MultiSelectValueAccessor extends ValueAccessor {
|
|
6
|
+
constructor(el: ElementRef);
|
|
7
|
+
writeValue(value: string[] | null | undefined): void;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MultiSelectValueAccessor, never>;
|
|
9
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<MultiSelectValueAccessor, "md-multi-select", never, {}, {}, never, never, true, never>;
|
|
10
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ElementRef } from '@angular/core';
|
|
2
|
-
import { ValueAccessor } from './value-accessor';
|
|
2
|
+
import { ValueAccessor } from './value-accessor.js';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class NumericValueAccessor extends ValueAccessor {
|
|
5
5
|
constructor(el: ElementRef);
|
package/directives/proxies.d.ts
CHANGED
|
@@ -519,7 +519,7 @@ export declare class MdColorPicker {
|
|
|
519
519
|
protected el: HTMLElement;
|
|
520
520
|
constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
|
|
521
521
|
static ɵfac: i0.ɵɵFactoryDeclaration<MdColorPicker, never>;
|
|
522
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<MdColorPicker, "md-color-picker", never, { "alpha": { "alias": "alpha"; "required": false; }; "ariaLabelProp": { "alias": "ariaLabelProp"; "required": false; }; "density": { "alias": "density"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "dismissOnOutsideClick": { "alias": "dismissOnOutsideClick"; "required": false; }; "format": { "alias": "format"; "required": false; }; "open": { "alias": "open"; "required": false; }; "presets": { "alias": "presets"; "required": false; }; "showHex": { "alias": "showHex"; "required": false; }; "showInputs": { "alias": "showInputs"; "required": false; }; "value": { "alias": "value"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
522
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MdColorPicker, "md-color-picker", never, { "alpha": { "alias": "alpha"; "required": false; }; "ariaLabelProp": { "alias": "ariaLabelProp"; "required": false; }; "density": { "alias": "density"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "dismissOnOutsideClick": { "alias": "dismissOnOutsideClick"; "required": false; }; "format": { "alias": "format"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "open": { "alias": "open"; "required": false; }; "presets": { "alias": "presets"; "required": false; }; "showHex": { "alias": "showHex"; "required": false; }; "showInputs": { "alias": "showInputs"; "required": false; }; "value": { "alias": "value"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
523
523
|
}
|
|
524
524
|
export declare interface MdColorPicker extends Components.MdColorPicker {
|
|
525
525
|
/**
|
|
@@ -967,7 +967,7 @@ export declare class MdNavigationBar {
|
|
|
967
967
|
export declare interface MdNavigationBar extends Components.MdNavigationBar {
|
|
968
968
|
/**
|
|
969
969
|
* Emitted when the selected destination changes (user click,
|
|
970
|
-
keyboard activation, or programmatic `select()`
|
|
970
|
+
keyboard activation, or programmatic `activeIndex` / `select()` update).
|
|
971
971
|
Detail includes both the new and previous indices so listeners
|
|
972
972
|
can short-circuit no-op reselects.
|
|
973
973
|
*/
|
|
@@ -1810,7 +1810,7 @@ export declare class MdTableSortLabel {
|
|
|
1810
1810
|
protected el: HTMLElement;
|
|
1811
1811
|
constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
|
|
1812
1812
|
static ɵfac: i0.ɵɵFactoryDeclaration<MdTableSortLabel, never>;
|
|
1813
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<MdTableSortLabel, "md-table-sort-label", never, { "active": { "alias": "active"; "required": false; }; "column": { "alias": "column"; "required": false; }; "defaultOrder": { "alias": "defaultOrder"; "required": false; }; "density": { "alias": "density"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "iconPosition": { "alias": "iconPosition"; "required": false; }; "inactiveIcon": { "alias": "inactiveIcon"; "required": false; }; "order": { "alias": "order"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
1813
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MdTableSortLabel, "md-table-sort-label", never, { "active": { "alias": "active"; "required": false; }; "column": { "alias": "column"; "required": false; }; "defaultOrder": { "alias": "defaultOrder"; "required": false; }; "density": { "alias": "density"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "iconPosition": { "alias": "iconPosition"; "required": false; }; "inactiveIcon": { "alias": "inactiveIcon"; "required": false; }; "order": { "alias": "order"; "required": false; }; "sortedAscendingLabel": { "alias": "sortedAscendingLabel"; "required": false; }; "sortedDescendingLabel": { "alias": "sortedDescendingLabel"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
1814
1814
|
}
|
|
1815
1815
|
export declare interface MdTableSortLabel extends Components.MdTableSortLabel {
|
|
1816
1816
|
/**
|
|
@@ -1851,7 +1851,7 @@ export declare class MdTextField {
|
|
|
1851
1851
|
protected el: HTMLElement;
|
|
1852
1852
|
constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
|
|
1853
1853
|
static ɵfac: i0.ɵɵFactoryDeclaration<MdTextField, never>;
|
|
1854
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<MdTextField, "md-text-field", never, { "appearFocused": { "alias": "appearFocused"; "required": false; }; "autoCapitalize": { "alias": "autoCapitalize"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "chipsWrap": { "alias": "chipsWrap"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "debounce": { "alias": "debounce"; "required": false; }; "density": { "alias": "density"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "enterKeyHint": { "alias": "enterKeyHint"; "required": false; }; "error": { "alias": "error"; "required": false; }; "errorText": { "alias": "errorText"; "required": false; }; "focusBorderWidth": { "alias": "focusBorderWidth"; "required": false; }; "formatOn": { "alias": "formatOn"; "required": false; }; "formatter": { "alias": "formatter"; "required": false; }; "inputAriaAutocomplete": { "alias": "inputAriaAutocomplete"; "required": false; }; "inputExpanded": { "alias": "inputExpanded"; "required": false; }; "inputMode": { "alias": "inputMode"; "required": false; }; "inputRole": { "alias": "inputRole"; "required": false; }; "label": { "alias": "label"; "required": false; }; "max": { "alias": "max"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "min": { "alias": "min"; "required": false; }; "minLength": { "alias": "minLength"; "required": false; }; "multiline": { "alias": "multiline"; "required": false; }; "name": { "alias": "name"; "required": false; }; "parser": { "alias": "parser"; "required": false; }; "passwordToggle": { "alias": "passwordToggle"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "prefixText": { "alias": "prefixText"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; "required": { "alias": "required"; "required": false; }; "reserveSupportingSpace": { "alias": "reserveSupportingSpace"; "required": false; }; "restrict": { "alias": "restrict"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "speechLang": { "alias": "speechLang"; "required": false; }; "speechToText": { "alias": "speechToText"; "required": false; }; "spellcheck": { "alias": "spellcheck"; "required": false; }; "step": { "alias": "step"; "required": false; }; "suffixText": { "alias": "suffixText"; "required": false; }; "supportingText": { "alias": "supportingText"; "required": false; }; "throttle": { "alias": "throttle"; "required": false; }; "type": { "alias": "type"; "required": false; }; "value": { "alias": "value"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
1854
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MdTextField, "md-text-field", never, { "appearFocused": { "alias": "appearFocused"; "required": false; }; "autoCapitalize": { "alias": "autoCapitalize"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "chipsWrap": { "alias": "chipsWrap"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "debounce": { "alias": "debounce"; "required": false; }; "density": { "alias": "density"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "enterKeyHint": { "alias": "enterKeyHint"; "required": false; }; "error": { "alias": "error"; "required": false; }; "errorText": { "alias": "errorText"; "required": false; }; "focusBorderWidth": { "alias": "focusBorderWidth"; "required": false; }; "formatOn": { "alias": "formatOn"; "required": false; }; "formatter": { "alias": "formatter"; "required": false; }; "hidePasswordLabel": { "alias": "hidePasswordLabel"; "required": false; }; "inputAriaAutocomplete": { "alias": "inputAriaAutocomplete"; "required": false; }; "inputExpanded": { "alias": "inputExpanded"; "required": false; }; "inputMode": { "alias": "inputMode"; "required": false; }; "inputRole": { "alias": "inputRole"; "required": false; }; "label": { "alias": "label"; "required": false; }; "max": { "alias": "max"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "min": { "alias": "min"; "required": false; }; "minLength": { "alias": "minLength"; "required": false; }; "multiline": { "alias": "multiline"; "required": false; }; "name": { "alias": "name"; "required": false; }; "parser": { "alias": "parser"; "required": false; }; "passwordToggle": { "alias": "passwordToggle"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "prefixText": { "alias": "prefixText"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; "required": { "alias": "required"; "required": false; }; "reserveSupportingSpace": { "alias": "reserveSupportingSpace"; "required": false; }; "restrict": { "alias": "restrict"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "showPasswordLabel": { "alias": "showPasswordLabel"; "required": false; }; "speechLang": { "alias": "speechLang"; "required": false; }; "speechToText": { "alias": "speechToText"; "required": false; }; "spellcheck": { "alias": "spellcheck"; "required": false; }; "step": { "alias": "step"; "required": false; }; "suffixText": { "alias": "suffixText"; "required": false; }; "supportingText": { "alias": "supportingText"; "required": false; }; "throttle": { "alias": "throttle"; "required": false; }; "type": { "alias": "type"; "required": false; }; "value": { "alias": "value"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
1855
1855
|
}
|
|
1856
1856
|
export declare interface MdTextField extends Components.MdTextField {
|
|
1857
1857
|
mdInput: EventEmitter<CustomEvent<string>>;
|
|
@@ -1,8 +1,39 @@
|
|
|
1
|
-
import { ElementRef } from '@angular/core';
|
|
2
|
-
import { ValueAccessor } from './value-accessor';
|
|
1
|
+
import { ElementRef, Injector, OnDestroy, OnInit } from '@angular/core';
|
|
2
|
+
import { ValueAccessor } from './value-accessor.js';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
/** Coordinates radios that share an Angular control or a named form group. */
|
|
5
|
+
export declare class RadioValueAccessorRegistry {
|
|
6
|
+
private readonly accessors;
|
|
7
|
+
add(accessor: RadioValueAccessor): void;
|
|
8
|
+
remove(accessor: RadioValueAccessor): void;
|
|
9
|
+
select(accessor: RadioValueAccessor): void;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RadioValueAccessorRegistry, never>;
|
|
11
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<RadioValueAccessorRegistry>;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* A radio's value identifies its option; the form model chooses which option
|
|
15
|
+
* is checked. Kept outside valueAccessorConfigs so Stencil cannot replace this
|
|
16
|
+
* with its generic accessor, which writes the model over the option's value.
|
|
17
|
+
*/
|
|
18
|
+
export declare class RadioValueAccessor extends ValueAccessor implements OnInit, OnDestroy {
|
|
19
|
+
private registry;
|
|
20
|
+
private injector;
|
|
21
|
+
private control;
|
|
22
|
+
private hasModelValue;
|
|
23
|
+
private optionValue;
|
|
24
|
+
private optionName;
|
|
25
|
+
constructor(el: ElementRef, registry: RadioValueAccessorRegistry, injector: Injector);
|
|
26
|
+
get value(): unknown;
|
|
27
|
+
set value(value: unknown);
|
|
28
|
+
get name(): string;
|
|
29
|
+
set name(name: string);
|
|
30
|
+
ngOnInit(): void;
|
|
31
|
+
ngOnDestroy(): void;
|
|
32
|
+
writeValue(value: unknown): void;
|
|
33
|
+
private updateChecked;
|
|
34
|
+
handleRadioChange(event: Event): void;
|
|
35
|
+
uncheck(selectedValue: unknown): void;
|
|
36
|
+
isSameGroup(other: RadioValueAccessor): boolean;
|
|
6
37
|
static ɵfac: i0.ɵɵFactoryDeclaration<RadioValueAccessor, never>;
|
|
7
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<RadioValueAccessor, "md-radio", never, {}, {}, never, never, true, never>;
|
|
38
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RadioValueAccessor, "md-radio", never, { "value": { "alias": "value"; "required": false; }; "name": { "alias": "name"; "required": false; }; }, {}, never, never, true, never>;
|
|
8
39
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ElementRef } from '@angular/core';
|
|
2
|
-
import { ValueAccessor } from './value-accessor';
|
|
2
|
+
import { ValueAccessor } from './value-accessor.js';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class SelectValueAccessor extends ValueAccessor {
|
|
5
5
|
constructor(el: ElementRef);
|
|
6
6
|
static ɵfac: i0.ɵɵFactoryDeclaration<SelectValueAccessor, never>;
|
|
7
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<SelectValueAccessor, "md-select, md-
|
|
7
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SelectValueAccessor, "md-select, md-date-picker, md-time-picker", never, {}, {}, never, never, true, never>;
|
|
8
8
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ElementRef } from '@angular/core';
|
|
2
|
-
import { ValueAccessor } from './value-accessor';
|
|
2
|
+
import { ValueAccessor } from './value-accessor.js';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class TextValueAccessor extends ValueAccessor {
|
|
5
5
|
constructor(el: ElementRef);
|
|
@@ -5,6 +5,7 @@ import { DIRECTIVES } from './directives';
|
|
|
5
5
|
import { TextValueAccessor } from './directives/text-value-accessor';
|
|
6
6
|
import { SelectValueAccessor } from './directives/select-value-accessor';
|
|
7
7
|
import { BooleanValueAccessor } from './directives/boolean-value-accessor';
|
|
8
|
+
import { MultiSelectValueAccessor } from './directives/multi-select-value-accessor';
|
|
8
9
|
import { RadioValueAccessor } from './directives/radio-value-accessor';
|
|
9
10
|
import { NumericValueAccessor } from './directives/number-value-accessor';
|
|
10
11
|
import { SwitchValueAccessor } from './directives/switch-value-accessor';
|
|
@@ -19,6 +20,7 @@ import * as i1 from "./directives/proxies";
|
|
|
19
20
|
export const VALUE_ACCESSORS = [
|
|
20
21
|
TextValueAccessor,
|
|
21
22
|
SelectValueAccessor,
|
|
23
|
+
MultiSelectValueAccessor,
|
|
22
24
|
BooleanValueAccessor,
|
|
23
25
|
RadioValueAccessor,
|
|
24
26
|
NumericValueAccessor,
|
|
@@ -44,10 +46,9 @@ export const VALUE_ACCESSORS = [
|
|
|
44
46
|
* })
|
|
45
47
|
* export class AppModule {}
|
|
46
48
|
*
|
|
47
|
-
* //
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
* });
|
|
49
|
+
* // Raw custom elements without imported proxies:
|
|
50
|
+
* // AppComponent uses CUSTOM_ELEMENTS_SCHEMA; add the loader at bootstrap.
|
|
51
|
+
* bootstrapApplication(AppComponent, { providers: [provideAwcUi()] });
|
|
51
52
|
*
|
|
52
53
|
* SSR-safe: it is a no-op when `window` is not available.
|
|
53
54
|
*/
|
|
@@ -83,11 +84,13 @@ export class AwcUiModule {
|
|
|
83
84
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AwcUiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
84
85
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: AwcUiModule, imports: [CommonModule, i1.MdAccordion, i1.MdAccordionItem, i1.MdAppBar, i1.MdAreaChart, i1.MdAutocomplete, i1.MdAvatar, i1.MdBadge, i1.MdBarChart, i1.MdBottomSheet, i1.MdBreadcrumbItem, i1.MdBreadcrumbs, i1.MdButton, i1.MdButtonGroup, i1.MdCard, i1.MdCheckbox, i1.MdChip, i1.MdColorPicker, i1.MdDatePicker, i1.MdDialog, i1.MdDivider, i1.MdFab, i1.MdFabMenu, i1.MdFabMenuItem, i1.MdIconButton, i1.MdLineChart, i1.MdList, i1.MdListItem, i1.MdLoadingIndicator, i1.MdMenu, i1.MdMenuItem, i1.MdMenuItemGroup, i1.MdMeter, i1.MdMultiSelect, i1.MdNavigationBar, i1.MdNavigationRail, i1.MdNavigationRailTab, i1.MdNavigationTab, i1.MdNumberField, i1.MdOrganizationChart, i1.MdOtpField, i1.MdPieChart, i1.MdProgressIndicator, i1.MdRadio, i1.MdRating, i1.MdRipple, i1.MdSearch, i1.MdSegmentedButton, i1.MdSegmentedButtonSet, i1.MdSelect, i1.MdSelectOption, i1.MdSideSheet, i1.MdSkeleton, i1.MdSlider, i1.MdSnackbar, i1.MdSparkline, i1.MdSplitButton, i1.MdStatusDot, i1.MdStep, i1.MdStepper, i1.MdSubMenuItem, i1.MdSwitch, i1.MdTab, i1.MdTabPanel, i1.MdTabPanels, i1.MdTable, i1.MdTableBody, i1.MdTableCell, i1.MdTableContainer, i1.MdTableExpandToggle, i1.MdTableFoot, i1.MdTableHead, i1.MdTablePagination, i1.MdTableRow, i1.MdTableSortLabel, i1.MdTableToolbar, i1.MdTabs, i1.MdTextField, i1.MdTimePicker, i1.MdToolbar, i1.MdTooltip, i1.MdTransferList, TextValueAccessor,
|
|
85
86
|
SelectValueAccessor,
|
|
87
|
+
MultiSelectValueAccessor,
|
|
86
88
|
BooleanValueAccessor,
|
|
87
89
|
RadioValueAccessor,
|
|
88
90
|
NumericValueAccessor,
|
|
89
91
|
SwitchValueAccessor], exports: [i1.MdAccordion, i1.MdAccordionItem, i1.MdAppBar, i1.MdAreaChart, i1.MdAutocomplete, i1.MdAvatar, i1.MdBadge, i1.MdBarChart, i1.MdBottomSheet, i1.MdBreadcrumbItem, i1.MdBreadcrumbs, i1.MdButton, i1.MdButtonGroup, i1.MdCard, i1.MdCheckbox, i1.MdChip, i1.MdColorPicker, i1.MdDatePicker, i1.MdDialog, i1.MdDivider, i1.MdFab, i1.MdFabMenu, i1.MdFabMenuItem, i1.MdIconButton, i1.MdLineChart, i1.MdList, i1.MdListItem, i1.MdLoadingIndicator, i1.MdMenu, i1.MdMenuItem, i1.MdMenuItemGroup, i1.MdMeter, i1.MdMultiSelect, i1.MdNavigationBar, i1.MdNavigationRail, i1.MdNavigationRailTab, i1.MdNavigationTab, i1.MdNumberField, i1.MdOrganizationChart, i1.MdOtpField, i1.MdPieChart, i1.MdProgressIndicator, i1.MdRadio, i1.MdRating, i1.MdRipple, i1.MdSearch, i1.MdSegmentedButton, i1.MdSegmentedButtonSet, i1.MdSelect, i1.MdSelectOption, i1.MdSideSheet, i1.MdSkeleton, i1.MdSlider, i1.MdSnackbar, i1.MdSparkline, i1.MdSplitButton, i1.MdStatusDot, i1.MdStep, i1.MdStepper, i1.MdSubMenuItem, i1.MdSwitch, i1.MdTab, i1.MdTabPanel, i1.MdTabPanels, i1.MdTable, i1.MdTableBody, i1.MdTableCell, i1.MdTableContainer, i1.MdTableExpandToggle, i1.MdTableFoot, i1.MdTableHead, i1.MdTablePagination, i1.MdTableRow, i1.MdTableSortLabel, i1.MdTableToolbar, i1.MdTabs, i1.MdTextField, i1.MdTimePicker, i1.MdToolbar, i1.MdTooltip, i1.MdTransferList, TextValueAccessor,
|
|
90
92
|
SelectValueAccessor,
|
|
93
|
+
MultiSelectValueAccessor,
|
|
91
94
|
BooleanValueAccessor,
|
|
92
95
|
RadioValueAccessor,
|
|
93
96
|
NumericValueAccessor,
|
|
@@ -102,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
102
105
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
103
106
|
}]
|
|
104
107
|
}] });
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdjLXVpLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd2MtdWkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7QUFFekU7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDN0IsaUJBQWlCO0lBQ2pCLG1CQUFtQjtJQUNuQix3QkFBd0I7SUFDeEIsb0JBQW9CO0lBQ3BCLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsbUJBQW1CO0NBQ3BCLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlCRztBQUNILE1BQU0sVUFBVSxZQUFZO0lBQzFCLE9BQU87UUFDTCxPQUFPLEVBQUUsZUFBZTtRQUN4QixLQUFLLEVBQUUsSUFBSTtRQUNYLFFBQVEsRUFBRSxHQUFrQixFQUFFLENBQzVCLE9BQU8sTUFBTSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7S0FDbkYsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFNSCxNQUFNLE9BQU8sV0FBVzsrR0FBWCxXQUFXO2dIQUFYLFdBQVcsWUFKWixZQUFZLHV5Q0FsRXRCLGlCQUFpQjtZQUNqQixtQkFBbUI7WUFDbkIsd0JBQXdCO1lBQ3hCLG9CQUFvQjtZQUNwQixrQkFBa0I7WUFDbEIsb0JBQW9CO1lBQ3BCLG1CQUFtQixrekNBTm5CLGlCQUFpQjtZQUNqQixtQkFBbUI7WUFDbkIsd0JBQXdCO1lBQ3hCLG9CQUFvQjtZQUNwQixrQkFBa0I7WUFDbEIsb0JBQW9CO1lBQ3BCLG1CQUFtQjtnSEFnRVIsV0FBVyxZQUpaLFlBQVk7OzRGQUlYLFdBQVc7a0JBTHZCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLEdBQUcsVUFBVSxFQUFFLEdBQUcsZUFBZSxDQUFDO29CQUMxRCxPQUFPLEVBQUUsQ0FBQyxHQUFHLFVBQVUsRUFBRSxHQUFHLGVBQWUsQ0FBQztvQkFDNUMsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBOZ01vZHVsZSwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50cyB9IGZyb20gJ0Bhd2MtdWkvY29yZS9sb2FkZXInO1xuXG5pbXBvcnQgeyBESVJFQ1RJVkVTIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFRleHRWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3RleHQtdmFsdWUtYWNjZXNzb3InO1xuaW1wb3J0IHsgU2VsZWN0VmFsdWVBY2Nlc3NvciB9IGZyb20gJy4vZGlyZWN0aXZlcy9zZWxlY3QtdmFsdWUtYWNjZXNzb3InO1xuaW1wb3J0IHsgQm9vbGVhblZhbHVlQWNjZXNzb3IgfSBmcm9tICcuL2RpcmVjdGl2ZXMvYm9vbGVhbi12YWx1ZS1hY2Nlc3Nvcic7XG5pbXBvcnQgeyBNdWx0aVNlbGVjdFZhbHVlQWNjZXNzb3IgfSBmcm9tICcuL2RpcmVjdGl2ZXMvbXVsdGktc2VsZWN0LXZhbHVlLWFjY2Vzc29yJztcbmltcG9ydCB7IFJhZGlvVmFsdWVBY2Nlc3NvciB9IGZyb20gJy4vZGlyZWN0aXZlcy9yYWRpby12YWx1ZS1hY2Nlc3Nvcic7XG5pbXBvcnQgeyBOdW1lcmljVmFsdWVBY2Nlc3NvciB9IGZyb20gJy4vZGlyZWN0aXZlcy9udW1iZXItdmFsdWUtYWNjZXNzb3InO1xuaW1wb3J0IHsgU3dpdGNoVmFsdWVBY2Nlc3NvciB9IGZyb20gJy4vZGlyZWN0aXZlcy9zd2l0Y2gtdmFsdWUtYWNjZXNzb3InO1xuXG4vKipcbiAqIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGRpcmVjdGl2ZXMsIHNvIGBbKG5nTW9kZWwpXWAgYW5kIGBmb3JtQ29udHJvbE5hbWVgIGJpbmRcbiAqIHRvIEFXQyBVSSBpbnB1dHMuIERlY2xhcmVkIGhlcmUgcmF0aGVyIHRoYW4gaW4gYERJUkVDVElWRVNgIGJlY2F1c2UgdGhhdFxuICogYXJyYXkgaXMgR0VORVJBVEVEIGJ5IHRoZSBTdGVuY2lsIG91dHB1dCB0YXJnZXQgb24gZXZlcnkgYnVpbGQgYW5kIHdvdWxkXG4gKiBkaXNjYXJkIGFueXRoaW5nIGFkZGVkIHRvIGl0LlxuICovXG5leHBvcnQgY29uc3QgVkFMVUVfQUNDRVNTT1JTID0gW1xuICBUZXh0VmFsdWVBY2Nlc3NvcixcbiAgU2VsZWN0VmFsdWVBY2Nlc3NvcixcbiAgTXVsdGlTZWxlY3RWYWx1ZUFjY2Vzc29yLFxuICBCb29sZWFuVmFsdWVBY2Nlc3NvcixcbiAgUmFkaW9WYWx1ZUFjY2Vzc29yLFxuICBOdW1lcmljVmFsdWVBY2Nlc3NvcixcbiAgU3dpdGNoVmFsdWVBY2Nlc3Nvcixcbl07XG5cbi8qKlxuICogUmVnaXN0ZXJzIEFMTCBBV0MgVUkgY3VzdG9tIGVsZW1lbnRzICh0aGUgU3RlbmNpbCBsYXp5IGxvYWRlcikgZHVyaW5nXG4gKiBhcHBsaWNhdGlvbiBib290c3RyYXAuXG4gKlxuICogU2luY2UgdGhlIHByb3hpZXMgYmVjYW1lIHN0YW5kYWxvbmUgKGVhY2ggb25lIHN0YXRpY2FsbHkgaW1wb3J0cyBhbmRcbiAqIHJlZ2lzdGVycyBpdHMgb3duIGVsZW1lbnQpLCB0aGlzIHByb3ZpZGVyIGlzIE5PIExPTkdFUiBSRVFVSVJFRCDigJQgaW1wb3J0aW5nXG4gKiBhIHByb3h5IGlzIGVub3VnaC4gSXQgaXMga2VwdCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgYW5kIGZvciBhcHBzIHRoYXRcbiAqIHVzZSByYXcgYG1kLSpgIHRhZ3Mgd2l0aG91dCBpbXBvcnRpbmcgdGhlIGNvcnJlc3BvbmRpbmcgcHJveHkuIEVsZW1lbnRcbiAqIGRlZmluaXRpb24gaXMgaWRlbXBvdGVudCwgc28gdXNpbmcgYm90aCBtZWNoYW5pc21zIHRvZ2V0aGVyIGlzIGhhcm1sZXNzIOKAlFxuICogYnV0IGFkZGluZyB0aGlzIHByb3ZpZGVyIGZvcmNlcyB0aGUgd2hvbGUgbGF6eS1sb2FkZXIgcmVnaXN0cnkgaW50byB0aGVcbiAqIGJ1bmRsZSwgc28gcHJlZmVyIG9taXR0aW5nIGl0LlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBOZ01vZHVsZSBhcHBcbiAqIEBOZ01vZHVsZSh7XG4gKiAgIGltcG9ydHM6IFtBd2NVaU1vZHVsZV0sXG4gKiAgIHByb3ZpZGVyczogW3Byb3ZpZGVBd2NVaSgpXSxcbiAqIH0pXG4gKiBleHBvcnQgY2xhc3MgQXBwTW9kdWxlIHt9XG4gKlxuICogLy8gUmF3IGN1c3RvbSBlbGVtZW50cyB3aXRob3V0IGltcG9ydGVkIHByb3hpZXM6XG4gKiAvLyBBcHBDb21wb25lbnQgdXNlcyBDVVNUT01fRUxFTUVOVFNfU0NIRU1BOyBhZGQgdGhlIGxvYWRlciBhdCBib290c3RyYXAuXG4gKiBib290c3RyYXBBcHBsaWNhdGlvbihBcHBDb21wb25lbnQsIHsgcHJvdmlkZXJzOiBbcHJvdmlkZUF3Y1VpKCldIH0pO1xuICpcbiAqIFNTUi1zYWZlOiBpdCBpcyBhIG5vLW9wIHdoZW4gYHdpbmRvd2AgaXMgbm90IGF2YWlsYWJsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVBd2NVaSgpOiBQcm92aWRlciB7XG4gIHJldHVybiB7XG4gICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgIG11bHRpOiB0cnVlLFxuICAgIHVzZVZhbHVlOiAoKTogUHJvbWlzZTx2b2lkPiA9PlxuICAgICAgdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgPyBkZWZpbmVDdXN0b21FbGVtZW50cyh3aW5kb3cpIDogUHJvbWlzZS5yZXNvbHZlKCksXG4gIH07XG59XG5cbi8qKlxuICogQXdjVWlNb2R1bGVcbiAqXG4gKiBDb252ZW5pZW5jZSBtb2R1bGUgZXhwb3J0aW5nIEFMTCBBV0MgVUkgY29tcG9uZW50IHByb3hpZXMgKHR5cGVkIGlucHV0cyxcbiAqIG91dHB1dHMgYW5kIG1ldGhvZHMpIHBsdXMgdGhlIGZvcm0gdmFsdWUgYWNjZXNzb3JzLlxuICpcbiAqIE5PVEU6IHRoZSBwcm94aWVzIGFyZSBzdGFuZGFsb25lIGNvbXBvbmVudHMgdGhhdCByZWdpc3RlciB0aGVpciBvd24gY3VzdG9tXG4gKiBlbGVtZW50IG9uIGltcG9ydCDigJQgbm8gbG9hZGVyIGJvb3RzdHJhcCBuZWVkZWQuIEZvciB0aGUgc21hbGxlc3QgYnVuZGxlcyxcbiAqIHByZWZlciBpbXBvcnRpbmcgaW5kaXZpZHVhbCBjb21wb25lbnRzIG92ZXIgdGhpcyBtb2R1bGU6IHRoaXMgbW9kdWxlXG4gKiByZWZlcmVuY2VzIGFsbCA4MSBwcm94aWVzLCBzbyB0aGUgd2hvbGUgY29tcG9uZW50IHNldCBzaGlwcyB3aXRoIHlvdXIgYXBwLlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBTbWFsbGVzdCBidW5kbGUg4oCUIHN0YW5kYWxvbmUgY29tcG9uZW50IGltcG9ydHMgZXhhY3RseSB3aGF0IGl0IHVzZXM6XG4gKiBpbXBvcnQgeyBNZEJ1dHRvbiB9IGZyb20gJ0Bhd2MtdWkvYW5ndWxhcic7XG4gKiBAQ29tcG9uZW50KHsgc3RhbmRhbG9uZTogdHJ1ZSwgaW1wb3J0czogW01kQnV0dG9uXSwgLi4uIH0pXG4gKlxuICogLy8gQ29udmVuaWVuY2Ug4oCUIGV2ZXJ5dGhpbmcgYXQgb25jZSAoc2hpcHMgYWxsIGNvbXBvbmVudHMpOlxuICogaW1wb3J0IHsgQXdjVWlNb2R1bGUgfSBmcm9tICdAYXdjLXVpL2FuZ3VsYXInO1xuICogQE5nTW9kdWxlKHsgaW1wb3J0czogW0F3Y1VpTW9kdWxlLCAuLi5dIH0pXG4gKiBleHBvcnQgY2xhc3MgQXBwTW9kdWxlIHt9XG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIC4uLkRJUkVDVElWRVMsIC4uLlZBTFVFX0FDQ0VTU09SU10sXG4gIGV4cG9ydHM6IFsuLi5ESVJFQ1RJVkVTLCAuLi5WQUxVRV9BQ0NFU1NPUlNdLFxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG59KVxuZXhwb3J0IGNsYXNzIEF3Y1VpTW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { ValueAccessor } from './value-accessor';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/** Angular reset() writes null; a multi-select's empty value must remain an array. */
|
|
6
|
+
export class MultiSelectValueAccessor extends ValueAccessor {
|
|
7
|
+
constructor(el) { super(el); }
|
|
8
|
+
writeValue(value) {
|
|
9
|
+
this.el.nativeElement.value = this.lastValue = value ?? [];
|
|
10
|
+
}
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MultiSelectValueAccessor, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
12
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: MultiSelectValueAccessor, isStandalone: true, selector: "md-multi-select", host: { listeners: { "mdChange": "handleChangeEvent($event.target.value)" } }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: MultiSelectValueAccessor, multi: true }], usesInheritance: true, ngImport: i0 }); }
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MultiSelectValueAccessor, decorators: [{
|
|
15
|
+
type: Directive,
|
|
16
|
+
args: [{
|
|
17
|
+
selector: 'md-multi-select',
|
|
18
|
+
host: { '(mdChange)': 'handleChangeEvent($event.target.value)' },
|
|
19
|
+
providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: MultiSelectValueAccessor, multi: true }],
|
|
20
|
+
standalone: true,
|
|
21
|
+
}]
|
|
22
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }] });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LXZhbHVlLWFjY2Vzc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RpcmVjdGl2ZXMvbXVsdGktc2VsZWN0LXZhbHVlLWFjY2Vzc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUVqRCxzRkFBc0Y7QUFPdEYsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGFBQWE7SUFDekQsWUFBWSxFQUFjLElBQUksS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVqQyxVQUFVLENBQUMsS0FBa0M7UUFDcEQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztJQUM3RCxDQUFDOytHQUxVLHdCQUF3QjttR0FBeEIsd0JBQXdCLDZJQUh4QixDQUFDLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7OzRGQUdwRix3QkFBd0I7a0JBTnBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsSUFBSSxFQUFFLEVBQUUsWUFBWSxFQUFFLHdDQUF3QyxFQUFFO29CQUNoRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLDBCQUEwQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztvQkFDL0YsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFZhbHVlQWNjZXNzb3IgfSBmcm9tICcuL3ZhbHVlLWFjY2Vzc29yJztcblxuLyoqIEFuZ3VsYXIgcmVzZXQoKSB3cml0ZXMgbnVsbDsgYSBtdWx0aS1zZWxlY3QncyBlbXB0eSB2YWx1ZSBtdXN0IHJlbWFpbiBhbiBhcnJheS4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ21kLW11bHRpLXNlbGVjdCcsXG4gIGhvc3Q6IHsgJyhtZENoYW5nZSknOiAnaGFuZGxlQ2hhbmdlRXZlbnQoJGV2ZW50LnRhcmdldC52YWx1ZSknIH0sXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBNdWx0aVNlbGVjdFZhbHVlQWNjZXNzb3IsIG11bHRpOiB0cnVlIH1dLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBNdWx0aVNlbGVjdFZhbHVlQWNjZXNzb3IgZXh0ZW5kcyBWYWx1ZUFjY2Vzc29yIHtcbiAgY29uc3RydWN0b3IoZWw6IEVsZW1lbnRSZWYpIHsgc3VwZXIoZWwpOyB9XG5cbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nW10gfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy5sYXN0VmFsdWUgPSB2YWx1ZSA/PyBbXTtcbiAgfVxufVxuIl19
|