forty-cdk 0.35.0 → 0.36.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-core-overlay.mjs +30 -11
- package/fesm2022/forty-cdk-core-overlay.mjs.map +1 -1
- package/fesm2022/forty-cdk-dialog.mjs.map +1 -1
- package/fesm2022/forty-cdk-drawer.mjs.map +1 -1
- package/fesm2022/forty-cdk-hover-card.mjs +5 -2
- package/fesm2022/forty-cdk-hover-card.mjs.map +1 -1
- package/fesm2022/forty-cdk-menu.mjs +23 -2
- package/fesm2022/forty-cdk-menu.mjs.map +1 -1
- package/fesm2022/forty-cdk-toast.mjs +21 -18
- package/fesm2022/forty-cdk-toast.mjs.map +1 -1
- package/fesm2022/forty-cdk-tooltip.mjs +5 -2
- package/fesm2022/forty-cdk-tooltip.mjs.map +1 -1
- package/hover-card/README.md +23 -0
- package/menu/README.md +3 -1
- package/package.json +1 -1
- package/toast/README.md +9 -7
- package/tooltip/README.md +22 -1
- package/types/forty-cdk-core-overlay.d.ts +9 -3
- package/types/forty-cdk-dialog.d.ts +8 -2
- package/types/forty-cdk-drawer.d.ts +8 -2
- package/types/forty-cdk-hover-card.d.ts +8 -0
- package/types/forty-cdk-menu.d.ts +3 -0
- package/types/forty-cdk-toast.d.ts +16 -7
- package/types/forty-cdk-tooltip.d.ts +8 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
import { ApplicationRef, DOCUMENT, DestroyRef, Directive, ElementRef, EnvironmentInjector, Injectable, InjectionToken, Injector, PLATFORM_ID, afterNextRender, booleanAttribute, computed, effect, inject, input, isDevMode, linkedSignal, numberAttribute, output, signal, untracked } from "@angular/core";
|
|
3
3
|
import { isPlatformBrowser } from "@angular/common";
|
|
4
|
-
import { Collection, FormUiControlBase, IdGenerator, MODAL_EXEMPT_ATTRIBUTE, MODAL_PEER_ATTRIBUTE, accessibleTextContent, adoptHostId, afterNextRenderCancellable, composedClosest, composedContains, composedParentElement, createSingleSlot, createVetoableEvent, createVetoableNativeEvent, emitVetoableNativeEvent, findFirstFocusable, findTabbableEdges, firstEnabledHandle, firstEnabledHost, fortyError, fortyWarn, hostAriaLabel, hostDescribedBy, hostLabelledBy, injectFieldAnchor, injectFocusTrap, injectPortal, injectTypeahead, injectVetoableEmitter, isHoverCapablePointer, isImeComposing, isInitialFocusTarget, isNonTouchPointer, lastEnabledHandle, lastEnabledHost, leavesTabSequence, nextEnabledHandle, orphanContextError, resolveActiveElement, resolveEventTarget, resolveListTypeahead } from "forty-cdk/core";
|
|
4
|
+
import { Collection, FOR_FIELD_ANCHOR_CONTEXT, FOR_FIELD_CONTEXT, FormUiControlBase, IdGenerator, MODAL_EXEMPT_ATTRIBUTE, MODAL_PEER_ATTRIBUTE, accessibleTextContent, adoptHostId, afterNextRenderCancellable, composedClosest, composedContains, composedParentElement, createSingleSlot, createVetoableEvent, createVetoableNativeEvent, emitVetoableNativeEvent, findFirstFocusable, findTabbableEdges, firstEnabledHandle, firstEnabledHost, fortyError, fortyWarn, hostAriaLabel, hostDescribedBy, hostLabelledBy, injectFieldAnchor, injectFocusTrap, injectPortal, injectTypeahead, injectVetoableEmitter, isHoverCapablePointer, isImeComposing, isInitialFocusTarget, isNonTouchPointer, lastEnabledHandle, lastEnabledHost, leavesTabSequence, nextEnabledHandle, orphanContextError, resolveActiveElement, resolveEventTarget, resolveListTypeahead } from "forty-cdk/core";
|
|
5
5
|
import { arrow, autoUpdate, computePosition, flip, hide, offset, shift, size } from "@floating-ui/dom";
|
|
6
6
|
import { CssVarNamespacer } from "@angular/platform-browser";
|
|
7
7
|
var BodyScrollLock = class BodyScrollLock {
|
|
@@ -3159,22 +3159,26 @@ var OverlayManagerCore = class {
|
|
|
3159
3159
|
});
|
|
3160
3160
|
}
|
|
3161
3161
|
createInjectorFactory(providers, scope) {
|
|
3162
|
-
let
|
|
3163
|
-
let cachedParent = null;
|
|
3162
|
+
let cached = null;
|
|
3164
3163
|
return (parent) => {
|
|
3165
|
-
if (
|
|
3166
|
-
|
|
3167
|
-
|
|
3164
|
+
if (cached?.parent === parent) return cached.injector;
|
|
3165
|
+
cached?.release();
|
|
3166
|
+
const injector = scope ? Injector.create({
|
|
3168
3167
|
parent: scope.injector,
|
|
3169
|
-
providers: [{
|
|
3170
|
-
provide:
|
|
3171
|
-
useValue: parent.get(
|
|
3172
|
-
}, ...providers]
|
|
3168
|
+
providers: [...[scope.contextToken, ...FIELD_BOUNDARY_TOKENS].map((token) => ({
|
|
3169
|
+
provide: token,
|
|
3170
|
+
useValue: parent.get(token)
|
|
3171
|
+
})), ...providers]
|
|
3173
3172
|
}) : Injector.create({
|
|
3174
3173
|
parent,
|
|
3175
3174
|
providers: [...providers]
|
|
3176
3175
|
});
|
|
3177
|
-
|
|
3176
|
+
cached = {
|
|
3177
|
+
parent,
|
|
3178
|
+
injector,
|
|
3179
|
+
release: bindInjectorLifetime(injector, parent)
|
|
3180
|
+
};
|
|
3181
|
+
return injector;
|
|
3178
3182
|
};
|
|
3179
3183
|
}
|
|
3180
3184
|
register(entry) {
|
|
@@ -3221,6 +3225,21 @@ var OverlayManagerCore = class {
|
|
|
3221
3225
|
this.#outletRef = outletRef;
|
|
3222
3226
|
}
|
|
3223
3227
|
};
|
|
3228
|
+
const FIELD_BOUNDARY_TOKENS = [FOR_FIELD_CONTEXT, FOR_FIELD_ANCHOR_CONTEXT];
|
|
3229
|
+
function bindInjectorLifetime(injector, parent) {
|
|
3230
|
+
let destroyed = false;
|
|
3231
|
+
const destroy = () => {
|
|
3232
|
+
if (!destroyed) {
|
|
3233
|
+
destroyed = true;
|
|
3234
|
+
injector.destroy();
|
|
3235
|
+
}
|
|
3236
|
+
};
|
|
3237
|
+
const unregister = parent.get(DestroyRef).onDestroy(destroy);
|
|
3238
|
+
return () => {
|
|
3239
|
+
unregister();
|
|
3240
|
+
destroy();
|
|
3241
|
+
};
|
|
3242
|
+
}
|
|
3224
3243
|
function isRecursiveTickError(error) {
|
|
3225
3244
|
if (error === null || typeof error !== "object") return false;
|
|
3226
3245
|
const { code, message } = error;
|