forty-cdk 0.1.0 → 0.2.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/fesm2022/forty-cdk.mjs +316 -16
- package/fesm2022/forty-cdk.mjs.map +1 -1
- package/package.json +1 -1
- package/types/forty-cdk.d.ts +171 -21
package/fesm2022/forty-cdk.mjs
CHANGED
|
@@ -651,12 +651,16 @@ class Collection {
|
|
|
651
651
|
*/
|
|
652
652
|
/**
|
|
653
653
|
* Maps a keyboard event to a 1D navigation action, or `null` if the key is
|
|
654
|
-
* not handled by the configured orientation.
|
|
654
|
+
* not handled by the configured orientation. `'both'` and `'mixed'` accept
|
|
655
|
+
* every arrow direction and map each to a linear `next` / `previous` step —
|
|
656
|
+
* `'mixed'` models a visually-wrapped grid as a 1D DOM sequence, so there is no
|
|
657
|
+
* separate row/column keyboard step.
|
|
655
658
|
*/
|
|
656
659
|
function resolveListNavigation(event, options) {
|
|
657
660
|
const { orientation, dir = 'ltr', pageKeys = false } = options;
|
|
658
|
-
const
|
|
659
|
-
const
|
|
661
|
+
const acceptsBothAxes = orientation === 'both' || orientation === 'mixed';
|
|
662
|
+
const acceptsVertical = orientation === 'vertical' || acceptsBothAxes;
|
|
663
|
+
const acceptsHorizontal = orientation === 'horizontal' || acceptsBothAxes;
|
|
660
664
|
switch (event.key) {
|
|
661
665
|
case 'Home':
|
|
662
666
|
return 'first';
|
|
@@ -2768,6 +2772,7 @@ class ForSearch extends TextValueControlBase {
|
|
|
2768
2772
|
*/
|
|
2769
2773
|
clear() {
|
|
2770
2774
|
this.value.set('');
|
|
2775
|
+
this.#host.nativeElement.value = '';
|
|
2771
2776
|
}
|
|
2772
2777
|
/**
|
|
2773
2778
|
* Moves focus to the native input element. Called by `[forSearchClear]`
|
|
@@ -6789,6 +6794,32 @@ class ForTooltip {
|
|
|
6789
6794
|
this.#disarmContentGrace();
|
|
6790
6795
|
this.#hoverIntent.cancelPending();
|
|
6791
6796
|
}
|
|
6797
|
+
/**
|
|
6798
|
+
* Imperatively opens the tooltip — for programmatic control beyond hover and
|
|
6799
|
+
* focus (e.g. a design-system wrapper driving the tooltip from a
|
|
6800
|
+
* text-truncation observer). Schedules the show after the resolved
|
|
6801
|
+
* `openDelay` (instant when the delay is `0` or the scope's skip-delay window
|
|
6802
|
+
* is active) and applies the same gates as a hover / focus open: a no-op
|
|
6803
|
+
* while `disabled`, and a no-op under `showOnOverflow` when the trigger's own
|
|
6804
|
+
* text is not truncated. For an instant, unconditional open that bypasses the
|
|
6805
|
+
* delay and both gates, write the `[(open)]` model directly (`open.set(true)`).
|
|
6806
|
+
*/
|
|
6807
|
+
show() {
|
|
6808
|
+
if (this.#suppressedByOverflow()) {
|
|
6809
|
+
return;
|
|
6810
|
+
}
|
|
6811
|
+
this.#hoverIntent.scheduleOpen();
|
|
6812
|
+
}
|
|
6813
|
+
/**
|
|
6814
|
+
* Imperatively closes the tooltip, mirroring a hover-leave / blur close:
|
|
6815
|
+
* schedules the hide after the resolved `closeDelay` (instant when the delay
|
|
6816
|
+
* is `0`) and disarms the hoverable-content grace bridge. For an instant
|
|
6817
|
+
* close that ignores `closeDelay`, write the `[(open)]` model directly
|
|
6818
|
+
* (`open.set(false)`).
|
|
6819
|
+
*/
|
|
6820
|
+
hide() {
|
|
6821
|
+
this.scheduleClose('hover');
|
|
6822
|
+
}
|
|
6792
6823
|
/** Close only when no keep-alive source (trigger hover/focus, content hover) is active. */
|
|
6793
6824
|
#scheduleCloseIfInactive() {
|
|
6794
6825
|
if (this.#triggerHovered || this.#triggerFocused || this.#contentHovered) {
|
|
@@ -23763,6 +23794,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImpor
|
|
|
23763
23794
|
* Per-toast classes: a config's `class` / `classList` is applied to the
|
|
23764
23795
|
* rendered toast root, merged with the directive's own host attributes.
|
|
23765
23796
|
*
|
|
23797
|
+
* Enter / exit animations: a toast renders inside this viewport's `@for`, so a
|
|
23798
|
+
* `[animate.leave]` on the row defers the unmount natively — the toast stays
|
|
23799
|
+
* mounted until its exit animation settles. Supply the class per-toast with
|
|
23800
|
+
* `show({ animateLeave })` or set a viewport-wide default with `[animateLeave]`
|
|
23801
|
+
* (per-toast wins); `[animateEnter]` mirrors it for class-applied entrances.
|
|
23802
|
+
*
|
|
23766
23803
|
* Hotkey: pressing the configured `hotkey` (default `F6`) anywhere in the
|
|
23767
23804
|
* document focuses the first toast. Override per-viewport with `[hotkey]`
|
|
23768
23805
|
* or globally with `provideForToastDefaults({ hotkey: '…' })`. The listener
|
|
@@ -23828,6 +23865,23 @@ class ForToastViewport {
|
|
|
23828
23865
|
* that doesn't override `swipeThreshold` in its own config.
|
|
23829
23866
|
*/
|
|
23830
23867
|
swipeThreshold = input(50, { ...(ngDevMode ? { debugName: "swipeThreshold" } : /* istanbul ignore next */ {}), transform: numberAttribute });
|
|
23868
|
+
/**
|
|
23869
|
+
* Default `animate.enter` class applied to every programmatic toast that
|
|
23870
|
+
* doesn't set `animateEnter` in its own config. Empty (default) plays no
|
|
23871
|
+
* class-applied enter animation — a plain CSS `@keyframes` on `[forToast]`
|
|
23872
|
+
* already runs on mount without it.
|
|
23873
|
+
*/
|
|
23874
|
+
animateEnter = input('', /* @ts-ignore */
|
|
23875
|
+
...(ngDevMode ? [{ debugName: "animateEnter" }] : /* istanbul ignore next */ []));
|
|
23876
|
+
/**
|
|
23877
|
+
* Default `animate.leave` class applied to every programmatic toast that
|
|
23878
|
+
* doesn't set `animateLeave` in its own config. Empty (default) unmounts the
|
|
23879
|
+
* toast synchronously on dismiss; set it (or per-toast `animateLeave`) to
|
|
23880
|
+
* keep the toast mounted until its exit animation settles before it leaves
|
|
23881
|
+
* the DOM.
|
|
23882
|
+
*/
|
|
23883
|
+
animateLeave = input('', /* @ts-ignore */
|
|
23884
|
+
...(ngDevMode ? [{ debugName: "animateLeave" }] : /* istanbul ignore next */ []));
|
|
23831
23885
|
defaultDuration = computed(() => this.#manager.defaultDuration(), /* @ts-ignore */
|
|
23832
23886
|
...(ngDevMode ? [{ debugName: "defaultDuration" }] : /* istanbul ignore next */ []));
|
|
23833
23887
|
/**
|
|
@@ -23908,12 +23962,30 @@ class ForToastViewport {
|
|
|
23908
23962
|
toastClass(toast) {
|
|
23909
23963
|
return resolveConfigClass(toast.config) ?? '';
|
|
23910
23964
|
}
|
|
23965
|
+
/**
|
|
23966
|
+
* `animate.enter` class for a toast row: its per-toast `animateEnter` config
|
|
23967
|
+
* when set, otherwise the viewport-level `[animateEnter]`. Empty when neither
|
|
23968
|
+
* is set.
|
|
23969
|
+
*/
|
|
23970
|
+
toastAnimateEnter(toast) {
|
|
23971
|
+
return toast.config.animateEnter ?? this.animateEnter();
|
|
23972
|
+
}
|
|
23973
|
+
/**
|
|
23974
|
+
* `animate.leave` class for a toast row: its per-toast `animateLeave` config
|
|
23975
|
+
* when set, otherwise the viewport-level `[animateLeave]`. Empty when neither
|
|
23976
|
+
* is set, which keeps the toast's unmount synchronous on dismiss.
|
|
23977
|
+
*/
|
|
23978
|
+
toastAnimateLeave(toast) {
|
|
23979
|
+
return toast.config.animateLeave ?? this.animateLeave();
|
|
23980
|
+
}
|
|
23911
23981
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: ForToastViewport, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
23912
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.2", type: ForToastViewport, isStandalone: true, selector: "for-toast-viewport, [forToastViewport]", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, region: { classPropertyName: "region", publicName: "region", isSignal: true, isRequired: false, transformFunction: null }, hotkey: { classPropertyName: "hotkey", publicName: "hotkey", isSignal: true, isRequired: false, transformFunction: null }, maxVisible: { classPropertyName: "maxVisible", publicName: "maxVisible", isSignal: true, isRequired: false, transformFunction: null }, swipeDirection: { classPropertyName: "swipeDirection", publicName: "swipeDirection", isSignal: true, isRequired: false, transformFunction: null }, swipeThreshold: { classPropertyName: "swipeThreshold", publicName: "swipeThreshold", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "region", "tabindex": "-1" }, properties: { "attr.aria-label": "label()", "attr.data-region": "region()", "attr.data-toast-count": "visible().length" } }, exportAs: ["forToastViewport"], ngImport: i0, template: `
|
|
23982
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.2", type: ForToastViewport, isStandalone: true, selector: "for-toast-viewport, [forToastViewport]", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, region: { classPropertyName: "region", publicName: "region", isSignal: true, isRequired: false, transformFunction: null }, hotkey: { classPropertyName: "hotkey", publicName: "hotkey", isSignal: true, isRequired: false, transformFunction: null }, maxVisible: { classPropertyName: "maxVisible", publicName: "maxVisible", isSignal: true, isRequired: false, transformFunction: null }, swipeDirection: { classPropertyName: "swipeDirection", publicName: "swipeDirection", isSignal: true, isRequired: false, transformFunction: null }, swipeThreshold: { classPropertyName: "swipeThreshold", publicName: "swipeThreshold", isSignal: true, isRequired: false, transformFunction: null }, animateEnter: { classPropertyName: "animateEnter", publicName: "animateEnter", isSignal: true, isRequired: false, transformFunction: null }, animateLeave: { classPropertyName: "animateLeave", publicName: "animateLeave", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "region", "tabindex": "-1" }, properties: { "attr.aria-label": "label()", "attr.data-region": "region()", "attr.data-toast-count": "visible().length" } }, exportAs: ["forToastViewport"], ngImport: i0, template: `
|
|
23913
23983
|
@for (toast of visible(); track toast.id; let i = $index) {
|
|
23914
23984
|
<div
|
|
23915
23985
|
forToast
|
|
23916
23986
|
[class]="toastClass(toast)"
|
|
23987
|
+
[animate.enter]="toastAnimateEnter(toast)"
|
|
23988
|
+
[animate.leave]="toastAnimateLeave(toast)"
|
|
23917
23989
|
[variant]="toast.config.variant ?? 'info'"
|
|
23918
23990
|
[duration]="toast.config.duration ?? defaultDuration()"
|
|
23919
23991
|
[closable]="toast.config.closable !== false"
|
|
@@ -23977,6 +24049,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImpor
|
|
|
23977
24049
|
<div
|
|
23978
24050
|
forToast
|
|
23979
24051
|
[class]="toastClass(toast)"
|
|
24052
|
+
[animate.enter]="toastAnimateEnter(toast)"
|
|
24053
|
+
[animate.leave]="toastAnimateLeave(toast)"
|
|
23980
24054
|
[variant]="toast.config.variant ?? 'info'"
|
|
23981
24055
|
[duration]="toast.config.duration ?? defaultDuration()"
|
|
23982
24056
|
[closable]="toast.config.closable !== false"
|
|
@@ -24013,7 +24087,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImpor
|
|
|
24013
24087
|
}
|
|
24014
24088
|
`,
|
|
24015
24089
|
}]
|
|
24016
|
-
}], ctorParameters: () => [], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], region: [{ type: i0.Input, args: [{ isSignal: true, alias: "region", required: false }] }], hotkey: [{ type: i0.Input, args: [{ isSignal: true, alias: "hotkey", required: false }] }], maxVisible: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxVisible", required: false }] }], swipeDirection: [{ type: i0.Input, args: [{ isSignal: true, alias: "swipeDirection", required: false }] }], swipeThreshold: [{ type: i0.Input, args: [{ isSignal: true, alias: "swipeThreshold", required: false }] }] } });
|
|
24090
|
+
}], ctorParameters: () => [], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], region: [{ type: i0.Input, args: [{ isSignal: true, alias: "region", required: false }] }], hotkey: [{ type: i0.Input, args: [{ isSignal: true, alias: "hotkey", required: false }] }], maxVisible: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxVisible", required: false }] }], swipeDirection: [{ type: i0.Input, args: [{ isSignal: true, alias: "swipeDirection", required: false }] }], swipeThreshold: [{ type: i0.Input, args: [{ isSignal: true, alias: "swipeThreshold", required: false }] }], animateEnter: [{ type: i0.Input, args: [{ isSignal: true, alias: "animateEnter", required: false }] }], animateLeave: [{ type: i0.Input, args: [{ isSignal: true, alias: "animateLeave", required: false }] }] } });
|
|
24017
24091
|
|
|
24018
24092
|
/**
|
|
24019
24093
|
* Headless static separator implementing the
|
|
@@ -29412,7 +29486,7 @@ function resolveLiftGap(rows, visibleAfter, visibleIdx, mode) {
|
|
|
29412
29486
|
return gap < 0 ? rows.length : gap;
|
|
29413
29487
|
}
|
|
29414
29488
|
|
|
29415
|
-
const POINTER_ARM_THRESHOLD_PX$
|
|
29489
|
+
const POINTER_ARM_THRESHOLD_PX$2 = 5;
|
|
29416
29490
|
/** InjectionToken for the `[forTreeNodeDrag]` coordinator. */
|
|
29417
29491
|
const FOR_TREE_NODE_DRAG_CONTEXT = new InjectionToken('FOR_TREE_NODE_DRAG_CONTEXT');
|
|
29418
29492
|
/**
|
|
@@ -29478,7 +29552,7 @@ class ForTreeNodeDrag {
|
|
|
29478
29552
|
this.#pointerSession = createPointerDragSession({
|
|
29479
29553
|
host: this.#hostEl,
|
|
29480
29554
|
document: this.#document,
|
|
29481
|
-
armThreshold: POINTER_ARM_THRESHOLD_PX$
|
|
29555
|
+
armThreshold: POINTER_ARM_THRESHOLD_PX$2,
|
|
29482
29556
|
canStart: (event) => this.#canStartPointer(event),
|
|
29483
29557
|
onLift: (event) => this.#onPointerLift(event),
|
|
29484
29558
|
onMove: (event) => this.#onPointerMove(event),
|
|
@@ -38520,6 +38594,9 @@ function clampedDistance(rect, x, y) {
|
|
|
38520
38594
|
return Math.hypot(x - cx, y - cy);
|
|
38521
38595
|
}
|
|
38522
38596
|
function insertionIndex(itemRects, x, y, orientation, dir) {
|
|
38597
|
+
if (orientation === 'mixed') {
|
|
38598
|
+
return mixedInsertionIndex(itemRects, x, y, dir);
|
|
38599
|
+
}
|
|
38523
38600
|
for (let i = 0; i < itemRects.length; i++) {
|
|
38524
38601
|
const r = itemRects[i];
|
|
38525
38602
|
const past = orientation === 'vertical'
|
|
@@ -38533,13 +38610,51 @@ function insertionIndex(itemRects, x, y, orientation, dir) {
|
|
|
38533
38610
|
}
|
|
38534
38611
|
return itemRects.length;
|
|
38535
38612
|
}
|
|
38613
|
+
function mixedInsertionIndex(itemRects, x, y, dir) {
|
|
38614
|
+
if (isSingleRow(itemRects)) {
|
|
38615
|
+
return insertionIndex(itemRects, x, y, 'horizontal', dir);
|
|
38616
|
+
}
|
|
38617
|
+
if (isSingleColumn(itemRects)) {
|
|
38618
|
+
return insertionIndex(itemRects, x, y, 'vertical', dir);
|
|
38619
|
+
}
|
|
38620
|
+
for (let i = 0; i < itemRects.length; i++) {
|
|
38621
|
+
const r = itemRects[i];
|
|
38622
|
+
const beforeRow = y < r.top;
|
|
38623
|
+
const withinRow = y <= r.bottom;
|
|
38624
|
+
const pastColumn = dir === 'rtl' ? x > (r.left + r.right) / 2 : x < (r.left + r.right) / 2;
|
|
38625
|
+
if (beforeRow || (withinRow && pastColumn)) {
|
|
38626
|
+
return i;
|
|
38627
|
+
}
|
|
38628
|
+
}
|
|
38629
|
+
return itemRects.length;
|
|
38630
|
+
}
|
|
38631
|
+
function isSingleRow(itemRects) {
|
|
38632
|
+
let maxTop = -Infinity;
|
|
38633
|
+
let minBottom = Infinity;
|
|
38634
|
+
for (const r of itemRects) {
|
|
38635
|
+
maxTop = Math.max(maxTop, r.top);
|
|
38636
|
+
minBottom = Math.min(minBottom, r.bottom);
|
|
38637
|
+
}
|
|
38638
|
+
return maxTop < minBottom;
|
|
38639
|
+
}
|
|
38640
|
+
function isSingleColumn(itemRects) {
|
|
38641
|
+
let maxLeft = -Infinity;
|
|
38642
|
+
let minRight = Infinity;
|
|
38643
|
+
for (const r of itemRects) {
|
|
38644
|
+
maxLeft = Math.max(maxLeft, r.left);
|
|
38645
|
+
minRight = Math.min(minRight, r.right);
|
|
38646
|
+
}
|
|
38647
|
+
return maxLeft < minRight;
|
|
38648
|
+
}
|
|
38536
38649
|
/**
|
|
38537
38650
|
* Resolves the drop target container and insertion index from a pointer position.
|
|
38538
38651
|
*
|
|
38539
38652
|
* @param point Viewport pointer coordinates.
|
|
38540
38653
|
* @param containers Ordered `[source, ...connected]` container geometries.
|
|
38541
|
-
* @param orientation List axis — `'horizontal'` or `'
|
|
38542
|
-
*
|
|
38654
|
+
* @param orientation List axis — `'horizontal'`, `'vertical'`, or `'mixed'` (2D resolution for
|
|
38655
|
+
* wrapping grids of uniformly-sized items, considering both axes). `'mixed'` reduces to the
|
|
38656
|
+
* single-axis result when the items form a single row or a single column.
|
|
38657
|
+
* @param dir Writing direction for horizontal / mixed insertion-index math.
|
|
38543
38658
|
* @returns The resolved `DropTarget`, or `null` when `containers` is empty.
|
|
38544
38659
|
*/
|
|
38545
38660
|
function resolveDropTarget(point, containers, orientation, dir) {
|
|
@@ -38580,7 +38695,7 @@ const FOR_DRAGGABLE_CONTEXT = new InjectionToken('FOR_DRAGGABLE_CONTEXT');
|
|
|
38580
38695
|
function injectDraggableContext(piece) {
|
|
38581
38696
|
const ctx = inject(FOR_DRAGGABLE_CONTEXT, { optional: true });
|
|
38582
38697
|
if (!ctx) {
|
|
38583
|
-
throw new Error(`[forty-cdk/drag-drop] ${piece} must be used inside a [forDraggable] element.`);
|
|
38698
|
+
throw new Error(`[forty-cdk/drag-drop] ${piece} must be used inside a [forDraggable] or [forFreeDrag] element.`);
|
|
38584
38699
|
}
|
|
38585
38700
|
return ctx;
|
|
38586
38701
|
}
|
|
@@ -39052,9 +39167,16 @@ class ForDropList {
|
|
|
39052
39167
|
#prefersReducedMotion = injectPrefersReducedMotion();
|
|
39053
39168
|
#defaultOrientation = inject(FOR_DROP_LIST_DEFAULT_ORIENTATION, { optional: true }) ?? 'vertical';
|
|
39054
39169
|
/**
|
|
39055
|
-
* Layout orientation of the list. Affects which arrow keys move focus and the lifted item
|
|
39056
|
-
* Defaults to `'vertical'`, or to
|
|
39057
|
-
* provider sets it (e.g.
|
|
39170
|
+
* Layout orientation of the list. Affects which arrow keys move focus and the lifted item, and
|
|
39171
|
+
* how a pointer drag resolves the live drop index. Defaults to `'vertical'`, or to
|
|
39172
|
+
* `FOR_DROP_LIST_DEFAULT_ORIENTATION` when an in-scope provider sets it (e.g.
|
|
39173
|
+
* `ForTableColumnReorder` defaults it to `'horizontal'`).
|
|
39174
|
+
*
|
|
39175
|
+
* `'mixed'` is for wrapping grids (`flex-wrap` / CSS grid) of uniformly-sized items: the drop
|
|
39176
|
+
* index is resolved in 2D so an item flowing across rows lands in the slot under the pointer's
|
|
39177
|
+
* row and column, and every arrow key steps the lifted item linearly in DOM order. A `'mixed'`
|
|
39178
|
+
* list that happens to render as a single row or single column resolves identically to
|
|
39179
|
+
* `'horizontal'` / `'vertical'`.
|
|
39058
39180
|
*/
|
|
39059
39181
|
orientation = input(this.#defaultOrientation, /* @ts-ignore */
|
|
39060
39182
|
...(ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []));
|
|
@@ -39502,7 +39624,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImpor
|
|
|
39502
39624
|
}]
|
|
39503
39625
|
}], ctorParameters: () => [] });
|
|
39504
39626
|
|
|
39505
|
-
const POINTER_ARM_THRESHOLD_PX = 5;
|
|
39627
|
+
const POINTER_ARM_THRESHOLD_PX$1 = 5;
|
|
39506
39628
|
/**
|
|
39507
39629
|
* Marks an element as a draggable item inside a `[forDropList]`. Handles
|
|
39508
39630
|
* keyboard and pointer interaction for lift, move, drop, and cancel.
|
|
@@ -39574,7 +39696,7 @@ class ForDraggable {
|
|
|
39574
39696
|
this.#pointerSession = createPointerDragSession({
|
|
39575
39697
|
host: this.#host.nativeElement,
|
|
39576
39698
|
document: this.#document,
|
|
39577
|
-
armThreshold: POINTER_ARM_THRESHOLD_PX,
|
|
39699
|
+
armThreshold: POINTER_ARM_THRESHOLD_PX$1,
|
|
39578
39700
|
cancelOnEscape: true,
|
|
39579
39701
|
capturePointer: true,
|
|
39580
39702
|
canStart: (event) => this.#canStartPointer(event),
|
|
@@ -39747,6 +39869,184 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImpor
|
|
|
39747
39869
|
}]
|
|
39748
39870
|
}], ctorParameters: () => [], propDecorators: { previewTpl: [{ type: i0.ContentChild, args: [i0.forwardRef(() => ForDragPreview), { isSignal: true }] }], placeholderTpl: [{ type: i0.ContentChild, args: [i0.forwardRef(() => ForDragPlaceholder), { isSignal: true }] }], dragData: [{ type: i0.Input, args: [{ isSignal: true, alias: "dragData", required: true }] }], dragDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "dragDisabled", required: false }] }], dragStart: [{ type: i0.Output, args: ["dragStart"] }], dragEnd: [{ type: i0.Output, args: ["dragEnd"] }] } });
|
|
39749
39871
|
|
|
39872
|
+
const POINTER_ARM_THRESHOLD_PX = 5;
|
|
39873
|
+
/**
|
|
39874
|
+
* Standalone free-drag directive: repositions its host (or a resolved `rootElement`) by pointer
|
|
39875
|
+
* drag via a CSS `transform: translate(...)`, with **no** `[forDropList]` dependency. Unlike
|
|
39876
|
+
* `[forDraggable]`, it never commits a reorder — it only moves an arbitrary element around,
|
|
39877
|
+
* optionally confined to a `boundary` and locked to one axis. Composes the shared
|
|
39878
|
+
* `createPointerDragSession` transport and accepts `[forDragHandle]` children.
|
|
39879
|
+
*
|
|
39880
|
+
* Pointer-only: there is no WAI-ARIA APG pattern for "freely reposition an element", so this is
|
|
39881
|
+
* a documented headless exception (see `.claude/rules/conventions.md`). It owns no role or ARIA
|
|
39882
|
+
* state and must not destroy the moved element's semantics — the consumer keeps the moved
|
|
39883
|
+
* element operable at its default position (e.g. a repositionable dialog stays usable by
|
|
39884
|
+
* keyboard); dragging is a pointer convenience, not the only way to use it.
|
|
39885
|
+
*/
|
|
39886
|
+
class ForFreeDrag {
|
|
39887
|
+
#host = inject(ElementRef);
|
|
39888
|
+
#document = inject(DOCUMENT);
|
|
39889
|
+
#destroyRef = inject(DestroyRef);
|
|
39890
|
+
#isBrowser = isPlatformBrowser(inject(PLATFORM_ID));
|
|
39891
|
+
#handles = new Set();
|
|
39892
|
+
#lift = signal(null, /* @ts-ignore */
|
|
39893
|
+
...(ngDevMode ? [{ debugName: "#lift" }] : /* istanbul ignore next */ []));
|
|
39894
|
+
#pointerSession = null;
|
|
39895
|
+
/** When true, the element can't be dragged (it stays focusable; the transform doesn't change). */
|
|
39896
|
+
disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
39897
|
+
/**
|
|
39898
|
+
* The element actually moved: an `HTMLElement`, or a selector resolved via `closest()` from the
|
|
39899
|
+
* host. `null` (the default) moves the host itself. Mirrors CDK's `cdkDragRootElement` — drag a
|
|
39900
|
+
* child handle, move an ancestor (e.g. drag a whole dialog by its header).
|
|
39901
|
+
*/
|
|
39902
|
+
rootElement = input(null, /* @ts-ignore */
|
|
39903
|
+
...(ngDevMode ? [{ debugName: "rootElement" }] : /* istanbul ignore next */ []));
|
|
39904
|
+
/**
|
|
39905
|
+
* Confine movement within an `HTMLElement`, a `closest()` selector resolved from the host, or
|
|
39906
|
+
* `null` (the default) for unbounded movement. Unlike `[forDropList]`'s boundary (which clamps a
|
|
39907
|
+
* floating clone), this clamps the **real moved element** so its box stays fully inside.
|
|
39908
|
+
*/
|
|
39909
|
+
boundary = input(null, /* @ts-ignore */
|
|
39910
|
+
...(ngDevMode ? [{ debugName: "boundary" }] : /* istanbul ignore next */ []));
|
|
39911
|
+
/**
|
|
39912
|
+
* Constrain movement to one axis. `'x'` pins the element at its lift-time `y` (horizontal-only);
|
|
39913
|
+
* `'y'` pins it at its lift-time `x` (vertical-only). `null` (the default) is free.
|
|
39914
|
+
*/
|
|
39915
|
+
lockAxis = input(null, /* @ts-ignore */
|
|
39916
|
+
...(ngDevMode ? [{ debugName: "lockAxis" }] : /* istanbul ignore next */ []));
|
|
39917
|
+
/** Two-way translate offset (px) from the element's natural position. Controllable / restorable. */
|
|
39918
|
+
position = model({ x: 0, y: 0 }, /* @ts-ignore */
|
|
39919
|
+
...(ngDevMode ? [{ debugName: "position" }] : /* istanbul ignore next */ []));
|
|
39920
|
+
/** Emitted when a pointer drag starts, with the lift-time position. */
|
|
39921
|
+
dragStart = output();
|
|
39922
|
+
/**
|
|
39923
|
+
* Emitted on every armed move with the live position. (Non-native verb — `dragMove`, not
|
|
39924
|
+
* `drag` / `dragMoved` — so `@angular-eslint/no-output-native` stays clear.)
|
|
39925
|
+
*/
|
|
39926
|
+
dragMove = output();
|
|
39927
|
+
/** Emitted when the drag ends, with the final position. */
|
|
39928
|
+
dragEnd = output();
|
|
39929
|
+
/** True while a pointer drag is armed. Reflected as `data-dragging`. */
|
|
39930
|
+
dragging = computed(() => this.#lift() !== null, /* @ts-ignore */
|
|
39931
|
+
...(ngDevMode ? [{ debugName: "dragging" }] : /* istanbul ignore next */ []));
|
|
39932
|
+
touchAction = computed(() => !this.disabled() && this.#handles.size === 0 ? 'none' : null, /* @ts-ignore */
|
|
39933
|
+
...(ngDevMode ? [{ debugName: "touchAction" }] : /* istanbul ignore next */ []));
|
|
39934
|
+
constructor() {
|
|
39935
|
+
if (this.#isBrowser) {
|
|
39936
|
+
effect(() => {
|
|
39937
|
+
const { x, y } = this.position();
|
|
39938
|
+
const el = this.#resolvedRoot();
|
|
39939
|
+
el.style.transform = x === 0 && y === 0 ? '' : `translate(${x}px, ${y}px)`;
|
|
39940
|
+
});
|
|
39941
|
+
this.#pointerSession = createPointerDragSession({
|
|
39942
|
+
host: this.#host.nativeElement,
|
|
39943
|
+
document: this.#document,
|
|
39944
|
+
armThreshold: POINTER_ARM_THRESHOLD_PX,
|
|
39945
|
+
cancelOnEscape: true,
|
|
39946
|
+
capturePointer: true,
|
|
39947
|
+
canStart: (event) => this.#canStartPointer(event),
|
|
39948
|
+
onLift: (event) => this.#onLift(event),
|
|
39949
|
+
onMove: (event) => this.#onMove(event),
|
|
39950
|
+
onCommit: () => this.#onCommit(),
|
|
39951
|
+
onCancel: () => this.#onCancel(),
|
|
39952
|
+
});
|
|
39953
|
+
this.#destroyRef.onDestroy(() => this.#pointerSession?.destroy());
|
|
39954
|
+
}
|
|
39955
|
+
}
|
|
39956
|
+
registerHandle(el) {
|
|
39957
|
+
this.#handles.add(el);
|
|
39958
|
+
}
|
|
39959
|
+
unregisterHandle(el) {
|
|
39960
|
+
this.#handles.delete(el);
|
|
39961
|
+
}
|
|
39962
|
+
#resolvedRoot = computed(() => {
|
|
39963
|
+
const root = this.rootElement();
|
|
39964
|
+
const host = this.#host.nativeElement;
|
|
39965
|
+
if (root === null) {
|
|
39966
|
+
return host;
|
|
39967
|
+
}
|
|
39968
|
+
return typeof root === 'string' ? (host.closest(root) ?? host) : root;
|
|
39969
|
+
}, /* @ts-ignore */
|
|
39970
|
+
...(ngDevMode ? [{ debugName: "#resolvedRoot" }] : /* istanbul ignore next */ []));
|
|
39971
|
+
#resolveBoundary() {
|
|
39972
|
+
const boundary = this.boundary();
|
|
39973
|
+
if (boundary === null) {
|
|
39974
|
+
return null;
|
|
39975
|
+
}
|
|
39976
|
+
return typeof boundary === 'string'
|
|
39977
|
+
? this.#host.nativeElement.closest(boundary)
|
|
39978
|
+
: boundary;
|
|
39979
|
+
}
|
|
39980
|
+
#canStartPointer(event) {
|
|
39981
|
+
if (this.disabled()) {
|
|
39982
|
+
return false;
|
|
39983
|
+
}
|
|
39984
|
+
if (event.pointerType === 'mouse' && event.button !== 0) {
|
|
39985
|
+
return false;
|
|
39986
|
+
}
|
|
39987
|
+
if (this.#handles.size === 0) {
|
|
39988
|
+
return true;
|
|
39989
|
+
}
|
|
39990
|
+
const target = event.target;
|
|
39991
|
+
return target !== null && [...this.#handles].some((h) => h.contains(target));
|
|
39992
|
+
}
|
|
39993
|
+
#onLift(event) {
|
|
39994
|
+
const rect = this.#resolvedRoot().getBoundingClientRect();
|
|
39995
|
+
const position = this.position();
|
|
39996
|
+
this.#lift.set({
|
|
39997
|
+
point: { x: event.clientX, y: event.clientY },
|
|
39998
|
+
position,
|
|
39999
|
+
topLeft: { x: rect.left, y: rect.top },
|
|
40000
|
+
natural: { x: rect.left - position.x, y: rect.top - position.y },
|
|
40001
|
+
size: { width: rect.width, height: rect.height },
|
|
40002
|
+
});
|
|
40003
|
+
this.dragStart.emit(position);
|
|
40004
|
+
return true;
|
|
40005
|
+
}
|
|
40006
|
+
#onMove(event) {
|
|
40007
|
+
const lift = this.#lift();
|
|
40008
|
+
if (!lift) {
|
|
40009
|
+
return;
|
|
40010
|
+
}
|
|
40011
|
+
const desired = {
|
|
40012
|
+
x: lift.topLeft.x + (event.clientX - lift.point.x),
|
|
40013
|
+
y: lift.topLeft.y + (event.clientY - lift.point.y),
|
|
40014
|
+
};
|
|
40015
|
+
const boundaryRect = this.#resolveBoundary()?.getBoundingClientRect() ?? null;
|
|
40016
|
+
const clamped = clampPreviewPosition(desired, lift.size, boundaryRect, this.lockAxis(), lift.topLeft);
|
|
40017
|
+
const next = { x: clamped.x - lift.natural.x, y: clamped.y - lift.natural.y };
|
|
40018
|
+
this.position.set(next);
|
|
40019
|
+
this.dragMove.emit(next);
|
|
40020
|
+
}
|
|
40021
|
+
#onCommit() {
|
|
40022
|
+
this.#lift.set(null);
|
|
40023
|
+
this.dragEnd.emit(this.position());
|
|
40024
|
+
}
|
|
40025
|
+
#onCancel() {
|
|
40026
|
+
const lift = this.#lift();
|
|
40027
|
+
if (lift) {
|
|
40028
|
+
this.position.set(lift.position);
|
|
40029
|
+
}
|
|
40030
|
+
this.#lift.set(null);
|
|
40031
|
+
this.dragEnd.emit(this.position());
|
|
40032
|
+
}
|
|
40033
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: ForFreeDrag, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
40034
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.2", type: ForFreeDrag, isStandalone: true, selector: "[forFreeDrag]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, rootElement: { classPropertyName: "rootElement", publicName: "rootElement", isSignal: true, isRequired: false, transformFunction: null }, boundary: { classPropertyName: "boundary", publicName: "boundary", isSignal: true, isRequired: false, transformFunction: null }, lockAxis: { classPropertyName: "lockAxis", publicName: "lockAxis", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { position: "positionChange", dragStart: "dragStart", dragMove: "dragMove", dragEnd: "dragEnd" }, host: { properties: { "attr.data-dragging": "dragging() ? '' : null", "attr.data-disabled": "disabled() ? '' : null", "style.touch-action": "touchAction()" } }, providers: [{ provide: FOR_DRAGGABLE_CONTEXT, useExisting: ForFreeDrag }], exportAs: ["forFreeDrag"], ngImport: i0 });
|
|
40035
|
+
}
|
|
40036
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: ForFreeDrag, decorators: [{
|
|
40037
|
+
type: Directive,
|
|
40038
|
+
args: [{
|
|
40039
|
+
selector: '[forFreeDrag]',
|
|
40040
|
+
exportAs: 'forFreeDrag',
|
|
40041
|
+
providers: [{ provide: FOR_DRAGGABLE_CONTEXT, useExisting: ForFreeDrag }],
|
|
40042
|
+
host: {
|
|
40043
|
+
'[attr.data-dragging]': "dragging() ? '' : null",
|
|
40044
|
+
'[attr.data-disabled]': "disabled() ? '' : null",
|
|
40045
|
+
'[style.touch-action]': 'touchAction()',
|
|
40046
|
+
},
|
|
40047
|
+
}]
|
|
40048
|
+
}], ctorParameters: () => [], propDecorators: { disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], rootElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "rootElement", required: false }] }], boundary: [{ type: i0.Input, args: [{ isSignal: true, alias: "boundary", required: false }] }], lockAxis: [{ type: i0.Input, args: [{ isSignal: true, alias: "lockAxis", required: false }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }, { type: i0.Output, args: ["positionChange"] }], dragStart: [{ type: i0.Output, args: ["dragStart"] }], dragMove: [{ type: i0.Output, args: ["dragMove"] }], dragEnd: [{ type: i0.Output, args: ["dragEnd"] }] } });
|
|
40049
|
+
|
|
39750
40050
|
/**
|
|
39751
40051
|
* Optional drag handle inside a `[forDraggable]`. When at least one handle is present on an item, a pointer
|
|
39752
40052
|
* drag may only start from within a handle (keyboard dragging is unaffected). Apply on a child element.
|
|
@@ -43010,5 +43310,5 @@ function provideForFileUploadDefaults(defaults = {}) {
|
|
|
43010
43310
|
* Generated bundle index. Do not edit.
|
|
43011
43311
|
*/
|
|
43012
43312
|
|
|
43013
|
-
export { DEFAULT_DATE_FIELD_SEGMENT_LABELS, DEFAULT_TIME_FIELD_SEGMENT_LABELS, DEFAULT_TOAST_REGION, FOR_ACCORDION_CONTEXT, FOR_ACCORDION_DEFAULTS, FOR_ACCORDION_ITEM_CONTEXT, FOR_ASPECT_RATIO_DEFAULTS, FOR_AVATAR_CONTEXT, FOR_AVATAR_DEFAULTS, FOR_BREADCRUMBS_DEFAULTS, FOR_BUTTON_DEFAULTS, FOR_CALENDAR_CONTEXT, FOR_CALENDAR_DEFAULTS, FOR_CAROUSEL_CONTEXT, FOR_CAROUSEL_DEFAULTS, FOR_CHECKBOX, FOR_CHECKBOX_DEFAULTS, FOR_CHECKBOX_HOST_DIRECTIVE_INPUTS, FOR_CHECKBOX_HOST_DIRECTIVE_OUTPUTS, FOR_COMBOBOX_CONTEXT, FOR_COMBOBOX_DEFAULTS, FOR_COMBOBOX_HOST_DIRECTIVE_INPUTS, FOR_COMBOBOX_HOST_DIRECTIVE_OUTPUTS, FOR_COMBOBOX_OPTION, FOR_CONTEXT_MENU_CONTEXT, FOR_CONTEXT_MENU_DEFAULTS, FOR_DATE_ADAPTER, FOR_DATE_FIELD_CONTEXT, FOR_DATE_FIELD_DEFAULTS, FOR_DATE_FIELD_HOST_DIRECTIVE_INPUTS, FOR_DATE_FIELD_HOST_DIRECTIVE_OUTPUTS, FOR_DATE_PICKER_CONTEXT, FOR_DATE_PICKER_DEFAULTS, FOR_DATE_PICKER_HOST_DIRECTIVE_INPUTS, FOR_DATE_PICKER_HOST_DIRECTIVE_OUTPUTS, FOR_DIALOG_CONTEXT, FOR_DIALOG_DATA, FOR_DIALOG_DEFAULTS, FOR_DISCLOSURE_CONTEXT, FOR_DISCLOSURE_DEFAULTS, FOR_DRAG_DROP_CONTEXT, FOR_DRAG_DROP_DEFAULTS, FOR_DRAWER_CONTEXT, FOR_DRAWER_DATA, FOR_DRAWER_DEFAULTS, FOR_DROPDOWN_MENU_DEFAULTS, FOR_DROP_LIST_DEFAULT_ORIENTATION, FOR_DROP_LIST_GROUP, FOR_FIELDSET_CONTEXT, FOR_FIELDSET_DEFAULTS, FOR_FIELD_CONTEXT, FOR_FIELD_DEFAULTS, FOR_FILE_UPLOAD_CONTEXT, FOR_FILE_UPLOAD_DEFAULTS, FOR_HOVER_CARD_CONTEXT, FOR_HOVER_CARD_DEFAULTS, FOR_ID_SALT, FOR_INPUT_DEFAULTS, FOR_INPUT_HOST_DIRECTIVE_INPUTS, FOR_INPUT_HOST_DIRECTIVE_OUTPUTS, FOR_LISTBOX_CONTEXT, FOR_LISTBOX_DEFAULTS, FOR_LISTBOX_HOST_DIRECTIVE_INPUTS, FOR_LISTBOX_HOST_DIRECTIVE_OUTPUTS, FOR_LISTBOX_OPTION, FOR_MENUBAR_CONTEXT, FOR_MENUBAR_DEFAULTS, FOR_MENU_CHECKBOX_ITEM, FOR_MENU_CONTEXT, FOR_MENU_DEFAULTS, FOR_MENU_GROUP_CONTEXT, FOR_MENU_RADIO_GROUP_CONTEXT, FOR_MENU_RADIO_ITEM, FOR_METER_CONTEXT, FOR_METER_DEFAULTS, FOR_NAVIGATION_MENU_CONTEXT, FOR_NAVIGATION_MENU_DEFAULTS, FOR_NAVIGATION_MENU_ITEM_CONTEXT, FOR_NUMBER_INPUT_DEFAULTS, FOR_NUMBER_INPUT_GROUP, FOR_NUMBER_INPUT_HOST_DIRECTIVE_INPUTS, FOR_NUMBER_INPUT_HOST_DIRECTIVE_OUTPUTS, FOR_OTP_INPUT_CONTEXT, FOR_OTP_INPUT_DEFAULTS, FOR_OTP_INPUT_HOST_DIRECTIVE_INPUTS, FOR_OTP_INPUT_HOST_DIRECTIVE_OUTPUTS, FOR_PAGINATION_CONTEXT, FOR_PAGINATION_DEFAULTS, FOR_PANE_RESIZER_DEFAULTS, FOR_POPOVER_CONTEXT, FOR_POPOVER_DEFAULTS, FOR_PROGRESS_CONTEXT, FOR_PROGRESS_DEFAULTS, FOR_RADIO, FOR_RADIO_GROUP_CONTEXT, FOR_RADIO_GROUP_DEFAULTS, FOR_RADIO_GROUP_HOST_DIRECTIVE_INPUTS, FOR_RADIO_GROUP_HOST_DIRECTIVE_OUTPUTS, FOR_SCROLL_AREA_CONTEXT, FOR_SCROLL_AREA_DEFAULTS, FOR_SEARCH_DEFAULTS, FOR_SEARCH_HOST_DIRECTIVE_INPUTS, FOR_SEARCH_HOST_DIRECTIVE_OUTPUTS, FOR_SELECT_CONTEXT, FOR_SELECT_DEFAULTS, FOR_SELECT_HOST_DIRECTIVE_INPUTS, FOR_SELECT_HOST_DIRECTIVE_OUTPUTS, FOR_SELECT_OPTION, FOR_SEPARATOR_DEFAULTS, FOR_SLIDER_CONTEXT, FOR_SLIDER_DEFAULTS, FOR_SLIDER_HOST_DIRECTIVE_INPUTS, FOR_SLIDER_HOST_DIRECTIVE_OUTPUTS, FOR_STEPPER_CONTEXT, FOR_STEPPER_DEFAULTS, FOR_STEPPER_ITEM_CONTEXT, FOR_SWITCH_DEFAULTS, FOR_SWITCH_HOST_DIRECTIVE_INPUTS, FOR_SWITCH_HOST_DIRECTIVE_OUTPUTS, FOR_TABLE_CONTEXT, FOR_TABLE_DEFAULTS, FOR_TABS_CONTEXT, FOR_TABS_DEFAULTS, FOR_TEXTAREA_HOST_DIRECTIVE_INPUTS, FOR_TEXTAREA_HOST_DIRECTIVE_OUTPUTS, FOR_TIME_FIELD_CONTEXT, FOR_TIME_FIELD_DEFAULTS, FOR_TIME_FIELD_HOST_DIRECTIVE_INPUTS, FOR_TIME_FIELD_HOST_DIRECTIVE_OUTPUTS, FOR_TIME_PICKER_CONTEXT, FOR_TIME_PICKER_DEFAULTS, FOR_TIME_PICKER_HOST_DIRECTIVE_INPUTS, FOR_TIME_PICKER_HOST_DIRECTIVE_OUTPUTS, FOR_TIME_VALUE_SOURCE, FOR_TOAST_CONTEXT, FOR_TOAST_DEFAULTS, FOR_TOGGLE_DEFAULTS, FOR_TOGGLE_GROUP_CONTEXT, FOR_TOGGLE_GROUP_HOST_DIRECTIVE_INPUTS, FOR_TOGGLE_GROUP_HOST_DIRECTIVE_OUTPUTS, FOR_TOGGLE_HOST_DIRECTIVE_INPUTS, FOR_TOGGLE_HOST_DIRECTIVE_OUTPUTS, FOR_TOOLBAR_CONTEXT, FOR_TOOLBAR_DEFAULTS, FOR_TOOLTIP_CONTEXT, FOR_TOOLTIP_DEFAULTS, FOR_TREE_CONTAINER_CONTEXT, FOR_TREE_CONTEXT, FOR_TREE_DEFAULTS, FOR_TREE_ITEM_CONTEXT, FOR_TREE_NODE_DRAG_CONTEXT, ForAccordion, ForAccordionContent, ForAccordionItem, ForAccordionTrigger, ForAspectRatio, ForAvatar, ForAvatarFallback, ForAvatarImage, ForBreadcrumbItem, ForBreadcrumbSeparator, ForBreadcrumbs, ForButton, ForCalendar, ForCalendarCell, ForCalendarGrid, ForCalendarGridHeader, ForCalendarHeading, ForCalendarMonthCell, ForCalendarMonthGrid, ForCalendarMonthSelect, ForCalendarNextButton, ForCalendarPrevButton, ForCalendarViewTrigger, ForCalendarYearCell, ForCalendarYearGrid, ForCalendarYearSelect, ForCarousel, ForCarouselDrag, ForCarouselIndicator, ForCarouselIndicators, ForCarouselNext, ForCarouselPrevious, ForCarouselRotationControl, ForCarouselSlide, ForCarouselTrack, ForCarouselViewport, ForCheckbox, ForCheckboxIndicator, ForCombobox, ForComboboxAnchor, ForComboboxChip, ForComboboxChipRemove, ForComboboxChips, ForComboboxClear, ForComboboxContent, ForComboboxEmpty, ForComboboxGroup, ForComboboxGroupLabel, ForComboboxIndicator, ForComboboxInput, ForComboboxList, ForComboboxOption, ForComboboxSeparator, ForComboboxStatus, ForComboboxTrigger, ForContextMenu, ForContextMenuTrigger, ForDateField, ForDateFieldLiteral, ForDateFieldSegment, ForDatePicker, ForDatePickerAnchor, ForDatePickerContent, ForDatePickerTrigger, ForDatePickerValue, ForDialog, ForDialogBackdrop, ForDialogClose, ForDialogDescription, ForDialogManager, ForDialogRef, ForDialogTitle, ForDialogTrigger, ForDisclosure, ForDisclosureContent, ForDisclosureTrigger, ForDragHandle, ForDragPlaceholder, ForDragPreview, ForDraggable, ForDrawer, ForDrawerBackdrop, ForDrawerClose, ForDrawerDescription, ForDrawerHandle, ForDrawerManager, ForDrawerRef, ForDrawerTitle, ForDrawerTrigger, ForDrawerWrapper, ForDropList, ForDropListGroup, ForDropdownMenu, ForDropdownMenuTrigger, ForField, ForFieldControl, ForFieldDescription, ForFieldError, ForFieldset, ForFieldsetLegend, ForFileUpload, ForFileUploadInput, ForFileUploadTrigger, ForHoverCard, ForHoverCardArrow, ForHoverCardContent, ForHoverCardTrigger, ForInput, ForLabel, ForListbox, ForListboxGroup, ForListboxGroupLabel, ForListboxOption, ForListboxOptionIndicator, ForMenuCheckboxItem, ForMenuContent, ForMenuGroup, ForMenuGroupLabel, ForMenuItem, ForMenuItemIndicator, ForMenuRadioGroup, ForMenuRadioItem, ForMenuSeparator, ForMenuSub, ForMenuSubTrigger, ForMenubar, ForMenubarTrigger, ForMeter, ForMeterIndicator, ForNavigationMenu, ForNavigationMenuContent, ForNavigationMenuIndicator, ForNavigationMenuItem, ForNavigationMenuLink, ForNavigationMenuList, ForNavigationMenuTrigger, ForNavigationMenuViewport, ForNumberInput, ForNumberInputDecrement, ForNumberInputGroup, ForNumberInputIncrement, ForOtpInput, ForOtpInputSlot, ForPagination, ForPaginationItem, ForPaginationNext, ForPaginationPrevious, ForPaneResizer, ForPopover, ForPopoverAnchor, ForPopoverArrow, ForPopoverClose, ForPopoverContent, ForPopoverDescription, ForPopoverTitle, ForPopoverTrigger, ForProgress, ForProgressIndicator, ForRadio, ForRadioGroup, ForRadioIndicator, ForScrollArea, ForScrollAreaContent, ForScrollAreaCorner, ForScrollAreaScrollbar, ForScrollAreaThumb, ForScrollAreaViewport, ForSearch, ForSearchClear, ForSelect, ForSelectAnchor, ForSelectContent, ForSelectGroup, ForSelectGroupLabel, ForSelectIndicator, ForSelectOption, ForSelectSeparator, ForSelectTrigger, ForSelectValue, ForSeparator, ForSlider, ForSliderRange, ForSliderThumb, ForSliderTrack, ForStepper, ForStepperCompletedContent, ForStepperContent, ForStepperIndicator, ForStepperItem, ForStepperList, ForStepperNext, ForStepperPrevious, ForStepperProgress, ForStepperSeparator, ForStepperTrigger, ForSwitch, ForTable, ForTableCell, ForTableColumnReorder, ForTableColumnResizer, ForTableHeaderCell, ForTableHeaderRow, ForTableRow, ForTableRowReorder, ForTableRowSelector, ForTableSelectAll, ForTableSortHeader, ForTabs, ForTabsContent, ForTabsList, ForTabsTrigger, ForTextarea, ForTimeField, ForTimeFieldLiteral, ForTimeFieldSegment, ForTimePicker, ForTimePickerAnchor, ForTimePickerContent, ForTimePickerOption, ForTimePickerTrigger, ForTimePickerValue, ForToast, ForToastAction, ForToastClose, ForToastDescription, ForToastManager, ForToastRef, ForToastTitle, ForToastViewport, ForToggle, ForToggleGroup, ForToggleGroupItem, ForToolbar, ForToolbarButton, ForToolbarLink, ForToolbarSeparator, ForTooltip, ForTooltipArrow, ForTooltipContent, ForTooltipTrigger, ForTree, ForTreeGroup, ForTreeItem, ForTreeItemCheckbox, ForTreeItemCheckboxIndicator, ForTreeItemLabel, ForTreeItemToggle, ForTreeNodeDrag, ForTreeNodeDragHandle, NativeDateAdapter, OTP_REGEXP_ONLY_CHARS, OTP_REGEXP_ONLY_DIGITS, OTP_REGEXP_ONLY_DIGITS_AND_CHARS, assertTimeCapable, buildTimeSlots, expandToReveal, forSingleValueField, injectDateAdapter, injectDialogData, injectDrawerData, injectFieldWiring, injectNumberInputGroup, moveItemInArray, moveTreeNode, provideForAccordionDefaults, provideForAspectRatioDefaults, provideForAvatarDefaults, provideForBreadcrumbsDefaults, provideForButtonDefaults, provideForCalendarDefaults, provideForCarouselDefaults, provideForCheckboxDefaults, provideForComboboxDefaults, provideForContextMenuDefaults, provideForDateFieldDefaults, provideForDatePickerDefaults, provideForDialogDefaults, provideForDisclosureDefaults, provideForDragDropDefaults, provideForDrawerDefaults, provideForDropdownMenuDefaults, provideForFieldDefaults, provideForFieldsetDefaults, provideForFileUploadDefaults, provideForHoverCardDefaults, provideForIdSalt, provideForInputDefaults, provideForListboxDefaults, provideForMenuDefaults, provideForMenubarDefaults, provideForMeterDefaults, provideForNavigationMenuDefaults, provideForNumberInputDefaults, provideForOtpInputDefaults, provideForPaginationDefaults, provideForPaneResizerDefaults, provideForPopoverDefaults, provideForProgressDefaults, provideForRadioGroupDefaults, provideForScrollAreaDefaults, provideForSearchDefaults, provideForSelectDefaults, provideForSeparatorDefaults, provideForSliderDefaults, provideForStepperDefaults, provideForSwitchDefaults, provideForTableDefaults, provideForTabsDefaults, provideForTimeFieldDefaults, provideForTimePickerDefaults, provideForToastDefaults, provideForToggleDefaults, provideForToolbarDefaults, provideForTooltipDefaults, provideForTreeDefaults, provideNativeDateAdapter, transferArrayItem };
|
|
43313
|
+
export { DEFAULT_DATE_FIELD_SEGMENT_LABELS, DEFAULT_TIME_FIELD_SEGMENT_LABELS, DEFAULT_TOAST_REGION, FOR_ACCORDION_CONTEXT, FOR_ACCORDION_DEFAULTS, FOR_ACCORDION_ITEM_CONTEXT, FOR_ASPECT_RATIO_DEFAULTS, FOR_AVATAR_CONTEXT, FOR_AVATAR_DEFAULTS, FOR_BREADCRUMBS_DEFAULTS, FOR_BUTTON_DEFAULTS, FOR_CALENDAR_CONTEXT, FOR_CALENDAR_DEFAULTS, FOR_CAROUSEL_CONTEXT, FOR_CAROUSEL_DEFAULTS, FOR_CHECKBOX, FOR_CHECKBOX_DEFAULTS, FOR_CHECKBOX_HOST_DIRECTIVE_INPUTS, FOR_CHECKBOX_HOST_DIRECTIVE_OUTPUTS, FOR_COMBOBOX_CONTEXT, FOR_COMBOBOX_DEFAULTS, FOR_COMBOBOX_HOST_DIRECTIVE_INPUTS, FOR_COMBOBOX_HOST_DIRECTIVE_OUTPUTS, FOR_COMBOBOX_OPTION, FOR_CONTEXT_MENU_CONTEXT, FOR_CONTEXT_MENU_DEFAULTS, FOR_DATE_ADAPTER, FOR_DATE_FIELD_CONTEXT, FOR_DATE_FIELD_DEFAULTS, FOR_DATE_FIELD_HOST_DIRECTIVE_INPUTS, FOR_DATE_FIELD_HOST_DIRECTIVE_OUTPUTS, FOR_DATE_PICKER_CONTEXT, FOR_DATE_PICKER_DEFAULTS, FOR_DATE_PICKER_HOST_DIRECTIVE_INPUTS, FOR_DATE_PICKER_HOST_DIRECTIVE_OUTPUTS, FOR_DIALOG_CONTEXT, FOR_DIALOG_DATA, FOR_DIALOG_DEFAULTS, FOR_DISCLOSURE_CONTEXT, FOR_DISCLOSURE_DEFAULTS, FOR_DRAG_DROP_CONTEXT, FOR_DRAG_DROP_DEFAULTS, FOR_DRAWER_CONTEXT, FOR_DRAWER_DATA, FOR_DRAWER_DEFAULTS, FOR_DROPDOWN_MENU_DEFAULTS, FOR_DROP_LIST_DEFAULT_ORIENTATION, FOR_DROP_LIST_GROUP, FOR_FIELDSET_CONTEXT, FOR_FIELDSET_DEFAULTS, FOR_FIELD_CONTEXT, FOR_FIELD_DEFAULTS, FOR_FILE_UPLOAD_CONTEXT, FOR_FILE_UPLOAD_DEFAULTS, FOR_HOVER_CARD_CONTEXT, FOR_HOVER_CARD_DEFAULTS, FOR_ID_SALT, FOR_INPUT_DEFAULTS, FOR_INPUT_HOST_DIRECTIVE_INPUTS, FOR_INPUT_HOST_DIRECTIVE_OUTPUTS, FOR_LISTBOX_CONTEXT, FOR_LISTBOX_DEFAULTS, FOR_LISTBOX_HOST_DIRECTIVE_INPUTS, FOR_LISTBOX_HOST_DIRECTIVE_OUTPUTS, FOR_LISTBOX_OPTION, FOR_MENUBAR_CONTEXT, FOR_MENUBAR_DEFAULTS, FOR_MENU_CHECKBOX_ITEM, FOR_MENU_CONTEXT, FOR_MENU_DEFAULTS, FOR_MENU_GROUP_CONTEXT, FOR_MENU_RADIO_GROUP_CONTEXT, FOR_MENU_RADIO_ITEM, FOR_METER_CONTEXT, FOR_METER_DEFAULTS, FOR_NAVIGATION_MENU_CONTEXT, FOR_NAVIGATION_MENU_DEFAULTS, FOR_NAVIGATION_MENU_ITEM_CONTEXT, FOR_NUMBER_INPUT_DEFAULTS, FOR_NUMBER_INPUT_GROUP, FOR_NUMBER_INPUT_HOST_DIRECTIVE_INPUTS, FOR_NUMBER_INPUT_HOST_DIRECTIVE_OUTPUTS, FOR_OTP_INPUT_CONTEXT, FOR_OTP_INPUT_DEFAULTS, FOR_OTP_INPUT_HOST_DIRECTIVE_INPUTS, FOR_OTP_INPUT_HOST_DIRECTIVE_OUTPUTS, FOR_PAGINATION_CONTEXT, FOR_PAGINATION_DEFAULTS, FOR_PANE_RESIZER_DEFAULTS, FOR_POPOVER_CONTEXT, FOR_POPOVER_DEFAULTS, FOR_PROGRESS_CONTEXT, FOR_PROGRESS_DEFAULTS, FOR_RADIO, FOR_RADIO_GROUP_CONTEXT, FOR_RADIO_GROUP_DEFAULTS, FOR_RADIO_GROUP_HOST_DIRECTIVE_INPUTS, FOR_RADIO_GROUP_HOST_DIRECTIVE_OUTPUTS, FOR_SCROLL_AREA_CONTEXT, FOR_SCROLL_AREA_DEFAULTS, FOR_SEARCH_DEFAULTS, FOR_SEARCH_HOST_DIRECTIVE_INPUTS, FOR_SEARCH_HOST_DIRECTIVE_OUTPUTS, FOR_SELECT_CONTEXT, FOR_SELECT_DEFAULTS, FOR_SELECT_HOST_DIRECTIVE_INPUTS, FOR_SELECT_HOST_DIRECTIVE_OUTPUTS, FOR_SELECT_OPTION, FOR_SEPARATOR_DEFAULTS, FOR_SLIDER_CONTEXT, FOR_SLIDER_DEFAULTS, FOR_SLIDER_HOST_DIRECTIVE_INPUTS, FOR_SLIDER_HOST_DIRECTIVE_OUTPUTS, FOR_STEPPER_CONTEXT, FOR_STEPPER_DEFAULTS, FOR_STEPPER_ITEM_CONTEXT, FOR_SWITCH_DEFAULTS, FOR_SWITCH_HOST_DIRECTIVE_INPUTS, FOR_SWITCH_HOST_DIRECTIVE_OUTPUTS, FOR_TABLE_CONTEXT, FOR_TABLE_DEFAULTS, FOR_TABS_CONTEXT, FOR_TABS_DEFAULTS, FOR_TEXTAREA_HOST_DIRECTIVE_INPUTS, FOR_TEXTAREA_HOST_DIRECTIVE_OUTPUTS, FOR_TIME_FIELD_CONTEXT, FOR_TIME_FIELD_DEFAULTS, FOR_TIME_FIELD_HOST_DIRECTIVE_INPUTS, FOR_TIME_FIELD_HOST_DIRECTIVE_OUTPUTS, FOR_TIME_PICKER_CONTEXT, FOR_TIME_PICKER_DEFAULTS, FOR_TIME_PICKER_HOST_DIRECTIVE_INPUTS, FOR_TIME_PICKER_HOST_DIRECTIVE_OUTPUTS, FOR_TIME_VALUE_SOURCE, FOR_TOAST_CONTEXT, FOR_TOAST_DEFAULTS, FOR_TOGGLE_DEFAULTS, FOR_TOGGLE_GROUP_CONTEXT, FOR_TOGGLE_GROUP_HOST_DIRECTIVE_INPUTS, FOR_TOGGLE_GROUP_HOST_DIRECTIVE_OUTPUTS, FOR_TOGGLE_HOST_DIRECTIVE_INPUTS, FOR_TOGGLE_HOST_DIRECTIVE_OUTPUTS, FOR_TOOLBAR_CONTEXT, FOR_TOOLBAR_DEFAULTS, FOR_TOOLTIP_CONTEXT, FOR_TOOLTIP_DEFAULTS, FOR_TREE_CONTAINER_CONTEXT, FOR_TREE_CONTEXT, FOR_TREE_DEFAULTS, FOR_TREE_ITEM_CONTEXT, FOR_TREE_NODE_DRAG_CONTEXT, ForAccordion, ForAccordionContent, ForAccordionItem, ForAccordionTrigger, ForAspectRatio, ForAvatar, ForAvatarFallback, ForAvatarImage, ForBreadcrumbItem, ForBreadcrumbSeparator, ForBreadcrumbs, ForButton, ForCalendar, ForCalendarCell, ForCalendarGrid, ForCalendarGridHeader, ForCalendarHeading, ForCalendarMonthCell, ForCalendarMonthGrid, ForCalendarMonthSelect, ForCalendarNextButton, ForCalendarPrevButton, ForCalendarViewTrigger, ForCalendarYearCell, ForCalendarYearGrid, ForCalendarYearSelect, ForCarousel, ForCarouselDrag, ForCarouselIndicator, ForCarouselIndicators, ForCarouselNext, ForCarouselPrevious, ForCarouselRotationControl, ForCarouselSlide, ForCarouselTrack, ForCarouselViewport, ForCheckbox, ForCheckboxIndicator, ForCombobox, ForComboboxAnchor, ForComboboxChip, ForComboboxChipRemove, ForComboboxChips, ForComboboxClear, ForComboboxContent, ForComboboxEmpty, ForComboboxGroup, ForComboboxGroupLabel, ForComboboxIndicator, ForComboboxInput, ForComboboxList, ForComboboxOption, ForComboboxSeparator, ForComboboxStatus, ForComboboxTrigger, ForContextMenu, ForContextMenuTrigger, ForDateField, ForDateFieldLiteral, ForDateFieldSegment, ForDatePicker, ForDatePickerAnchor, ForDatePickerContent, ForDatePickerTrigger, ForDatePickerValue, ForDialog, ForDialogBackdrop, ForDialogClose, ForDialogDescription, ForDialogManager, ForDialogRef, ForDialogTitle, ForDialogTrigger, ForDisclosure, ForDisclosureContent, ForDisclosureTrigger, ForDragHandle, ForDragPlaceholder, ForDragPreview, ForDraggable, ForDrawer, ForDrawerBackdrop, ForDrawerClose, ForDrawerDescription, ForDrawerHandle, ForDrawerManager, ForDrawerRef, ForDrawerTitle, ForDrawerTrigger, ForDrawerWrapper, ForDropList, ForDropListGroup, ForDropdownMenu, ForDropdownMenuTrigger, ForField, ForFieldControl, ForFieldDescription, ForFieldError, ForFieldset, ForFieldsetLegend, ForFileUpload, ForFileUploadInput, ForFileUploadTrigger, ForFreeDrag, ForHoverCard, ForHoverCardArrow, ForHoverCardContent, ForHoverCardTrigger, ForInput, ForLabel, ForListbox, ForListboxGroup, ForListboxGroupLabel, ForListboxOption, ForListboxOptionIndicator, ForMenuCheckboxItem, ForMenuContent, ForMenuGroup, ForMenuGroupLabel, ForMenuItem, ForMenuItemIndicator, ForMenuRadioGroup, ForMenuRadioItem, ForMenuSeparator, ForMenuSub, ForMenuSubTrigger, ForMenubar, ForMenubarTrigger, ForMeter, ForMeterIndicator, ForNavigationMenu, ForNavigationMenuContent, ForNavigationMenuIndicator, ForNavigationMenuItem, ForNavigationMenuLink, ForNavigationMenuList, ForNavigationMenuTrigger, ForNavigationMenuViewport, ForNumberInput, ForNumberInputDecrement, ForNumberInputGroup, ForNumberInputIncrement, ForOtpInput, ForOtpInputSlot, ForPagination, ForPaginationItem, ForPaginationNext, ForPaginationPrevious, ForPaneResizer, ForPopover, ForPopoverAnchor, ForPopoverArrow, ForPopoverClose, ForPopoverContent, ForPopoverDescription, ForPopoverTitle, ForPopoverTrigger, ForProgress, ForProgressIndicator, ForRadio, ForRadioGroup, ForRadioIndicator, ForScrollArea, ForScrollAreaContent, ForScrollAreaCorner, ForScrollAreaScrollbar, ForScrollAreaThumb, ForScrollAreaViewport, ForSearch, ForSearchClear, ForSelect, ForSelectAnchor, ForSelectContent, ForSelectGroup, ForSelectGroupLabel, ForSelectIndicator, ForSelectOption, ForSelectSeparator, ForSelectTrigger, ForSelectValue, ForSeparator, ForSlider, ForSliderRange, ForSliderThumb, ForSliderTrack, ForStepper, ForStepperCompletedContent, ForStepperContent, ForStepperIndicator, ForStepperItem, ForStepperList, ForStepperNext, ForStepperPrevious, ForStepperProgress, ForStepperSeparator, ForStepperTrigger, ForSwitch, ForTable, ForTableCell, ForTableColumnReorder, ForTableColumnResizer, ForTableHeaderCell, ForTableHeaderRow, ForTableRow, ForTableRowReorder, ForTableRowSelector, ForTableSelectAll, ForTableSortHeader, ForTabs, ForTabsContent, ForTabsList, ForTabsTrigger, ForTextarea, ForTimeField, ForTimeFieldLiteral, ForTimeFieldSegment, ForTimePicker, ForTimePickerAnchor, ForTimePickerContent, ForTimePickerOption, ForTimePickerTrigger, ForTimePickerValue, ForToast, ForToastAction, ForToastClose, ForToastDescription, ForToastManager, ForToastRef, ForToastTitle, ForToastViewport, ForToggle, ForToggleGroup, ForToggleGroupItem, ForToolbar, ForToolbarButton, ForToolbarLink, ForToolbarSeparator, ForTooltip, ForTooltipArrow, ForTooltipContent, ForTooltipTrigger, ForTree, ForTreeGroup, ForTreeItem, ForTreeItemCheckbox, ForTreeItemCheckboxIndicator, ForTreeItemLabel, ForTreeItemToggle, ForTreeNodeDrag, ForTreeNodeDragHandle, NativeDateAdapter, OTP_REGEXP_ONLY_CHARS, OTP_REGEXP_ONLY_DIGITS, OTP_REGEXP_ONLY_DIGITS_AND_CHARS, assertTimeCapable, buildTimeSlots, expandToReveal, forSingleValueField, injectDateAdapter, injectDialogData, injectDrawerData, injectFieldWiring, injectNumberInputGroup, moveItemInArray, moveTreeNode, provideForAccordionDefaults, provideForAspectRatioDefaults, provideForAvatarDefaults, provideForBreadcrumbsDefaults, provideForButtonDefaults, provideForCalendarDefaults, provideForCarouselDefaults, provideForCheckboxDefaults, provideForComboboxDefaults, provideForContextMenuDefaults, provideForDateFieldDefaults, provideForDatePickerDefaults, provideForDialogDefaults, provideForDisclosureDefaults, provideForDragDropDefaults, provideForDrawerDefaults, provideForDropdownMenuDefaults, provideForFieldDefaults, provideForFieldsetDefaults, provideForFileUploadDefaults, provideForHoverCardDefaults, provideForIdSalt, provideForInputDefaults, provideForListboxDefaults, provideForMenuDefaults, provideForMenubarDefaults, provideForMeterDefaults, provideForNavigationMenuDefaults, provideForNumberInputDefaults, provideForOtpInputDefaults, provideForPaginationDefaults, provideForPaneResizerDefaults, provideForPopoverDefaults, provideForProgressDefaults, provideForRadioGroupDefaults, provideForScrollAreaDefaults, provideForSearchDefaults, provideForSelectDefaults, provideForSeparatorDefaults, provideForSliderDefaults, provideForStepperDefaults, provideForSwitchDefaults, provideForTableDefaults, provideForTabsDefaults, provideForTimeFieldDefaults, provideForTimePickerDefaults, provideForToastDefaults, provideForToggleDefaults, provideForToolbarDefaults, provideForTooltipDefaults, provideForTreeDefaults, provideNativeDateAdapter, transferArrayItem };
|
|
43014
43314
|
//# sourceMappingURL=forty-cdk.mjs.map
|