@byuhbll/components 7.0.1 → 7.0.2
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/byuhbll-components.mjs +257 -8
- package/fesm2022/byuhbll-components.mjs.map +1 -1
- package/index.d.ts +178 -4
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -943,7 +943,8 @@ interface FieldInputs {
|
|
|
943
943
|
}
|
|
944
944
|
/**
|
|
945
945
|
* A flexible, reusable field (input) component that supports multiple states
|
|
946
|
-
* and optional icons on left and right.
|
|
946
|
+
* and optional icons on left and right. Also supports pre-tab and post-tab components
|
|
947
|
+
* via content projection for enhanced field functionality.
|
|
947
948
|
*
|
|
948
949
|
* @example
|
|
949
950
|
* ```html
|
|
@@ -962,6 +963,22 @@ interface FieldInputs {
|
|
|
962
963
|
* (iconAfterClick)="togglePasswordVisibility()">
|
|
963
964
|
* </lib-field>
|
|
964
965
|
*
|
|
966
|
+
* <!-- Field with pre-tab for website -->
|
|
967
|
+
* <lib-field placeholder="Enter website">
|
|
968
|
+
* <lib-pre-tab type="website"></lib-pre-tab>
|
|
969
|
+
* </lib-field>
|
|
970
|
+
*
|
|
971
|
+
* <!-- Field with post-tab for email -->
|
|
972
|
+
* <lib-field placeholder="Enter email address">
|
|
973
|
+
* <lib-post-tab type="email"></lib-post-tab>
|
|
974
|
+
* </lib-field>
|
|
975
|
+
*
|
|
976
|
+
* <!-- Field with both pre-tab and post-tab -->
|
|
977
|
+
* <lib-field placeholder="Enter phone number">
|
|
978
|
+
* <lib-pre-tab type="phone"></lib-pre-tab>
|
|
979
|
+
* <lib-post-tab type="phone" [showText]="false"></lib-post-tab>
|
|
980
|
+
* </lib-field>
|
|
981
|
+
*
|
|
965
982
|
* <!-- Error state with icon -->
|
|
966
983
|
* <lib-field
|
|
967
984
|
* placeholder="Email"
|
|
@@ -1046,7 +1063,7 @@ declare class FieldComponent implements ControlValueAccessor {
|
|
|
1046
1063
|
registerOnTouched(fn: () => void): void;
|
|
1047
1064
|
setDisabledState(isDisabled: boolean): void;
|
|
1048
1065
|
static ɵfac: i0.ɵɵFactoryDeclaration<FieldComponent, never>;
|
|
1049
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FieldComponent, "lib-field", never, { "inputType": { "alias": "inputType"; "required": false; }; "inputId": { "alias": "inputId"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "state": { "alias": "state"; "required": false; }; "status": { "alias": "status"; "required": false; }; "iconBefore": { "alias": "iconBefore"; "required": false; }; "iconAfter": { "alias": "iconAfter"; "required": false; }; "iconBeforeClickable": { "alias": "iconBeforeClickable"; "required": false; }; "iconAfterClickable": { "alias": "iconAfterClickable"; "required": false; }; "iconBeforeAction": { "alias": "iconBeforeAction"; "required": false; }; "iconAfterAction": { "alias": "iconAfterAction"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "value": { "alias": "value"; "required": false; }; "isFullText": { "alias": "isFullText"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "minWidth": { "alias": "minWidth"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; "minHeight": { "alias": "minHeight"; "required": false; }; "maxHeight": { "alias": "maxHeight"; "required": false; }; }, { "valueChange": "valueChange"; "iconBeforeClick": "iconBeforeClick"; "iconAfterClick": "iconAfterClick"; "fieldFocus": "fieldFocus"; "fieldBlur": "fieldBlur"; }, never,
|
|
1066
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FieldComponent, "lib-field", never, { "inputType": { "alias": "inputType"; "required": false; }; "inputId": { "alias": "inputId"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "state": { "alias": "state"; "required": false; }; "status": { "alias": "status"; "required": false; }; "iconBefore": { "alias": "iconBefore"; "required": false; }; "iconAfter": { "alias": "iconAfter"; "required": false; }; "iconBeforeClickable": { "alias": "iconBeforeClickable"; "required": false; }; "iconAfterClickable": { "alias": "iconAfterClickable"; "required": false; }; "iconBeforeAction": { "alias": "iconBeforeAction"; "required": false; }; "iconAfterAction": { "alias": "iconAfterAction"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "value": { "alias": "value"; "required": false; }; "isFullText": { "alias": "isFullText"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "minWidth": { "alias": "minWidth"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; "minHeight": { "alias": "minHeight"; "required": false; }; "maxHeight": { "alias": "maxHeight"; "required": false; }; }, { "valueChange": "valueChange"; "iconBeforeClick": "iconBeforeClick"; "iconAfterClick": "iconAfterClick"; "fieldFocus": "fieldFocus"; "fieldBlur": "fieldBlur"; }, never, ["lib-pre-tab", "lib-post-tab"], true, never>;
|
|
1050
1067
|
}
|
|
1051
1068
|
|
|
1052
1069
|
type LabelType = 'none' | 'required' | 'optional';
|
|
@@ -1238,6 +1255,157 @@ declare class RadioButtonComponent implements ControlValueAccessor {
|
|
|
1238
1255
|
static ngAcceptInputType_disabled: unknown;
|
|
1239
1256
|
}
|
|
1240
1257
|
|
|
1258
|
+
type PreTabType = 'website' | 'email' | 'phone' | 'fax' | 'address' | 'social' | 'custom';
|
|
1259
|
+
interface PreTabInputs {
|
|
1260
|
+
type?: PreTabType;
|
|
1261
|
+
icon?: string;
|
|
1262
|
+
text?: string;
|
|
1263
|
+
action?: () => void;
|
|
1264
|
+
disabled?: boolean;
|
|
1265
|
+
ariaLabel?: string;
|
|
1266
|
+
}
|
|
1267
|
+
/**
|
|
1268
|
+
* A prefix tab component that displays an icon and text before an input field.
|
|
1269
|
+
* Provides default presets for common types (website, email, phone) or custom configuration.
|
|
1270
|
+
*
|
|
1271
|
+
* @example
|
|
1272
|
+
* ```html
|
|
1273
|
+
* <!-- Website preset -->
|
|
1274
|
+
* <lib-pre-tab type="website"></lib-pre-tab>
|
|
1275
|
+
*
|
|
1276
|
+
* <!-- Email preset -->
|
|
1277
|
+
* <lib-pre-tab type="email"></lib-pre-tab>
|
|
1278
|
+
*
|
|
1279
|
+
* <!-- Phone preset -->
|
|
1280
|
+
* <lib-pre-tab type="phone"></lib-pre-tab>
|
|
1281
|
+
*
|
|
1282
|
+
* <!-- Fax preset -->
|
|
1283
|
+
* <lib-pre-tab type="fax"></lib-pre-tab>
|
|
1284
|
+
*
|
|
1285
|
+
* <!-- Address preset -->
|
|
1286
|
+
* <lib-pre-tab type="address"></lib-pre-tab>
|
|
1287
|
+
*
|
|
1288
|
+
* <!-- Social media preset -->
|
|
1289
|
+
* <lib-pre-tab type="social"></lib-pre-tab>
|
|
1290
|
+
*
|
|
1291
|
+
* <!-- Custom configuration -->
|
|
1292
|
+
* <lib-pre-tab
|
|
1293
|
+
* type="custom"
|
|
1294
|
+
* icon="location_on"
|
|
1295
|
+
* text="Address">
|
|
1296
|
+
* </lib-pre-tab>
|
|
1297
|
+
*
|
|
1298
|
+
* <!-- Actionable state -->
|
|
1299
|
+
* <lib-pre-tab type="email" [action]="onPreTabAction"></lib-pre-tab>
|
|
1300
|
+
*
|
|
1301
|
+
* <!-- Disabled state -->
|
|
1302
|
+
* <lib-pre-tab type="website" [disabled]="true"></lib-pre-tab>
|
|
1303
|
+
* ```
|
|
1304
|
+
*/
|
|
1305
|
+
declare class PreTabComponent {
|
|
1306
|
+
type: PreTabType;
|
|
1307
|
+
icon?: string;
|
|
1308
|
+
text?: string;
|
|
1309
|
+
action?: () => void;
|
|
1310
|
+
disabled: boolean;
|
|
1311
|
+
ariaLabel?: string;
|
|
1312
|
+
/**
|
|
1313
|
+
* Default preset configurations
|
|
1314
|
+
*/
|
|
1315
|
+
private readonly presets;
|
|
1316
|
+
/**
|
|
1317
|
+
* Gets the icon to display based on type or custom input
|
|
1318
|
+
*/
|
|
1319
|
+
get displayIcon(): string;
|
|
1320
|
+
/**
|
|
1321
|
+
* Gets the text to display based on type or custom input
|
|
1322
|
+
*/
|
|
1323
|
+
get displayText(): string;
|
|
1324
|
+
/**
|
|
1325
|
+
* Gets the computed aria-label for accessibility
|
|
1326
|
+
*/
|
|
1327
|
+
get computedAriaLabel(): string;
|
|
1328
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PreTabComponent, never>;
|
|
1329
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PreTabComponent, "lib-pre-tab", never, { "type": { "alias": "type"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "text": { "alias": "text"; "required": false; }; "action": { "alias": "action"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; }, {}, never, never, true, never>;
|
|
1330
|
+
}
|
|
1331
|
+
|
|
1332
|
+
type PostTabType = 'website' | 'email' | 'phone' | 'fax' | 'address' | 'social' | 'custom';
|
|
1333
|
+
interface PostTabInputs {
|
|
1334
|
+
type?: PostTabType;
|
|
1335
|
+
icon?: string;
|
|
1336
|
+
text?: string;
|
|
1337
|
+
showText?: boolean;
|
|
1338
|
+
action?: () => void;
|
|
1339
|
+
disabled?: boolean;
|
|
1340
|
+
ariaLabel?: string;
|
|
1341
|
+
}
|
|
1342
|
+
/**
|
|
1343
|
+
* A suffix tab component that displays an icon (and optionally text) after an input field.
|
|
1344
|
+
* Provides default presets for common types (website, email, phone) or custom configuration.
|
|
1345
|
+
*
|
|
1346
|
+
* @example
|
|
1347
|
+
* ```html
|
|
1348
|
+
* <!-- Website preset (icon only) -->
|
|
1349
|
+
* <lib-post-tab type="website"></lib-post-tab>
|
|
1350
|
+
*
|
|
1351
|
+
* <!-- Email preset (icon only) -->
|
|
1352
|
+
* <lib-post-tab type="email"></lib-post-tab>
|
|
1353
|
+
*
|
|
1354
|
+
* <!-- Phone preset with text -->
|
|
1355
|
+
* <lib-post-tab type="phone" [showText]="true"></lib-post-tab>
|
|
1356
|
+
*
|
|
1357
|
+
* <!-- Fax preset -->
|
|
1358
|
+
* <lib-post-tab type="fax"></lib-post-tab>
|
|
1359
|
+
*
|
|
1360
|
+
* <!-- Address preset -->
|
|
1361
|
+
* <lib-post-tab type="address"></lib-post-tab>
|
|
1362
|
+
*
|
|
1363
|
+
* <!-- Social media preset -->
|
|
1364
|
+
* <lib-post-tab type="social"></lib-post-tab>
|
|
1365
|
+
*
|
|
1366
|
+
* <!-- Custom configuration -->
|
|
1367
|
+
* <lib-post-tab
|
|
1368
|
+
* type="custom"
|
|
1369
|
+
* icon="location_on"
|
|
1370
|
+
* text="Address"
|
|
1371
|
+
* [showText]="true">
|
|
1372
|
+
* </lib-post-tab>
|
|
1373
|
+
*
|
|
1374
|
+
* <!-- Actionable state -->
|
|
1375
|
+
* <lib-post-tab type="phone" [action]="onPostTabAction"></lib-post-tab>
|
|
1376
|
+
*
|
|
1377
|
+
* <!-- Disabled state -->
|
|
1378
|
+
* <lib-post-tab type="website" [disabled]="true"></lib-post-tab>
|
|
1379
|
+
* ```
|
|
1380
|
+
*/
|
|
1381
|
+
declare class PostTabComponent {
|
|
1382
|
+
type: PostTabType;
|
|
1383
|
+
icon?: string;
|
|
1384
|
+
text?: string;
|
|
1385
|
+
showText: boolean;
|
|
1386
|
+
action?: () => void;
|
|
1387
|
+
disabled: boolean;
|
|
1388
|
+
ariaLabel?: string;
|
|
1389
|
+
/**
|
|
1390
|
+
* Default preset configurations
|
|
1391
|
+
*/
|
|
1392
|
+
private readonly presets;
|
|
1393
|
+
/**
|
|
1394
|
+
* Gets the icon to display based on type or custom input
|
|
1395
|
+
*/
|
|
1396
|
+
get displayIcon(): string;
|
|
1397
|
+
/**
|
|
1398
|
+
* Gets the text to display based on type or custom input
|
|
1399
|
+
*/
|
|
1400
|
+
get displayText(): string;
|
|
1401
|
+
/**
|
|
1402
|
+
* Gets the computed aria-label for accessibility
|
|
1403
|
+
*/
|
|
1404
|
+
get computedAriaLabel(): string;
|
|
1405
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PostTabComponent, never>;
|
|
1406
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PostTabComponent, "lib-post-tab", never, { "type": { "alias": "type"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "text": { "alias": "text"; "required": false; }; "showText": { "alias": "showText"; "required": false; }; "action": { "alias": "action"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; }, {}, never, never, true, never>;
|
|
1407
|
+
}
|
|
1408
|
+
|
|
1241
1409
|
type DropdownState = 'default' | 'hover' | 'focused' | 'error' | 'success' | 'disabled';
|
|
1242
1410
|
interface DropdownOption {
|
|
1243
1411
|
value: string;
|
|
@@ -1310,12 +1478,14 @@ declare class DropdownComponent implements ControlValueAccessor, OnInit {
|
|
|
1310
1478
|
valueChange: EventEmitter<string>;
|
|
1311
1479
|
helpIconClick: EventEmitter<void>;
|
|
1312
1480
|
dropdownInput?: FieldComponent;
|
|
1481
|
+
dropdownMenuItems?: ElementRef;
|
|
1313
1482
|
value: string;
|
|
1314
1483
|
searchText: string;
|
|
1315
1484
|
isOpen: boolean;
|
|
1316
1485
|
selectedIndex: number;
|
|
1317
1486
|
filteredOptions: DropdownOption[];
|
|
1318
1487
|
private elementRef;
|
|
1488
|
+
private cdr;
|
|
1319
1489
|
private onChange;
|
|
1320
1490
|
private onTouched;
|
|
1321
1491
|
ngOnInit(): void;
|
|
@@ -1335,6 +1505,10 @@ declare class DropdownComponent implements ControlValueAccessor, OnInit {
|
|
|
1335
1505
|
* Filters options based on search text
|
|
1336
1506
|
*/
|
|
1337
1507
|
filterOptions(): void;
|
|
1508
|
+
/**
|
|
1509
|
+
* Scrolls the highlighted item into view
|
|
1510
|
+
*/
|
|
1511
|
+
private scrollHighlightedIntoView;
|
|
1338
1512
|
/**
|
|
1339
1513
|
* Selects an option from the dropdown
|
|
1340
1514
|
*/
|
|
@@ -1363,5 +1537,5 @@ declare class DropdownComponent implements ControlValueAccessor, OnInit {
|
|
|
1363
1537
|
static ɵcmp: i0.ɵɵComponentDeclaration<DropdownComponent, "lib-dropdown", never, { "label": { "alias": "label"; "required": false; }; "inputId": { "alias": "inputId"; "required": false; }; "labelType": { "alias": "labelType"; "required": false; }; "showHelpIcon": { "alias": "showHelpIcon"; "required": false; }; "subtext": { "alias": "subtext"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "options": { "alias": "options"; "required": false; }; "state": { "alias": "state"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "searchable": { "alias": "searchable"; "required": false; }; }, { "valueChange": "valueChange"; "helpIconClick": "helpIconClick"; }, never, never, true, never>;
|
|
1364
1538
|
}
|
|
1365
1539
|
|
|
1366
|
-
export { ADVANCED_SEARCH_FIELD_MAP, ADVANCED_SEARCH_OPTIONS, ADVANCED_SEARCH_QUALIFIER_MAP, ButtonComponent, ButtonGroupComponent, ButtonGroupItemComponent, CheckboxComponent, DropdownComponent, FieldComponent, HbllFooterComponent, HbllHeaderComponent, HbllItemTypeIconPipe, HeaderWithImpersonationComponent, ImpersonateModalComponent, ImpersonateUserPipe, ImpersonationBannerComponent, LIBRARY_HOURS_API_URL, LabelComponent, LinkComponent, RadioButtonComponent, SnackbarComponent, SnackbarService, SsSearchBarComponent, StatusButtonComponent, TabBarComponent, TabItemComponent, defaultOidcBaseUri, defaultOidcDefaultIdp, getUserStatusFromRoles, isAdvancedSearchExternalFieldOption, isAdvancedSearchFieldOption, isAdvancedSearchLocalFieldOption, isSearchScope };
|
|
1367
|
-
export type { AdvancedSearchBooleanOption, AdvancedSearchExternalFieldOption, AdvancedSearchFieldOption, AdvancedSearchLanguageOption, AdvancedSearchLocalFieldOption, AdvancedSearchQualifier, AdvancedSearchQualifierOption, AdvancedSearchQueryRow, AdvancedSearchResultsPerPageOption, ButtonInputs, ButtonType, CheckboxInputs, DropdownInputs, DropdownOption, DropdownState, FieldInputs, FieldState, FieldStatus, ImpersonateSearchResult, InputType, LabelInputs, LabelPosition, LabelType, LinkIconPosition, LinkInputs, LinkState, LinkType, RadioButtonChange, SearchConfig, SearchScope, SnackbarInputs, SnackbarPurpose, Status, StatusButtonInputs };
|
|
1540
|
+
export { ADVANCED_SEARCH_FIELD_MAP, ADVANCED_SEARCH_OPTIONS, ADVANCED_SEARCH_QUALIFIER_MAP, ButtonComponent, ButtonGroupComponent, ButtonGroupItemComponent, CheckboxComponent, DropdownComponent, FieldComponent, HbllFooterComponent, HbllHeaderComponent, HbllItemTypeIconPipe, HeaderWithImpersonationComponent, ImpersonateModalComponent, ImpersonateUserPipe, ImpersonationBannerComponent, LIBRARY_HOURS_API_URL, LabelComponent, LinkComponent, PostTabComponent, PreTabComponent, RadioButtonComponent, SnackbarComponent, SnackbarService, SsSearchBarComponent, StatusButtonComponent, TabBarComponent, TabItemComponent, defaultOidcBaseUri, defaultOidcDefaultIdp, getUserStatusFromRoles, isAdvancedSearchExternalFieldOption, isAdvancedSearchFieldOption, isAdvancedSearchLocalFieldOption, isSearchScope };
|
|
1541
|
+
export type { AdvancedSearchBooleanOption, AdvancedSearchExternalFieldOption, AdvancedSearchFieldOption, AdvancedSearchLanguageOption, AdvancedSearchLocalFieldOption, AdvancedSearchQualifier, AdvancedSearchQualifierOption, AdvancedSearchQueryRow, AdvancedSearchResultsPerPageOption, ButtonInputs, ButtonType, CheckboxInputs, DropdownInputs, DropdownOption, DropdownState, FieldInputs, FieldState, FieldStatus, ImpersonateSearchResult, InputType, LabelInputs, LabelPosition, LabelType, LinkIconPosition, LinkInputs, LinkState, LinkType, PostTabInputs, PostTabType, PreTabInputs, PreTabType, RadioButtonChange, SearchConfig, SearchScope, SnackbarInputs, SnackbarPurpose, Status, StatusButtonInputs };
|