@frame-ui-ng/components 0.3.0-beta.0 → 0.4.0-beta.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/button/src/styles/button.css +5 -1
- package/button-group/src/styles/button-group.css +6 -0
- package/fesm2022/frame-ui-ng-components-combobox.mjs +48 -51
- package/fesm2022/frame-ui-ng-components-combobox.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-confirm-modal.mjs +162 -0
- package/fesm2022/frame-ui-ng-components-confirm-modal.mjs.map +1 -0
- package/fesm2022/frame-ui-ng-components-dropdown-menu.mjs +1 -1
- package/fesm2022/frame-ui-ng-components-dropdown-menu.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-input-otp.mjs +64 -69
- package/fesm2022/frame-ui-ng-components-input-otp.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-modal.mjs +93 -15
- package/fesm2022/frame-ui-ng-components-modal.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-pagination.mjs +37 -36
- package/fesm2022/frame-ui-ng-components-pagination.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-progress.mjs +2 -1
- package/fesm2022/frame-ui-ng-components-progress.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-resizable.mjs +16 -26
- package/fesm2022/frame-ui-ng-components-resizable.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-sheet.mjs +19 -16
- package/fesm2022/frame-ui-ng-components-sheet.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-sidebar.mjs +19 -13
- package/fesm2022/frame-ui-ng-components-sidebar.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-slider.mjs +53 -59
- package/fesm2022/frame-ui-ng-components-slider.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-tooltip.mjs +44 -0
- package/fesm2022/frame-ui-ng-components-tooltip.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-utils.mjs +20 -0
- package/fesm2022/frame-ui-ng-components-utils.mjs.map +1 -0
- package/fesm2022/frame-ui-ng-components-virtual-scroll.mjs +10 -12
- package/fesm2022/frame-ui-ng-components-virtual-scroll.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components.mjs +353 -296
- package/fesm2022/frame-ui-ng-components.mjs.map +1 -1
- package/item/src/styles/item.css +188 -187
- package/modal/src/styles/modal.css +10 -1
- package/package.json +10 -2
- package/sidebar/src/styles/sidebar.css +10 -4
- package/src/styles/blueprint.css +98 -0
- package/src/styles/components.css +4 -4
- package/styles/blueprint.css +98 -0
- package/styles/components.css +4 -4
- package/styles.css +4 -4
- package/tooltip/src/styles/tooltip.css +4 -4
- package/types/frame-ui-ng-components-combobox.d.ts +1 -1
- package/types/frame-ui-ng-components-confirm-modal.d.ts +48 -0
- package/types/frame-ui-ng-components-input-otp.d.ts +1 -1
- package/types/frame-ui-ng-components-modal.d.ts +18 -7
- package/types/frame-ui-ng-components-sheet.d.ts +2 -0
- package/types/frame-ui-ng-components-sidebar.d.ts +2 -2
- package/types/frame-ui-ng-components-tooltip.d.ts +5 -0
- package/types/frame-ui-ng-components-utils.d.ts +5 -0
- package/types/frame-ui-ng-components.d.ts +68 -55
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, inject, ElementRef, effect, Directive, input, booleanAttribute, computed, output, signal, Component, contentChild, forwardRef, ChangeDetectionStrategy, Renderer2, RendererStyleFlags2, DestroyRef, TemplateRef, model, afterNextRender,
|
|
2
|
+
import { InjectionToken, inject, ElementRef, effect, Directive, input, booleanAttribute, computed, output, signal, Component, contentChild, forwardRef, ChangeDetectionStrategy, Renderer2, RendererStyleFlags2, DestroyRef, TemplateRef, viewChild, model, afterNextRender, ViewContainerRef, Injectable, Injector, numberAttribute } from '@angular/core';
|
|
3
3
|
import * as i1 from '@frame-ui-ng/components/spinner';
|
|
4
4
|
import { FrSpinner } from '@frame-ui-ng/components/spinner';
|
|
5
5
|
import { NgTemplateOutlet, NgClass, NgComponentOutlet, DOCUMENT } from '@angular/common';
|
|
@@ -8,7 +8,7 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
|
8
8
|
import { fromEvent } from 'rxjs';
|
|
9
9
|
import * as i1$1 from '@frame-ui-ng/components/button';
|
|
10
10
|
import { FrButton as FrButton$1, FrButtonLabel as FrButtonLabel$1 } from '@frame-ui-ng/components/button';
|
|
11
|
-
import {
|
|
11
|
+
import { CdkOverlayOrigin, CdkConnectedOverlay } from '@angular/cdk/overlay';
|
|
12
12
|
import { FrControlValueAccessor as FrControlValueAccessor$1, provideDsValueAccessor as provideDsValueAccessor$1 } from '@frame-ui-ng/components/forms';
|
|
13
13
|
import { Dialog, DialogRef, DIALOG_DATA } from '@angular/cdk/dialog';
|
|
14
14
|
import * as i1$2 from '@angular/cdk/menu';
|
|
@@ -17,6 +17,7 @@ import * as i1$3 from '@frame-ui-ng/components/dropdown-menu';
|
|
|
17
17
|
import { buildConnectedPositions as buildConnectedPositions$1, FR_DROPDOWN_MENU_CONTENT as FR_DROPDOWN_MENU_CONTENT$1, FrDropdownMenuTree as FrDropdownMenuTree$1, FR_DROPDOWN_MENU_PARENT as FR_DROPDOWN_MENU_PARENT$1, defaultPositions as defaultPositions$1, FrDropdownMenuTrigger as FrDropdownMenuTrigger$1, FrDropdownMenuContent as FrDropdownMenuContent$1, FrDropdownMenuPanel as FrDropdownMenuPanel$1, FrDropdownMenuItem as FrDropdownMenuItem$1, FrDropdownMenuCheckboxItem as FrDropdownMenuCheckboxItem$1, FrDropdownMenuRadioGroup as FrDropdownMenuRadioGroup$1, FrDropdownMenuRadioItem as FrDropdownMenuRadioItem$1, FrDropdownMenuLabel as FrDropdownMenuLabel$1, FrDropdownMenuSeparator as FrDropdownMenuSeparator$1, FrDropdownMenuShortcut as FrDropdownMenuShortcut$1, FrDropdownMenuItemIndicator as FrDropdownMenuItemIndicator$1, FrDropdownMenuSub as FrDropdownMenuSub$1, FrDropdownMenuSubTrigger as FrDropdownMenuSubTrigger$1, FrDropdownMenu as FrDropdownMenu$1 } from '@frame-ui-ng/components/dropdown-menu';
|
|
18
18
|
import { FrCalendar as FrCalendar$1 } from '@frame-ui-ng/components/calendar';
|
|
19
19
|
import { FrInput as FrInput$1 } from '@frame-ui-ng/components/input';
|
|
20
|
+
import { clampNumber, coerceNumber } from '@frame-ui-ng/components/utils';
|
|
20
21
|
|
|
21
22
|
const ACCORDION_ROOT = new InjectionToken('FrAccordion');
|
|
22
23
|
const ACCORDION_ITEM = new InjectionToken('FrAccordionItem');
|
|
@@ -2287,7 +2288,7 @@ class FrCombobox extends FrControlValueAccessor$1 {
|
|
|
2287
2288
|
itemsVersion = signal(0, ...(ngDevMode ? [{ debugName: "itemsVersion" }] : /* istanbul ignore next */ []));
|
|
2288
2289
|
selectedLabels = new Map();
|
|
2289
2290
|
resizeObserver = null;
|
|
2290
|
-
origin;
|
|
2291
|
+
origin = viewChild(CdkOverlayOrigin, ...(ngDevMode ? [{ debugName: "origin" }] : /* istanbul ignore next */ []));
|
|
2291
2292
|
content = contentChild(FrComboboxContent, ...(ngDevMode ? [{ debugName: "content" }] : /* istanbul ignore next */ []));
|
|
2292
2293
|
autoHighlight = input(false, { ...(ngDevMode ? { debugName: "autoHighlight" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
2293
2294
|
debugVisible = input(false, { ...(ngDevMode ? { debugName: "debugVisible" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
@@ -2454,7 +2455,7 @@ class FrCombobox extends FrControlValueAccessor$1 {
|
|
|
2454
2455
|
this.itemsVersion.update((value) => value + 1);
|
|
2455
2456
|
}
|
|
2456
2457
|
measureAnchor() {
|
|
2457
|
-
const element = this.origin?.elementRef.nativeElement ?? this.elementRef.nativeElement;
|
|
2458
|
+
const element = this.origin()?.elementRef.nativeElement ?? this.elementRef.nativeElement;
|
|
2458
2459
|
if (typeof element?.getBoundingClientRect !== 'function') {
|
|
2459
2460
|
this.anchorWidth.set(null);
|
|
2460
2461
|
return;
|
|
@@ -2465,7 +2466,7 @@ class FrCombobox extends FrControlValueAccessor$1 {
|
|
|
2465
2466
|
if (typeof ResizeObserver === 'undefined') {
|
|
2466
2467
|
return;
|
|
2467
2468
|
}
|
|
2468
|
-
const element = this.origin?.elementRef.nativeElement ?? this.elementRef.nativeElement;
|
|
2469
|
+
const element = this.origin()?.elementRef.nativeElement ?? this.elementRef.nativeElement;
|
|
2469
2470
|
if (typeof element?.getBoundingClientRect !== 'function') {
|
|
2470
2471
|
return;
|
|
2471
2472
|
}
|
|
@@ -2479,27 +2480,27 @@ class FrCombobox extends FrControlValueAccessor$1 {
|
|
|
2479
2480
|
provide: FrComboboxRootLookup,
|
|
2480
2481
|
useExisting: FrCombobox,
|
|
2481
2482
|
},
|
|
2482
|
-
], queries: [{ propertyName: "content", first: true, predicate: FrComboboxContent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "origin", first: true, predicate: CdkOverlayOrigin, descendants: true }], exportAs: ["frCombobox"], usesInheritance: true, ngImport: i0, template: `
|
|
2483
|
-
<span cdkOverlayOrigin #origin="cdkOverlayOrigin" class="frame-combobox__anchor">
|
|
2484
|
-
<ng-content />
|
|
2485
|
-
</span>
|
|
2486
|
-
|
|
2487
|
-
<ng-template
|
|
2488
|
-
cdkConnectedOverlay
|
|
2489
|
-
[cdkConnectedOverlayOrigin]="origin"
|
|
2490
|
-
[cdkConnectedOverlayOpen]="isOpen()"
|
|
2491
|
-
[cdkConnectedOverlayPositions]="positions"
|
|
2492
|
-
[cdkConnectedOverlayPanelClass]="overlayPanelClasses()"
|
|
2493
|
-
[cdkConnectedOverlayWidth]="overlayMinWidth()"
|
|
2494
|
-
[cdkConnectedOverlayMinWidth]="overlayMinWidth()"
|
|
2495
|
-
(overlayOutsideClick)="close()"
|
|
2496
|
-
(positionChange)="handlePositionChange($event)"
|
|
2497
|
-
(detach)="close()"
|
|
2498
|
-
>
|
|
2499
|
-
@if (content()) {
|
|
2500
|
-
<ng-container [ngTemplateOutlet]="content()!.templateRef" />
|
|
2501
|
-
}
|
|
2502
|
-
</ng-template>
|
|
2483
|
+
], queries: [{ propertyName: "content", first: true, predicate: FrComboboxContent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "origin", first: true, predicate: CdkOverlayOrigin, descendants: true, isSignal: true }], exportAs: ["frCombobox"], usesInheritance: true, ngImport: i0, template: `
|
|
2484
|
+
<span cdkOverlayOrigin #origin="cdkOverlayOrigin" class="frame-combobox__anchor">
|
|
2485
|
+
<ng-content />
|
|
2486
|
+
</span>
|
|
2487
|
+
|
|
2488
|
+
<ng-template
|
|
2489
|
+
cdkConnectedOverlay
|
|
2490
|
+
[cdkConnectedOverlayOrigin]="origin"
|
|
2491
|
+
[cdkConnectedOverlayOpen]="isOpen()"
|
|
2492
|
+
[cdkConnectedOverlayPositions]="positions"
|
|
2493
|
+
[cdkConnectedOverlayPanelClass]="overlayPanelClasses()"
|
|
2494
|
+
[cdkConnectedOverlayWidth]="overlayMinWidth()"
|
|
2495
|
+
[cdkConnectedOverlayMinWidth]="overlayMinWidth()"
|
|
2496
|
+
(overlayOutsideClick)="close()"
|
|
2497
|
+
(positionChange)="handlePositionChange($event)"
|
|
2498
|
+
(detach)="close()"
|
|
2499
|
+
>
|
|
2500
|
+
@if (content()) {
|
|
2501
|
+
<ng-container [ngTemplateOutlet]="content()!.templateRef" />
|
|
2502
|
+
}
|
|
2503
|
+
</ng-template>
|
|
2503
2504
|
`, isInline: true, dependencies: [{ kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation", "cdkConnectedOverlayUsePopover", "cdkConnectedOverlayMatchWidth", "cdkConnectedOverlay"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
2504
2505
|
}
|
|
2505
2506
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrCombobox, decorators: [{
|
|
@@ -2520,33 +2521,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
|
|
|
2520
2521
|
'[attr.data-disabled]': 'disabled() ? "" : null',
|
|
2521
2522
|
'[attr.data-invalid]': 'invalid() ? "" : null'
|
|
2522
2523
|
},
|
|
2523
|
-
template: `
|
|
2524
|
-
<span cdkOverlayOrigin #origin="cdkOverlayOrigin" class="frame-combobox__anchor">
|
|
2525
|
-
<ng-content />
|
|
2526
|
-
</span>
|
|
2527
|
-
|
|
2528
|
-
<ng-template
|
|
2529
|
-
cdkConnectedOverlay
|
|
2530
|
-
[cdkConnectedOverlayOrigin]="origin"
|
|
2531
|
-
[cdkConnectedOverlayOpen]="isOpen()"
|
|
2532
|
-
[cdkConnectedOverlayPositions]="positions"
|
|
2533
|
-
[cdkConnectedOverlayPanelClass]="overlayPanelClasses()"
|
|
2534
|
-
[cdkConnectedOverlayWidth]="overlayMinWidth()"
|
|
2535
|
-
[cdkConnectedOverlayMinWidth]="overlayMinWidth()"
|
|
2536
|
-
(overlayOutsideClick)="close()"
|
|
2537
|
-
(positionChange)="handlePositionChange($event)"
|
|
2538
|
-
(detach)="close()"
|
|
2539
|
-
>
|
|
2540
|
-
@if (content()) {
|
|
2541
|
-
<ng-container [ngTemplateOutlet]="content()!.templateRef" />
|
|
2542
|
-
}
|
|
2543
|
-
</ng-template>
|
|
2524
|
+
template: `
|
|
2525
|
+
<span cdkOverlayOrigin #origin="cdkOverlayOrigin" class="frame-combobox__anchor">
|
|
2526
|
+
<ng-content />
|
|
2527
|
+
</span>
|
|
2528
|
+
|
|
2529
|
+
<ng-template
|
|
2530
|
+
cdkConnectedOverlay
|
|
2531
|
+
[cdkConnectedOverlayOrigin]="origin"
|
|
2532
|
+
[cdkConnectedOverlayOpen]="isOpen()"
|
|
2533
|
+
[cdkConnectedOverlayPositions]="positions"
|
|
2534
|
+
[cdkConnectedOverlayPanelClass]="overlayPanelClasses()"
|
|
2535
|
+
[cdkConnectedOverlayWidth]="overlayMinWidth()"
|
|
2536
|
+
[cdkConnectedOverlayMinWidth]="overlayMinWidth()"
|
|
2537
|
+
(overlayOutsideClick)="close()"
|
|
2538
|
+
(positionChange)="handlePositionChange($event)"
|
|
2539
|
+
(detach)="close()"
|
|
2540
|
+
>
|
|
2541
|
+
@if (content()) {
|
|
2542
|
+
<ng-container [ngTemplateOutlet]="content()!.templateRef" />
|
|
2543
|
+
}
|
|
2544
|
+
</ng-template>
|
|
2544
2545
|
`,
|
|
2545
2546
|
}]
|
|
2546
|
-
}], ctorParameters: () => [], propDecorators: { origin: [{
|
|
2547
|
-
type: ViewChild,
|
|
2548
|
-
args: [CdkOverlayOrigin]
|
|
2549
|
-
}], content: [{ type: i0.ContentChild, args: [i0.forwardRef(() => FrComboboxContent), { isSignal: true }] }], autoHighlight: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoHighlight", required: false }] }], debugVisible: [{ type: i0.Input, args: [{ isSignal: true, alias: "debugVisible", required: false }] }], disabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], invalidInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalid", required: false }] }], itemToStringValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemToStringValue", required: false }] }], multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], showClear: [{ type: i0.Input, args: [{ isSignal: true, alias: "showClear", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }] } });
|
|
2547
|
+
}], ctorParameters: () => [], propDecorators: { origin: [{ type: i0.ViewChild, args: [i0.forwardRef(() => CdkOverlayOrigin), { isSignal: true }] }], content: [{ type: i0.ContentChild, args: [i0.forwardRef(() => FrComboboxContent), { isSignal: true }] }], autoHighlight: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoHighlight", required: false }] }], debugVisible: [{ type: i0.Input, args: [{ isSignal: true, alias: "debugVisible", required: false }] }], disabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], invalidInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalid", required: false }] }], itemToStringValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemToStringValue", required: false }] }], multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], showClear: [{ type: i0.Input, args: [{ isSignal: true, alias: "showClear", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }] } });
|
|
2550
2548
|
|
|
2551
2549
|
class FrComboboxInput {
|
|
2552
2550
|
root = inject(FrCombobox);
|
|
@@ -4490,7 +4488,7 @@ function mergeTime(date, timeSource) {
|
|
|
4490
4488
|
}
|
|
4491
4489
|
|
|
4492
4490
|
const DEFAULT_SIDE_OFFSET = 4;
|
|
4493
|
-
const MIN_SUBMENU_SIDE_OFFSET =
|
|
4491
|
+
const MIN_SUBMENU_SIDE_OFFSET = 8;
|
|
4494
4492
|
function defaultPositions(isSubmenu) {
|
|
4495
4493
|
return buildConnectedPositions({
|
|
4496
4494
|
align: 'start',
|
|
@@ -5938,7 +5936,7 @@ const FR_INPUT_OTP_PATTERN_DIGITS = /^[0-9]$/;
|
|
|
5938
5936
|
const FR_INPUT_OTP_PATTERN_DIGITS_AND_CHARS = /^[a-zA-Z0-9]$/;
|
|
5939
5937
|
const FR_INPUT_OTP_CONTROLLER = new InjectionToken('FrInputOtpController');
|
|
5940
5938
|
class FrInputOtp extends FrControlValueAccessor$1 {
|
|
5941
|
-
nativeInput;
|
|
5939
|
+
nativeInput = viewChild('nativeInput', ...(ngDevMode ? [{ debugName: "nativeInput" }] : /* istanbul ignore next */ []));
|
|
5942
5940
|
maxLength = input(6, { ...(ngDevMode ? { debugName: "maxLength" } : /* istanbul ignore next */ {}), transform: numberAttribute });
|
|
5943
5941
|
pattern = input(FR_INPUT_OTP_PATTERN_DIGITS, ...(ngDevMode ? [{ debugName: "pattern" }] : /* istanbul ignore next */ []));
|
|
5944
5942
|
disabledInput = input(false, { ...(ngDevMode ? { debugName: "disabledInput" } : /* istanbul ignore next */ {}), alias: 'disabled', transform: booleanAttribute });
|
|
@@ -5955,11 +5953,11 @@ class FrInputOtp extends FrControlValueAccessor$1 {
|
|
|
5955
5953
|
if (this.disabled()) {
|
|
5956
5954
|
return;
|
|
5957
5955
|
}
|
|
5958
|
-
const inputElement = this.nativeInput?.nativeElement;
|
|
5956
|
+
const inputElement = this.nativeInput()?.nativeElement;
|
|
5959
5957
|
if (!inputElement) {
|
|
5960
5958
|
return;
|
|
5961
5959
|
}
|
|
5962
|
-
const nextIndex =
|
|
5960
|
+
const nextIndex = clampNumber(index, 0, this.maxLength());
|
|
5963
5961
|
inputElement.focus();
|
|
5964
5962
|
inputElement.setSelectionRange(nextIndex, nextIndex);
|
|
5965
5963
|
this.activeIndex.set(nextIndex);
|
|
@@ -6006,9 +6004,9 @@ class FrInputOtp extends FrControlValueAccessor$1 {
|
|
|
6006
6004
|
this.focus(Math.min(next.length, this.maxLength()));
|
|
6007
6005
|
}
|
|
6008
6006
|
syncActiveIndex() {
|
|
6009
|
-
const inputElement = this.nativeInput?.nativeElement;
|
|
6007
|
+
const inputElement = this.nativeInput()?.nativeElement;
|
|
6010
6008
|
const index = inputElement?.selectionStart ?? this.value().length;
|
|
6011
|
-
this.activeIndex.set(
|
|
6009
|
+
this.activeIndex.set(clampNumber(index, 0, this.maxLength()));
|
|
6012
6010
|
}
|
|
6013
6011
|
markTouched() {
|
|
6014
6012
|
this.markAsTouched();
|
|
@@ -6038,7 +6036,7 @@ class FrInputOtp extends FrControlValueAccessor$1 {
|
|
|
6038
6036
|
}
|
|
6039
6037
|
replaceFrom(index, text) {
|
|
6040
6038
|
const value = this.value();
|
|
6041
|
-
const start =
|
|
6039
|
+
const start = clampNumber(index, 0, this.maxLength());
|
|
6042
6040
|
const next = `${value.slice(0, start)}${text}${value.slice(start + text.length)}`;
|
|
6043
6041
|
return this.sanitize(next);
|
|
6044
6042
|
}
|
|
@@ -6057,35 +6055,35 @@ class FrInputOtp extends FrControlValueAccessor$1 {
|
|
|
6057
6055
|
return characters.slice(0, this.maxLength()).join('');
|
|
6058
6056
|
}
|
|
6059
6057
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrInputOtp, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
6060
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
6058
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.16", type: FrInputOtp, isStandalone: true, selector: "frame-input-otp", inputs: { maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, invalidInput: { classPropertyName: "invalidInput", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", complete: "complete" }, host: { attributes: { "role": "group" }, listeners: { "click": "focus(activeIndex())" }, properties: { "attr.data-disabled": "disabled() ? \"\" : null", "attr.data-invalid": "invalid() ? \"\" : null", "attr.data-complete": "isComplete() ? \"\" : null" }, classAttribute: "frame-input-otp" }, providers: [
|
|
6061
6059
|
provideDsValueAccessor$1(FrInputOtp),
|
|
6062
6060
|
{
|
|
6063
6061
|
provide: FR_INPUT_OTP_CONTROLLER,
|
|
6064
6062
|
useExisting: FrInputOtp,
|
|
6065
6063
|
},
|
|
6066
|
-
], viewQueries: [{ propertyName: "nativeInput", first: true, predicate: ["nativeInput"], descendants: true }], exportAs: ["frInputOtp"], usesInheritance: true, ngImport: i0, template: `
|
|
6067
|
-
<input
|
|
6068
|
-
#nativeInput
|
|
6069
|
-
frInput
|
|
6070
|
-
class="frame-input-otp__native"
|
|
6071
|
-
type="text"
|
|
6072
|
-
inputmode="numeric"
|
|
6073
|
-
autocomplete="one-time-code"
|
|
6074
|
-
[attr.aria-invalid]="invalid() ? 'true' : null"
|
|
6075
|
-
[attr.aria-label]="ariaLabel()"
|
|
6076
|
-
[disabled]="disabled()"
|
|
6077
|
-
[maxLength]="maxLength()"
|
|
6078
|
-
[value]="value()"
|
|
6079
|
-
(blur)="markTouched()"
|
|
6080
|
-
(focus)="syncActiveIndex()"
|
|
6081
|
-
(input)="handleNativeInput($any($event.target).value)"
|
|
6082
|
-
(keydown)="handleKeydown($event)"
|
|
6083
|
-
(paste)="handlePaste($event)"
|
|
6084
|
-
(select)="syncActiveIndex()"
|
|
6085
|
-
(click)="syncActiveIndex()"
|
|
6086
|
-
/>
|
|
6087
|
-
|
|
6088
|
-
<ng-content />
|
|
6064
|
+
], viewQueries: [{ propertyName: "nativeInput", first: true, predicate: ["nativeInput"], descendants: true, isSignal: true }], exportAs: ["frInputOtp"], usesInheritance: true, ngImport: i0, template: `
|
|
6065
|
+
<input
|
|
6066
|
+
#nativeInput
|
|
6067
|
+
frInput
|
|
6068
|
+
class="frame-input-otp__native"
|
|
6069
|
+
type="text"
|
|
6070
|
+
inputmode="numeric"
|
|
6071
|
+
autocomplete="one-time-code"
|
|
6072
|
+
[attr.aria-invalid]="invalid() ? 'true' : null"
|
|
6073
|
+
[attr.aria-label]="ariaLabel()"
|
|
6074
|
+
[disabled]="disabled()"
|
|
6075
|
+
[maxLength]="maxLength()"
|
|
6076
|
+
[value]="value()"
|
|
6077
|
+
(blur)="markTouched()"
|
|
6078
|
+
(focus)="syncActiveIndex()"
|
|
6079
|
+
(input)="handleNativeInput($any($event.target).value)"
|
|
6080
|
+
(keydown)="handleKeydown($event)"
|
|
6081
|
+
(paste)="handlePaste($event)"
|
|
6082
|
+
(select)="syncActiveIndex()"
|
|
6083
|
+
(click)="syncActiveIndex()"
|
|
6084
|
+
/>
|
|
6085
|
+
|
|
6086
|
+
<ng-content />
|
|
6089
6087
|
`, isInline: true, dependencies: [{ kind: "directive", type: FrInput$1, selector: "input[frInput]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
6090
6088
|
}
|
|
6091
6089
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrInputOtp, decorators: [{
|
|
@@ -6110,35 +6108,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
|
|
|
6110
6108
|
'[attr.data-complete]': 'isComplete() ? "" : null',
|
|
6111
6109
|
'(click)': 'focus(activeIndex())',
|
|
6112
6110
|
},
|
|
6113
|
-
template: `
|
|
6114
|
-
<input
|
|
6115
|
-
#nativeInput
|
|
6116
|
-
frInput
|
|
6117
|
-
class="frame-input-otp__native"
|
|
6118
|
-
type="text"
|
|
6119
|
-
inputmode="numeric"
|
|
6120
|
-
autocomplete="one-time-code"
|
|
6121
|
-
[attr.aria-invalid]="invalid() ? 'true' : null"
|
|
6122
|
-
[attr.aria-label]="ariaLabel()"
|
|
6123
|
-
[disabled]="disabled()"
|
|
6124
|
-
[maxLength]="maxLength()"
|
|
6125
|
-
[value]="value()"
|
|
6126
|
-
(blur)="markTouched()"
|
|
6127
|
-
(focus)="syncActiveIndex()"
|
|
6128
|
-
(input)="handleNativeInput($any($event.target).value)"
|
|
6129
|
-
(keydown)="handleKeydown($event)"
|
|
6130
|
-
(paste)="handlePaste($event)"
|
|
6131
|
-
(select)="syncActiveIndex()"
|
|
6132
|
-
(click)="syncActiveIndex()"
|
|
6133
|
-
/>
|
|
6134
|
-
|
|
6135
|
-
<ng-content />
|
|
6111
|
+
template: `
|
|
6112
|
+
<input
|
|
6113
|
+
#nativeInput
|
|
6114
|
+
frInput
|
|
6115
|
+
class="frame-input-otp__native"
|
|
6116
|
+
type="text"
|
|
6117
|
+
inputmode="numeric"
|
|
6118
|
+
autocomplete="one-time-code"
|
|
6119
|
+
[attr.aria-invalid]="invalid() ? 'true' : null"
|
|
6120
|
+
[attr.aria-label]="ariaLabel()"
|
|
6121
|
+
[disabled]="disabled()"
|
|
6122
|
+
[maxLength]="maxLength()"
|
|
6123
|
+
[value]="value()"
|
|
6124
|
+
(blur)="markTouched()"
|
|
6125
|
+
(focus)="syncActiveIndex()"
|
|
6126
|
+
(input)="handleNativeInput($any($event.target).value)"
|
|
6127
|
+
(keydown)="handleKeydown($event)"
|
|
6128
|
+
(paste)="handlePaste($event)"
|
|
6129
|
+
(select)="syncActiveIndex()"
|
|
6130
|
+
(click)="syncActiveIndex()"
|
|
6131
|
+
/>
|
|
6132
|
+
|
|
6133
|
+
<ng-content />
|
|
6136
6134
|
`,
|
|
6137
6135
|
}]
|
|
6138
|
-
}], propDecorators: { nativeInput: [{
|
|
6139
|
-
type: ViewChild,
|
|
6140
|
-
args: ['nativeInput']
|
|
6141
|
-
}], maxLength: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxLength", required: false }] }], pattern: [{ type: i0.Input, args: [{ isSignal: true, alias: "pattern", required: false }] }], disabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], invalidInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalid", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }], complete: [{ type: i0.Output, args: ["complete"] }] } });
|
|
6136
|
+
}], propDecorators: { nativeInput: [{ type: i0.ViewChild, args: ['nativeInput', { isSignal: true }] }], maxLength: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxLength", required: false }] }], pattern: [{ type: i0.Input, args: [{ isSignal: true, alias: "pattern", required: false }] }], disabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], invalidInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalid", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }], complete: [{ type: i0.Output, args: ["complete"] }] } });
|
|
6142
6137
|
class FrInputOtpGroup {
|
|
6143
6138
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrInputOtpGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
6144
6139
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: FrInputOtpGroup, isStandalone: true, selector: "[frInputOtpGroup], frame-input-otp-group", host: { classAttribute: "frame-input-otp__group" }, ngImport: i0 });
|
|
@@ -6160,10 +6155,10 @@ class FrInputOtpSlot {
|
|
|
6160
6155
|
filled = computed(() => !!this.char(), ...(ngDevMode ? [{ debugName: "filled" }] : /* istanbul ignore next */ []));
|
|
6161
6156
|
active = computed(() => this.root.activeIndex() === this.index(), ...(ngDevMode ? [{ debugName: "active" }] : /* istanbul ignore next */ []));
|
|
6162
6157
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrInputOtpSlot, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6163
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.16", type: FrInputOtpSlot, isStandalone: true, selector: "[frInputOtpSlot], frame-input-otp-slot", inputs: { index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: true, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "presentation" }, listeners: { "click": "root.focus(index())" }, properties: { "attr.data-active": "active() ? \"\" : null", "attr.data-filled": "filled() ? \"\" : null", "attr.data-invalid": "root.invalid() ? \"\" : null", "attr.data-disabled": "root.disabled() ? \"\" : null" }, classAttribute: "frame-input-otp__slot" }, ngImport: i0, template: `
|
|
6164
|
-
<span class="frame-input-otp__slot-char" [ngClass]="{ 'frame-input-otp__slot-char--empty': !filled() }">
|
|
6165
|
-
{{ char() || placeholder() }}
|
|
6166
|
-
</span>
|
|
6158
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.16", type: FrInputOtpSlot, isStandalone: true, selector: "[frInputOtpSlot], frame-input-otp-slot", inputs: { index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: true, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "presentation" }, listeners: { "click": "root.focus(index())" }, properties: { "attr.data-active": "active() ? \"\" : null", "attr.data-filled": "filled() ? \"\" : null", "attr.data-invalid": "root.invalid() ? \"\" : null", "attr.data-disabled": "root.disabled() ? \"\" : null" }, classAttribute: "frame-input-otp__slot" }, ngImport: i0, template: `
|
|
6159
|
+
<span class="frame-input-otp__slot-char" [ngClass]="{ 'frame-input-otp__slot-char--empty': !filled() }">
|
|
6160
|
+
{{ char() || placeholder() }}
|
|
6161
|
+
</span>
|
|
6167
6162
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
6168
6163
|
}
|
|
6169
6164
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrInputOtpSlot, decorators: [{
|
|
@@ -6181,10 +6176,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
|
|
|
6181
6176
|
'[attr.data-disabled]': 'root.disabled() ? "" : null',
|
|
6182
6177
|
'(click)': 'root.focus(index())',
|
|
6183
6178
|
},
|
|
6184
|
-
template: `
|
|
6185
|
-
<span class="frame-input-otp__slot-char" [ngClass]="{ 'frame-input-otp__slot-char--empty': !filled() }">
|
|
6186
|
-
{{ char() || placeholder() }}
|
|
6187
|
-
</span>
|
|
6179
|
+
template: `
|
|
6180
|
+
<span class="frame-input-otp__slot-char" [ngClass]="{ 'frame-input-otp__slot-char--empty': !filled() }">
|
|
6181
|
+
{{ char() || placeholder() }}
|
|
6182
|
+
</span>
|
|
6188
6183
|
`,
|
|
6189
6184
|
}]
|
|
6190
6185
|
}], propDecorators: { index: [{ type: i0.Input, args: [{ isSignal: true, alias: "index", required: true }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }] } });
|
|
@@ -6216,9 +6211,6 @@ function toMatcher(pattern) {
|
|
|
6216
6211
|
const regex = new RegExp(pattern);
|
|
6217
6212
|
return (character) => regex.test(character);
|
|
6218
6213
|
}
|
|
6219
|
-
function clamp$2(value, min, max) {
|
|
6220
|
-
return Math.max(min, Math.min(max, value));
|
|
6221
|
-
}
|
|
6222
6214
|
|
|
6223
6215
|
const FR_ITEM_VARIANTS = ['default', 'outline', 'muted'];
|
|
6224
6216
|
const FR_ITEM_SIZES = ['default', 'sm', 'xs'];
|
|
@@ -6835,7 +6827,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
|
|
|
6835
6827
|
}]
|
|
6836
6828
|
}] });
|
|
6837
6829
|
|
|
6830
|
+
class FrModalRef extends DialogRef {
|
|
6831
|
+
}
|
|
6832
|
+
|
|
6838
6833
|
const FR_MODAL_DATA = DIALOG_DATA;
|
|
6834
|
+
const FR_MODAL_REF = FrModalRef;
|
|
6839
6835
|
|
|
6840
6836
|
class FrModalShell {
|
|
6841
6837
|
dialogRef = inject((DialogRef));
|
|
@@ -6971,26 +6967,27 @@ const DEFAULT_PANEL_CLASS$1 = 'frame-modal__overlay-pane';
|
|
|
6971
6967
|
const DEFAULT_BACKDROP_CLASS$1 = 'frame-modal__backdrop';
|
|
6972
6968
|
class FrModalService {
|
|
6973
6969
|
dialog = inject(Dialog);
|
|
6974
|
-
open(content, config
|
|
6975
|
-
|
|
6970
|
+
open(content, dataOrConfig, config) {
|
|
6971
|
+
const resolvedConfig = resolveOpenConfig(content, dataOrConfig, config);
|
|
6972
|
+
if (isComponentType$1(content) && hasShellOptions$1(resolvedConfig)) {
|
|
6976
6973
|
const shellConfig = {
|
|
6977
|
-
...withoutShellOptions$1(
|
|
6974
|
+
...withoutShellOptions$1(resolvedConfig),
|
|
6978
6975
|
data: {
|
|
6979
6976
|
bodyComponent: content,
|
|
6980
|
-
bodyData:
|
|
6981
|
-
bodyInputs:
|
|
6982
|
-
description:
|
|
6983
|
-
footerActions:
|
|
6984
|
-
scrollable:
|
|
6985
|
-
showCloseButton:
|
|
6986
|
-
size:
|
|
6987
|
-
stickyFooter:
|
|
6988
|
-
title:
|
|
6977
|
+
bodyData: resolvedConfig.bodyData ?? resolvedConfig.data,
|
|
6978
|
+
bodyInputs: resolvedConfig.inputs ?? resolvedConfig.bodyInputs,
|
|
6979
|
+
description: resolvedConfig.description,
|
|
6980
|
+
footerActions: resolvedConfig.footerActions,
|
|
6981
|
+
scrollable: resolvedConfig.scrollable,
|
|
6982
|
+
showCloseButton: resolvedConfig.showCloseButton,
|
|
6983
|
+
size: resolvedConfig.size,
|
|
6984
|
+
stickyFooter: resolvedConfig.stickyFooter,
|
|
6985
|
+
title: resolvedConfig.title,
|
|
6989
6986
|
},
|
|
6990
6987
|
};
|
|
6991
6988
|
return this.dialog.open(FrModalShell, this.withDefaultClasses(shellConfig));
|
|
6992
6989
|
}
|
|
6993
|
-
return this.dialog.open(content, this.withDefaultClasses(
|
|
6990
|
+
return this.dialog.open(content, this.withDefaultClasses(resolvedConfig));
|
|
6994
6991
|
}
|
|
6995
6992
|
closeAll() {
|
|
6996
6993
|
this.dialog.closeAll();
|
|
@@ -7004,6 +7001,7 @@ class FrModalService {
|
|
|
7004
7001
|
...config,
|
|
7005
7002
|
panelClass: mergeClassList$1(config.panelClass, DEFAULT_PANEL_CLASS$1),
|
|
7006
7003
|
backdropClass: mergeClassList$1(config.backdropClass, DEFAULT_BACKDROP_CLASS$1),
|
|
7004
|
+
providers: withModalRefProvider(config.providers),
|
|
7007
7005
|
};
|
|
7008
7006
|
}
|
|
7009
7007
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
@@ -7022,6 +7020,7 @@ function hasShellOptions$1(config) {
|
|
|
7022
7020
|
config.bodyInputs,
|
|
7023
7021
|
config.description,
|
|
7024
7022
|
config.footerActions,
|
|
7023
|
+
config.inputs,
|
|
7025
7024
|
config.scrollable,
|
|
7026
7025
|
config.showCloseButton,
|
|
7027
7026
|
config.size,
|
|
@@ -7030,9 +7029,70 @@ function hasShellOptions$1(config) {
|
|
|
7030
7029
|
].some((value) => value !== undefined);
|
|
7031
7030
|
}
|
|
7032
7031
|
function withoutShellOptions$1(config) {
|
|
7033
|
-
const { bodyData: _bodyData, bodyInputs: _bodyInputs, description: _description, footerActions: _footerActions, scrollable: _scrollable, showCloseButton: _showCloseButton, size: _size, stickyFooter: _stickyFooter, title: _title, ...dialogConfig } = config;
|
|
7032
|
+
const { bodyData: _bodyData, bodyInputs: _bodyInputs, description: _description, footerActions: _footerActions, inputs: _inputs, scrollable: _scrollable, showCloseButton: _showCloseButton, size: _size, stickyFooter: _stickyFooter, title: _title, ...dialogConfig } = config;
|
|
7034
7033
|
return dialogConfig;
|
|
7035
7034
|
}
|
|
7035
|
+
function resolveOpenConfig(content, dataOrConfig, config) {
|
|
7036
|
+
if (!isComponentType$1(content)) {
|
|
7037
|
+
return (dataOrConfig ?? {});
|
|
7038
|
+
}
|
|
7039
|
+
if (config) {
|
|
7040
|
+
return {
|
|
7041
|
+
...config,
|
|
7042
|
+
data: dataOrConfig,
|
|
7043
|
+
};
|
|
7044
|
+
}
|
|
7045
|
+
if (dataOrConfig === undefined) {
|
|
7046
|
+
return {};
|
|
7047
|
+
}
|
|
7048
|
+
if (isModalConfig(dataOrConfig)) {
|
|
7049
|
+
return dataOrConfig;
|
|
7050
|
+
}
|
|
7051
|
+
return {
|
|
7052
|
+
data: dataOrConfig,
|
|
7053
|
+
};
|
|
7054
|
+
}
|
|
7055
|
+
const CONFIG_KEYS = new Set([
|
|
7056
|
+
'ariaDescribedBy',
|
|
7057
|
+
'ariaLabel',
|
|
7058
|
+
'ariaLabelledBy',
|
|
7059
|
+
'ariaModal',
|
|
7060
|
+
'autoFocus',
|
|
7061
|
+
'backdropClass',
|
|
7062
|
+
'bodyData',
|
|
7063
|
+
'bodyInputs',
|
|
7064
|
+
'closeOnDestroy',
|
|
7065
|
+
'closeOnNavigation',
|
|
7066
|
+
'data',
|
|
7067
|
+
'description',
|
|
7068
|
+
'direction',
|
|
7069
|
+
'disableClose',
|
|
7070
|
+
'footerActions',
|
|
7071
|
+
'height',
|
|
7072
|
+
'inputs',
|
|
7073
|
+
'maxHeight',
|
|
7074
|
+
'maxWidth',
|
|
7075
|
+
'minHeight',
|
|
7076
|
+
'minWidth',
|
|
7077
|
+
'panelClass',
|
|
7078
|
+
'positionStrategy',
|
|
7079
|
+
'providers',
|
|
7080
|
+
'restoreFocus',
|
|
7081
|
+
'role',
|
|
7082
|
+
'scrollable',
|
|
7083
|
+
'showCloseButton',
|
|
7084
|
+
'size',
|
|
7085
|
+
'stickyFooter',
|
|
7086
|
+
'title',
|
|
7087
|
+
'viewContainerRef',
|
|
7088
|
+
'width',
|
|
7089
|
+
]);
|
|
7090
|
+
function isModalConfig(value) {
|
|
7091
|
+
if (!value || typeof value !== 'object' || Array.isArray(value)) {
|
|
7092
|
+
return false;
|
|
7093
|
+
}
|
|
7094
|
+
return Object.keys(value).some((key) => CONFIG_KEYS.has(key));
|
|
7095
|
+
}
|
|
7036
7096
|
function mergeClassList$1(classList, defaultClass) {
|
|
7037
7097
|
const classes = Array.isArray(classList)
|
|
7038
7098
|
? classList
|
|
@@ -7041,6 +7101,16 @@ function mergeClassList$1(classList, defaultClass) {
|
|
|
7041
7101
|
: [];
|
|
7042
7102
|
return Array.from(new Set([defaultClass, ...classes].filter(Boolean)));
|
|
7043
7103
|
}
|
|
7104
|
+
function withModalRefProvider(providers) {
|
|
7105
|
+
const modalRefProvider = { provide: FrModalRef, useExisting: DialogRef };
|
|
7106
|
+
if (typeof providers === 'function') {
|
|
7107
|
+
return (dialogRef, config, container) => [
|
|
7108
|
+
modalRefProvider,
|
|
7109
|
+
...providers(dialogRef, config, container),
|
|
7110
|
+
];
|
|
7111
|
+
}
|
|
7112
|
+
return [modalRefProvider, ...(providers ?? [])];
|
|
7113
|
+
}
|
|
7044
7114
|
|
|
7045
7115
|
class FrModalTrigger {
|
|
7046
7116
|
static CUSTOM_PROPERTY_PREFIX = '--frame-modal-';
|
|
@@ -7363,7 +7433,7 @@ class FrPagination {
|
|
|
7363
7433
|
canNext = computed(() => this.page() < this.normalizedTotalPages(), ...(ngDevMode ? [{ debugName: "canNext" }] : /* istanbul ignore next */ []));
|
|
7364
7434
|
pages = computed(() => this.buildPages(), ...(ngDevMode ? [{ debugName: "pages" }] : /* istanbul ignore next */ []));
|
|
7365
7435
|
goToPage(page) {
|
|
7366
|
-
this.page.set(
|
|
7436
|
+
this.page.set(clampNumber(page, 1, this.normalizedTotalPages()));
|
|
7367
7437
|
}
|
|
7368
7438
|
goToPreviousPage() {
|
|
7369
7439
|
this.goToPage(this.page() - 1);
|
|
@@ -7378,7 +7448,7 @@ class FrPagination {
|
|
|
7378
7448
|
const totalPages = this.normalizedTotalPages();
|
|
7379
7449
|
const boundaryCount = Math.max(0, Math.floor(this.boundaryCount()));
|
|
7380
7450
|
const siblingCount = Math.max(0, Math.floor(this.siblingCount()));
|
|
7381
|
-
const currentPage =
|
|
7451
|
+
const currentPage = clampNumber(this.page(), 1, totalPages);
|
|
7382
7452
|
const pages = new Set();
|
|
7383
7453
|
for (let page = 1; page <= Math.min(boundaryCount, totalPages); page += 1) {
|
|
7384
7454
|
pages.add(page);
|
|
@@ -7518,13 +7588,13 @@ class FrPaginationPrevious {
|
|
|
7518
7588
|
this.pagination.goToPreviousPage();
|
|
7519
7589
|
}
|
|
7520
7590
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrPaginationPrevious, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7521
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.16", type: FrPaginationPrevious, isStandalone: true, selector: "a[frPaginationPrevious], button[frPaginationPrevious]", inputs: { ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, iconOnly: { classPropertyName: "iconOnly", publicName: "iconOnly", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "handleClick($event)" }, properties: { "attr.aria-label": "ariaLabel()", "attr.aria-disabled": "isDisabled() ? \"true\" : null", "attr.data-disabled": "isDisabled() ? \"\" : null", "attr.data-icon-only": "iconOnly() ? \"\" : null", "attr.disabled": "isDisabled() ? \"\" : null", "attr.tabindex": "isDisabled() ? \"-1\" : null" }, classAttribute: "frame-pagination__link frame-pagination__previous" }, ngImport: i0, template: `
|
|
7522
|
-
<span class="frame-pagination__control-icon" aria-hidden="true">
|
|
7523
|
-
<ng-content select="[frPaginationIcon]">‹</ng-content>
|
|
7524
|
-
</span>
|
|
7525
|
-
@if (!iconOnly()) {
|
|
7526
|
-
<span class="frame-pagination__control-text">{{ text() }}</span>
|
|
7527
|
-
}
|
|
7591
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.16", type: FrPaginationPrevious, isStandalone: true, selector: "a[frPaginationPrevious], button[frPaginationPrevious]", inputs: { ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, iconOnly: { classPropertyName: "iconOnly", publicName: "iconOnly", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "handleClick($event)" }, properties: { "attr.aria-label": "ariaLabel()", "attr.aria-disabled": "isDisabled() ? \"true\" : null", "attr.data-disabled": "isDisabled() ? \"\" : null", "attr.data-icon-only": "iconOnly() ? \"\" : null", "attr.disabled": "isDisabled() ? \"\" : null", "attr.tabindex": "isDisabled() ? \"-1\" : null" }, classAttribute: "frame-pagination__link frame-pagination__previous" }, ngImport: i0, template: `
|
|
7592
|
+
<span class="frame-pagination__control-icon" aria-hidden="true">
|
|
7593
|
+
<ng-content select="[frPaginationIcon]">‹</ng-content>
|
|
7594
|
+
</span>
|
|
7595
|
+
@if (!iconOnly()) {
|
|
7596
|
+
<span class="frame-pagination__control-text">{{ text() }}</span>
|
|
7597
|
+
}
|
|
7528
7598
|
`, isInline: true });
|
|
7529
7599
|
}
|
|
7530
7600
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrPaginationPrevious, decorators: [{
|
|
@@ -7541,13 +7611,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
|
|
|
7541
7611
|
'[attr.tabindex]': 'isDisabled() ? "-1" : null',
|
|
7542
7612
|
'(click)': 'handleClick($event)',
|
|
7543
7613
|
},
|
|
7544
|
-
template: `
|
|
7545
|
-
<span class="frame-pagination__control-icon" aria-hidden="true">
|
|
7546
|
-
<ng-content select="[frPaginationIcon]">‹</ng-content>
|
|
7547
|
-
</span>
|
|
7548
|
-
@if (!iconOnly()) {
|
|
7549
|
-
<span class="frame-pagination__control-text">{{ text() }}</span>
|
|
7550
|
-
}
|
|
7614
|
+
template: `
|
|
7615
|
+
<span class="frame-pagination__control-icon" aria-hidden="true">
|
|
7616
|
+
<ng-content select="[frPaginationIcon]">‹</ng-content>
|
|
7617
|
+
</span>
|
|
7618
|
+
@if (!iconOnly()) {
|
|
7619
|
+
<span class="frame-pagination__control-text">{{ text() }}</span>
|
|
7620
|
+
}
|
|
7551
7621
|
`,
|
|
7552
7622
|
}]
|
|
7553
7623
|
}], propDecorators: { ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], iconOnly: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconOnly", required: false }] }], text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: false }] }] } });
|
|
@@ -7570,13 +7640,13 @@ class FrPaginationNext {
|
|
|
7570
7640
|
this.pagination.goToNextPage();
|
|
7571
7641
|
}
|
|
7572
7642
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrPaginationNext, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7573
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.16", type: FrPaginationNext, isStandalone: true, selector: "a[frPaginationNext], button[frPaginationNext]", inputs: { ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, iconOnly: { classPropertyName: "iconOnly", publicName: "iconOnly", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "handleClick($event)" }, properties: { "attr.aria-label": "ariaLabel()", "attr.aria-disabled": "isDisabled() ? \"true\" : null", "attr.data-disabled": "isDisabled() ? \"\" : null", "attr.data-icon-only": "iconOnly() ? \"\" : null", "attr.disabled": "isDisabled() ? \"\" : null", "attr.tabindex": "isDisabled() ? \"-1\" : null" }, classAttribute: "frame-pagination__link frame-pagination__next" }, ngImport: i0, template: `
|
|
7574
|
-
@if (!iconOnly()) {
|
|
7575
|
-
<span class="frame-pagination__control-text">{{ text() }}</span>
|
|
7576
|
-
}
|
|
7577
|
-
<span class="frame-pagination__control-icon" aria-hidden="true">
|
|
7578
|
-
<ng-content select="[frPaginationIcon]">›</ng-content>
|
|
7579
|
-
</span>
|
|
7643
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.16", type: FrPaginationNext, isStandalone: true, selector: "a[frPaginationNext], button[frPaginationNext]", inputs: { ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, iconOnly: { classPropertyName: "iconOnly", publicName: "iconOnly", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "handleClick($event)" }, properties: { "attr.aria-label": "ariaLabel()", "attr.aria-disabled": "isDisabled() ? \"true\" : null", "attr.data-disabled": "isDisabled() ? \"\" : null", "attr.data-icon-only": "iconOnly() ? \"\" : null", "attr.disabled": "isDisabled() ? \"\" : null", "attr.tabindex": "isDisabled() ? \"-1\" : null" }, classAttribute: "frame-pagination__link frame-pagination__next" }, ngImport: i0, template: `
|
|
7644
|
+
@if (!iconOnly()) {
|
|
7645
|
+
<span class="frame-pagination__control-text">{{ text() }}</span>
|
|
7646
|
+
}
|
|
7647
|
+
<span class="frame-pagination__control-icon" aria-hidden="true">
|
|
7648
|
+
<ng-content select="[frPaginationIcon]">›</ng-content>
|
|
7649
|
+
</span>
|
|
7580
7650
|
`, isInline: true });
|
|
7581
7651
|
}
|
|
7582
7652
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrPaginationNext, decorators: [{
|
|
@@ -7593,22 +7663,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
|
|
|
7593
7663
|
'[attr.tabindex]': 'isDisabled() ? "-1" : null',
|
|
7594
7664
|
'(click)': 'handleClick($event)',
|
|
7595
7665
|
},
|
|
7596
|
-
template: `
|
|
7597
|
-
@if (!iconOnly()) {
|
|
7598
|
-
<span class="frame-pagination__control-text">{{ text() }}</span>
|
|
7599
|
-
}
|
|
7600
|
-
<span class="frame-pagination__control-icon" aria-hidden="true">
|
|
7601
|
-
<ng-content select="[frPaginationIcon]">›</ng-content>
|
|
7602
|
-
</span>
|
|
7666
|
+
template: `
|
|
7667
|
+
@if (!iconOnly()) {
|
|
7668
|
+
<span class="frame-pagination__control-text">{{ text() }}</span>
|
|
7669
|
+
}
|
|
7670
|
+
<span class="frame-pagination__control-icon" aria-hidden="true">
|
|
7671
|
+
<ng-content select="[frPaginationIcon]">›</ng-content>
|
|
7672
|
+
</span>
|
|
7603
7673
|
`,
|
|
7604
7674
|
}]
|
|
7605
7675
|
}], propDecorators: { ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], iconOnly: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconOnly", required: false }] }], text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: false }] }] } });
|
|
7606
7676
|
class FrPaginationEllipsis {
|
|
7607
7677
|
label = input('More pages', ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
|
|
7608
7678
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrPaginationEllipsis, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7609
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.16", type: FrPaginationEllipsis, isStandalone: true, selector: "[frPaginationEllipsis], frame-pagination-ellipsis", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "presentation" }, classAttribute: "frame-pagination__ellipsis" }, ngImport: i0, template: `
|
|
7610
|
-
<span aria-hidden="true">...</span>
|
|
7611
|
-
<span class="frame-pagination__sr-only">{{ label() }}</span>
|
|
7679
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.16", type: FrPaginationEllipsis, isStandalone: true, selector: "[frPaginationEllipsis], frame-pagination-ellipsis", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "presentation" }, classAttribute: "frame-pagination__ellipsis" }, ngImport: i0, template: `
|
|
7680
|
+
<span aria-hidden="true">...</span>
|
|
7681
|
+
<span class="frame-pagination__sr-only">{{ label() }}</span>
|
|
7612
7682
|
`, isInline: true });
|
|
7613
7683
|
}
|
|
7614
7684
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrPaginationEllipsis, decorators: [{
|
|
@@ -7619,9 +7689,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
|
|
|
7619
7689
|
class: 'frame-pagination__ellipsis',
|
|
7620
7690
|
role: 'presentation',
|
|
7621
7691
|
},
|
|
7622
|
-
template: `
|
|
7623
|
-
<span aria-hidden="true">...</span>
|
|
7624
|
-
<span class="frame-pagination__sr-only">{{ label() }}</span>
|
|
7692
|
+
template: `
|
|
7693
|
+
<span aria-hidden="true">...</span>
|
|
7694
|
+
<span class="frame-pagination__sr-only">{{ label() }}</span>
|
|
7625
7695
|
`,
|
|
7626
7696
|
}]
|
|
7627
7697
|
}], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }] } });
|
|
@@ -8036,7 +8106,7 @@ class FrProgress {
|
|
|
8036
8106
|
if (value === null) {
|
|
8037
8107
|
return 0;
|
|
8038
8108
|
}
|
|
8039
|
-
return
|
|
8109
|
+
return clampNumber(value, 0, this.max());
|
|
8040
8110
|
}, ...(ngDevMode ? [{ debugName: "normalizedValue" }] : /* istanbul ignore next */ []));
|
|
8041
8111
|
percentage = computed(() => (this.normalizedValue() / this.max()) * 100, ...(ngDevMode ? [{ debugName: "percentage" }] : /* istanbul ignore next */ []));
|
|
8042
8112
|
state = computed(() => {
|
|
@@ -8166,13 +8236,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
|
|
|
8166
8236
|
|
|
8167
8237
|
const FR_RESIZABLE_ORIENTATIONS = ['horizontal', 'vertical'];
|
|
8168
8238
|
let nextResizableId = 0;
|
|
8169
|
-
function coerceSize(value, fallback) {
|
|
8170
|
-
const parsed = Number(value);
|
|
8171
|
-
return Number.isFinite(parsed) ? parsed : fallback;
|
|
8172
|
-
}
|
|
8173
|
-
function clampSize(value, min, max) {
|
|
8174
|
-
return Math.min(Math.max(value, min), max);
|
|
8175
|
-
}
|
|
8176
8239
|
class FrResizablePanelGroup {
|
|
8177
8240
|
elementRef = inject((ElementRef));
|
|
8178
8241
|
groupId = `frame-resizable-${++nextResizableId}`;
|
|
@@ -8212,7 +8275,7 @@ class FrResizablePanelGroup {
|
|
|
8212
8275
|
panel.style.flexGrow = '0';
|
|
8213
8276
|
panel.style.flexShrink = '0';
|
|
8214
8277
|
if (!panel.style.flexBasis) {
|
|
8215
|
-
this.applyPanelSize(panel,
|
|
8278
|
+
this.applyPanelSize(panel, clampNumber(this.defaultSize(panel) ?? fallbackSize, this.minSize(panel), this.maxSize(panel)));
|
|
8216
8279
|
}
|
|
8217
8280
|
else {
|
|
8218
8281
|
this.applyPanelSize(panel, this.panelSize(panel) ?? 0);
|
|
@@ -8302,8 +8365,8 @@ class FrResizablePanelGroup {
|
|
|
8302
8365
|
resizePair(previousPanel, nextPanel, pairTotal, requestedPreviousSize) {
|
|
8303
8366
|
const previousMin = this.minSize(previousPanel);
|
|
8304
8367
|
const previousMax = Math.min(this.maxSize(previousPanel), pairTotal - this.minSize(nextPanel));
|
|
8305
|
-
const previousSize =
|
|
8306
|
-
const nextSize =
|
|
8368
|
+
const previousSize = clampNumber(requestedPreviousSize, previousMin, previousMax);
|
|
8369
|
+
const nextSize = clampNumber(pairTotal - previousSize, this.minSize(nextPanel), this.maxSize(nextPanel));
|
|
8307
8370
|
this.applyPanelSize(previousPanel, previousSize);
|
|
8308
8371
|
this.applyPanelSize(nextPanel, nextSize);
|
|
8309
8372
|
this.updateHandleMetadata();
|
|
@@ -8362,16 +8425,16 @@ class FrResizablePanelGroup {
|
|
|
8362
8425
|
}
|
|
8363
8426
|
defaultSize(panel) {
|
|
8364
8427
|
const value = panel.getAttribute('data-default-size');
|
|
8365
|
-
return value === null ? null :
|
|
8428
|
+
return value === null ? null : coerceNumber(value, 0);
|
|
8366
8429
|
}
|
|
8367
8430
|
minSize(panel) {
|
|
8368
|
-
return
|
|
8431
|
+
return coerceNumber(panel.getAttribute('data-min-size'), 0);
|
|
8369
8432
|
}
|
|
8370
8433
|
maxSize(panel) {
|
|
8371
|
-
return
|
|
8434
|
+
return coerceNumber(panel.getAttribute('data-max-size'), 100);
|
|
8372
8435
|
}
|
|
8373
8436
|
collapsedSize(panel) {
|
|
8374
|
-
return
|
|
8437
|
+
return coerceNumber(panel.getAttribute('data-collapsed-size'), 0);
|
|
8375
8438
|
}
|
|
8376
8439
|
collapsible(panel) {
|
|
8377
8440
|
return panel.hasAttribute('data-collapsible');
|
|
@@ -8392,11 +8455,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
|
|
|
8392
8455
|
}]
|
|
8393
8456
|
}], propDecorators: { orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], layoutChange: [{ type: i0.Output, args: ["layoutChange"] }] } });
|
|
8394
8457
|
class FrResizablePanel {
|
|
8395
|
-
defaultSize = input(0, { ...(ngDevMode ? { debugName: "defaultSize" } : /* istanbul ignore next */ {}), transform: (value) =>
|
|
8396
|
-
minSize = input(0, { ...(ngDevMode ? { debugName: "minSize" } : /* istanbul ignore next */ {}), transform: (value) =>
|
|
8397
|
-
maxSize = input(100, { ...(ngDevMode ? { debugName: "maxSize" } : /* istanbul ignore next */ {}), transform: (value) =>
|
|
8458
|
+
defaultSize = input(0, { ...(ngDevMode ? { debugName: "defaultSize" } : /* istanbul ignore next */ {}), transform: (value) => coerceNumber(value, 0) });
|
|
8459
|
+
minSize = input(0, { ...(ngDevMode ? { debugName: "minSize" } : /* istanbul ignore next */ {}), transform: (value) => coerceNumber(value, 0) });
|
|
8460
|
+
maxSize = input(100, { ...(ngDevMode ? { debugName: "maxSize" } : /* istanbul ignore next */ {}), transform: (value) => coerceNumber(value, 100) });
|
|
8398
8461
|
collapsible = input(false, { ...(ngDevMode ? { debugName: "collapsible" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
8399
|
-
collapsedSize = input(0, { ...(ngDevMode ? { debugName: "collapsedSize" } : /* istanbul ignore next */ {}), transform: (value) =>
|
|
8462
|
+
collapsedSize = input(0, { ...(ngDevMode ? { debugName: "collapsedSize" } : /* istanbul ignore next */ {}), transform: (value) => coerceNumber(value, 0) });
|
|
8400
8463
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrResizablePanel, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
8401
8464
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.16", type: FrResizablePanel, isStandalone: true, selector: "[frResizablePanel], frame-resizable-panel", inputs: { defaultSize: { classPropertyName: "defaultSize", publicName: "defaultSize", isSignal: true, isRequired: false, transformFunction: null }, minSize: { classPropertyName: "minSize", publicName: "minSize", isSignal: true, isRequired: false, transformFunction: null }, maxSize: { classPropertyName: "maxSize", publicName: "maxSize", isSignal: true, isRequired: false, transformFunction: null }, collapsible: { classPropertyName: "collapsible", publicName: "collapsible", isSignal: true, isRequired: false, transformFunction: null }, collapsedSize: { classPropertyName: "collapsedSize", publicName: "collapsedSize", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-default-size": "defaultSize()", "attr.data-min-size": "minSize()", "attr.data-max-size": "maxSize()", "attr.data-collapsible": "collapsible() ? \"\" : null", "attr.data-collapsed-size": "collapsedSize()" }, classAttribute: "frame-resizable__panel" }, ngImport: i0 });
|
|
8402
8465
|
}
|
|
@@ -8445,15 +8508,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
|
|
|
8445
8508
|
'[attr.data-orientation]': 'group.orientation()',
|
|
8446
8509
|
'[attr.data-handle]': 'withHandle() ? "" : null',
|
|
8447
8510
|
'[attr.data-disabled]': 'group.disabled() ? "" : null',
|
|
8511
|
+
'(pointerdown)': 'onPointerDown($event)',
|
|
8512
|
+
'(keydown)': 'onKeydown($event)',
|
|
8448
8513
|
},
|
|
8449
8514
|
}]
|
|
8450
|
-
}], propDecorators: { withHandle: [{ type: i0.Input, args: [{ isSignal: true, alias: "withHandle", required: false }] }]
|
|
8451
|
-
type: HostListener,
|
|
8452
|
-
args: ['pointerdown', ['$event']]
|
|
8453
|
-
}], onKeydown: [{
|
|
8454
|
-
type: HostListener,
|
|
8455
|
-
args: ['keydown', ['$event']]
|
|
8456
|
-
}] } });
|
|
8515
|
+
}], propDecorators: { withHandle: [{ type: i0.Input, args: [{ isSignal: true, alias: "withHandle", required: false }] }] } });
|
|
8457
8516
|
|
|
8458
8517
|
const FR_SELECT_POSITIONS = ['item-aligned', 'popper'];
|
|
8459
8518
|
class FrSelectContent extends FrDropdownMenuContent$1 {
|
|
@@ -8827,10 +8886,6 @@ const FR_SLIDER_ORIENTATIONS = ['horizontal', 'vertical'];
|
|
|
8827
8886
|
function coerceOrientation(value) {
|
|
8828
8887
|
return value === 'vertical' ? 'vertical' : 'horizontal';
|
|
8829
8888
|
}
|
|
8830
|
-
function coerceNumber(value, fallback) {
|
|
8831
|
-
const parsed = Number(value);
|
|
8832
|
-
return Number.isFinite(parsed) ? parsed : fallback;
|
|
8833
|
-
}
|
|
8834
8889
|
function coerceValue(value) {
|
|
8835
8890
|
if (Array.isArray(value)) {
|
|
8836
8891
|
return value.map((item) => coerceNumber(item, 0));
|
|
@@ -8966,7 +9021,7 @@ class FrSlider extends FrControlValueAccessor$1 {
|
|
|
8966
9021
|
const next = index < normalized.length - 1 ? normalized[index + 1] - minDistance : max;
|
|
8967
9022
|
const lower = activeIndex === index ? previous : min;
|
|
8968
9023
|
const upper = activeIndex === index ? next : max;
|
|
8969
|
-
return this.snap(
|
|
9024
|
+
return this.snap(clampNumber(value, lower, upper), min, step);
|
|
8970
9025
|
});
|
|
8971
9026
|
}
|
|
8972
9027
|
snap(value, min, step) {
|
|
@@ -8989,7 +9044,7 @@ class FrSlider extends FrControlValueAccessor$1 {
|
|
|
8989
9044
|
if (this.inverted()) {
|
|
8990
9045
|
percent = 1 - percent;
|
|
8991
9046
|
}
|
|
8992
|
-
return this.min() +
|
|
9047
|
+
return this.min() + clampNumber(percent, 0, 1) * (this.max() - this.min());
|
|
8993
9048
|
}
|
|
8994
9049
|
closestThumbIndex(value) {
|
|
8995
9050
|
return this.values().reduce((closestIndex, thumb, index, values) => {
|
|
@@ -9002,31 +9057,31 @@ class FrSlider extends FrControlValueAccessor$1 {
|
|
|
9002
9057
|
return getComputedStyle(this.elementRef.nativeElement).direction === 'rtl';
|
|
9003
9058
|
}
|
|
9004
9059
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrSlider, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9005
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.16", type: FrSlider, isStandalone: true, selector: "frame-slider", inputs: { min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, minStepsBetweenThumbs: { classPropertyName: "minStepsBetweenThumbs", publicName: "minStepsBetweenThumbs", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, invalidInput: { classPropertyName: "invalidInput", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, inverted: { classPropertyName: "inverted", publicName: "inverted", isSignal: true, isRequired: false, transformFunction: null }, defaultValue: { classPropertyName: "defaultValue", publicName: "defaultValue", isSignal: true, isRequired: false, transformFunction: null }, valueInput: { classPropertyName: "valueInput", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, formatValue: { classPropertyName: "formatValue", publicName: "formatValue", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange" }, host: { listeners: { "pointerdown": "handlePointerDown($event)" }, properties: { "attr.data-orientation": "orientation()", "attr.data-disabled": "disabled() ? \"\" : null", "attr.data-invalid": "invalid() ? \"\" : null", "attr.data-inverted": "inverted() ? \"\" : null", "style.--frame-slider-start-percent": "rangeStartPercent() + \"%\"", "style.--frame-slider-end-percent": "rangeEndPercent() + \"%\"" }, classAttribute: "frame-slider" }, providers: [provideDsValueAccessor$1(FrSlider)], exportAs: ["frSlider"], usesInheritance: true, ngImport: i0, template: `
|
|
9006
|
-
<span class="frame-slider__track">
|
|
9007
|
-
<span class="frame-slider__range"></span>
|
|
9008
|
-
</span>
|
|
9009
|
-
|
|
9010
|
-
@for (thumb of values(); track $index) {
|
|
9011
|
-
<input
|
|
9012
|
-
class="frame-slider__native"
|
|
9013
|
-
type="range"
|
|
9014
|
-
[attr.aria-label]="thumbLabel($index)"
|
|
9015
|
-
[attr.aria-valuetext]="valueText(thumb)"
|
|
9016
|
-
[disabled]="disabled()"
|
|
9017
|
-
[min]="min()"
|
|
9018
|
-
[max]="max()"
|
|
9019
|
-
[step]="step()"
|
|
9020
|
-
[value]="thumb"
|
|
9021
|
-
(blur)="markTouched()"
|
|
9022
|
-
(input)="handleNativeInput($index, $any($event.target).value)"
|
|
9023
|
-
/>
|
|
9024
|
-
<span
|
|
9025
|
-
class="frame-slider__thumb"
|
|
9026
|
-
[attr.data-active]="activeThumb() === $index ? '' : null"
|
|
9027
|
-
[style.--frame-slider-thumb-percent]="percentForValue(thumb) + '%'"
|
|
9028
|
-
></span>
|
|
9029
|
-
}
|
|
9060
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.16", type: FrSlider, isStandalone: true, selector: "frame-slider", inputs: { min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, minStepsBetweenThumbs: { classPropertyName: "minStepsBetweenThumbs", publicName: "minStepsBetweenThumbs", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, invalidInput: { classPropertyName: "invalidInput", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, inverted: { classPropertyName: "inverted", publicName: "inverted", isSignal: true, isRequired: false, transformFunction: null }, defaultValue: { classPropertyName: "defaultValue", publicName: "defaultValue", isSignal: true, isRequired: false, transformFunction: null }, valueInput: { classPropertyName: "valueInput", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, formatValue: { classPropertyName: "formatValue", publicName: "formatValue", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange" }, host: { listeners: { "pointerdown": "handlePointerDown($event)" }, properties: { "attr.data-orientation": "orientation()", "attr.data-disabled": "disabled() ? \"\" : null", "attr.data-invalid": "invalid() ? \"\" : null", "attr.data-inverted": "inverted() ? \"\" : null", "style.--frame-slider-start-percent": "rangeStartPercent() + \"%\"", "style.--frame-slider-end-percent": "rangeEndPercent() + \"%\"" }, classAttribute: "frame-slider" }, providers: [provideDsValueAccessor$1(FrSlider)], exportAs: ["frSlider"], usesInheritance: true, ngImport: i0, template: `
|
|
9061
|
+
<span class="frame-slider__track">
|
|
9062
|
+
<span class="frame-slider__range"></span>
|
|
9063
|
+
</span>
|
|
9064
|
+
|
|
9065
|
+
@for (thumb of values(); track $index) {
|
|
9066
|
+
<input
|
|
9067
|
+
class="frame-slider__native"
|
|
9068
|
+
type="range"
|
|
9069
|
+
[attr.aria-label]="thumbLabel($index)"
|
|
9070
|
+
[attr.aria-valuetext]="valueText(thumb)"
|
|
9071
|
+
[disabled]="disabled()"
|
|
9072
|
+
[min]="min()"
|
|
9073
|
+
[max]="max()"
|
|
9074
|
+
[step]="step()"
|
|
9075
|
+
[value]="thumb"
|
|
9076
|
+
(blur)="markTouched()"
|
|
9077
|
+
(input)="handleNativeInput($index, $any($event.target).value)"
|
|
9078
|
+
/>
|
|
9079
|
+
<span
|
|
9080
|
+
class="frame-slider__thumb"
|
|
9081
|
+
[attr.data-active]="activeThumb() === $index ? '' : null"
|
|
9082
|
+
[style.--frame-slider-thumb-percent]="percentForValue(thumb) + '%'"
|
|
9083
|
+
></span>
|
|
9084
|
+
}
|
|
9030
9085
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
9031
9086
|
}
|
|
9032
9087
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrSlider, decorators: [{
|
|
@@ -9046,37 +9101,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
|
|
|
9046
9101
|
'[style.--frame-slider-end-percent]': 'rangeEndPercent() + "%"',
|
|
9047
9102
|
'(pointerdown)': 'handlePointerDown($event)',
|
|
9048
9103
|
},
|
|
9049
|
-
template: `
|
|
9050
|
-
<span class="frame-slider__track">
|
|
9051
|
-
<span class="frame-slider__range"></span>
|
|
9052
|
-
</span>
|
|
9053
|
-
|
|
9054
|
-
@for (thumb of values(); track $index) {
|
|
9055
|
-
<input
|
|
9056
|
-
class="frame-slider__native"
|
|
9057
|
-
type="range"
|
|
9058
|
-
[attr.aria-label]="thumbLabel($index)"
|
|
9059
|
-
[attr.aria-valuetext]="valueText(thumb)"
|
|
9060
|
-
[disabled]="disabled()"
|
|
9061
|
-
[min]="min()"
|
|
9062
|
-
[max]="max()"
|
|
9063
|
-
[step]="step()"
|
|
9064
|
-
[value]="thumb"
|
|
9065
|
-
(blur)="markTouched()"
|
|
9066
|
-
(input)="handleNativeInput($index, $any($event.target).value)"
|
|
9067
|
-
/>
|
|
9068
|
-
<span
|
|
9069
|
-
class="frame-slider__thumb"
|
|
9070
|
-
[attr.data-active]="activeThumb() === $index ? '' : null"
|
|
9071
|
-
[style.--frame-slider-thumb-percent]="percentForValue(thumb) + '%'"
|
|
9072
|
-
></span>
|
|
9073
|
-
}
|
|
9104
|
+
template: `
|
|
9105
|
+
<span class="frame-slider__track">
|
|
9106
|
+
<span class="frame-slider__range"></span>
|
|
9107
|
+
</span>
|
|
9108
|
+
|
|
9109
|
+
@for (thumb of values(); track $index) {
|
|
9110
|
+
<input
|
|
9111
|
+
class="frame-slider__native"
|
|
9112
|
+
type="range"
|
|
9113
|
+
[attr.aria-label]="thumbLabel($index)"
|
|
9114
|
+
[attr.aria-valuetext]="valueText(thumb)"
|
|
9115
|
+
[disabled]="disabled()"
|
|
9116
|
+
[min]="min()"
|
|
9117
|
+
[max]="max()"
|
|
9118
|
+
[step]="step()"
|
|
9119
|
+
[value]="thumb"
|
|
9120
|
+
(blur)="markTouched()"
|
|
9121
|
+
(input)="handleNativeInput($index, $any($event.target).value)"
|
|
9122
|
+
/>
|
|
9123
|
+
<span
|
|
9124
|
+
class="frame-slider__thumb"
|
|
9125
|
+
[attr.data-active]="activeThumb() === $index ? '' : null"
|
|
9126
|
+
[style.--frame-slider-thumb-percent]="percentForValue(thumb) + '%'"
|
|
9127
|
+
></span>
|
|
9128
|
+
}
|
|
9074
9129
|
`,
|
|
9075
9130
|
}]
|
|
9076
9131
|
}], ctorParameters: () => [], propDecorators: { min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], step: [{ type: i0.Input, args: [{ isSignal: true, alias: "step", required: false }] }], minStepsBetweenThumbs: [{ type: i0.Input, args: [{ isSignal: true, alias: "minStepsBetweenThumbs", required: false }] }], orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], disabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], invalidInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalid", required: false }] }], inverted: [{ type: i0.Input, args: [{ isSignal: true, alias: "inverted", required: false }] }], defaultValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultValue", required: false }] }], valueInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }], formatValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "formatValue", required: false }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }] } });
|
|
9077
|
-
function clamp$1(value, min, max) {
|
|
9078
|
-
return Math.min(Math.max(value, min), max);
|
|
9079
|
-
}
|
|
9080
9132
|
|
|
9081
9133
|
const FR_SEPARATOR_ORIENTATIONS = ['horizontal', 'vertical'];
|
|
9082
9134
|
function coerceSeparatorOrientation(value) {
|
|
@@ -9179,18 +9231,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
|
|
|
9179
9231
|
}]
|
|
9180
9232
|
}], propDecorators: { result: [{ type: i0.Input, args: [{ isSignal: true, alias: "frSheetClose", required: false }] }] } });
|
|
9181
9233
|
class FrSheetPanel {
|
|
9234
|
+
dialogRef = inject(DialogRef, { optional: true });
|
|
9182
9235
|
scrollable = input(false, { ...(ngDevMode ? { debugName: "scrollable" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
9183
9236
|
showCloseButton = input(true, { ...(ngDevMode ? { debugName: "showCloseButton" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
9184
9237
|
side = input('right', { ...(ngDevMode ? { debugName: "side" } : /* istanbul ignore next */ {}), transform: coerceSheetSide });
|
|
9185
|
-
|
|
9186
|
-
|
|
9187
|
-
<ng-content />
|
|
9188
|
-
@if (showCloseButton()) {
|
|
9189
|
-
<button class="frame-sheet__close" frSheetClose type="button" aria-label="Close sheet">
|
|
9190
|
-
<span aria-hidden="true">×</span>
|
|
9191
|
-
</button>
|
|
9238
|
+
close() {
|
|
9239
|
+
this.dialogRef?.close();
|
|
9192
9240
|
}
|
|
9193
|
-
|
|
9241
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrSheetPanel, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9242
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.16", type: FrSheetPanel, isStandalone: true, selector: "[frSheetPanel], frame-sheet-panel", inputs: { scrollable: { classPropertyName: "scrollable", publicName: "scrollable", isSignal: true, isRequired: false, transformFunction: null }, showCloseButton: { classPropertyName: "showCloseButton", publicName: "showCloseButton", isSignal: true, isRequired: false, transformFunction: null }, side: { classPropertyName: "side", publicName: "side", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-scrollable": "scrollable() ? \"\" : null", "attr.data-side": "side()" }, classAttribute: "frame-sheet__panel" }, ngImport: i0, template: `
|
|
9243
|
+
<ng-content />
|
|
9244
|
+
@if (showCloseButton()) {
|
|
9245
|
+
<button class="frame-sheet__close" type="button" aria-label="Close sheet" (click)="close()">
|
|
9246
|
+
<span aria-hidden="true">×</span>
|
|
9247
|
+
</button>
|
|
9248
|
+
}
|
|
9249
|
+
`, isInline: true });
|
|
9194
9250
|
}
|
|
9195
9251
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrSheetPanel, decorators: [{
|
|
9196
9252
|
type: Component,
|
|
@@ -9201,15 +9257,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
|
|
|
9201
9257
|
'[attr.data-scrollable]': 'scrollable() ? "" : null',
|
|
9202
9258
|
'[attr.data-side]': 'side()',
|
|
9203
9259
|
},
|
|
9204
|
-
template: `
|
|
9205
|
-
<ng-content />
|
|
9206
|
-
@if (showCloseButton()) {
|
|
9207
|
-
<button class="frame-sheet__close"
|
|
9208
|
-
<span aria-hidden="true">×</span>
|
|
9209
|
-
</button>
|
|
9210
|
-
}
|
|
9260
|
+
template: `
|
|
9261
|
+
<ng-content />
|
|
9262
|
+
@if (showCloseButton()) {
|
|
9263
|
+
<button class="frame-sheet__close" type="button" aria-label="Close sheet" (click)="close()">
|
|
9264
|
+
<span aria-hidden="true">×</span>
|
|
9265
|
+
</button>
|
|
9266
|
+
}
|
|
9211
9267
|
`,
|
|
9212
|
-
imports: [FrSheetClose],
|
|
9213
9268
|
}]
|
|
9214
9269
|
}], propDecorators: { scrollable: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollable", required: false }] }], showCloseButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "showCloseButton", required: false }] }], side: [{ type: i0.Input, args: [{ isSignal: true, alias: "side", required: false }] }] } });
|
|
9215
9270
|
class FrSheetHeader {
|
|
@@ -9674,12 +9729,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
|
|
|
9674
9729
|
'[attr.data-mobile-open]': 'openMobile()',
|
|
9675
9730
|
'[attr.data-mobile]': 'isMobile() ? "" : null',
|
|
9676
9731
|
'[attr.data-resizing]': 'resizing() ? "" : null',
|
|
9732
|
+
'(document:keydown)': 'handleKeydown($event)',
|
|
9677
9733
|
},
|
|
9678
9734
|
}]
|
|
9679
|
-
}], ctorParameters: () => [], propDecorators: { defaultOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultOpen", required: false }] }], openInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }], openChange: [{ type: i0.Output, args: ["openChange"] }], openMobileChange: [{ type: i0.Output, args: ["openMobileChange"] }], shortcut: [{ type: i0.Input, args: [{ isSignal: true, alias: "shortcut", required: false }] }], keyboardShortcut: [{ type: i0.Input, args: [{ isSignal: true, alias: "keyboardShortcut", required: false }] }]
|
|
9680
|
-
type: HostListener,
|
|
9681
|
-
args: ['document:keydown', ['$event']]
|
|
9682
|
-
}] } });
|
|
9735
|
+
}], ctorParameters: () => [], propDecorators: { defaultOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultOpen", required: false }] }], openInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }], openChange: [{ type: i0.Output, args: ["openChange"] }], openMobileChange: [{ type: i0.Output, args: ["openMobileChange"] }], shortcut: [{ type: i0.Input, args: [{ isSignal: true, alias: "shortcut", required: false }] }], keyboardShortcut: [{ type: i0.Input, args: [{ isSignal: true, alias: "keyboardShortcut", required: false }] }] } });
|
|
9683
9736
|
class FrSidebar {
|
|
9684
9737
|
elementRef = inject(ElementRef);
|
|
9685
9738
|
provider = inject(FR_SIDEBAR_PROVIDER, { optional: true });
|
|
@@ -9688,8 +9741,9 @@ class FrSidebar {
|
|
|
9688
9741
|
collapsible = input('offcanvas', { ...(ngDevMode ? { debugName: "collapsible" } : /* istanbul ignore next */ {}), transform: coerceCollapsible });
|
|
9689
9742
|
minSize = input(null, { ...(ngDevMode ? { debugName: "minSize" } : /* istanbul ignore next */ {}), transform: coerceOptionalNumber });
|
|
9690
9743
|
maxSize = input(384, { ...(ngDevMode ? { debugName: "maxSize" } : /* istanbul ignore next */ {}), transform: coerceOptionalNumber });
|
|
9744
|
+
resizable = input(true, { ...(ngDevMode ? { debugName: "resizable" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
9691
9745
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrSidebar, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
9692
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.16", type: FrSidebar, isStandalone: true, selector: "[frSidebar], frame-sidebar", inputs: { side: { classPropertyName: "side", publicName: "side", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, collapsible: { classPropertyName: "collapsible", publicName: "collapsible", isSignal: true, isRequired: false, transformFunction: null }, minSize: { classPropertyName: "minSize", publicName: "minSize", isSignal: true, isRequired: false, transformFunction: null }, maxSize: { classPropertyName: "maxSize", publicName: "maxSize", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-side": "side()", "attr.data-variant": "variant()", "attr.data-collapsible": "collapsible()", "attr.data-state": "provider?.state() ?? \"expanded\"", "attr.data-mobile-open": "provider?.openMobile() ?? false" }, classAttribute: "frame-sidebar" }, ngImport: i0 });
|
|
9746
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.16", type: FrSidebar, isStandalone: true, selector: "[frSidebar], frame-sidebar", inputs: { side: { classPropertyName: "side", publicName: "side", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, collapsible: { classPropertyName: "collapsible", publicName: "collapsible", isSignal: true, isRequired: false, transformFunction: null }, minSize: { classPropertyName: "minSize", publicName: "minSize", isSignal: true, isRequired: false, transformFunction: null }, maxSize: { classPropertyName: "maxSize", publicName: "maxSize", isSignal: true, isRequired: false, transformFunction: null }, resizable: { classPropertyName: "resizable", publicName: "resizable", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-side": "side()", "attr.data-variant": "variant()", "attr.data-collapsible": "collapsible()", "attr.data-resizable": "resizable() ? \"\" : null", "attr.data-state": "provider?.state() ?? \"expanded\"", "attr.data-mobile-open": "provider?.openMobile() ?? false" }, classAttribute: "frame-sidebar" }, ngImport: i0 });
|
|
9693
9747
|
}
|
|
9694
9748
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrSidebar, decorators: [{
|
|
9695
9749
|
type: Directive,
|
|
@@ -9700,11 +9754,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
|
|
|
9700
9754
|
'[attr.data-side]': 'side()',
|
|
9701
9755
|
'[attr.data-variant]': 'variant()',
|
|
9702
9756
|
'[attr.data-collapsible]': 'collapsible()',
|
|
9757
|
+
'[attr.data-resizable]': 'resizable() ? "" : null',
|
|
9703
9758
|
'[attr.data-state]': 'provider?.state() ?? "expanded"',
|
|
9704
9759
|
'[attr.data-mobile-open]': 'provider?.openMobile() ?? false',
|
|
9705
9760
|
},
|
|
9706
9761
|
}]
|
|
9707
|
-
}], propDecorators: { side: [{ type: i0.Input, args: [{ isSignal: true, alias: "side", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], collapsible: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsible", required: false }] }], minSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "minSize", required: false }] }], maxSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxSize", required: false }] }] } });
|
|
9762
|
+
}], propDecorators: { side: [{ type: i0.Input, args: [{ isSignal: true, alias: "side", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], collapsible: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsible", required: false }] }], minSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "minSize", required: false }] }], maxSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxSize", required: false }] }], resizable: [{ type: i0.Input, args: [{ isSignal: true, alias: "resizable", required: false }] }] } });
|
|
9708
9763
|
class FrSidebarTrigger {
|
|
9709
9764
|
provider = inject(FR_SIDEBAR_PROVIDER, { optional: true });
|
|
9710
9765
|
ariaLabel = input('Toggle sidebar', { ...(ngDevMode ? { debugName: "ariaLabel" } : /* istanbul ignore next */ {}), alias: 'aria-label' });
|
|
@@ -9743,10 +9798,13 @@ class FrSidebarRail {
|
|
|
9743
9798
|
if (this.suppressClick) {
|
|
9744
9799
|
return;
|
|
9745
9800
|
}
|
|
9801
|
+
if (this.sidebar?.collapsible() === 'icon') {
|
|
9802
|
+
return;
|
|
9803
|
+
}
|
|
9746
9804
|
this.provider?.toggleSidebar();
|
|
9747
9805
|
}
|
|
9748
9806
|
startResize(event) {
|
|
9749
|
-
if (!this.sidebar || !this.provider || this.provider.isMobile()) {
|
|
9807
|
+
if (!this.sidebar || !this.provider || this.provider.isMobile() || !this.sidebar.resizable()) {
|
|
9750
9808
|
return;
|
|
9751
9809
|
}
|
|
9752
9810
|
this.startX = event.clientX;
|
|
@@ -9760,7 +9818,9 @@ class FrSidebarRail {
|
|
|
9760
9818
|
const up = () => {
|
|
9761
9819
|
this.document.removeEventListener('pointermove', move);
|
|
9762
9820
|
this.document.removeEventListener('pointerup', up);
|
|
9763
|
-
this.
|
|
9821
|
+
if (this.dragging) {
|
|
9822
|
+
this.flushResize();
|
|
9823
|
+
}
|
|
9764
9824
|
this.provider?.setResizing(false);
|
|
9765
9825
|
this.suppressClick = this.dragging;
|
|
9766
9826
|
this.dragging = false;
|
|
@@ -9780,9 +9840,12 @@ class FrSidebarRail {
|
|
|
9780
9840
|
}
|
|
9781
9841
|
const delta = event.clientX - this.startX;
|
|
9782
9842
|
const direction = this.sidebar.side() === 'right' ? -1 : 1;
|
|
9783
|
-
const nextWidth =
|
|
9843
|
+
const nextWidth = clampNumber(this.startWidth + delta * direction, this.resizeMinSize, this.resizeMaxSize);
|
|
9784
9844
|
if (Math.abs(delta) > 3) {
|
|
9785
9845
|
this.dragging = true;
|
|
9846
|
+
if (this.sidebar.collapsible() === 'icon' && !this.provider.open()) {
|
|
9847
|
+
this.provider.setOpen(true);
|
|
9848
|
+
}
|
|
9786
9849
|
}
|
|
9787
9850
|
this.pendingWidth = nextWidth;
|
|
9788
9851
|
if (this.frameId !== -1) {
|
|
@@ -9802,9 +9865,6 @@ class FrSidebarRail {
|
|
|
9802
9865
|
this.provider?.setSidebarWidth(this.pendingWidth);
|
|
9803
9866
|
}
|
|
9804
9867
|
}
|
|
9805
|
-
clampWidth(width) {
|
|
9806
|
-
return Math.min(Math.max(width, this.resizeMinSize), this.resizeMaxSize);
|
|
9807
|
-
}
|
|
9808
9868
|
captureResizeBounds() {
|
|
9809
9869
|
if (!this.sidebar) {
|
|
9810
9870
|
return;
|
|
@@ -10220,8 +10280,8 @@ function calculateVirtualRange(options) {
|
|
|
10220
10280
|
const overscan = Math.max(Math.trunc(options.overscan), 0);
|
|
10221
10281
|
const visibleCount = Math.max(Math.ceil(viewportSize / itemSize), 1);
|
|
10222
10282
|
const rawStart = Math.floor(Math.max(options.scrollTop, 0) / itemSize) - overscan;
|
|
10223
|
-
const start =
|
|
10224
|
-
const end =
|
|
10283
|
+
const start = clampNumber(rawStart, 0, totalCount);
|
|
10284
|
+
const end = clampNumber(start + visibleCount + overscan * 2, start, totalCount);
|
|
10225
10285
|
return {
|
|
10226
10286
|
start,
|
|
10227
10287
|
end,
|
|
@@ -10233,31 +10293,28 @@ function calculateScrollOffsetForIndex(index, alignment, itemSize, viewportSize,
|
|
|
10233
10293
|
const normalizedItemSize = Math.max(itemSize, 1);
|
|
10234
10294
|
const normalizedViewportSize = Math.max(viewportSize, 0);
|
|
10235
10295
|
const maxScrollTop = Math.max(totalCount * normalizedItemSize - normalizedViewportSize, 0);
|
|
10236
|
-
const clampedIndex =
|
|
10296
|
+
const clampedIndex = clampNumber(index, 0, Math.max(totalCount - 1, 0));
|
|
10237
10297
|
const itemStart = clampedIndex * normalizedItemSize;
|
|
10238
10298
|
const itemEnd = itemStart + normalizedItemSize;
|
|
10239
10299
|
switch (alignment) {
|
|
10240
10300
|
case 'start':
|
|
10241
|
-
return
|
|
10301
|
+
return clampNumber(itemStart, 0, maxScrollTop);
|
|
10242
10302
|
case 'center':
|
|
10243
|
-
return
|
|
10303
|
+
return clampNumber(itemStart - (normalizedViewportSize - normalizedItemSize) / 2, 0, maxScrollTop);
|
|
10244
10304
|
case 'end':
|
|
10245
|
-
return
|
|
10305
|
+
return clampNumber(itemEnd - normalizedViewportSize, 0, maxScrollTop);
|
|
10246
10306
|
case 'nearest':
|
|
10247
10307
|
case 'auto':
|
|
10248
10308
|
default:
|
|
10249
10309
|
if (itemStart < currentScrollTop) {
|
|
10250
|
-
return
|
|
10310
|
+
return clampNumber(itemStart, 0, maxScrollTop);
|
|
10251
10311
|
}
|
|
10252
10312
|
if (itemEnd > currentScrollTop + normalizedViewportSize) {
|
|
10253
|
-
return
|
|
10313
|
+
return clampNumber(itemEnd - normalizedViewportSize, 0, maxScrollTop);
|
|
10254
10314
|
}
|
|
10255
|
-
return
|
|
10315
|
+
return clampNumber(currentScrollTop, 0, maxScrollTop);
|
|
10256
10316
|
}
|
|
10257
10317
|
}
|
|
10258
|
-
function clamp(value, min, max) {
|
|
10259
|
-
return Math.min(Math.max(value, min), max);
|
|
10260
|
-
}
|
|
10261
10318
|
|
|
10262
10319
|
class FrVirtualViewport {
|
|
10263
10320
|
destroyRef = inject(DestroyRef);
|
|
@@ -10488,5 +10545,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
|
|
|
10488
10545
|
* Generated bundle index. Do not edit.
|
|
10489
10546
|
*/
|
|
10490
10547
|
|
|
10491
|
-
export { FR_ACCORDION_TYPES, FR_ALERT_VARIANTS, FR_AVATAR_SIZES, FR_BADGE_ICON_POSITIONS, FR_BADGE_VARIANTS, FR_BUTTON_APPEARANCES, FR_BUTTON_GROUP_ORIENTATIONS, FR_BUTTON_LOADING_DISPLAYS, FR_BUTTON_RADII, FR_BUTTON_SIZES, FR_CARD_FOOTER_ALIGNS, FR_CARD_SIZES, FR_CARD_SPACINGS, FR_CAROUSEL_ALIGNS, FR_CAROUSEL_DIRECTIONS, FR_CAROUSEL_ORIENTATIONS, FR_CONTEXT_MENU_CONTENT, FR_DROPDOWN_MENU_ALIGNMENTS, FR_DROPDOWN_MENU_CONTENT, FR_DROPDOWN_MENU_ITEM_VARIANTS, FR_DROPDOWN_MENU_PARENT, FR_DROPDOWN_MENU_SIDES, FR_DROPDOWN_MENU_TRIGGER_MODES, FR_EMPTY_MEDIA_VARIANTS, FR_EMPTY_ORIENTATIONS, FR_EMPTY_VARIANTS, FR_FIELD_LEGEND_VARIANTS, FR_FIELD_ORIENTATIONS, FR_HOVER_CARD_ALIGNMENTS, FR_HOVER_CARD_SIDES, FR_INPUT_GROUP_ADDON_ALIGNS, FR_INPUT_GROUP_ADDON_VARIANTS, FR_INPUT_OTP_PATTERN_DIGITS, FR_INPUT_OTP_PATTERN_DIGITS_AND_CHARS, FR_ITEM_MEDIA_VARIANTS, FR_ITEM_SIZES, FR_ITEM_VARIANTS, FR_MENUBAR_PARENT, FR_MODAL_DATA, FR_NAVIGATION_MENU_PARENT, FR_POPOVER_ALIGNMENTS, FR_POPOVER_SIDES, FR_RADIO_GROUP_ORIENTATIONS, FR_RADIO_GROUP_VARIANTS, FR_RESIZABLE_ORIENTATIONS, FR_SELECT_ICON_POSITIONS, FR_SELECT_INDICATOR_POSITIONS, FR_SELECT_POSITIONS, FR_SEPARATOR_ORIENTATIONS, FR_SHEET_DATA, FR_SHEET_SIDES, FR_SIDEBAR_COLLAPSIBLES, FR_SIDEBAR_MENU_BUTTON_SIZES, FR_SIDEBAR_MENU_BUTTON_VARIANTS, FR_SIDEBAR_PROVIDER, FR_SIDEBAR_SIDES, FR_SIDEBAR_VARIANTS, FR_SLIDER_ORIENTATIONS, FR_SWITCH_SIZES, FrAccordion, FrAccordionContent, FrAccordionIcon, FrAccordionItem, FrAccordionTrigger, FrAlert, FrAlertDescription, FrAlertIcon, FrAlertTitle, FrAvatar, FrAvatarBadge, FrAvatarFallback, FrAvatarGroup, FrAvatarGroupCount, FrAvatarIcon, FrAvatarImage, FrBadge, FrBadgeIcon, FrBadgeLabel, FrBadgeSpinner, FrBreadcrumb, FrBreadcrumbEllipsis, FrBreadcrumbItem, FrBreadcrumbLink, FrBreadcrumbList, FrBreadcrumbPage, FrBreadcrumbSeparator, FrButton, FrButtonGroup, FrButtonIcon, FrButtonLabel, FrButtonLoading, FrCalendar, FrCard, FrCardAction, FrCardContent, FrCardDescription, FrCardFooter, FrCardHeader, FrCardTitle, FrCarousel, FrCarouselContent, FrCarouselItem, FrCarouselNext, FrCarouselPrevious, FrCheckbox, FrCheckboxField, FrCheckboxLabel, FrCollapsible, FrCollapsibleContent, FrCollapsibleTrigger, FrCombobox, FrComboboxChip, FrComboboxChipRemove, FrComboboxChips, FrComboboxChipsInput, FrComboboxClear, FrComboboxCollection, FrComboboxContent, FrComboboxEmpty, FrComboboxError, FrComboboxGroup, FrComboboxInput, FrComboboxItem, FrComboboxItemIndicator, FrComboboxLabel, FrComboboxList, FrComboboxPanel, FrComboboxRootLookup, FrComboboxSeparator, FrComboboxTrigger, FrComboboxValueList, FrCommand, FrCommandDialog, FrCommandDialogTrigger, FrCommandEmpty, FrCommandFooter, FrCommandGroup, FrCommandGroupHeading, FrCommandInput, FrCommandItem, FrCommandItemIcon, FrCommandList, FrCommandSeparator, FrCommandService, FrCommandShortcut, FrContextMenu, FrContextMenuCheckboxItem, FrContextMenuContent, FrContextMenuItem, FrContextMenuItemIndicator, FrContextMenuLabel, FrContextMenuPanel, FrContextMenuRadioGroup, FrContextMenuRadioItem, FrContextMenuSeparator, FrContextMenuShortcut, FrContextMenuSub, FrContextMenuSubTrigger, FrContextMenuTrigger, FrControlValueAccessor, FrDatePicker, FrDropdownMenu, FrDropdownMenuCheckboxItem, FrDropdownMenuContent, FrDropdownMenuItem, FrDropdownMenuItemIndicator, FrDropdownMenuLabel, FrDropdownMenuPanel, FrDropdownMenuRadioGroup, FrDropdownMenuRadioItem, FrDropdownMenuSeparator, FrDropdownMenuShortcut, FrDropdownMenuSub, FrDropdownMenuSubTrigger, FrDropdownMenuTree, FrDropdownMenuTrigger, FrEmpty, FrEmptyContent, FrEmptyDescription, FrEmptyHeader, FrEmptyMedia, FrEmptyTitle, FrField, FrFieldContent, FrFieldDescription, FrFieldError, FrFieldGroup, FrFieldLabel, FrFieldLegend, FrFieldSeparator, FrFieldSet, FrHoverCardRoot as FrHoverCard, FrHoverCardContent, FrHoverCardPanel, FrHoverCardTrigger, FrIconButton, FrInput, FrInputBadge, FrInputControl, FrInputDescription, FrInputError, FrInputField, FrInputFieldGroup, FrInputGroup, FrInputGroupAddon, FrInputGroupInput, FrInputGroupText, FrInputHeader, FrInputLabel, FrInputOtp, FrInputOtpGroup, FrInputOtpSeparator, FrInputOtpSlot, FrItem, FrItemActions, FrItemContent, FrItemDescription, FrItemFooter, FrItemGroup, FrItemHeader, FrItemMedia, FrItemSeparator, FrItemTitle, FrMenuBar, FrMenuBarCheckboxItem, FrMenuBarContent, FrMenuBarItem, FrMenuBarItemIndicator, FrMenuBarLabel, FrMenuBarMenu, FrMenuBarPanel, FrMenuBarRadioGroup, FrMenuBarRadioItem, FrMenuBarSeparator, FrMenuBarShortcut, FrMenuBarSub, FrMenuBarSubTrigger, FrMenuBarTrigger, FrModalBody, FrModalClose, FrModalContent, FrModalDescription, FrModalFooter, FrModalHeader, FrModalPanel, FrModalService, FrModalShell, FrModalTitle, FrModalTrigger, FrNavigationLinkSeparator, FrNavigationMenu, FrNavigationMenuContent, FrNavigationMenuFeature, FrNavigationMenuGrid, FrNavigationMenuIndicator, FrNavigationMenuItem, FrNavigationMenuLink, FrNavigationMenuLinkDescription, FrNavigationMenuLinkTitle, FrNavigationMenuList, FrNavigationMenuPanel, FrNavigationMenuTrigger, FrNavigationMenuViewport, FrPagination, FrPaginationContent, FrPaginationEllipsis, FrPaginationIcon, FrPaginationItem, FrPaginationLink, FrPaginationNext, FrPaginationPrevious, FrPopoverRoot as FrPopover, FrPopoverBody, FrPopoverClose, FrPopoverContent, FrPopoverDescription, FrPopoverFooter, FrPopoverHeader, FrPopoverPanel, FrPopoverTitle, FrPopoverTrigger, FrProgress, FrProgressIndicator, FrRadioGroup, FrRadioGroupCard, FrRadioGroupCardMeta, FrRadioGroupField, FrRadioGroupItem, FrResizableHandle, FrResizablePanel, FrResizablePanelGroup, FrSelect, FrSelectContent, FrSelectError, FrSelectGroup, FrSelectIcon, FrSelectItem, FrSelectItemIndicator, FrSelectLabel, FrSelectPanel, FrSelectSeparator, FrSelectValue, FrSeparator, FrSheetBody, FrSheetClose, FrSheetContent, FrSheetDescription, FrSheetFooter, FrSheetHeader, FrSheetPanel, FrSheetService, FrSheetShell, FrSheetTitle, FrSheetTrigger, FrSidebar, FrSidebarContent, FrSidebarFooter, FrSidebarGroup, FrSidebarGroupAction, FrSidebarGroupContent, FrSidebarGroupLabel, FrSidebarHeader, FrSidebarInset, FrSidebarMenu, FrSidebarMenuAction, FrSidebarMenuBadge, FrSidebarMenuButton, FrSidebarMenuItem, FrSidebarMenuSkeleton, FrSidebarMenuSub, FrSidebarMenuSubButton, FrSidebarMenuSubItem, FrSidebarProvider, FrSidebarRail, FrSidebarTrigger, FrSlider, FrSwitch, FrSwitchContent, FrSwitchDescription, FrSwitchError, FrSwitchField, FrSwitchLabel, FrTextarea, FrVirtualContent, FrVirtualFor, FrVirtualItem, FrVirtualItemMeta, FrVirtualList, FrVirtualPanel, FrVirtualViewport, buildConnectedPositions, calculateScrollOffsetForIndex, calculateVirtualRange, defaultPositions, provideDsValueAccessor };
|
|
10548
|
+
export { FR_ACCORDION_TYPES, FR_ALERT_VARIANTS, FR_AVATAR_SIZES, FR_BADGE_ICON_POSITIONS, FR_BADGE_VARIANTS, FR_BUTTON_APPEARANCES, FR_BUTTON_GROUP_ORIENTATIONS, FR_BUTTON_LOADING_DISPLAYS, FR_BUTTON_RADII, FR_BUTTON_SIZES, FR_CARD_FOOTER_ALIGNS, FR_CARD_SIZES, FR_CARD_SPACINGS, FR_CAROUSEL_ALIGNS, FR_CAROUSEL_DIRECTIONS, FR_CAROUSEL_ORIENTATIONS, FR_CONTEXT_MENU_CONTENT, FR_DROPDOWN_MENU_ALIGNMENTS, FR_DROPDOWN_MENU_CONTENT, FR_DROPDOWN_MENU_ITEM_VARIANTS, FR_DROPDOWN_MENU_PARENT, FR_DROPDOWN_MENU_SIDES, FR_DROPDOWN_MENU_TRIGGER_MODES, FR_EMPTY_MEDIA_VARIANTS, FR_EMPTY_ORIENTATIONS, FR_EMPTY_VARIANTS, FR_FIELD_LEGEND_VARIANTS, FR_FIELD_ORIENTATIONS, FR_HOVER_CARD_ALIGNMENTS, FR_HOVER_CARD_SIDES, FR_INPUT_GROUP_ADDON_ALIGNS, FR_INPUT_GROUP_ADDON_VARIANTS, FR_INPUT_OTP_PATTERN_DIGITS, FR_INPUT_OTP_PATTERN_DIGITS_AND_CHARS, FR_ITEM_MEDIA_VARIANTS, FR_ITEM_SIZES, FR_ITEM_VARIANTS, FR_MENUBAR_PARENT, FR_MODAL_DATA, FR_MODAL_REF, FR_NAVIGATION_MENU_PARENT, FR_POPOVER_ALIGNMENTS, FR_POPOVER_SIDES, FR_RADIO_GROUP_ORIENTATIONS, FR_RADIO_GROUP_VARIANTS, FR_RESIZABLE_ORIENTATIONS, FR_SELECT_ICON_POSITIONS, FR_SELECT_INDICATOR_POSITIONS, FR_SELECT_POSITIONS, FR_SEPARATOR_ORIENTATIONS, FR_SHEET_DATA, FR_SHEET_SIDES, FR_SIDEBAR_COLLAPSIBLES, FR_SIDEBAR_MENU_BUTTON_SIZES, FR_SIDEBAR_MENU_BUTTON_VARIANTS, FR_SIDEBAR_PROVIDER, FR_SIDEBAR_SIDES, FR_SIDEBAR_VARIANTS, FR_SLIDER_ORIENTATIONS, FR_SWITCH_SIZES, FrAccordion, FrAccordionContent, FrAccordionIcon, FrAccordionItem, FrAccordionTrigger, FrAlert, FrAlertDescription, FrAlertIcon, FrAlertTitle, FrAvatar, FrAvatarBadge, FrAvatarFallback, FrAvatarGroup, FrAvatarGroupCount, FrAvatarIcon, FrAvatarImage, FrBadge, FrBadgeIcon, FrBadgeLabel, FrBadgeSpinner, FrBreadcrumb, FrBreadcrumbEllipsis, FrBreadcrumbItem, FrBreadcrumbLink, FrBreadcrumbList, FrBreadcrumbPage, FrBreadcrumbSeparator, FrButton, FrButtonGroup, FrButtonIcon, FrButtonLabel, FrButtonLoading, FrCalendar, FrCard, FrCardAction, FrCardContent, FrCardDescription, FrCardFooter, FrCardHeader, FrCardTitle, FrCarousel, FrCarouselContent, FrCarouselItem, FrCarouselNext, FrCarouselPrevious, FrCheckbox, FrCheckboxField, FrCheckboxLabel, FrCollapsible, FrCollapsibleContent, FrCollapsibleTrigger, FrCombobox, FrComboboxChip, FrComboboxChipRemove, FrComboboxChips, FrComboboxChipsInput, FrComboboxClear, FrComboboxCollection, FrComboboxContent, FrComboboxEmpty, FrComboboxError, FrComboboxGroup, FrComboboxInput, FrComboboxItem, FrComboboxItemIndicator, FrComboboxLabel, FrComboboxList, FrComboboxPanel, FrComboboxRootLookup, FrComboboxSeparator, FrComboboxTrigger, FrComboboxValueList, FrCommand, FrCommandDialog, FrCommandDialogTrigger, FrCommandEmpty, FrCommandFooter, FrCommandGroup, FrCommandGroupHeading, FrCommandInput, FrCommandItem, FrCommandItemIcon, FrCommandList, FrCommandSeparator, FrCommandService, FrCommandShortcut, FrContextMenu, FrContextMenuCheckboxItem, FrContextMenuContent, FrContextMenuItem, FrContextMenuItemIndicator, FrContextMenuLabel, FrContextMenuPanel, FrContextMenuRadioGroup, FrContextMenuRadioItem, FrContextMenuSeparator, FrContextMenuShortcut, FrContextMenuSub, FrContextMenuSubTrigger, FrContextMenuTrigger, FrControlValueAccessor, FrDatePicker, FrDropdownMenu, FrDropdownMenuCheckboxItem, FrDropdownMenuContent, FrDropdownMenuItem, FrDropdownMenuItemIndicator, FrDropdownMenuLabel, FrDropdownMenuPanel, FrDropdownMenuRadioGroup, FrDropdownMenuRadioItem, FrDropdownMenuSeparator, FrDropdownMenuShortcut, FrDropdownMenuSub, FrDropdownMenuSubTrigger, FrDropdownMenuTree, FrDropdownMenuTrigger, FrEmpty, FrEmptyContent, FrEmptyDescription, FrEmptyHeader, FrEmptyMedia, FrEmptyTitle, FrField, FrFieldContent, FrFieldDescription, FrFieldError, FrFieldGroup, FrFieldLabel, FrFieldLegend, FrFieldSeparator, FrFieldSet, FrHoverCardRoot as FrHoverCard, FrHoverCardContent, FrHoverCardPanel, FrHoverCardTrigger, FrIconButton, FrInput, FrInputBadge, FrInputControl, FrInputDescription, FrInputError, FrInputField, FrInputFieldGroup, FrInputGroup, FrInputGroupAddon, FrInputGroupInput, FrInputGroupText, FrInputHeader, FrInputLabel, FrInputOtp, FrInputOtpGroup, FrInputOtpSeparator, FrInputOtpSlot, FrItem, FrItemActions, FrItemContent, FrItemDescription, FrItemFooter, FrItemGroup, FrItemHeader, FrItemMedia, FrItemSeparator, FrItemTitle, FrMenuBar, FrMenuBarCheckboxItem, FrMenuBarContent, FrMenuBarItem, FrMenuBarItemIndicator, FrMenuBarLabel, FrMenuBarMenu, FrMenuBarPanel, FrMenuBarRadioGroup, FrMenuBarRadioItem, FrMenuBarSeparator, FrMenuBarShortcut, FrMenuBarSub, FrMenuBarSubTrigger, FrMenuBarTrigger, FrModalBody, FrModalClose, FrModalContent, FrModalDescription, FrModalFooter, FrModalHeader, FrModalPanel, FrModalRef, FrModalService, FrModalShell, FrModalTitle, FrModalTrigger, FrNavigationLinkSeparator, FrNavigationMenu, FrNavigationMenuContent, FrNavigationMenuFeature, FrNavigationMenuGrid, FrNavigationMenuIndicator, FrNavigationMenuItem, FrNavigationMenuLink, FrNavigationMenuLinkDescription, FrNavigationMenuLinkTitle, FrNavigationMenuList, FrNavigationMenuPanel, FrNavigationMenuTrigger, FrNavigationMenuViewport, FrPagination, FrPaginationContent, FrPaginationEllipsis, FrPaginationIcon, FrPaginationItem, FrPaginationLink, FrPaginationNext, FrPaginationPrevious, FrPopoverRoot as FrPopover, FrPopoverBody, FrPopoverClose, FrPopoverContent, FrPopoverDescription, FrPopoverFooter, FrPopoverHeader, FrPopoverPanel, FrPopoverTitle, FrPopoverTrigger, FrProgress, FrProgressIndicator, FrRadioGroup, FrRadioGroupCard, FrRadioGroupCardMeta, FrRadioGroupField, FrRadioGroupItem, FrResizableHandle, FrResizablePanel, FrResizablePanelGroup, FrSelect, FrSelectContent, FrSelectError, FrSelectGroup, FrSelectIcon, FrSelectItem, FrSelectItemIndicator, FrSelectLabel, FrSelectPanel, FrSelectSeparator, FrSelectValue, FrSeparator, FrSheetBody, FrSheetClose, FrSheetContent, FrSheetDescription, FrSheetFooter, FrSheetHeader, FrSheetPanel, FrSheetService, FrSheetShell, FrSheetTitle, FrSheetTrigger, FrSidebar, FrSidebarContent, FrSidebarFooter, FrSidebarGroup, FrSidebarGroupAction, FrSidebarGroupContent, FrSidebarGroupLabel, FrSidebarHeader, FrSidebarInset, FrSidebarMenu, FrSidebarMenuAction, FrSidebarMenuBadge, FrSidebarMenuButton, FrSidebarMenuItem, FrSidebarMenuSkeleton, FrSidebarMenuSub, FrSidebarMenuSubButton, FrSidebarMenuSubItem, FrSidebarProvider, FrSidebarRail, FrSidebarTrigger, FrSlider, FrSwitch, FrSwitchContent, FrSwitchDescription, FrSwitchError, FrSwitchField, FrSwitchLabel, FrTextarea, FrVirtualContent, FrVirtualFor, FrVirtualItem, FrVirtualItemMeta, FrVirtualList, FrVirtualPanel, FrVirtualViewport, buildConnectedPositions, calculateScrollOffsetForIndex, calculateVirtualRange, defaultPositions, provideDsValueAccessor };
|
|
10492
10549
|
//# sourceMappingURL=frame-ui-ng-components.mjs.map
|