@theseam/ui-common 1.0.2-beta.39 → 1.0.2-beta.43

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,16 +1,19 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, ElementRef, Directive, InjectionToken, ChangeDetectorRef, HostListener, HostBinding, Input, forwardRef, ViewContainerRef, isDevMode, TemplateRef, ContentChild, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule, ViewChild, EventEmitter, Output, Injectable, Injector, ViewChildren, Inject, Optional, ContentChildren } from '@angular/core';
3
- import { tap, map, startWith, switchMap, shareReplay, mapTo, take, auditTime, debounceTime, takeUntil, distinctUntilChanged, finalize, filter } from 'rxjs/operators';
2
+ import { isDevMode, inject, ElementRef, Directive, InjectionToken, ChangeDetectorRef, HostListener, HostBinding, Input, forwardRef, ViewContainerRef, TemplateRef, ContentChild, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule, ViewChild, EventEmitter, Output, Injectable, Injector, ViewChildren, Inject, Optional, ContentChildren } from '@angular/core';
3
+ import * as i3$2 from '@angular/forms';
4
+ import { AbstractControl, Validators, FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
5
+ import { isEmptyInputValue, hasProperty, notNullOrUndefined, observeControlValue, observeControlStatus, isNullOrUndefined } from '@theseam/ui-common/utils';
6
+ import { firstValueFrom, isObservable, BehaviorSubject, from, Subject, of, combineLatest, map as map$1, defer, Observable } from 'rxjs';
7
+ import { take, map, distinctUntilChanged, auditTime, tap, startWith, switchMap, shareReplay, mapTo, debounceTime, takeUntil, finalize, filter } from 'rxjs/operators';
8
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
9
  import * as i1 from '@angular/cdk/portal';
5
10
  import { TemplatePortal, PortalModule, BasePortalOutlet, ComponentPortal } from '@angular/cdk/portal';
6
11
  import * as i2$1 from '@angular/common';
7
12
  import { NgIf, NgFor, NgTemplateOutlet, AsyncPipe, CommonModule, NgStyle } from '@angular/common';
8
- import { BehaviorSubject, from, isObservable, Subject, of, combineLatest, map as map$1, defer, Observable } from 'rxjs';
9
13
  import { faAngleDoubleRight, faAngleDoubleLeft, faLock, faUnlock, faAngleLeft, faBars, faAngleDown } from '@fortawesome/free-solid-svg-icons';
10
14
  import * as i1$3 from '@theseam/ui-common/layout';
11
15
  import { TheSeamLayoutService, TheSeamLayoutModule } from '@theseam/ui-common/layout';
12
16
  import { TheSeamOverlayScrollbarDirective } from '@theseam/ui-common/scrollbar';
13
- import { hasProperty, notNullOrUndefined, observeControlValue, observeControlStatus, isNullOrUndefined } from '@theseam/ui-common/utils';
14
17
  import { __decorate } from 'tslib';
15
18
  import { coerceNumberProperty, coerceBooleanProperty } from '@angular/cdk/coercion';
16
19
  import * as i1$1 from '@angular/cdk/drag-drop';
@@ -37,8 +40,6 @@ import { MenuComponent, TheSeamMenuModule } from '@theseam/ui-common/menu';
37
40
  import { faUserCircle } from '@fortawesome/free-regular-svg-icons';
38
41
  import * as i1$5 from '@ajsf/core';
39
42
  import { JsonSchemaFormModule, isArray, buildTitleMap, hasOwn, JsonSchemaFormService, Framework, WidgetLibraryModule, FrameworkLibraryService, WidgetLibraryService } from '@ajsf/core';
40
- import * as i3$2 from '@angular/forms';
41
- import { ReactiveFormsModule } from '@angular/forms';
42
43
  import { TheSeamCheckboxComponent } from '@theseam/ui-common/checkbox';
43
44
  import * as i4$1 from '@theseam/ui-common/form-field';
44
45
  import { TheSeamFormFieldModule } from '@theseam/ui-common/form-field';
@@ -50,6 +51,383 @@ import { Platform } from '@angular/cdk/platform';
50
51
  import * as i4$2 from '@theseam/ui-common/tiled-select';
51
52
  import { TheSeamTiledSelectModule } from '@theseam/ui-common/tiled-select';
52
53
 
54
+ const DEFAULT_ADDRESS_FIELD_CONFIG = {
55
+ address1MaxLength: 50,
56
+ address2MaxLength: 50,
57
+ cityMaxLength: 50,
58
+ stateMaxLength: 200,
59
+ countryMaxLength: 10,
60
+ zipcodePattern: /^\d{5}(?:[-\s]\d{4})?$/,
61
+ };
62
+
63
+ const DEFAULT_USERNAME_FIELD_CONFIG = {
64
+ minLength: 8,
65
+ pattern: /^[a-zA-Z0-9\-._@+]+$/,
66
+ };
67
+
68
+ const DEFAULT_PASSWORD_FIELD_CONFIG = {
69
+ minLength: 8,
70
+ };
71
+
72
+ function isCountryUSA(control) {
73
+ return control.value === 'USA';
74
+ }
75
+
76
+ /**
77
+ * Use Validator if 'country' control value is 'USA'.
78
+ *
79
+ * If `countryControlOrPath` is not provided, it will be assumed there is a
80
+ * sibling named 'country'.
81
+ */
82
+ function ifUSA(fn, countryControlOrPath) {
83
+ return (control) => {
84
+ let countryControl = null;
85
+ if (countryControlOrPath) {
86
+ if (typeof countryControlOrPath === 'string' ||
87
+ Array.isArray(countryControlOrPath)) {
88
+ countryControl = control.parent?.get(countryControlOrPath) ?? null;
89
+ }
90
+ else {
91
+ countryControl = countryControlOrPath;
92
+ }
93
+ }
94
+ else {
95
+ countryControl = control.parent?.get('country') ?? null;
96
+ }
97
+ if (!countryControl) {
98
+ return null;
99
+ }
100
+ if (!(countryControl instanceof AbstractControl)) {
101
+ if (isDevMode()) {
102
+ // eslint-disable-next-line no-console
103
+ console.warn(`ifUSA expects 'country' control to be a FormControl.`);
104
+ }
105
+ return null;
106
+ }
107
+ if (!isEmptyInputValue(countryControl.value) &&
108
+ isCountryUSA(countryControl)) {
109
+ return fn(control);
110
+ }
111
+ return null;
112
+ };
113
+ }
114
+
115
+ function stateProvinceRegionValidator(stateCodes) {
116
+ return async (control) => {
117
+ const errorName = 'stateProvinceRegion';
118
+ const value = control.value;
119
+ if (isEmptyInputValue(value)) {
120
+ return null;
121
+ }
122
+ if (control.parent == null) {
123
+ return null;
124
+ }
125
+ const countryControl = control.parent.get('country');
126
+ if (countryControl === null) {
127
+ // eslint-disable-next-line no-console
128
+ console.warn(`stateProvinceRegionValidator requires sibling control named 'country'.`);
129
+ return null;
130
+ }
131
+ if (isCountryUSA(countryControl)) {
132
+ const isValidStateCode = await firstValueFrom(stateCodes.pipe(take(1), map((codes) => codes.indexOf(value) !== -1)));
133
+ return isValidStateCode
134
+ ? null
135
+ : {
136
+ [errorName]: {
137
+ reason: `If value of 'country' is 'USA' then a valid state must be selected.`,
138
+ },
139
+ };
140
+ }
141
+ return null;
142
+ };
143
+ }
144
+
145
+ /**
146
+ * Validates that a username already exists.
147
+ *
148
+ * Mirrors the `emailExistsValidator` pattern from `@theseam/ui-common/validators`.
149
+ */
150
+ function usernameExistsValidator(userExists) {
151
+ return (control) => {
152
+ const validationResult = (exists) => {
153
+ return exists === false ? null : { usernameExists: {} };
154
+ };
155
+ const fnRes = userExists(control.value);
156
+ if (isObservable(fnRes)) {
157
+ return firstValueFrom(fnRes.pipe(map(validationResult)));
158
+ }
159
+ return Promise.resolve(fnRes).then(validationResult);
160
+ };
161
+ }
162
+
163
+ /**
164
+ * Rejects passwords that contain the word "password" (case-insensitive).
165
+ */
166
+ function passwordContentValidator(control) {
167
+ if (isEmptyInputValue(control.value)) {
168
+ return null;
169
+ }
170
+ return control.value.toLowerCase().indexOf('password') === -1
171
+ ? null
172
+ : { passwordContent: { value: 'password' } };
173
+ }
174
+
175
+ /**
176
+ * Requires at least one lowercase letter.
177
+ */
178
+ function passwordLowercaseValidator(control) {
179
+ if (isEmptyInputValue(control.value)) {
180
+ return null;
181
+ }
182
+ return control.value.match(/[a-z]/) ? null : { passwordLowercase: {} };
183
+ }
184
+
185
+ /**
186
+ * Requires at least one uppercase letter.
187
+ */
188
+ function passwordUppercaseValidator(control) {
189
+ if (isEmptyInputValue(control.value)) {
190
+ return null;
191
+ }
192
+ return control.value.match(/[A-Z]/) ? null : { passwordUppercase: {} };
193
+ }
194
+
195
+ /**
196
+ * Requires at least one digit.
197
+ */
198
+ function passwordNumberValidator(control) {
199
+ if (isEmptyInputValue(control.value)) {
200
+ return null;
201
+ }
202
+ return control.value.match(/\d/) ? null : { passwordNumber: {} };
203
+ }
204
+
205
+ /**
206
+ * Requires at least one special character.
207
+ */
208
+ function passwordSpecialCharValidator(control) {
209
+ if (isEmptyInputValue(control.value)) {
210
+ return null;
211
+ }
212
+ return control.value.match(/[-!@#$%^&*()_+|~=`{}[\]:";'<>?,./]/)
213
+ ? null
214
+ : { passwordSpecialChar: {} };
215
+ }
216
+
217
+ const DEFAULT_CONFIG = {
218
+ minLength: 8,
219
+ };
220
+ /**
221
+ * Requires password to meet a minimum length.
222
+ */
223
+ function passwordLengthValidator(config) {
224
+ const c = { ...DEFAULT_CONFIG, ...config };
225
+ return (control) => {
226
+ if (isEmptyInputValue(control.value)) {
227
+ return null;
228
+ }
229
+ return control.value.length >= c.minLength ? null : { passwordLength: {} };
230
+ };
231
+ }
232
+
233
+ /**
234
+ * Group-level validator that checks password1 and password2 controls match.
235
+ */
236
+ function passwordMatchValidator(g) {
237
+ const control1 = g.get('password1');
238
+ const control2 = g.get('password2');
239
+ const value1 = control1 && control1.value;
240
+ const value2 = control2 && control2.value;
241
+ return value1 === value2 ? null : { passwordMatch: true };
242
+ }
243
+
244
+ function getAddress1Validators(config, overrides) {
245
+ const c = { ...DEFAULT_ADDRESS_FIELD_CONFIG, ...config };
246
+ const o = { required: true, ...overrides };
247
+ const validators = [
248
+ ...(o.required ? [Validators.required] : []),
249
+ Validators.maxLength(c.address1MaxLength),
250
+ Validators.pattern(/[A-Za-z0-9]+/),
251
+ ];
252
+ return { validators, asyncValidators: [] };
253
+ }
254
+
255
+ function getAddress2Validators(config, overrides) {
256
+ const c = { ...DEFAULT_ADDRESS_FIELD_CONFIG, ...config };
257
+ const o = { required: false, ...overrides };
258
+ return {
259
+ validators: [
260
+ ...(o.required ? [Validators.required] : []),
261
+ Validators.maxLength(c.address2MaxLength),
262
+ ],
263
+ asyncValidators: [],
264
+ };
265
+ }
266
+
267
+ function getCityValidators(config, overrides) {
268
+ const c = { ...DEFAULT_ADDRESS_FIELD_CONFIG, ...config };
269
+ const o = { required: true, ...overrides };
270
+ const validators = [
271
+ ...(o.required ? [Validators.required] : []),
272
+ Validators.maxLength(c.cityMaxLength),
273
+ Validators.pattern(/[A-Za-z0-9]+/),
274
+ ];
275
+ return { validators, asyncValidators: [] };
276
+ }
277
+
278
+ const onlyAllowUsaValidator = (control) => {
279
+ if (isEmptyInputValue(control.value)) {
280
+ return null;
281
+ }
282
+ return control.value !== 'USA' ? { onlyAllowUsa: {} } : null;
283
+ };
284
+ function getCountryValidators(config, options, overrides) {
285
+ const c = { ...DEFAULT_ADDRESS_FIELD_CONFIG, ...config };
286
+ const o = { required: true, ...overrides };
287
+ const validators = [
288
+ ...(o.required ? [Validators.required] : []),
289
+ Validators.maxLength(c.countryMaxLength),
290
+ ];
291
+ if (options?.onlyAllowUsa) {
292
+ validators.push(onlyAllowUsaValidator);
293
+ }
294
+ return { validators, asyncValidators: [] };
295
+ }
296
+
297
+ function getStateValidators(stateCodes, countryControlOrPath, requiredOutsideUSA = true, config) {
298
+ const c = { ...DEFAULT_ADDRESS_FIELD_CONFIG, ...config };
299
+ const validators = [];
300
+ if (requiredOutsideUSA) {
301
+ validators.push(Validators.required);
302
+ }
303
+ else {
304
+ validators.push(ifUSA(Validators.required, countryControlOrPath));
305
+ }
306
+ validators.push(Validators.maxLength(c.stateMaxLength));
307
+ const asyncValidators = [
308
+ stateProvinceRegionValidator(stateCodes),
309
+ ];
310
+ return { validators, asyncValidators };
311
+ }
312
+
313
+ function getZipValidators(countryControlOrPath, config) {
314
+ const c = { ...DEFAULT_ADDRESS_FIELD_CONFIG, ...config };
315
+ return {
316
+ validators: [
317
+ ifUSA(Validators.required, countryControlOrPath),
318
+ ifUSA(Validators.pattern(c.zipcodePattern), countryControlOrPath),
319
+ Validators.maxLength(10),
320
+ ],
321
+ asyncValidators: [],
322
+ };
323
+ }
324
+
325
+ function getUsernameValidators(userExists, config, overrides) {
326
+ const c = { ...DEFAULT_USERNAME_FIELD_CONFIG, ...config };
327
+ const o = { required: true, ...overrides };
328
+ return {
329
+ validators: [
330
+ ...(o.required ? [Validators.required] : []),
331
+ Validators.minLength(c.minLength),
332
+ Validators.pattern(c.pattern),
333
+ ],
334
+ asyncValidators: [usernameExistsValidator(userExists)],
335
+ };
336
+ }
337
+
338
+ function getPasswordValidators(config, overrides) {
339
+ const o = { required: true, ...overrides };
340
+ return {
341
+ validators: [
342
+ ...(o.required ? [Validators.required] : []),
343
+ passwordContentValidator,
344
+ passwordLengthValidator(config),
345
+ passwordUppercaseValidator,
346
+ passwordLowercaseValidator,
347
+ passwordNumberValidator,
348
+ passwordSpecialCharValidator,
349
+ ],
350
+ asyncValidators: [],
351
+ };
352
+ }
353
+
354
+ function createAddress1Control(formState = null, config, overrides) {
355
+ const v = getAddress1Validators(config, overrides);
356
+ return new FormControl(formState, v.validators, v.asyncValidators);
357
+ }
358
+
359
+ function createAddress2Control(formState = null, config, overrides) {
360
+ const v = getAddress2Validators(config, overrides);
361
+ return new FormControl(formState, v.validators, v.asyncValidators);
362
+ }
363
+
364
+ function createCityControl(formState = null, config, overrides) {
365
+ const v = getCityValidators(config, overrides);
366
+ return new FormControl(formState, v.validators, v.asyncValidators);
367
+ }
368
+
369
+ function createCountryControl(formState = null, options, overrides) {
370
+ const v = getCountryValidators(undefined, options, overrides);
371
+ return new FormControl(formState, v.validators, v.asyncValidators);
372
+ }
373
+
374
+ function createStateControl(formState = null, stateCodes, requiredOutsideUSA = true) {
375
+ const v = getStateValidators(stateCodes, undefined, requiredOutsideUSA);
376
+ return new FormControl(formState, v.validators, v.asyncValidators);
377
+ }
378
+
379
+ function createZipControl(formState = null) {
380
+ const v = getZipValidators();
381
+ return new FormControl(formState, v.validators, v.asyncValidators);
382
+ }
383
+
384
+ function createUsernameControl(formState = null, userExists, config, overrides) {
385
+ const v = getUsernameValidators(userExists, config, overrides);
386
+ return new FormControl(formState, v.validators, v.asyncValidators);
387
+ }
388
+
389
+ function createAddressFormGroup(options) {
390
+ const config = options.config;
391
+ const countryRequiredOutsideUSA = options.countryRequiredOutsideUSA ?? true;
392
+ const defaultCountry = options.defaultCountry ?? 'USA';
393
+ const group = new FormGroup({
394
+ address1: createAddress1Control(null, config),
395
+ address2: createAddress2Control(null, config),
396
+ city: createCityControl(null, config),
397
+ state: createStateControl(null, options.stateCodes, countryRequiredOutsideUSA),
398
+ zip: createZipControl(),
399
+ country: createCountryControl(defaultCountry),
400
+ });
401
+ const countryCtrl = group.controls.country;
402
+ let countryChange$ = countryCtrl.valueChanges.pipe(map(() => isCountryUSA(countryCtrl)), distinctUntilChanged(), auditTime(0), tap(() => {
403
+ const sv = getStateValidators(options.stateCodes, countryCtrl, countryRequiredOutsideUSA, config);
404
+ group.controls.state.setValidators(sv.validators);
405
+ group.controls.state.setAsyncValidators(sv.asyncValidators);
406
+ group.controls.state.updateValueAndValidity();
407
+ const zv = getZipValidators(countryCtrl, config);
408
+ group.controls.zip.setValidators(zv.validators);
409
+ group.controls.zip.setAsyncValidators(zv.asyncValidators);
410
+ group.controls.zip.updateValueAndValidity();
411
+ }));
412
+ if (options.destroyRef) {
413
+ countryChange$ = countryChange$.pipe(takeUntilDestroyed(options.destroyRef));
414
+ countryChange$.subscribe();
415
+ return group;
416
+ }
417
+ const subscription = countryChange$.subscribe();
418
+ return { group, subscription };
419
+ }
420
+
421
+ function createPasswordFormGroup(config) {
422
+ const v = getPasswordValidators(config);
423
+ return new FormGroup({
424
+ password1: new FormControl(null, v.validators, v.asyncValidators),
425
+ password2: new FormControl(null, Validators.required),
426
+ }, { validators: [passwordMatchValidator] });
427
+ }
428
+
429
+ // Models
430
+
53
431
  class BaseLayoutContentFooterDirective {
54
432
  _elementRef = inject(ElementRef);
55
433
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: BaseLayoutContentFooterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
@@ -4290,5 +4668,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
4290
4668
  * Generated bundle index. Do not edit.
4291
4669
  */
4292
4670
 
4293
- export { BaseLayoutContentDirective, BaseLayoutContentFooterDirective, BaseLayoutContentHeaderDirective, BaseLayoutSideBarDirective, BaseLayoutSideBarFooterDirective, BaseLayoutSideBarHeaderDirective, BaseLayoutTopBarDirective, DEFAULT_SIDE_NAV_CONFIG, DashboardComponent, DashboardWidgetContainerComponent, DashboardWidgetPortalOutletDirective, DashboardWidgetTemplateContainerComponent, DashboardWidgetsComponent, DashboardWidgetsPreferencesService, DashboardWidgetsService, HierarchyLevelResolver, HierarchyRouterOutletComponent, HorizontalNavComponent, NavItemComponent, SeamRouteShellComponent, SideNavComponent, SideNavItemComponent, SideNavToggleComponent, THESEAM_BASE_LAYOUT_REF, THESEAM_DASHBOARD_WIDGETS_PREFERENCES_ACCESSOR, THESEAM_SCHEMA_FRAMEWORK_OVERRIDES, THESEAM_SIDE_NAV_ACCESSOR, THESEAM_SIDE_NAV_CONFIG, THE_SEAM_BASE_LAYOUT, TheSeamBaseLayoutComponent, TheSeamBaseLayoutModule, TheSeamBaseLayoutNavToggleDirective, TheSeamDashboardModule, TheSeamDynamicRouterModule, TheSeamFramework, TheSeamNavModule, TheSeamSchemaFormFrameworkComponent, TheSeamSchemaFormModule, TheSeamSideNavModule, TheSeamTopBarComponent, TheSeamTopBarModule, TopBarCompactMenuBtnDetailDirective, TopBarItemDirective, TopBarMenuBtnDetailDirective, TopBarMenuButtonComponent, TopBarMenuDirective, TopBarNavToggleBtnDetailDirective, TopBarTitleComponent, applyItemConfig, areSameHorizontalNavItem, canBeActive, canExpand, canHaveChildren, computeDirection, extendFramework, fader, findHorizontalNavLinkItems, findLinkItems, getHorizontalNavItemStateProp, getItemStateProp, getUrlSegments, hasActiveChild, hasChildren, hasExpandedChild, horizontalNavItemCanBeActive, horizontalNavItemCanExpand, horizontalNavItemCanHaveChildren, horizontalNavItemHasActiveChild, horizontalNavItemHasChildren, horizontalNavItemHasExpandedChild, isExpanded, isHorizontalNavItemActive, isHorizontalNavItemExpanded, isHorizontalNavItemFocused, isHorizontalNavItemType, isNavItemActive, isNavItemType, routeChanges, seamRouteTransition, setDefaultHorizontalNavItemState, setDefaultState, setHorizontalNavItemStateProp, setItemStateProp, sideNavExpandStateChangeFn, sideToSide, slider, stepper, transformer };
4671
+ export { BaseLayoutContentDirective, BaseLayoutContentFooterDirective, BaseLayoutContentHeaderDirective, BaseLayoutSideBarDirective, BaseLayoutSideBarFooterDirective, BaseLayoutSideBarHeaderDirective, BaseLayoutTopBarDirective, DEFAULT_ADDRESS_FIELD_CONFIG, DEFAULT_PASSWORD_FIELD_CONFIG, DEFAULT_SIDE_NAV_CONFIG, DEFAULT_USERNAME_FIELD_CONFIG, DashboardComponent, DashboardWidgetContainerComponent, DashboardWidgetPortalOutletDirective, DashboardWidgetTemplateContainerComponent, DashboardWidgetsComponent, DashboardWidgetsPreferencesService, DashboardWidgetsService, HierarchyLevelResolver, HierarchyRouterOutletComponent, HorizontalNavComponent, NavItemComponent, SeamRouteShellComponent, SideNavComponent, SideNavItemComponent, SideNavToggleComponent, THESEAM_BASE_LAYOUT_REF, THESEAM_DASHBOARD_WIDGETS_PREFERENCES_ACCESSOR, THESEAM_SCHEMA_FRAMEWORK_OVERRIDES, THESEAM_SIDE_NAV_ACCESSOR, THESEAM_SIDE_NAV_CONFIG, THE_SEAM_BASE_LAYOUT, TheSeamBaseLayoutComponent, TheSeamBaseLayoutModule, TheSeamBaseLayoutNavToggleDirective, TheSeamDashboardModule, TheSeamDynamicRouterModule, TheSeamFramework, TheSeamNavModule, TheSeamSchemaFormFrameworkComponent, TheSeamSchemaFormModule, TheSeamSideNavModule, TheSeamTopBarComponent, TheSeamTopBarModule, TopBarCompactMenuBtnDetailDirective, TopBarItemDirective, TopBarMenuBtnDetailDirective, TopBarMenuButtonComponent, TopBarMenuDirective, TopBarNavToggleBtnDetailDirective, TopBarTitleComponent, applyItemConfig, areSameHorizontalNavItem, canBeActive, canExpand, canHaveChildren, computeDirection, createAddress1Control, createAddress2Control, createAddressFormGroup, createCityControl, createCountryControl, createPasswordFormGroup, createStateControl, createUsernameControl, createZipControl, extendFramework, fader, findHorizontalNavLinkItems, findLinkItems, getAddress1Validators, getAddress2Validators, getCityValidators, getCountryValidators, getHorizontalNavItemStateProp, getItemStateProp, getPasswordValidators, getStateValidators, getUrlSegments, getUsernameValidators, getZipValidators, hasActiveChild, hasChildren, hasExpandedChild, horizontalNavItemCanBeActive, horizontalNavItemCanExpand, horizontalNavItemCanHaveChildren, horizontalNavItemHasActiveChild, horizontalNavItemHasChildren, horizontalNavItemHasExpandedChild, ifUSA, isCountryUSA, isExpanded, isHorizontalNavItemActive, isHorizontalNavItemExpanded, isHorizontalNavItemFocused, isHorizontalNavItemType, isNavItemActive, isNavItemType, passwordContentValidator, passwordLengthValidator, passwordLowercaseValidator, passwordMatchValidator, passwordNumberValidator, passwordSpecialCharValidator, passwordUppercaseValidator, routeChanges, seamRouteTransition, setDefaultHorizontalNavItemState, setDefaultState, setHorizontalNavItemStateProp, setItemStateProp, sideNavExpandStateChangeFn, sideToSide, slider, stateProvinceRegionValidator, stepper, transformer, usernameExistsValidator };
4294
4672
  //# sourceMappingURL=theseam-ui-common-framework.mjs.map