@verisoft/ui-govcz 21.0.15 → 21.0.17
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.
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, Pipe, ChangeDetectionStrategy, CUSTOM_ELEMENTS_SCHEMA, EventEmitter, Output, Input, inject, Optional, Self, input, reflectComponentType, Injectable, ChangeDetectorRef, Injector, ViewContainerRef, ViewChild, ViewEncapsulation, HostListener, NO_ERRORS_SCHEMA, output, ContentChild, ContentChildren, NgModule, Inject, effect, forwardRef } from '@angular/core';
|
|
2
|
+
import { Component, Pipe, ChangeDetectionStrategy, CUSTOM_ELEMENTS_SCHEMA, EventEmitter, Output, Input, inject, Optional, Self, input, reflectComponentType, Injectable, ChangeDetectorRef, Injector, ViewContainerRef, ViewChild, ViewEncapsulation, HostListener, NO_ERRORS_SCHEMA, ElementRef, Directive, output, viewChild, ContentChild, ContentChildren, NgModule, Inject, effect, forwardRef } from '@angular/core';
|
|
3
3
|
import * as i2$1 from '@angular/router';
|
|
4
4
|
import { RouterModule, Router, RouterOutlet, RouterLink, RouterLinkActive, ActivatedRoute } from '@angular/router';
|
|
5
5
|
import * as i2 from '@gov-design-system-ce/angular';
|
|
6
6
|
import { GovDesignSystemModule } from '@gov-design-system-ce/angular';
|
|
7
7
|
import * as i1$2 from '@verisoft/ui-core';
|
|
8
|
-
import { BreadcrumbCoreComponent, BREADCRUMB_COMPONENT_TOKEN, ControlSeverity, GovControlSeverity, FieldSize, IconsComponent, IconPosition, GovButtonType, BUTTON_COMPONENT_TOKEN, SlotPosition, BaseFormInputComponent, FieldType, CALENDAR_COMPONENT_TOKEN, CHECKBOX_COMPONENT_TOKEN, UnsubscribeComponent, CONFIRM_DIALOG_COMPONENT_TOKEN, TEXTFIELD_COMPONENT_TOKEN, DROPDOWN_COMPONENT_TOKEN, DROPDOWN_BUTTON_COMPONENT_TOKEN, FORM_FIELD_COMPONENT_TOKEN, SideMenuService, HEADER_COMPONENT_TOKEN, INPUT_GROUP_COMPONENT_TOKEN, LOADER_COMPONENT_TOKEN, MULTISELECT_COMPONENT_TOKEN, NUMBER_INPUT_COMPONENT_TOKEN, PasswordStrength, PASSWORD_COMPONENT_TOKEN, RADIOBUTTON_COMPONENT_TOKEN, SECTION_COMPONENT_TOKEN, ACTION_BUTTON_GROUP_COMPONENT_TOKEN, queryListChanged, GenericFieldType, DatasourceDirective, GENERIC_FIELD_COMPONENT_TOKEN, SIDE_MENU_COMPONENT_TOKEN, MENU_TOKEN, SideMenuProviderService, SNACKBAR_COMPONENT_TOKEN, LayoutType, STEPPER_COMPONENT_TOKEN, SWITCH_COMPONENT_TOKEN, MAX_COLUMN_CHAR_COUNT, TableService, DEFAULT_PAGINATION, ColumnModel, RowModel, TableSelectionMode, TABLE_COLUMN_PROVIDER, TABLE_COMPONENT_TOKEN, TAG_COMPONENT_TOKEN, TEXTAREA_COMPONENT_TOKEN, DEFAULT_DEBOUNCE_TIME, ScreenSizeService, DialogService, getFilledControlCount, isFilterEmpty, ButtonShortCutDirective, FilterFieldDirective, FILTER_COMPONENT_TOKEN, downloadFile, TableDatasourceDirective, TableFilterDirective, FeatureListFilterPipe, FEATURE_LIST_COLUMN_PROVIDER, FEATURE_LIST_COMPONENT_TOKEN } from '@verisoft/ui-core';
|
|
8
|
+
import { BreadcrumbCoreComponent, BREADCRUMB_COMPONENT_TOKEN, ControlSeverity, GovControlSeverity, FieldSize, IconsComponent, IconPosition, GovButtonType, BUTTON_COMPONENT_TOKEN, SlotPosition, BaseFormInputComponent, FieldType, CALENDAR_COMPONENT_TOKEN, CHECKBOX_COMPONENT_TOKEN, UnsubscribeComponent, CONFIRM_DIALOG_COMPONENT_TOKEN, TEXTFIELD_COMPONENT_TOKEN, DROPDOWN_COMPONENT_TOKEN, MenuKeyboardDirective, MENU_KEYBOARD_PORT, MenuKeyboardTriggerDirective, MenuKeyboardListDirective, MenuKeyboardItemDirective, DROPDOWN_BUTTON_COMPONENT_TOKEN, FORM_FIELD_COMPONENT_TOKEN, SideMenuService, HEADER_COMPONENT_TOKEN, INPUT_GROUP_COMPONENT_TOKEN, LOADER_COMPONENT_TOKEN, MULTISELECT_COMPONENT_TOKEN, NUMBER_INPUT_COMPONENT_TOKEN, PasswordStrength, PASSWORD_COMPONENT_TOKEN, RADIOBUTTON_COMPONENT_TOKEN, SECTION_COMPONENT_TOKEN, ACTION_BUTTON_GROUP_COMPONENT_TOKEN, queryListChanged, GenericFieldType, DatasourceDirective, GENERIC_FIELD_COMPONENT_TOKEN, SIDE_MENU_COMPONENT_TOKEN, MENU_TOKEN, SideMenuProviderService, SNACKBAR_COMPONENT_TOKEN, LayoutType, STEPPER_COMPONENT_TOKEN, SWITCH_COMPONENT_TOKEN, MAX_COLUMN_CHAR_COUNT, TableService, DEFAULT_PAGINATION, ColumnModel, RowModel, TableSelectionMode, TABLE_COLUMN_PROVIDER, TABLE_COMPONENT_TOKEN, TAG_COMPONENT_TOKEN, TEXTAREA_COMPONENT_TOKEN, DEFAULT_DEBOUNCE_TIME, ScreenSizeService, DialogService, getFilledControlCount, isFilterEmpty, ButtonShortCutDirective, FilterFieldDirective, FILTER_COMPONENT_TOKEN, downloadFile, TableDatasourceDirective, TableFilterDirective, FeatureListFilterPipe, FEATURE_LIST_COLUMN_PROVIDER, FEATURE_LIST_COMPONENT_TOKEN } from '@verisoft/ui-core';
|
|
9
9
|
import * as i3 from '@ngx-translate/core';
|
|
10
10
|
import { TranslateModule, TranslatePipe } from '@ngx-translate/core';
|
|
11
11
|
import * as i1$1 from '@angular/forms';
|
|
@@ -317,7 +317,7 @@ class ButtonComponent {
|
|
|
317
317
|
provide: BUTTON_COMPONENT_TOKEN,
|
|
318
318
|
useExisting: ButtonComponent,
|
|
319
319
|
}
|
|
320
|
-
], ngImport: i0, template: "<div class=\"v-button\" [class.v-button--expanded]=\"expanded\">\n <a\n [routerLink]=\"routerLink ? routerLink : undefined\"\n [queryParams]=\"queryParams ? queryParams : undefined\"\n >\n <gov-button\n [type]=\"outlined === true ? 'outlined' : type\"\n [class.v-button--rounded]=\"rounded\"\n [color]=\"severity | govColor\"\n [disabled]=\"disabled\"\n [size]=\"size | govSize\"\n [name]=\"name\"\n [expanded]=\"expanded\"\n (gov-click)=\"handleClick($event)\"\n (click)=\"handleClick($event)\"\n >\n @if (icon) {\n <v-icon \n [name]=\"icon\"\n [library]=\"library\"\n [slot]=\"iconPos === 'left' ? 'icon-start' : 'icon-end'\"\n />\n } @if (label) {\n {{ label | translate }}\n }\n </gov-button>\n </a>\n</div>\n", styles: [":host{display:inline-block}
|
|
320
|
+
], ngImport: i0, template: "<div class=\"v-button\" [class.v-button--expanded]=\"expanded\">\n <a\n tabindex=\"-1\"\n [routerLink]=\"routerLink ? routerLink : undefined\"\n [queryParams]=\"queryParams ? queryParams : undefined\"\n >\n <gov-button\n [type]=\"outlined === true ? 'outlined' : type\"\n [class.v-button--rounded]=\"rounded\"\n [color]=\"severity | govColor\"\n [disabled]=\"disabled\"\n [size]=\"size | govSize\"\n [name]=\"name\"\n [expanded]=\"expanded\"\n (gov-click)=\"handleClick($event)\"\n (click)=\"handleClick($event)\"\n >\n @if (icon) {\n <v-icon \n [name]=\"icon\"\n [library]=\"library\"\n [slot]=\"iconPos === 'left' ? 'icon-start' : 'icon-end'\"\n />\n } @if (label) {\n {{ label | translate }}\n }\n </gov-button>\n </a>\n</div>\n", styles: [":host{display:inline-block}:host.v-button--expanded{display:block;width:100%}.v-button{display:inline-block}.v-button--expanded{display:block;width:100%}.v-button--rounded{border-radius:5rem}\n"], dependencies: [{ kind: "ngmodule", type: GovDesignSystemModule }, { kind: "component", type: i2.GovButton, selector: "gov-button", inputs: ["color", "disabled", "download", "expanded", "expandedMobile", "focusable", "href", "hreflang", "identifier", "loading", "name", "nativeType", "referrerpolicy", "rel", "size", "target", "type"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: IconComponent, selector: "v-icon" }, { kind: "pipe", type: GovSizePipe, name: "govSize" }, { kind: "pipe", type: GovColorPipe, name: "govColor" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
321
321
|
}
|
|
322
322
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
323
323
|
type: Component,
|
|
@@ -330,7 +330,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
330
330
|
provide: BUTTON_COMPONENT_TOKEN,
|
|
331
331
|
useExisting: ButtonComponent,
|
|
332
332
|
}
|
|
333
|
-
], template: "<div class=\"v-button\" [class.v-button--expanded]=\"expanded\">\n <a\n [routerLink]=\"routerLink ? routerLink : undefined\"\n [queryParams]=\"queryParams ? queryParams : undefined\"\n >\n <gov-button\n [type]=\"outlined === true ? 'outlined' : type\"\n [class.v-button--rounded]=\"rounded\"\n [color]=\"severity | govColor\"\n [disabled]=\"disabled\"\n [size]=\"size | govSize\"\n [name]=\"name\"\n [expanded]=\"expanded\"\n (gov-click)=\"handleClick($event)\"\n (click)=\"handleClick($event)\"\n >\n @if (icon) {\n <v-icon \n [name]=\"icon\"\n [library]=\"library\"\n [slot]=\"iconPos === 'left' ? 'icon-start' : 'icon-end'\"\n />\n } @if (label) {\n {{ label | translate }}\n }\n </gov-button>\n </a>\n</div>\n", styles: [":host{display:inline-block}
|
|
333
|
+
], template: "<div class=\"v-button\" [class.v-button--expanded]=\"expanded\">\n <a\n tabindex=\"-1\"\n [routerLink]=\"routerLink ? routerLink : undefined\"\n [queryParams]=\"queryParams ? queryParams : undefined\"\n >\n <gov-button\n [type]=\"outlined === true ? 'outlined' : type\"\n [class.v-button--rounded]=\"rounded\"\n [color]=\"severity | govColor\"\n [disabled]=\"disabled\"\n [size]=\"size | govSize\"\n [name]=\"name\"\n [expanded]=\"expanded\"\n (gov-click)=\"handleClick($event)\"\n (click)=\"handleClick($event)\"\n >\n @if (icon) {\n <v-icon \n [name]=\"icon\"\n [library]=\"library\"\n [slot]=\"iconPos === 'left' ? 'icon-start' : 'icon-end'\"\n />\n } @if (label) {\n {{ label | translate }}\n }\n </gov-button>\n </a>\n</div>\n", styles: [":host{display:inline-block}:host.v-button--expanded{display:block;width:100%}.v-button{display:inline-block}.v-button--expanded{display:block;width:100%}.v-button--rounded{border-radius:5rem}\n"] }]
|
|
334
334
|
}], propDecorators: { label: [{
|
|
335
335
|
type: Input
|
|
336
336
|
}], icon: [{
|
|
@@ -1098,6 +1098,181 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
1098
1098
|
args: ['document:click', ['$event']]
|
|
1099
1099
|
}] } });
|
|
1100
1100
|
|
|
1101
|
+
function findGovButton(host) {
|
|
1102
|
+
const direct = host.querySelector('gov-button');
|
|
1103
|
+
if (direct instanceof HTMLElement) {
|
|
1104
|
+
return direct;
|
|
1105
|
+
}
|
|
1106
|
+
const nested = host.getElementsByTagName('gov-button');
|
|
1107
|
+
return nested.length > 0 ? nested[0] : null;
|
|
1108
|
+
}
|
|
1109
|
+
function readGovButtonFocusFromHost(host) {
|
|
1110
|
+
const govButton = findGovButton(host);
|
|
1111
|
+
if (!govButton) {
|
|
1112
|
+
return host instanceof HTMLButtonElement ? host : null;
|
|
1113
|
+
}
|
|
1114
|
+
const shadowRoot = govButton.shadowRoot;
|
|
1115
|
+
if (!shadowRoot) {
|
|
1116
|
+
return null;
|
|
1117
|
+
}
|
|
1118
|
+
const nativeButton = shadowRoot.querySelector('button.element') ??
|
|
1119
|
+
shadowRoot.querySelector('button[type="button"]') ??
|
|
1120
|
+
shadowRoot.querySelector('button');
|
|
1121
|
+
return nativeButton instanceof HTMLButtonElement ? nativeButton : null;
|
|
1122
|
+
}
|
|
1123
|
+
function applyAccessibility(focusElement, a11y) {
|
|
1124
|
+
if (a11y.role !== undefined) {
|
|
1125
|
+
focusElement.setAttribute('role', a11y.role);
|
|
1126
|
+
}
|
|
1127
|
+
if (a11y.ariaHaspopup !== undefined) {
|
|
1128
|
+
focusElement.setAttribute('aria-haspopup', a11y.ariaHaspopup);
|
|
1129
|
+
}
|
|
1130
|
+
if (a11y.ariaExpanded !== undefined) {
|
|
1131
|
+
focusElement.setAttribute('aria-expanded', a11y.ariaExpanded);
|
|
1132
|
+
}
|
|
1133
|
+
if (a11y.ariaControls !== undefined) {
|
|
1134
|
+
focusElement.setAttribute('aria-controls', a11y.ariaControls);
|
|
1135
|
+
}
|
|
1136
|
+
if (a11y.ariaDisabled !== undefined) {
|
|
1137
|
+
focusElement.setAttribute('aria-disabled', a11y.ariaDisabled);
|
|
1138
|
+
}
|
|
1139
|
+
if (a11y.tabIndex !== undefined) {
|
|
1140
|
+
focusElement.tabIndex = a11y.tabIndex;
|
|
1141
|
+
}
|
|
1142
|
+
}
|
|
1143
|
+
function applyGovButtonAccessibility(host, a11y) {
|
|
1144
|
+
const focusElement = readGovButtonFocusFromHost(host);
|
|
1145
|
+
if (!focusElement) {
|
|
1146
|
+
return;
|
|
1147
|
+
}
|
|
1148
|
+
applyAccessibility(focusElement, a11y);
|
|
1149
|
+
}
|
|
1150
|
+
function focusGovButtonHost(host, a11y) {
|
|
1151
|
+
const focusElement = readGovButtonFocusFromHost(host);
|
|
1152
|
+
if (focusElement) {
|
|
1153
|
+
if (a11y) {
|
|
1154
|
+
applyAccessibility(focusElement, a11y);
|
|
1155
|
+
}
|
|
1156
|
+
focusElement.focus({ preventScroll: true });
|
|
1157
|
+
return;
|
|
1158
|
+
}
|
|
1159
|
+
if (host instanceof HTMLButtonElement) {
|
|
1160
|
+
host.focus({ preventScroll: true });
|
|
1161
|
+
return;
|
|
1162
|
+
}
|
|
1163
|
+
host.focus({ preventScroll: true });
|
|
1164
|
+
}
|
|
1165
|
+
|
|
1166
|
+
class GovDropdownKeyboardDirective {
|
|
1167
|
+
elementRef = inject((ElementRef));
|
|
1168
|
+
injector = inject(Injector);
|
|
1169
|
+
onGovChange(event) {
|
|
1170
|
+
const detail = event.detail;
|
|
1171
|
+
const host = this.getHost();
|
|
1172
|
+
host?.handleOpenChange(detail.open);
|
|
1173
|
+
if (detail.open && host?.isOpen()) {
|
|
1174
|
+
host.focusActiveItem();
|
|
1175
|
+
}
|
|
1176
|
+
}
|
|
1177
|
+
async open() {
|
|
1178
|
+
const host = this.getHost();
|
|
1179
|
+
if (host && !host.hasActionableItems()) {
|
|
1180
|
+
return false;
|
|
1181
|
+
}
|
|
1182
|
+
const dropdown = this.getGovDropdown();
|
|
1183
|
+
if (dropdown) {
|
|
1184
|
+
const opened = await this.setGovOpen(dropdown, true);
|
|
1185
|
+
if (opened) {
|
|
1186
|
+
host?.handleOpenChange(true);
|
|
1187
|
+
}
|
|
1188
|
+
return opened;
|
|
1189
|
+
}
|
|
1190
|
+
this.clickTrigger();
|
|
1191
|
+
host?.handleOpenChange(true);
|
|
1192
|
+
return true;
|
|
1193
|
+
}
|
|
1194
|
+
async close(restoreFocus) {
|
|
1195
|
+
const host = this.getHost();
|
|
1196
|
+
const dropdown = this.getGovDropdown();
|
|
1197
|
+
let closed = false;
|
|
1198
|
+
if (dropdown) {
|
|
1199
|
+
closed = await this.setGovOpen(dropdown, false);
|
|
1200
|
+
}
|
|
1201
|
+
else {
|
|
1202
|
+
this.clickTrigger();
|
|
1203
|
+
closed = true;
|
|
1204
|
+
}
|
|
1205
|
+
host?.handleOpenChange(false);
|
|
1206
|
+
if (restoreFocus && closed) {
|
|
1207
|
+
host?.focusTrigger();
|
|
1208
|
+
}
|
|
1209
|
+
}
|
|
1210
|
+
focusTrigger(triggerHost, a11y) {
|
|
1211
|
+
focusGovButtonHost(triggerHost, a11y);
|
|
1212
|
+
}
|
|
1213
|
+
focusItem(itemHost, a11y) {
|
|
1214
|
+
focusGovButtonHost(itemHost, a11y);
|
|
1215
|
+
}
|
|
1216
|
+
applyTriggerAccessibility(triggerHost, a11y) {
|
|
1217
|
+
applyGovButtonAccessibility(triggerHost, a11y);
|
|
1218
|
+
}
|
|
1219
|
+
applyItemAccessibility(itemHost, a11y) {
|
|
1220
|
+
applyGovButtonAccessibility(itemHost, a11y);
|
|
1221
|
+
}
|
|
1222
|
+
async setGovOpen(dropdown, open) {
|
|
1223
|
+
try {
|
|
1224
|
+
const isOpen = await dropdown.getState();
|
|
1225
|
+
if (isOpen !== open) {
|
|
1226
|
+
await dropdown.toggle();
|
|
1227
|
+
}
|
|
1228
|
+
return true;
|
|
1229
|
+
}
|
|
1230
|
+
catch {
|
|
1231
|
+
if (open) {
|
|
1232
|
+
this.clickTrigger();
|
|
1233
|
+
}
|
|
1234
|
+
return open;
|
|
1235
|
+
}
|
|
1236
|
+
}
|
|
1237
|
+
clickTrigger() {
|
|
1238
|
+
const trigger = this.getHost()?.getTriggerElement();
|
|
1239
|
+
const govButton = trigger?.querySelector('gov-button');
|
|
1240
|
+
if (govButton instanceof HTMLElement) {
|
|
1241
|
+
govButton.click();
|
|
1242
|
+
return;
|
|
1243
|
+
}
|
|
1244
|
+
trigger?.click();
|
|
1245
|
+
}
|
|
1246
|
+
getGovDropdown() {
|
|
1247
|
+
const element = this.elementRef.nativeElement;
|
|
1248
|
+
if (typeof element.getState !== 'function') {
|
|
1249
|
+
return undefined;
|
|
1250
|
+
}
|
|
1251
|
+
return element;
|
|
1252
|
+
}
|
|
1253
|
+
getHost() {
|
|
1254
|
+
return this.injector.get(MenuKeyboardDirective, null, { optional: true });
|
|
1255
|
+
}
|
|
1256
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: GovDropdownKeyboardDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1257
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.3", type: GovDropdownKeyboardDirective, isStandalone: true, selector: "gov-dropdown[vGovDropdownKeyboard]", host: { listeners: { "gov-change": "onGovChange($event)" } }, providers: [
|
|
1258
|
+
{ provide: MENU_KEYBOARD_PORT, useExisting: GovDropdownKeyboardDirective },
|
|
1259
|
+
], ngImport: i0 });
|
|
1260
|
+
}
|
|
1261
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: GovDropdownKeyboardDirective, decorators: [{
|
|
1262
|
+
type: Directive,
|
|
1263
|
+
args: [{
|
|
1264
|
+
selector: 'gov-dropdown[vGovDropdownKeyboard]',
|
|
1265
|
+
host: {
|
|
1266
|
+
'(gov-change)': 'onGovChange($event)',
|
|
1267
|
+
},
|
|
1268
|
+
providers: [
|
|
1269
|
+
{ provide: MENU_KEYBOARD_PORT, useExisting: GovDropdownKeyboardDirective },
|
|
1270
|
+
],
|
|
1271
|
+
}]
|
|
1272
|
+
}] });
|
|
1273
|
+
|
|
1274
|
+
const GOV_DROPDOWN_BUTTON_ACTIVE_ITEM_CLASS = 'v-dropdown-button__item--focused';
|
|
1275
|
+
|
|
1101
1276
|
class DropdownButtonComponent {
|
|
1102
1277
|
label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : []));
|
|
1103
1278
|
icon = input(...(ngDevMode ? [undefined, { debugName: "icon" }] : []));
|
|
@@ -1108,8 +1283,16 @@ class DropdownButtonComponent {
|
|
|
1108
1283
|
size = input(...(ngDevMode ? [undefined, { debugName: "size" }] : []));
|
|
1109
1284
|
type = input(GovButtonType.solid, ...(ngDevMode ? [{ debugName: "type" }] : []));
|
|
1110
1285
|
items = input(undefined, ...(ngDevMode ? [{ debugName: "items" }] : []));
|
|
1286
|
+
keyboardNavigation = input(true, ...(ngDevMode ? [{ debugName: "keyboardNavigation" }] : []));
|
|
1287
|
+
menuKeyboardDefaults = {
|
|
1288
|
+
activeItemClass: GOV_DROPDOWN_BUTTON_ACTIVE_ITEM_CLASS,
|
|
1289
|
+
};
|
|
1111
1290
|
fireClick = output();
|
|
1291
|
+
menuKeyboard = viewChild(MenuKeyboardDirective, ...(ngDevMode ? [{ debugName: "menuKeyboard" }] : []));
|
|
1112
1292
|
fireClickItem(item) {
|
|
1293
|
+
if (item.disabled) {
|
|
1294
|
+
return;
|
|
1295
|
+
}
|
|
1113
1296
|
if (item.command) {
|
|
1114
1297
|
item.command();
|
|
1115
1298
|
}
|
|
@@ -1117,17 +1300,38 @@ class DropdownButtonComponent {
|
|
|
1117
1300
|
this.fireClick.emit(item);
|
|
1118
1301
|
}
|
|
1119
1302
|
}
|
|
1303
|
+
selectItem(item) {
|
|
1304
|
+
if (item.disabled) {
|
|
1305
|
+
return;
|
|
1306
|
+
}
|
|
1307
|
+
this.fireClickItem(item);
|
|
1308
|
+
void this.menuKeyboard()?.close(true);
|
|
1309
|
+
}
|
|
1120
1310
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: DropdownButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1121
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: DropdownButtonComponent, isStandalone: true, selector: "v-dropdown-button", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null }, raised: { classPropertyName: "raised", publicName: "raised", isSignal: true, isRequired: false, transformFunction: null }, outlined: { classPropertyName: "outlined", publicName: "outlined", isSignal: true, isRequired: false, transformFunction: null }, severity: { classPropertyName: "severity", publicName: "severity", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { fireClick: "fireClick" }, providers: [
|
|
1122
|
-
{
|
|
1123
|
-
|
|
1311
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: DropdownButtonComponent, isStandalone: true, selector: "v-dropdown-button", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null }, raised: { classPropertyName: "raised", publicName: "raised", isSignal: true, isRequired: false, transformFunction: null }, outlined: { classPropertyName: "outlined", publicName: "outlined", isSignal: true, isRequired: false, transformFunction: null }, severity: { classPropertyName: "severity", publicName: "severity", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, keyboardNavigation: { classPropertyName: "keyboardNavigation", publicName: "keyboardNavigation", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { fireClick: "fireClick" }, providers: [
|
|
1312
|
+
{
|
|
1313
|
+
provide: DROPDOWN_BUTTON_COMPONENT_TOKEN,
|
|
1314
|
+
useExisting: DropdownButtonComponent,
|
|
1315
|
+
},
|
|
1316
|
+
], viewQueries: [{ propertyName: "menuKeyboard", first: true, predicate: MenuKeyboardDirective, descendants: true, isSignal: true }], ngImport: i0, template: "<gov-dropdown\n vGovDropdownKeyboard\n vMenuKeyboard\n [menuKeyboardItems]=\"items() ?? []\"\n [menuKeyboardNavigation]=\"keyboardNavigation()\"\n [menuKeyboardDefaults]=\"menuKeyboardDefaults\"\n (menuKeyboardSelect)=\"fireClickItem($event)\"\n position=\"left\"\n>\n <v-button\n vMenuKeyboardTrigger\n class=\"v-dropdown-button__trigger\"\n [label]=\"label()\"\n [icon]=\"icon()\"\n [rounded]=\"rounded() ?? false\"\n [outlined]=\"outlined() ?? false\"\n [raised]=\"raised() ?? false\"\n [severity]=\"severity()\"\n [type]=\"type()\"\n [size]=\"size()\"\n />\n\n @if (items()?.length) {\n <ul vMenuKeyboardList slot=\"list\" class=\"v-dropdown-button__menu\">\n @for (item of items(); track item.id ?? $index; let i = $index) {\n <li class=\"v-dropdown-button__item\" role=\"none\">\n <v-button\n vMenuKeyboardItem\n [menuKeyboardItem]=\"item\"\n class=\"w-100 v-button--dropdown-menu-item\"\n [label]=\"item.label\"\n [icon]=\"item.icon\"\n [severity]=\"$any('normal')\"\n [size]=\"'medium'\"\n [type]=\"type()\"\n [disabled]=\"item.disabled ?? false\"\n (click)=\"selectItem(item)\"\n />\n </li>\n }\n </ul>\n }\n</gov-dropdown>\n", styles: ["v-dropdown-button{display:inline-block}v-dropdown-button gov-dropdown{display:inline-block}v-dropdown-button .v-dropdown-button__trigger{display:inline-block}v-dropdown-button .v-dropdown-button__menu{outline:none;list-style:none;padding:0;margin:0;box-sizing:border-box;min-width:100%;width:100%}v-dropdown-button .v-dropdown-button__menu:focus,v-dropdown-button .v-dropdown-button__menu:focus-visible{outline:none}v-dropdown-button .v-dropdown-button__item{border-bottom:1px solid var(--v-dropdown-button-item-border, color-mix(in srgb, currentColor 14%, transparent))}v-dropdown-button .v-dropdown-button__item:last-child{border-bottom:none}v-dropdown-button .v-dropdown-button__item--focused,v-dropdown-button .v-dropdown-button__item:hover{background-color:var(--v-dropdown-button-item-active-bg, color-mix(in srgb, var(--status-focus, var(--status-info, #0066cc)) 20%, transparent))}v-dropdown-button .v-dropdown-button__item--focused>v-button.v-button--dropdown-menu-item,v-dropdown-button .v-dropdown-button__item:hover>v-button.v-button--dropdown-menu-item{background-color:inherit}v-dropdown-button .v-dropdown-button__item v-button.v-button--dropdown-menu-item[role=menuitem]:focus,v-dropdown-button .v-dropdown-button__item v-button.v-button--dropdown-menu-item[role=menuitem]:focus-visible{outline:none}\n"], dependencies: [{ kind: "ngmodule", type: GovDesignSystemModule }, { kind: "component", type: i2.GovDropdown, selector: "gov-dropdown", inputs: ["identifier", "open", "position"] }, { kind: "component", type: ButtonComponent, selector: "v-button", inputs: ["label", "icon", "library", "badge", "iconPos", "disabled", "rounded", "outlined", "raised", "routerLink", "size", "queryParams", "severity", "type", "expanded", "name"], outputs: ["click"] }, { kind: "directive", type: GovDropdownKeyboardDirective, selector: "gov-dropdown[vGovDropdownKeyboard]" }, { kind: "directive", type: MenuKeyboardDirective, selector: "[vMenuKeyboard]", inputs: ["menuKeyboardItems", "menuKeyboardNavigation", "menuKeyboardEnableWhenUnset", "menuKeyboardDefaults", "menuKeyboardItemId"], outputs: ["menuKeyboardSelect"], exportAs: ["menuKeyboard"] }, { kind: "directive", type: MenuKeyboardTriggerDirective, selector: "[vMenuKeyboardTrigger]" }, { kind: "directive", type: MenuKeyboardListDirective, selector: "[vMenuKeyboardList]" }, { kind: "directive", type: MenuKeyboardItemDirective, selector: "[vMenuKeyboardItem]", inputs: ["menuKeyboardItem"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
1124
1317
|
}
|
|
1125
1318
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: DropdownButtonComponent, decorators: [{
|
|
1126
1319
|
type: Component,
|
|
1127
|
-
args: [{ selector: 'v-dropdown-button',
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1320
|
+
args: [{ selector: 'v-dropdown-button', encapsulation: ViewEncapsulation.None, imports: [
|
|
1321
|
+
GovDesignSystemModule,
|
|
1322
|
+
ButtonComponent,
|
|
1323
|
+
GovDropdownKeyboardDirective,
|
|
1324
|
+
MenuKeyboardDirective,
|
|
1325
|
+
MenuKeyboardTriggerDirective,
|
|
1326
|
+
MenuKeyboardListDirective,
|
|
1327
|
+
MenuKeyboardItemDirective,
|
|
1328
|
+
], providers: [
|
|
1329
|
+
{
|
|
1330
|
+
provide: DROPDOWN_BUTTON_COMPONENT_TOKEN,
|
|
1331
|
+
useExisting: DropdownButtonComponent,
|
|
1332
|
+
},
|
|
1333
|
+
], template: "<gov-dropdown\n vGovDropdownKeyboard\n vMenuKeyboard\n [menuKeyboardItems]=\"items() ?? []\"\n [menuKeyboardNavigation]=\"keyboardNavigation()\"\n [menuKeyboardDefaults]=\"menuKeyboardDefaults\"\n (menuKeyboardSelect)=\"fireClickItem($event)\"\n position=\"left\"\n>\n <v-button\n vMenuKeyboardTrigger\n class=\"v-dropdown-button__trigger\"\n [label]=\"label()\"\n [icon]=\"icon()\"\n [rounded]=\"rounded() ?? false\"\n [outlined]=\"outlined() ?? false\"\n [raised]=\"raised() ?? false\"\n [severity]=\"severity()\"\n [type]=\"type()\"\n [size]=\"size()\"\n />\n\n @if (items()?.length) {\n <ul vMenuKeyboardList slot=\"list\" class=\"v-dropdown-button__menu\">\n @for (item of items(); track item.id ?? $index; let i = $index) {\n <li class=\"v-dropdown-button__item\" role=\"none\">\n <v-button\n vMenuKeyboardItem\n [menuKeyboardItem]=\"item\"\n class=\"w-100 v-button--dropdown-menu-item\"\n [label]=\"item.label\"\n [icon]=\"item.icon\"\n [severity]=\"$any('normal')\"\n [size]=\"'medium'\"\n [type]=\"type()\"\n [disabled]=\"item.disabled ?? false\"\n (click)=\"selectItem(item)\"\n />\n </li>\n }\n </ul>\n }\n</gov-dropdown>\n", styles: ["v-dropdown-button{display:inline-block}v-dropdown-button gov-dropdown{display:inline-block}v-dropdown-button .v-dropdown-button__trigger{display:inline-block}v-dropdown-button .v-dropdown-button__menu{outline:none;list-style:none;padding:0;margin:0;box-sizing:border-box;min-width:100%;width:100%}v-dropdown-button .v-dropdown-button__menu:focus,v-dropdown-button .v-dropdown-button__menu:focus-visible{outline:none}v-dropdown-button .v-dropdown-button__item{border-bottom:1px solid var(--v-dropdown-button-item-border, color-mix(in srgb, currentColor 14%, transparent))}v-dropdown-button .v-dropdown-button__item:last-child{border-bottom:none}v-dropdown-button .v-dropdown-button__item--focused,v-dropdown-button .v-dropdown-button__item:hover{background-color:var(--v-dropdown-button-item-active-bg, color-mix(in srgb, var(--status-focus, var(--status-info, #0066cc)) 20%, transparent))}v-dropdown-button .v-dropdown-button__item--focused>v-button.v-button--dropdown-menu-item,v-dropdown-button .v-dropdown-button__item:hover>v-button.v-button--dropdown-menu-item{background-color:inherit}v-dropdown-button .v-dropdown-button__item v-button.v-button--dropdown-menu-item[role=menuitem]:focus,v-dropdown-button .v-dropdown-button__item v-button.v-button--dropdown-menu-item[role=menuitem]:focus-visible{outline:none}\n"] }]
|
|
1334
|
+
}], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], rounded: [{ type: i0.Input, args: [{ isSignal: true, alias: "rounded", required: false }] }], raised: [{ type: i0.Input, args: [{ isSignal: true, alias: "raised", required: false }] }], outlined: [{ type: i0.Input, args: [{ isSignal: true, alias: "outlined", required: false }] }], severity: [{ type: i0.Input, args: [{ isSignal: true, alias: "severity", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], keyboardNavigation: [{ type: i0.Input, args: [{ isSignal: true, alias: "keyboardNavigation", required: false }] }], fireClick: [{ type: i0.Output, args: ["fireClick"] }], menuKeyboard: [{ type: i0.ViewChild, args: [i0.forwardRef(() => MenuKeyboardDirective), { isSignal: true }] }] } });
|
|
1131
1335
|
|
|
1132
1336
|
class FormFieldComponent extends BaseFormInputComponent {
|
|
1133
1337
|
constructor(ngControl) {
|
|
@@ -1958,7 +2162,7 @@ class ActionButtonGroupComponent extends UnsubscribeComponent {
|
|
|
1958
2162
|
provide: ACTION_BUTTON_GROUP_COMPONENT_TOKEN,
|
|
1959
2163
|
useExisting: ActionButtonGroupComponent,
|
|
1960
2164
|
},
|
|
1961
|
-
], queries: [{ propertyName: "actions", predicate: ActionButtonComponent }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"v-action-button-group align-items-center justify-content-center justify-content-md-end\"\n>\n <div class=\"v-action-button-group__actions d-flex gap-2\">\n @for (action of visibleActions; track action) {\n <v-action-button\n [disabled]=\"action.disabled\"\n [icon]=\"action.icon\"\n [id]=\"action.id\"\n [outlined]=\"action.outlined\"\n [raised]=\"action.raised\"\n [toolTip]=\"action.toolTip || action.label\"\n [label]=\"showLabels ? action.label : undefined\"\n [severity]=\"action.severity\"\n [size]=\"action.size\"\n (click)=\"fireClick(action, $event)\"\n ></v-action-button>\n } @if (actions.length > visibleActions.length) {\n <v-dropdown-button\n [label]=\"label\"\n [icon]=\"menuIcon\"\n [items]=\"menuItems\"\n />\n }\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: ActionButtonComponent, selector: "v-action-button", inputs: ["disabled", "toolTip", "id", "icon", "outlined", "raised", "severity", "label", "size"], outputs: ["click"] }, { kind: "component", type: DropdownButtonComponent, selector: "v-dropdown-button", inputs: ["label", "icon", "rounded", "raised", "outlined", "severity", "size", "type", "items"], outputs: ["fireClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2165
|
+
], queries: [{ propertyName: "actions", predicate: ActionButtonComponent }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"v-action-button-group align-items-center justify-content-center justify-content-md-end\"\n>\n <div class=\"v-action-button-group__actions d-flex gap-2\">\n @for (action of visibleActions; track action) {\n <v-action-button\n [disabled]=\"action.disabled\"\n [icon]=\"action.icon\"\n [id]=\"action.id\"\n [outlined]=\"action.outlined\"\n [raised]=\"action.raised\"\n [toolTip]=\"action.toolTip || action.label\"\n [label]=\"showLabels ? action.label : undefined\"\n [severity]=\"action.severity\"\n [size]=\"action.size\"\n (click)=\"fireClick(action, $event)\"\n ></v-action-button>\n } @if (actions.length > visibleActions.length) {\n <v-dropdown-button\n [label]=\"label\"\n [icon]=\"menuIcon\"\n [items]=\"menuItems\"\n />\n }\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: ActionButtonComponent, selector: "v-action-button", inputs: ["disabled", "toolTip", "id", "icon", "outlined", "raised", "severity", "label", "size"], outputs: ["click"] }, { kind: "component", type: DropdownButtonComponent, selector: "v-dropdown-button", inputs: ["label", "icon", "rounded", "raised", "outlined", "severity", "size", "type", "items", "keyboardNavigation"], outputs: ["fireClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1962
2166
|
}
|
|
1963
2167
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ActionButtonGroupComponent, decorators: [{
|
|
1964
2168
|
type: Component,
|
|
@@ -3613,5 +3817,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
3613
3817
|
* Generated bundle index. Do not edit.
|
|
3614
3818
|
*/
|
|
3615
3819
|
|
|
3616
|
-
export { ActionButtonComponent, ActionButtonGroupComponent, BreadcrumbComponent, ButtonComponent, CalendarComponent, CheckboxComponent, ConfirmDialogComponent, DropdownButtonComponent, DropdownComponent, DynamicComponent, DynamicComponentFactoryService, ErrorComponent, FeatureListComponent, FilterComponent, FormFieldComponent, GenericFieldComponent, GenericFormComponent, GovColorPipe, GovInitService, GovMultiselectOptionsPipe, GovSizePipe, GovTagType, HeaderComponent, IconComponent, Icons, InputGroupComponent, LoaderComponent, MultiselectComponent, NotAuthenticatedComponent, NotAuthorizedComponent, NotFoundComponent, NumberInputComponent, PageHeaderComponent, PasswordComponent, RadioButtonComponent, SearchComponent, SectionComponent, SideMenuComponent, SideMenuModule, SnackbarComponent, SnackbarService, StepperComponent, SwitchComponent, TabViewComponent, TabViewItemComponent, TableComponent, TagComponent, TextareaComponent, TextfieldComponent, TooltipComponent, generateFormGroup, getColumnClass };
|
|
3820
|
+
export { ActionButtonComponent, ActionButtonGroupComponent, BreadcrumbComponent, ButtonComponent, CalendarComponent, CheckboxComponent, ConfirmDialogComponent, DropdownButtonComponent, DropdownComponent, DynamicComponent, DynamicComponentFactoryService, ErrorComponent, FeatureListComponent, FilterComponent, FormFieldComponent, GenericFieldComponent, GenericFormComponent, GovColorPipe, GovDropdownKeyboardDirective, GovInitService, GovMultiselectOptionsPipe, GovSizePipe, GovTagType, HeaderComponent, IconComponent, Icons, InputGroupComponent, LoaderComponent, MultiselectComponent, NotAuthenticatedComponent, NotAuthorizedComponent, NotFoundComponent, NumberInputComponent, PageHeaderComponent, PasswordComponent, RadioButtonComponent, SearchComponent, SectionComponent, SideMenuComponent, SideMenuModule, SnackbarComponent, SnackbarService, StepperComponent, SwitchComponent, TabViewComponent, TabViewItemComponent, TableComponent, TagComponent, TextareaComponent, TextfieldComponent, TooltipComponent, generateFormGroup, getColumnClass };
|
|
3617
3821
|
//# sourceMappingURL=verisoft-ui-govcz.mjs.map
|