@agnos-ui/core 0.9.2 → 0.10.0-next.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/{accordion-CoM4efp-.js → accordion-CcirvrjR.js} +10 -15
- package/{accordion-cR5JqWJ8.cjs → accordion-yD-czBna.cjs} +10 -15
- package/{alert-DtDozJal.cjs → alert-B-jQDQcB.cjs} +1 -1
- package/{alert-YIlqdEPO.js → alert-gGz2CDS9.js} +1 -1
- package/collapse-BV4kD3j9.js +82 -0
- package/collapse-gLiT080Y.cjs +81 -0
- package/{common-BToNPUDq.cjs → common-D3QcdJ6S.cjs} +1 -1
- package/{common-BqUjUBPy.js → common-DK0ADNTX.js} +1 -1
- package/components/accordion/index.cjs +1 -1
- package/components/accordion/index.js +1 -1
- package/components/alert/index.cjs +1 -1
- package/components/alert/index.js +1 -1
- package/components/carousel/index.cjs +10 -23
- package/components/carousel/index.js +10 -23
- package/components/collapse/collapse.d.ts +132 -0
- package/components/collapse/index.cjs +5 -0
- package/components/collapse/index.d.ts +1 -0
- package/components/collapse/index.js +5 -0
- package/components/drawer/drawer.d.ts +222 -0
- package/components/drawer/index.cjs +5 -0
- package/components/drawer/index.d.ts +1 -0
- package/components/drawer/index.js +5 -0
- package/components/modal/index.cjs +2 -1
- package/components/modal/index.js +2 -1
- package/components/modal/modal.d.ts +5 -0
- package/components/pagination/index.cjs +1 -1
- package/components/pagination/index.js +1 -1
- package/components/progressbar/index.cjs +1 -1
- package/components/progressbar/index.js +1 -1
- package/components/rating/index.cjs +1 -1
- package/components/rating/index.js +1 -1
- package/components/select/index.cjs +1 -1
- package/components/select/index.js +1 -1
- package/components/slider/index.cjs +1 -1
- package/components/slider/index.js +1 -1
- package/components/toast/index.cjs +1 -1
- package/components/toast/index.js +1 -1
- package/components/tree/index.cjs +1 -1
- package/components/tree/index.js +1 -1
- package/config.cjs +2 -2
- package/config.d.ts +10 -0
- package/config.js +2 -2
- package/{dom-gfxqXJpK.js → dom-Bcg9ORcA.js} +64 -54
- package/{dom-CuBx1JPZ.cjs → dom-C2gi9OCP.cjs} +47 -37
- package/drawer-D5SO73ew.js +251 -0
- package/drawer-DP7UPojk.cjs +250 -0
- package/index.cjs +21 -12
- package/index.d.ts +2 -0
- package/index.js +54 -45
- package/isFocusable-Ckwus82R.js +32 -0
- package/isFocusable-DfzDLeAN.cjs +31 -0
- package/{modal-D3wGIDlj.js → modal-CAvQW-vo.js} +26 -32
- package/{modal-BEnQ6c5M.cjs → modal-DiXZXYjR.cjs} +27 -33
- package/package.json +1 -1
- package/{pagination-B97wBLok.js → pagination-BKbMROV6.js} +4 -4
- package/{pagination-C1TT-oea.cjs → pagination-DvZ2rLsz.cjs} +4 -4
- package/{progressbar-BWBlRk_Y.js → progressbar-D8zIcm9n.js} +2 -2
- package/{progressbar-CRvhNB5R.cjs → progressbar-i9xfAxb7.cjs} +2 -2
- package/{promise-XSP94FjG.js → promise-Y53vc4Ia.js} +5 -5
- package/{rating-BXvy9kXq.js → rating-DEXTGWCU.js} +2 -2
- package/{rating-DAb6nR67.cjs → rating-DmG4oUkr.cjs} +2 -2
- package/scrollbars-CT87iv_6.cjs +30 -0
- package/scrollbars-CcxSrnCx.js +31 -0
- package/{select-BdjpnE7_.js → select-Bw68Xdu5.js} +4 -5
- package/{select-C0rJJQfl.cjs → select-MFjAnIt7.cjs} +4 -5
- package/services/extendWidget.cjs +2 -2
- package/services/extendWidget.js +2 -2
- package/services/floatingUI.cjs +8 -29
- package/services/floatingUI.js +9 -30
- package/services/focusElement.cjs +46 -0
- package/services/focusElement.d.ts +9 -0
- package/services/focusElement.js +46 -0
- package/services/focustrack.cjs +1 -1
- package/services/focustrack.js +1 -1
- package/services/matchMedia.cjs +1 -1
- package/services/matchMedia.js +1 -1
- package/services/navManager.cjs +7 -37
- package/services/navManager.js +6 -36
- package/services/portal.cjs +7 -10
- package/services/portal.js +7 -10
- package/services/resizeObserver.cjs +2 -2
- package/services/resizeObserver.js +2 -2
- package/services/siblingsInert.cjs +9 -8
- package/services/siblingsInert.d.ts +13 -3
- package/services/siblingsInert.js +9 -8
- package/services/transitions/baseTransitions.cjs +9 -10
- package/services/transitions/baseTransitions.js +10 -11
- package/services/transitions/collapse.cjs +1 -1
- package/services/transitions/collapse.js +1 -1
- package/services/transitions/cssTransitions.cjs +1 -1
- package/services/transitions/cssTransitions.js +2 -2
- package/services/transitions/simpleClassTransition.cjs +1 -1
- package/services/transitions/simpleClassTransition.js +1 -1
- package/{slider-BmxQ3A_u.js → slider-Cx50Eghd.js} +14 -24
- package/{slider-DSx5CAce.cjs → slider-Dl4Trh32.cjs} +14 -24
- package/toaster-UDglac7x.cjs +187 -0
- package/toaster-_p1GTtHI.js +188 -0
- package/{tree-BFrXdJox.js → tree-DV0tfPlZ.js} +7 -11
- package/{tree-Pvr2rZ-D.cjs → tree-rGHtmCnS.cjs} +7 -11
- package/utils/directive.cjs +3 -1
- package/utils/directive.d.ts +47 -0
- package/utils/directive.js +14 -12
- package/utils/stores.cjs +8 -9
- package/utils/stores.js +8 -9
- package/utils/writables.cjs +1 -1
- package/utils/writables.js +1 -1
- package/{writables-Bn3uhKEG.cjs → writables-DcGT98a7.cjs} +1 -1
- package/{writables-CgpOQ4hA.js → writables-e0tyaQpe.js} +1 -1
- package/toaster-Cayg6Lbq.cjs +0 -209
- package/toaster-XfzHDqz_.js +0 -210
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const tansu = require("@amadeus-it-group/tansu");
|
|
3
3
|
const types = require("./types.cjs");
|
|
4
|
-
const utils_directive = require("./dom-
|
|
5
|
-
const utils_writables = require("./writables-
|
|
4
|
+
const utils_directive = require("./dom-C2gi9OCP.cjs");
|
|
5
|
+
const utils_writables = require("./writables-DcGT98a7.cjs");
|
|
6
6
|
const utils_func = require("./utils/func.cjs");
|
|
7
7
|
const utils_stores = require("./utils/stores.cjs");
|
|
8
8
|
const utils_widget = require("./utils/widget.cjs");
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const utils_func = require("./utils/func.cjs");
|
|
3
|
+
const internalRemoveScrollbars = () => {
|
|
4
|
+
const scrollbarWidth = Math.abs(window.innerWidth - document.documentElement.clientWidth);
|
|
5
|
+
const body = document.body;
|
|
6
|
+
const bodyStyle = body.style;
|
|
7
|
+
const { overflow, paddingRight } = bodyStyle;
|
|
8
|
+
if (scrollbarWidth > 0) {
|
|
9
|
+
const actualPadding = parseFloat(window.getComputedStyle(body).paddingRight);
|
|
10
|
+
bodyStyle.paddingRight = `${actualPadding + scrollbarWidth}px`;
|
|
11
|
+
}
|
|
12
|
+
bodyStyle.overflow = "hidden";
|
|
13
|
+
return () => {
|
|
14
|
+
if (scrollbarWidth > 0) {
|
|
15
|
+
bodyStyle.paddingRight = paddingRight;
|
|
16
|
+
}
|
|
17
|
+
bodyStyle.overflow = overflow;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
let internalRevert = utils_func.noop;
|
|
21
|
+
const removeScrollbars = () => {
|
|
22
|
+
internalRevert();
|
|
23
|
+
internalRevert = internalRemoveScrollbars();
|
|
24
|
+
};
|
|
25
|
+
const revertScrollbars = () => {
|
|
26
|
+
internalRevert();
|
|
27
|
+
internalRevert = utils_func.noop;
|
|
28
|
+
};
|
|
29
|
+
exports.removeScrollbars = removeScrollbars;
|
|
30
|
+
exports.revertScrollbars = revertScrollbars;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { noop } from "./utils/func.js";
|
|
2
|
+
const internalRemoveScrollbars = () => {
|
|
3
|
+
const scrollbarWidth = Math.abs(window.innerWidth - document.documentElement.clientWidth);
|
|
4
|
+
const body = document.body;
|
|
5
|
+
const bodyStyle = body.style;
|
|
6
|
+
const { overflow, paddingRight } = bodyStyle;
|
|
7
|
+
if (scrollbarWidth > 0) {
|
|
8
|
+
const actualPadding = parseFloat(window.getComputedStyle(body).paddingRight);
|
|
9
|
+
bodyStyle.paddingRight = `${actualPadding + scrollbarWidth}px`;
|
|
10
|
+
}
|
|
11
|
+
bodyStyle.overflow = "hidden";
|
|
12
|
+
return () => {
|
|
13
|
+
if (scrollbarWidth > 0) {
|
|
14
|
+
bodyStyle.paddingRight = paddingRight;
|
|
15
|
+
}
|
|
16
|
+
bodyStyle.overflow = overflow;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
let internalRevert = noop;
|
|
20
|
+
const removeScrollbars = () => {
|
|
21
|
+
internalRevert();
|
|
22
|
+
internalRevert = internalRemoveScrollbars();
|
|
23
|
+
};
|
|
24
|
+
const revertScrollbars = () => {
|
|
25
|
+
internalRevert();
|
|
26
|
+
internalRevert = noop;
|
|
27
|
+
};
|
|
28
|
+
export {
|
|
29
|
+
revertScrollbars as a,
|
|
30
|
+
removeScrollbars as r
|
|
31
|
+
};
|
|
@@ -3,7 +3,7 @@ import { offset, autoPlacement, size } from "@floating-ui/dom";
|
|
|
3
3
|
import { createFloatingUI } from "./services/floatingUI.js";
|
|
4
4
|
import { createHasFocus } from "./services/focustrack.js";
|
|
5
5
|
import { createNavManager } from "./services/navManager.js";
|
|
6
|
-
import {
|
|
6
|
+
import { v as generateId, n as mergeDirectives, p as createAttributesDirective, a as bindDirective } from "./dom-Bcg9ORcA.js";
|
|
7
7
|
import { noop } from "./utils/func.js";
|
|
8
8
|
import { writablesForProps, bindableProp, bindableDerived, stateStores, true$ } from "./utils/stores.js";
|
|
9
9
|
import { createWidgetFactory } from "./utils/widget.js";
|
|
@@ -70,7 +70,7 @@ const createSelect = createWidgetFactory("select", (config) => {
|
|
|
70
70
|
return selectedItemsContext;
|
|
71
71
|
});
|
|
72
72
|
const selectedContexts$ = computed(() => [...selectedContextsMap$().values()]);
|
|
73
|
-
const highlightedIndex$ = function() {
|
|
73
|
+
const highlightedIndex$ = (function() {
|
|
74
74
|
const store = writable(0);
|
|
75
75
|
return asWritable(store, (index) => {
|
|
76
76
|
const { length } = visibleItems$();
|
|
@@ -85,7 +85,7 @@ const createSelect = createWidgetFactory("select", (config) => {
|
|
|
85
85
|
}
|
|
86
86
|
store.set(index);
|
|
87
87
|
});
|
|
88
|
-
}();
|
|
88
|
+
})();
|
|
89
89
|
const itemContexts$ = computed(() => {
|
|
90
90
|
const itemContexts = /* @__PURE__ */ new Map();
|
|
91
91
|
if (open$()) {
|
|
@@ -318,7 +318,6 @@ const createSelect = createWidgetFactory("select", (config) => {
|
|
|
318
318
|
return;
|
|
319
319
|
}
|
|
320
320
|
selected$.update((selectedItems) => {
|
|
321
|
-
var _a;
|
|
322
321
|
selectedItems = [...selectedItems];
|
|
323
322
|
if (selected && !isInSelected) {
|
|
324
323
|
selectedItems.push(item);
|
|
@@ -326,7 +325,7 @@ const createSelect = createWidgetFactory("select", (config) => {
|
|
|
326
325
|
const index = selectedItems.findIndex((item2) => itemIdFn(item2) === itemId);
|
|
327
326
|
selectedItems.splice(index, 1);
|
|
328
327
|
}
|
|
329
|
-
|
|
328
|
+
onSelectedChange$()?.(selectedItems);
|
|
330
329
|
return selectedItems;
|
|
331
330
|
});
|
|
332
331
|
},
|
|
@@ -4,7 +4,7 @@ const dom = require("@floating-ui/dom");
|
|
|
4
4
|
const services_floatingUI = require("./services/floatingUI.cjs");
|
|
5
5
|
const services_focustrack = require("./services/focustrack.cjs");
|
|
6
6
|
const services_navManager = require("./services/navManager.cjs");
|
|
7
|
-
const utils_directive = require("./dom-
|
|
7
|
+
const utils_directive = require("./dom-C2gi9OCP.cjs");
|
|
8
8
|
const utils_func = require("./utils/func.cjs");
|
|
9
9
|
const utils_stores = require("./utils/stores.cjs");
|
|
10
10
|
const utils_widget = require("./utils/widget.cjs");
|
|
@@ -71,7 +71,7 @@ const createSelect = utils_widget.createWidgetFactory("select", (config) => {
|
|
|
71
71
|
return selectedItemsContext;
|
|
72
72
|
});
|
|
73
73
|
const selectedContexts$ = tansu.computed(() => [...selectedContextsMap$().values()]);
|
|
74
|
-
const highlightedIndex$ = function() {
|
|
74
|
+
const highlightedIndex$ = (function() {
|
|
75
75
|
const store = tansu.writable(0);
|
|
76
76
|
return tansu.asWritable(store, (index) => {
|
|
77
77
|
const { length } = visibleItems$();
|
|
@@ -86,7 +86,7 @@ const createSelect = utils_widget.createWidgetFactory("select", (config) => {
|
|
|
86
86
|
}
|
|
87
87
|
store.set(index);
|
|
88
88
|
});
|
|
89
|
-
}();
|
|
89
|
+
})();
|
|
90
90
|
const itemContexts$ = tansu.computed(() => {
|
|
91
91
|
const itemContexts = /* @__PURE__ */ new Map();
|
|
92
92
|
if (open$()) {
|
|
@@ -319,7 +319,6 @@ const createSelect = utils_widget.createWidgetFactory("select", (config) => {
|
|
|
319
319
|
return;
|
|
320
320
|
}
|
|
321
321
|
selected$.update((selectedItems) => {
|
|
322
|
-
var _a;
|
|
323
322
|
selectedItems = [...selectedItems];
|
|
324
323
|
if (selected && !isInSelected) {
|
|
325
324
|
selectedItems.push(item);
|
|
@@ -327,7 +326,7 @@ const createSelect = utils_widget.createWidgetFactory("select", (config) => {
|
|
|
327
326
|
const index = selectedItems.findIndex((item2) => itemIdFn(item2) === itemId);
|
|
328
327
|
selectedItems.splice(index, 1);
|
|
329
328
|
}
|
|
330
|
-
|
|
329
|
+
onSelectedChange$()?.(selectedItems);
|
|
331
330
|
return selectedItems;
|
|
332
331
|
});
|
|
333
332
|
},
|
|
@@ -6,9 +6,9 @@ const types = require("../types.cjs");
|
|
|
6
6
|
const extendWidgetProps = (factory, extraPropsDefaults, extraPropsConfig, overrideDefaults) => {
|
|
7
7
|
const extendedFactory = (propsConfig) => {
|
|
8
8
|
const extraPropsWritables = utils_stores.writablesWithDefault(extraPropsDefaults, propsConfig, extraPropsConfig);
|
|
9
|
-
const propsConfigConfig = propsConfig
|
|
9
|
+
const propsConfigConfig = propsConfig?.config;
|
|
10
10
|
const config = utils_stores.isStore(propsConfigConfig) ? tansu.computed(() => ({ ...overrideDefaults, ...propsConfigConfig() })) : { ...overrideDefaults, ...propsConfigConfig ?? {} };
|
|
11
|
-
const widget = factory({ props: propsConfig
|
|
11
|
+
const widget = factory({ props: propsConfig?.props, config });
|
|
12
12
|
return {
|
|
13
13
|
...widget,
|
|
14
14
|
...utils_stores.stateStores({ ...widget.stores, ...extraPropsWritables }),
|
package/services/extendWidget.js
CHANGED
|
@@ -4,9 +4,9 @@ import { FACTORY_WIDGET_NAME } from "../types.js";
|
|
|
4
4
|
const extendWidgetProps = (factory, extraPropsDefaults, extraPropsConfig, overrideDefaults) => {
|
|
5
5
|
const extendedFactory = (propsConfig) => {
|
|
6
6
|
const extraPropsWritables = writablesWithDefault(extraPropsDefaults, propsConfig, extraPropsConfig);
|
|
7
|
-
const propsConfigConfig = propsConfig
|
|
7
|
+
const propsConfigConfig = propsConfig?.config;
|
|
8
8
|
const config = isStore(propsConfigConfig) ? computed(() => ({ ...overrideDefaults, ...propsConfigConfig() })) : { ...overrideDefaults, ...propsConfigConfig ?? {} };
|
|
9
|
-
const widget = factory({ props: propsConfig
|
|
9
|
+
const widget = factory({ props: propsConfig?.props, config });
|
|
10
10
|
return {
|
|
11
11
|
...widget,
|
|
12
12
|
...stateStores({ ...widget.stores, ...extraPropsWritables }),
|
package/services/floatingUI.cjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const tansu = require("@amadeus-it-group/tansu");
|
|
4
4
|
const dom = require("@floating-ui/dom");
|
|
5
|
-
const utils_directive = require("../dom-
|
|
5
|
+
const utils_directive = require("../dom-C2gi9OCP.cjs");
|
|
6
6
|
const promise = require("../promise-CxCD3NYv.cjs");
|
|
7
7
|
const utils_stores = require("../utils/stores.cjs");
|
|
8
8
|
const defaultConfig = {
|
|
@@ -59,34 +59,13 @@ const createFloatingUI = (propsConfig) => {
|
|
|
59
59
|
null
|
|
60
60
|
);
|
|
61
61
|
const position$ = promise.promiseStoreToValueStore(promisePosition$, null);
|
|
62
|
-
const placement$ = tansu.computed(() =>
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
});
|
|
70
|
-
const x$ = tansu.computed(() => {
|
|
71
|
-
var _a;
|
|
72
|
-
return (_a = position$()) == null ? void 0 : _a.x;
|
|
73
|
-
});
|
|
74
|
-
const y$ = tansu.computed(() => {
|
|
75
|
-
var _a;
|
|
76
|
-
return (_a = position$()) == null ? void 0 : _a.y;
|
|
77
|
-
});
|
|
78
|
-
const strategy$ = tansu.computed(() => {
|
|
79
|
-
var _a;
|
|
80
|
-
return (_a = position$()) == null ? void 0 : _a.strategy;
|
|
81
|
-
});
|
|
82
|
-
const arrowX$ = tansu.computed(() => {
|
|
83
|
-
var _a, _b;
|
|
84
|
-
return (_b = (_a = middlewareData$()) == null ? void 0 : _a.arrow) == null ? void 0 : _b.x;
|
|
85
|
-
});
|
|
86
|
-
const arrowY$ = tansu.computed(() => {
|
|
87
|
-
var _a, _b;
|
|
88
|
-
return (_b = (_a = middlewareData$()) == null ? void 0 : _a.arrow) == null ? void 0 : _b.y;
|
|
89
|
-
});
|
|
62
|
+
const placement$ = tansu.computed(() => position$()?.placement);
|
|
63
|
+
const middlewareData$ = tansu.computed(() => position$()?.middlewareData);
|
|
64
|
+
const x$ = tansu.computed(() => position$()?.x);
|
|
65
|
+
const y$ = tansu.computed(() => position$()?.y);
|
|
66
|
+
const strategy$ = tansu.computed(() => position$()?.strategy);
|
|
67
|
+
const arrowX$ = tansu.computed(() => middlewareData$()?.arrow?.x);
|
|
68
|
+
const arrowY$ = tansu.computed(() => middlewareData$()?.arrow?.y);
|
|
90
69
|
const floatingStyleApplyAction$ = tansu.computed(() => {
|
|
91
70
|
const floatingElement = floatingElement$();
|
|
92
71
|
if (floatingElement) {
|
package/services/floatingUI.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { computed, derived } from "@amadeus-it-group/tansu";
|
|
2
2
|
import { arrow, autoUpdate, computePosition } from "@floating-ui/dom";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { l as createBrowserStoreDirective, n as mergeDirectives, d as directiveSubscribe } from "../dom-Bcg9ORcA.js";
|
|
4
|
+
import { a as promiseStoreToValueStore } from "../promise-Y53vc4Ia.js";
|
|
5
5
|
import { writablesForProps, stateStores } from "../utils/stores.js";
|
|
6
6
|
const defaultConfig = {
|
|
7
7
|
computePositionOptions: {},
|
|
@@ -57,34 +57,13 @@ const createFloatingUI = (propsConfig) => {
|
|
|
57
57
|
null
|
|
58
58
|
);
|
|
59
59
|
const position$ = promiseStoreToValueStore(promisePosition$, null);
|
|
60
|
-
const placement$ = computed(() =>
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
const
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
});
|
|
68
|
-
const x$ = computed(() => {
|
|
69
|
-
var _a;
|
|
70
|
-
return (_a = position$()) == null ? void 0 : _a.x;
|
|
71
|
-
});
|
|
72
|
-
const y$ = computed(() => {
|
|
73
|
-
var _a;
|
|
74
|
-
return (_a = position$()) == null ? void 0 : _a.y;
|
|
75
|
-
});
|
|
76
|
-
const strategy$ = computed(() => {
|
|
77
|
-
var _a;
|
|
78
|
-
return (_a = position$()) == null ? void 0 : _a.strategy;
|
|
79
|
-
});
|
|
80
|
-
const arrowX$ = computed(() => {
|
|
81
|
-
var _a, _b;
|
|
82
|
-
return (_b = (_a = middlewareData$()) == null ? void 0 : _a.arrow) == null ? void 0 : _b.x;
|
|
83
|
-
});
|
|
84
|
-
const arrowY$ = computed(() => {
|
|
85
|
-
var _a, _b;
|
|
86
|
-
return (_b = (_a = middlewareData$()) == null ? void 0 : _a.arrow) == null ? void 0 : _b.y;
|
|
87
|
-
});
|
|
60
|
+
const placement$ = computed(() => position$()?.placement);
|
|
61
|
+
const middlewareData$ = computed(() => position$()?.middlewareData);
|
|
62
|
+
const x$ = computed(() => position$()?.x);
|
|
63
|
+
const y$ = computed(() => position$()?.y);
|
|
64
|
+
const strategy$ = computed(() => position$()?.strategy);
|
|
65
|
+
const arrowX$ = computed(() => middlewareData$()?.arrow?.x);
|
|
66
|
+
const arrowY$ = computed(() => middlewareData$()?.arrow?.y);
|
|
88
67
|
const floatingStyleApplyAction$ = computed(() => {
|
|
89
68
|
const floatingElement = floatingElement$();
|
|
90
69
|
if (floatingElement) {
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const utils_directive = require("../dom-C2gi9OCP.cjs");
|
|
4
|
+
const isFocusable = require("../isFocusable-DfzDLeAN.cjs");
|
|
5
|
+
const stack = [];
|
|
6
|
+
let stackProcessPlanned = false;
|
|
7
|
+
const processStack = () => {
|
|
8
|
+
stackProcessPlanned = false;
|
|
9
|
+
const candidates = [];
|
|
10
|
+
while (stack.length > 0) {
|
|
11
|
+
const top = stack[stack.length - 1];
|
|
12
|
+
if (top.element) {
|
|
13
|
+
candidates.push(top.element);
|
|
14
|
+
break;
|
|
15
|
+
} else {
|
|
16
|
+
if (top.previousElement) {
|
|
17
|
+
candidates.push(top.previousElement);
|
|
18
|
+
}
|
|
19
|
+
stack.pop();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
for (const candidate of candidates) {
|
|
23
|
+
if (isFocusable.isFocusable(candidate)) {
|
|
24
|
+
candidate.focus();
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
const planProcessStack = () => {
|
|
30
|
+
if (!stackProcessPlanned) {
|
|
31
|
+
stackProcessPlanned = true;
|
|
32
|
+
setTimeout(processStack, 0);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
const focusElement = utils_directive.browserDirective((element) => {
|
|
36
|
+
const stackEntry = { element, previousElement: document.activeElement };
|
|
37
|
+
stack.push(stackEntry);
|
|
38
|
+
planProcessStack();
|
|
39
|
+
return {
|
|
40
|
+
destroy() {
|
|
41
|
+
stackEntry.element = null;
|
|
42
|
+
planProcessStack();
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
});
|
|
46
|
+
exports.focusElement = focusElement;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Directive } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Directive to focus an element and manage focus stack.
|
|
4
|
+
* When the element is destroyed, focus returns to the previous focusable element in the stack.
|
|
5
|
+
*
|
|
6
|
+
* @param element - The HTML element to focus.
|
|
7
|
+
* @returns An object with a destroy method to remove the element from the focus stack.
|
|
8
|
+
*/
|
|
9
|
+
export declare const focusElement: Directive;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { b as browserDirective } from "../dom-Bcg9ORcA.js";
|
|
2
|
+
import { i as isFocusable } from "../isFocusable-Ckwus82R.js";
|
|
3
|
+
const stack = [];
|
|
4
|
+
let stackProcessPlanned = false;
|
|
5
|
+
const processStack = () => {
|
|
6
|
+
stackProcessPlanned = false;
|
|
7
|
+
const candidates = [];
|
|
8
|
+
while (stack.length > 0) {
|
|
9
|
+
const top = stack[stack.length - 1];
|
|
10
|
+
if (top.element) {
|
|
11
|
+
candidates.push(top.element);
|
|
12
|
+
break;
|
|
13
|
+
} else {
|
|
14
|
+
if (top.previousElement) {
|
|
15
|
+
candidates.push(top.previousElement);
|
|
16
|
+
}
|
|
17
|
+
stack.pop();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
for (const candidate of candidates) {
|
|
21
|
+
if (isFocusable(candidate)) {
|
|
22
|
+
candidate.focus();
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
const planProcessStack = () => {
|
|
28
|
+
if (!stackProcessPlanned) {
|
|
29
|
+
stackProcessPlanned = true;
|
|
30
|
+
setTimeout(processStack, 0);
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
const focusElement = browserDirective((element) => {
|
|
34
|
+
const stackEntry = { element, previousElement: document.activeElement };
|
|
35
|
+
stack.push(stackEntry);
|
|
36
|
+
planProcessStack();
|
|
37
|
+
return {
|
|
38
|
+
destroy() {
|
|
39
|
+
stackEntry.element = null;
|
|
40
|
+
planProcessStack();
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
});
|
|
44
|
+
export {
|
|
45
|
+
focusElement
|
|
46
|
+
};
|
package/services/focustrack.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const tansu = require("@amadeus-it-group/tansu");
|
|
4
|
-
const utils_directive = require("../dom-
|
|
4
|
+
const utils_directive = require("../dom-C2gi9OCP.cjs");
|
|
5
5
|
const esmEnv = require("esm-env");
|
|
6
6
|
const evtFocusIn = "focusin";
|
|
7
7
|
const evtFocusOut = "focusout";
|
package/services/focustrack.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { readable, computed } from "@amadeus-it-group/tansu";
|
|
2
|
-
import {
|
|
2
|
+
import { h as createBrowserStoreArrayDirective } from "../dom-Bcg9ORcA.js";
|
|
3
3
|
import { BROWSER } from "esm-env";
|
|
4
4
|
const evtFocusIn = "focusin";
|
|
5
5
|
const evtFocusOut = "focusout";
|
package/services/matchMedia.cjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const tansu = require("@amadeus-it-group/tansu");
|
|
4
4
|
const esmEnv = require("esm-env");
|
|
5
|
-
const utils_directive = require("../dom-
|
|
5
|
+
const utils_directive = require("../dom-C2gi9OCP.cjs");
|
|
6
6
|
const utils_stores = require("../utils/stores.cjs");
|
|
7
7
|
const createMatchMedia = (query) => esmEnv.BROWSER ? tansu.readable(false, {
|
|
8
8
|
onUse({ set }) {
|
package/services/matchMedia.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { readable } from "@amadeus-it-group/tansu";
|
|
2
2
|
import { BROWSER } from "esm-env";
|
|
3
|
-
import {
|
|
3
|
+
import { w as addEvent } from "../dom-Bcg9ORcA.js";
|
|
4
4
|
import { false$ } from "../utils/stores.js";
|
|
5
5
|
const createMatchMedia = (query) => BROWSER ? readable(false, {
|
|
6
6
|
onUse({ set }) {
|
package/services/navManager.cjs
CHANGED
|
@@ -1,37 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const tansu = require("@amadeus-it-group/tansu");
|
|
4
|
-
const utils_directive = require("../dom-
|
|
5
|
-
const
|
|
6
|
-
let curElement = element;
|
|
7
|
-
while (curElement) {
|
|
8
|
-
const style = getComputedStyle(curElement);
|
|
9
|
-
if (curElement.inert || curElement.hidden || style.display === "none" || style.visibility === "hidden") {
|
|
10
|
-
return true;
|
|
11
|
-
}
|
|
12
|
-
curElement = curElement.parentElement;
|
|
13
|
-
}
|
|
14
|
-
return false;
|
|
15
|
-
};
|
|
16
|
-
const checkNotDisabled = (element) => {
|
|
17
|
-
var _a;
|
|
18
|
-
if (element.disabled) {
|
|
19
|
-
return false;
|
|
20
|
-
}
|
|
21
|
-
const parentFieldset = (_a = element.parentElement) == null ? void 0 : _a.closest("fieldset");
|
|
22
|
-
return parentFieldset ? checkNotDisabled(parentFieldset) : true;
|
|
23
|
-
};
|
|
24
|
-
const isFocusableOtherTags = (element) => element.isContentEditable || !!element.hasAttribute("tabindex");
|
|
25
|
-
const isFocusableByTagName = {
|
|
26
|
-
INPUT: (element) => element.type !== "hidden" && checkNotDisabled(element),
|
|
27
|
-
SELECT: checkNotDisabled,
|
|
28
|
-
TEXTAREA: checkNotDisabled,
|
|
29
|
-
BUTTON: checkNotDisabled,
|
|
30
|
-
A: (element) => !!element.href || isFocusableOtherTags(element)
|
|
31
|
-
};
|
|
32
|
-
const isFocusable = (element) => {
|
|
33
|
-
return document.contains(element) && !isInertOrInvisible(element) && (isFocusableByTagName[element.tagName] ?? isFocusableOtherTags)(element);
|
|
34
|
-
};
|
|
4
|
+
const utils_directive = require("../dom-C2gi9OCP.cjs");
|
|
5
|
+
const isFocusable = require("../isFocusable-DfzDLeAN.cjs");
|
|
35
6
|
const compareDomOrder = (element1, element2) => {
|
|
36
7
|
if (element1 === element2) {
|
|
37
8
|
return 0;
|
|
@@ -107,7 +78,7 @@ const createNavManager = () => {
|
|
|
107
78
|
};
|
|
108
79
|
const preventDefaultIfRelevant = (value, event) => {
|
|
109
80
|
if (value) {
|
|
110
|
-
event
|
|
81
|
+
event?.preventDefault();
|
|
111
82
|
}
|
|
112
83
|
return value;
|
|
113
84
|
};
|
|
@@ -115,7 +86,7 @@ const createNavManager = () => {
|
|
|
115
86
|
const array = elementsInDomOrder$();
|
|
116
87
|
while (index >= 0 && index < array.length) {
|
|
117
88
|
const newItem = array[index];
|
|
118
|
-
if (isFocusable(newItem)) {
|
|
89
|
+
if (isFocusable.isFocusable(newItem)) {
|
|
119
90
|
newItem.focus();
|
|
120
91
|
if (moveDirection != 0 && isTextInput(newItem)) {
|
|
121
92
|
const changeDirection = ancestorDirection() !== getTextDirection(newItem);
|
|
@@ -134,7 +105,7 @@ const createNavManager = () => {
|
|
|
134
105
|
};
|
|
135
106
|
const createFocusNeighbour = (moveDirection) => ({
|
|
136
107
|
event,
|
|
137
|
-
referenceElement =
|
|
108
|
+
referenceElement = event?.target ?? document.activeElement
|
|
138
109
|
} = {}) => {
|
|
139
110
|
const curIndex = referenceElement ? elementsInDomOrder$().indexOf(referenceElement) : -1;
|
|
140
111
|
if (curIndex > -1) {
|
|
@@ -144,19 +115,18 @@ const createNavManager = () => {
|
|
|
144
115
|
};
|
|
145
116
|
const directive = utils_directive.browserDirective((directiveElement, config) => {
|
|
146
117
|
const onKeyDown = (event) => {
|
|
147
|
-
var _a;
|
|
148
118
|
if (isInternalInputNavigation(event)) {
|
|
149
119
|
return;
|
|
150
120
|
}
|
|
151
121
|
const keyName = getKeyName(event);
|
|
152
|
-
const handler =
|
|
122
|
+
const handler = config.keys?.[keyName];
|
|
153
123
|
if (handler) {
|
|
154
124
|
refreshElements(false);
|
|
155
125
|
handler({ event, directiveElement, navManager, context: config.context });
|
|
156
126
|
}
|
|
157
127
|
};
|
|
158
128
|
directiveElement.addEventListener("keydown", onKeyDown);
|
|
159
|
-
const unregister = directiveInstances$.register(() => (
|
|
129
|
+
const unregister = directiveInstances$.register(() => (config?.selector ?? defaultSelector)(directiveElement));
|
|
160
130
|
return {
|
|
161
131
|
update(newConfig) {
|
|
162
132
|
config = newConfig;
|
package/services/navManager.js
CHANGED
|
@@ -1,35 +1,6 @@
|
|
|
1
1
|
import { writable, computed } from "@amadeus-it-group/tansu";
|
|
2
|
-
import { r as registrationArray,
|
|
3
|
-
|
|
4
|
-
let curElement = element;
|
|
5
|
-
while (curElement) {
|
|
6
|
-
const style = getComputedStyle(curElement);
|
|
7
|
-
if (curElement.inert || curElement.hidden || style.display === "none" || style.visibility === "hidden") {
|
|
8
|
-
return true;
|
|
9
|
-
}
|
|
10
|
-
curElement = curElement.parentElement;
|
|
11
|
-
}
|
|
12
|
-
return false;
|
|
13
|
-
};
|
|
14
|
-
const checkNotDisabled = (element) => {
|
|
15
|
-
var _a;
|
|
16
|
-
if (element.disabled) {
|
|
17
|
-
return false;
|
|
18
|
-
}
|
|
19
|
-
const parentFieldset = (_a = element.parentElement) == null ? void 0 : _a.closest("fieldset");
|
|
20
|
-
return parentFieldset ? checkNotDisabled(parentFieldset) : true;
|
|
21
|
-
};
|
|
22
|
-
const isFocusableOtherTags = (element) => element.isContentEditable || !!element.hasAttribute("tabindex");
|
|
23
|
-
const isFocusableByTagName = {
|
|
24
|
-
INPUT: (element) => element.type !== "hidden" && checkNotDisabled(element),
|
|
25
|
-
SELECT: checkNotDisabled,
|
|
26
|
-
TEXTAREA: checkNotDisabled,
|
|
27
|
-
BUTTON: checkNotDisabled,
|
|
28
|
-
A: (element) => !!element.href || isFocusableOtherTags(element)
|
|
29
|
-
};
|
|
30
|
-
const isFocusable = (element) => {
|
|
31
|
-
return document.contains(element) && !isInertOrInvisible(element) && (isFocusableByTagName[element.tagName] ?? isFocusableOtherTags)(element);
|
|
32
|
-
};
|
|
2
|
+
import { r as registrationArray, A as computeCommonAncestor, b as browserDirective } from "../dom-Bcg9ORcA.js";
|
|
3
|
+
import { i as isFocusable } from "../isFocusable-Ckwus82R.js";
|
|
33
4
|
const compareDomOrder = (element1, element2) => {
|
|
34
5
|
if (element1 === element2) {
|
|
35
6
|
return 0;
|
|
@@ -105,7 +76,7 @@ const createNavManager = () => {
|
|
|
105
76
|
};
|
|
106
77
|
const preventDefaultIfRelevant = (value, event) => {
|
|
107
78
|
if (value) {
|
|
108
|
-
event
|
|
79
|
+
event?.preventDefault();
|
|
109
80
|
}
|
|
110
81
|
return value;
|
|
111
82
|
};
|
|
@@ -132,7 +103,7 @@ const createNavManager = () => {
|
|
|
132
103
|
};
|
|
133
104
|
const createFocusNeighbour = (moveDirection) => ({
|
|
134
105
|
event,
|
|
135
|
-
referenceElement =
|
|
106
|
+
referenceElement = event?.target ?? document.activeElement
|
|
136
107
|
} = {}) => {
|
|
137
108
|
const curIndex = referenceElement ? elementsInDomOrder$().indexOf(referenceElement) : -1;
|
|
138
109
|
if (curIndex > -1) {
|
|
@@ -142,19 +113,18 @@ const createNavManager = () => {
|
|
|
142
113
|
};
|
|
143
114
|
const directive = browserDirective((directiveElement, config) => {
|
|
144
115
|
const onKeyDown = (event) => {
|
|
145
|
-
var _a;
|
|
146
116
|
if (isInternalInputNavigation(event)) {
|
|
147
117
|
return;
|
|
148
118
|
}
|
|
149
119
|
const keyName = getKeyName(event);
|
|
150
|
-
const handler =
|
|
120
|
+
const handler = config.keys?.[keyName];
|
|
151
121
|
if (handler) {
|
|
152
122
|
refreshElements(false);
|
|
153
123
|
handler({ event, directiveElement, navManager, context: config.context });
|
|
154
124
|
}
|
|
155
125
|
};
|
|
156
126
|
directiveElement.addEventListener("keydown", onKeyDown);
|
|
157
|
-
const unregister = directiveInstances$.register(() => (
|
|
127
|
+
const unregister = directiveInstances$.register(() => (config?.selector ?? defaultSelector)(directiveElement));
|
|
158
128
|
return {
|
|
159
129
|
update(newConfig) {
|
|
160
130
|
config = newConfig;
|
package/services/portal.cjs
CHANGED
|
@@ -1,27 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const utils_directive = require("../dom-
|
|
3
|
+
const utils_directive = require("../dom-C2gi9OCP.cjs");
|
|
4
4
|
const portal = utils_directive.browserDirective((content, newArg) => {
|
|
5
5
|
let arg;
|
|
6
6
|
let replaceComment;
|
|
7
7
|
const removeReplaceComment = () => {
|
|
8
|
-
var _a;
|
|
9
8
|
if (replaceComment) {
|
|
10
|
-
|
|
9
|
+
replaceComment.parentNode?.replaceChild(content, replaceComment);
|
|
11
10
|
replaceComment = null;
|
|
12
11
|
}
|
|
13
12
|
};
|
|
14
13
|
const update = (newArg2) => {
|
|
15
|
-
|
|
16
|
-
if (newArg2 !== arg && ((newArg2 == null ? void 0 : newArg2.container) !== (arg == null ? void 0 : arg.container) || (newArg2 == null ? void 0 : newArg2.insertBefore) !== (arg == null ? void 0 : arg.insertBefore))) {
|
|
14
|
+
if (newArg2 !== arg && (newArg2?.container !== arg?.container || newArg2?.insertBefore !== arg?.insertBefore)) {
|
|
17
15
|
arg = newArg2;
|
|
18
|
-
const container =
|
|
16
|
+
const container = arg?.container ?? arg?.insertBefore?.parentElement;
|
|
19
17
|
if (container) {
|
|
20
|
-
const insertBefore =
|
|
18
|
+
const insertBefore = arg?.insertBefore ?? null;
|
|
21
19
|
const moveNeeded = content.parentElement !== container || content.nextSibling !== insertBefore;
|
|
22
20
|
if (moveNeeded) {
|
|
23
21
|
if (!replaceComment) {
|
|
24
|
-
replaceComment =
|
|
22
|
+
replaceComment = content.parentNode?.insertBefore(content.ownerDocument.createComment("portal"), content);
|
|
25
23
|
}
|
|
26
24
|
container.insertBefore(content, insertBefore);
|
|
27
25
|
}
|
|
@@ -34,9 +32,8 @@ const portal = utils_directive.browserDirective((content, newArg) => {
|
|
|
34
32
|
return {
|
|
35
33
|
update,
|
|
36
34
|
destroy: () => {
|
|
37
|
-
var _a;
|
|
38
35
|
removeReplaceComment();
|
|
39
|
-
|
|
36
|
+
content.parentNode?.removeChild(content);
|
|
40
37
|
}
|
|
41
38
|
};
|
|
42
39
|
});
|