@navikt/ds-react 7.30.1 → 7.31.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/cjs/form/checkbox/Checkbox.js +1 -1
- package/cjs/form/checkbox/Checkbox.js.map +1 -1
- package/cjs/form/combobox/Combobox.js +15 -13
- package/cjs/form/combobox/Combobox.js.map +1 -1
- package/cjs/form/combobox/FilteredOptions/FilteredOptions.js +53 -3
- package/cjs/form/combobox/FilteredOptions/FilteredOptions.js.map +1 -1
- package/cjs/form/combobox/FilteredOptions/useVirtualFocus.js.map +1 -1
- package/cjs/form/combobox/Input/InputController.js +15 -14
- package/cjs/form/combobox/Input/InputController.js.map +1 -1
- package/cjs/form/radio/Radio.js +1 -1
- package/cjs/form/radio/Radio.js.map +1 -1
- package/cjs/overlays/floating/Floating.d.ts +11 -0
- package/cjs/overlays/floating/Floating.js +32 -8
- package/cjs/overlays/floating/Floating.js.map +1 -1
- package/cjs/overlays/overlay/hooks/useAnimationsFinished.d.ts +27 -0
- package/cjs/overlays/overlay/hooks/useAnimationsFinished.js +138 -0
- package/cjs/overlays/overlay/hooks/useAnimationsFinished.js.map +1 -0
- package/cjs/overlays/overlay/hooks/useEventCallback.d.ts +6 -0
- package/cjs/overlays/overlay/hooks/useEventCallback.js +89 -0
- package/cjs/overlays/overlay/hooks/useEventCallback.js.map +1 -0
- package/cjs/overlays/overlay/hooks/useLatestRef.d.ts +5 -0
- package/cjs/overlays/overlay/hooks/useLatestRef.js +23 -0
- package/cjs/overlays/overlay/hooks/useLatestRef.js.map +1 -0
- package/cjs/overlays/overlay/hooks/useOpenChangeComplete.d.ts +31 -0
- package/cjs/overlays/overlay/hooks/useOpenChangeComplete.js +35 -0
- package/cjs/overlays/overlay/hooks/useOpenChangeComplete.js.map +1 -0
- package/cjs/overlays/overlay/hooks/useRefWithInit.d.ts +7 -0
- package/cjs/overlays/overlay/hooks/useRefWithInit.js +14 -0
- package/cjs/overlays/overlay/hooks/useRefWithInit.js.map +1 -0
- package/cjs/table/ExpandableRow.d.ts +1 -1
- package/cjs/table/ExpandableRow.js +2 -10
- package/cjs/table/ExpandableRow.js.map +1 -1
- package/cjs/table/Row.d.ts +7 -0
- package/cjs/table/Row.js +13 -2
- package/cjs/table/Row.js.map +1 -1
- package/cjs/table/Table.utils.d.ts +9 -0
- package/cjs/table/Table.utils.js +57 -0
- package/cjs/table/Table.utils.js.map +1 -0
- package/esm/form/checkbox/Checkbox.js +1 -1
- package/esm/form/checkbox/Checkbox.js.map +1 -1
- package/esm/form/combobox/Combobox.js +15 -13
- package/esm/form/combobox/Combobox.js.map +1 -1
- package/esm/form/combobox/FilteredOptions/FilteredOptions.js +21 -4
- package/esm/form/combobox/FilteredOptions/FilteredOptions.js.map +1 -1
- package/esm/form/combobox/FilteredOptions/useVirtualFocus.js.map +1 -1
- package/esm/form/combobox/Input/InputController.js +15 -14
- package/esm/form/combobox/Input/InputController.js.map +1 -1
- package/esm/form/radio/Radio.js +1 -1
- package/esm/form/radio/Radio.js.map +1 -1
- package/esm/overlays/floating/Floating.d.ts +11 -0
- package/esm/overlays/floating/Floating.js +32 -8
- package/esm/overlays/floating/Floating.js.map +1 -1
- package/esm/overlays/overlay/hooks/useAnimationsFinished.d.ts +27 -0
- package/esm/overlays/overlay/hooks/useAnimationsFinished.js +99 -0
- package/esm/overlays/overlay/hooks/useAnimationsFinished.js.map +1 -0
- package/esm/overlays/overlay/hooks/useEventCallback.d.ts +6 -0
- package/esm/overlays/overlay/hooks/useEventCallback.js +53 -0
- package/esm/overlays/overlay/hooks/useEventCallback.js.map +1 -0
- package/esm/overlays/overlay/hooks/useLatestRef.d.ts +5 -0
- package/esm/overlays/overlay/hooks/useLatestRef.js +20 -0
- package/esm/overlays/overlay/hooks/useLatestRef.js.map +1 -0
- package/esm/overlays/overlay/hooks/useOpenChangeComplete.d.ts +31 -0
- package/esm/overlays/overlay/hooks/useOpenChangeComplete.js +32 -0
- package/esm/overlays/overlay/hooks/useOpenChangeComplete.js.map +1 -0
- package/esm/overlays/overlay/hooks/useRefWithInit.d.ts +7 -0
- package/esm/overlays/overlay/hooks/useRefWithInit.js +12 -0
- package/esm/overlays/overlay/hooks/useRefWithInit.js.map +1 -0
- package/esm/table/ExpandableRow.d.ts +1 -1
- package/esm/table/ExpandableRow.js +2 -10
- package/esm/table/ExpandableRow.js.map +1 -1
- package/esm/table/Row.d.ts +7 -0
- package/esm/table/Row.js +13 -2
- package/esm/table/Row.js.map +1 -1
- package/esm/table/Table.utils.d.ts +9 -0
- package/esm/table/Table.utils.js +55 -0
- package/esm/table/Table.utils.js.map +1 -0
- package/package.json +3 -3
- package/src/form/checkbox/Checkbox.tsx +5 -3
- package/src/form/combobox/Combobox.tsx +44 -41
- package/src/form/combobox/FilteredOptions/FilteredOptions.tsx +29 -4
- package/src/form/combobox/FilteredOptions/useVirtualFocus.ts +1 -0
- package/src/form/combobox/Input/InputController.tsx +33 -29
- package/src/form/radio/Radio.tsx +5 -3
- package/src/overlays/floating/Floating.tsx +110 -59
- package/src/overlays/overlay/hooks/useAnimationsFinished.ts +117 -0
- package/src/overlays/overlay/hooks/useEventCallback.ts +73 -0
- package/src/overlays/overlay/hooks/useLatestRef.ts +25 -0
- package/src/overlays/overlay/hooks/useOpenChangeComplete.ts +66 -0
- package/src/overlays/overlay/hooks/useRefWithInit.ts +25 -0
- package/src/table/ExpandableRow.tsx +4 -17
- package/src/table/Row.tsx +33 -1
- package/src/table/Table.utils.ts +65 -0
|
@@ -67,7 +67,7 @@ exports.Checkbox = (0, react_1.forwardRef)((props, ref) => {
|
|
|
67
67
|
"readOnly",
|
|
68
68
|
]), (0, util_1.omit)(inputProps, ["aria-invalid", "aria-describedby"]), { "aria-describedby": (0, clsx_1.default)(inputProps["aria-describedby"], {
|
|
69
69
|
[descriptionId]: props.description,
|
|
70
|
-
}), type: "checkbox", className: cn("navds-checkbox__input"), ref: (el) => {
|
|
70
|
+
}) || undefined, type: "checkbox", className: cn("navds-checkbox__input"), ref: (el) => {
|
|
71
71
|
var _a;
|
|
72
72
|
if (el) {
|
|
73
73
|
el.indeterminate = (_a = props.indeterminate) !== null && _a !== void 0 ? _a : false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../src/form/checkbox/Checkbox.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAsB;AACtB,+CAA0C;AAC1C,6CAAmE;AACnE,iDAA6C;AAC7C,qCAAyC;AACzC,kDAAwD;AAExD,gEAAwC;AAE3B,QAAA,QAAQ,GAAG,IAAA,kBAAU,EAChC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACb,MAAM,EAAE,EAAE,EAAE,GAAG,IAAA,oBAAY,GAAE,CAAC;IAC9B,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAA,qBAAW,EAAC,KAAK,CAAC,CAAC;IAC5E,MAAM,aAAa,GAAG,IAAA,YAAK,GAAE,CAAC;IAC9B,MAAM,YAAY,GAAG,IAAA,wBAAgB,EAAC,KAAK,CAAC,CAAC;IAE7C,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,EAAE,CAAC;QAC7B,OAAO,CACL,uCACE,SAAS,EAAE,EAAE,CACX,KAAK,CAAC,SAAS,EACf,gBAAgB,EAChB,mBAAmB,IAAI,EAAE,EACzB;gBACE,uBAAuB,EAAE,QAAQ;gBACjC,0BAA0B,EAAE,UAAU,CAAC,QAAQ;gBAC/C,0BAA0B,EAAE,QAAQ;aACrC,CACF,gBACW,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;YAErD,uCAAK,SAAS,EAAE,EAAE,CAAC,+BAA+B,CAAC;gBACjD,yDACM,IAAA,WAAI,EAAC,KAAK,EAAE;oBACd,UAAU;oBACV,MAAM;oBACN,OAAO;oBACP,aAAa;oBACb,WAAW;oBACX,eAAe;oBACf,SAAS;oBACT,UAAU;iBACX,CAAC,EACE,IAAA,WAAI,EAAC,UAAU,EAAE,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../src/form/checkbox/Checkbox.tsx"],"names":[],"mappings":"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"}
|
|
@@ -49,6 +49,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
49
49
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
50
|
exports.Combobox = void 0;
|
|
51
51
|
const react_1 = __importStar(require("react"));
|
|
52
|
+
const Floating_1 = require("../../overlays/floating/Floating");
|
|
52
53
|
const Theme_1 = require("../../theme/Theme");
|
|
53
54
|
const typography_1 = require("../../typography");
|
|
54
55
|
const ReadOnlyIcon_1 = require("../ReadOnlyIcon");
|
|
@@ -62,19 +63,20 @@ exports.Combobox = (0, react_1.forwardRef)((props, ref) => {
|
|
|
62
63
|
const { cn } = (0, Theme_1.useRenameCSS)();
|
|
63
64
|
const { toggleIsListOpen } = (0, filteredOptionsContext_1.useFilteredOptionsContext)();
|
|
64
65
|
const { error, errorId, hasError, inputDescriptionId, inputProps, showErrorMsg, size = "medium", readOnly, } = (0, Input_context_1.useInputContext)();
|
|
65
|
-
return (react_1.default.createElement(
|
|
66
|
-
react_1.default.createElement(
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
react_1.default.createElement(
|
|
76
|
-
|
|
77
|
-
|
|
66
|
+
return (react_1.default.createElement(Floating_1.Floating, null,
|
|
67
|
+
react_1.default.createElement(ComboboxWrapper_1.default, { className: className, hasError: hasError, inputProps: inputProps, inputSize: size, toggleIsListOpen: toggleIsListOpen },
|
|
68
|
+
react_1.default.createElement(typography_1.Label, { htmlFor: inputProps.id, size: size, className: cn("navds-form-field__label", {
|
|
69
|
+
"navds-sr-only": hideLabel,
|
|
70
|
+
}) },
|
|
71
|
+
readOnly && react_1.default.createElement(ReadOnlyIcon_1.ReadOnlyIconWithTitle, null),
|
|
72
|
+
label),
|
|
73
|
+
!!description && (react_1.default.createElement(typography_1.BodyShort, { as: "div", className: cn("navds-form-field__description", {
|
|
74
|
+
"navds-sr-only": hideLabel,
|
|
75
|
+
}), id: inputDescriptionId, size: size }, description)),
|
|
76
|
+
react_1.default.createElement("div", { className: cn("navds-combobox__wrapper") },
|
|
77
|
+
react_1.default.createElement(InputController_1.InputController, Object.assign({ ref: ref }, rest)),
|
|
78
|
+
react_1.default.createElement(FilteredOptions_1.default, null)),
|
|
79
|
+
react_1.default.createElement("div", { className: cn("navds-form-field__error"), id: errorId, "aria-relevant": "additions removals", "aria-live": "polite" }, showErrorMsg && (react_1.default.createElement(typography_1.ErrorMessage, { size: size, showIcon: true }, error))))));
|
|
78
80
|
});
|
|
79
81
|
exports.default = exports.Combobox;
|
|
80
82
|
//# sourceMappingURL=Combobox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.js","sourceRoot":"","sources":["../../../src/form/combobox/Combobox.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0C;AAC1C,6CAAiD;AACjD,iDAAkE;AAClE,kDAAwD;AACxD,wEAAgD;AAChD,wFAAgE;AAChE,qFAAqF;AACrF,yDAAwD;AACxD,6DAA0D;AAG7C,QAAA,QAAQ,GAAG,IAAA,kBAAU,EAMhC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACf,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,KAAK,EAAE,WAAW,EAAE,KAAK,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAArE,kDAA6D,CAAQ,CAAC;IAE5E,MAAM,EAAE,EAAE,EAAE,GAAG,IAAA,oBAAY,GAAE,CAAC;IAE9B,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAA,kDAAyB,GAAE,CAAC;IAEzD,MAAM,EACJ,KAAK,EACL,OAAO,EACP,QAAQ,EACR,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,IAAI,GAAG,QAAQ,EACf,QAAQ,GACT,GAAG,IAAA,+BAAe,GAAE,CAAC;IAEtB,OAAO,CACL,8BAAC,yBAAe,IACd,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,IAAI,EACf,gBAAgB,EAAE,gBAAgB;
|
|
1
|
+
{"version":3,"file":"Combobox.js","sourceRoot":"","sources":["../../../src/form/combobox/Combobox.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0C;AAC1C,+DAA4D;AAC5D,6CAAiD;AACjD,iDAAkE;AAClE,kDAAwD;AACxD,wEAAgD;AAChD,wFAAgE;AAChE,qFAAqF;AACrF,yDAAwD;AACxD,6DAA0D;AAG7C,QAAA,QAAQ,GAAG,IAAA,kBAAU,EAMhC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACf,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,KAAK,EAAE,WAAW,EAAE,KAAK,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAArE,kDAA6D,CAAQ,CAAC;IAE5E,MAAM,EAAE,EAAE,EAAE,GAAG,IAAA,oBAAY,GAAE,CAAC;IAE9B,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAA,kDAAyB,GAAE,CAAC;IAEzD,MAAM,EACJ,KAAK,EACL,OAAO,EACP,QAAQ,EACR,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,IAAI,GAAG,QAAQ,EACf,QAAQ,GACT,GAAG,IAAA,+BAAe,GAAE,CAAC;IAEtB,OAAO,CACL,8BAAC,mBAAQ;QACP,8BAAC,yBAAe,IACd,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,IAAI,EACf,gBAAgB,EAAE,gBAAgB;YAElC,8BAAC,kBAAK,IACJ,OAAO,EAAE,UAAU,CAAC,EAAE,EACtB,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,EAAE,CAAC,yBAAyB,EAAE;oBACvC,eAAe,EAAE,SAAS;iBAC3B,CAAC;gBAED,QAAQ,IAAI,8BAAC,oCAAqB,OAAG;gBACrC,KAAK,CACA;YACP,CAAC,CAAC,WAAW,IAAI,CAChB,8BAAC,sBAAS,IACR,EAAE,EAAC,KAAK,EACR,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE;oBAC7C,eAAe,EAAE,SAAS;iBAC3B,CAAC,EACF,EAAE,EAAE,kBAAkB,EACtB,IAAI,EAAE,IAAI,IAET,WAAW,CACF,CACb;YACD,uCAAK,SAAS,EAAE,EAAE,CAAC,yBAAyB,CAAC;gBAC3C,8BAAC,iCAAe,kBAAC,GAAG,EAAE,GAAG,IAAM,IAAI,EAAI;gBACvC,8BAAC,yBAAe,OAAG,CACf;YACN,uCACE,SAAS,EAAE,EAAE,CAAC,yBAAyB,CAAC,EACxC,EAAE,EAAE,OAAO,mBACG,oBAAoB,eACxB,QAAQ,IAEjB,YAAY,IAAI,CACf,8BAAC,yBAAY,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,UAC/B,KAAK,CACO,CAChB,CACG,CACU,CACT,CACZ,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,kBAAe,gBAAQ,CAAC"}
|
|
@@ -1,10 +1,45 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
37
|
};
|
|
5
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const react_1 =
|
|
39
|
+
const react_1 = __importStar(require("react"));
|
|
40
|
+
const Floating_1 = require("../../../overlays/floating/Floating");
|
|
7
41
|
const Theme_1 = require("../../../theme/Theme");
|
|
42
|
+
const util_1 = require("../../../util");
|
|
8
43
|
const Input_context_1 = require("../Input/Input.context");
|
|
9
44
|
const selectedOptionsContext_1 = require("../SelectedOptions/selectedOptionsContext");
|
|
10
45
|
const AddNewOption_1 = __importDefault(require("./AddNewOption"));
|
|
@@ -16,18 +51,33 @@ const filtered_options_util_1 = __importDefault(require("./filtered-options-util
|
|
|
16
51
|
const filteredOptionsContext_1 = require("./filteredOptionsContext");
|
|
17
52
|
const FilteredOptions = () => {
|
|
18
53
|
const { cn } = (0, Theme_1.useRenameCSS)();
|
|
54
|
+
const themeContext = (0, Theme_1.useThemeInternal)(false);
|
|
19
55
|
const { inputProps: { id }, } = (0, Input_context_1.useInputContext)();
|
|
20
56
|
const { allowNewValues, isLoading, isListOpen, filteredOptions, setFilteredOptionsRef, isMouseLastUsedInputDevice, isValueNew, } = (0, filteredOptionsContext_1.useFilteredOptionsContext)();
|
|
57
|
+
const [localOpen, setLocalOpen] = (0, react_1.useState)(isListOpen);
|
|
58
|
+
/**
|
|
59
|
+
* This is a dirty hack to make the positioning-logic in Floating base the "flip" on the static 290px max-height,
|
|
60
|
+
* instead of the dynamic one based on available space. Without this, the list won't flip to top when there's
|
|
61
|
+
* not enough space below the input.
|
|
62
|
+
*/
|
|
63
|
+
(0, util_1.useClientLayoutEffect)(() => {
|
|
64
|
+
queueMicrotask(() => setLocalOpen(isListOpen));
|
|
65
|
+
}, [isListOpen]);
|
|
21
66
|
const { maxSelected, isMultiSelect } = (0, selectedOptionsContext_1.useSelectedOptionsContext)();
|
|
22
67
|
const shouldRenderNonSelectables = (isMultiSelect && maxSelected.limit) || // Render maxSelected message
|
|
23
68
|
isLoading || // Render loading message
|
|
24
69
|
(!isLoading && filteredOptions.length === 0 && !allowNewValues); // Render no hits message
|
|
25
70
|
const shouldRenderFilteredOptionsList = (allowNewValues && isValueNew && !maxSelected.isLimitReached) || // Render add new option
|
|
26
71
|
filteredOptions.length > 0; // Render filtered options
|
|
27
|
-
|
|
72
|
+
const height = (themeContext === null || themeContext === void 0 ? void 0 : themeContext.isDarkside) ? "316px" : "290px";
|
|
73
|
+
return (react_1.default.createElement(Floating_1.Floating.Content, { className: cn("navds-combobox__list", {
|
|
28
74
|
"navds-combobox__list--closed": !isListOpen,
|
|
29
75
|
"navds-combobox__list--with-hover": isMouseLastUsedInputDevice,
|
|
30
|
-
}), id: filtered_options_util_1.default.getFilteredOptionsId(id), tabIndex: -1
|
|
76
|
+
}), id: filtered_options_util_1.default.getFilteredOptionsId(id), tabIndex: -1, sideOffset: 8, side: "bottom", fallbackPlacements: ["top"], enabled: isListOpen, style: {
|
|
77
|
+
maxHeight: localOpen
|
|
78
|
+
? `min(${height}, var(--ac-floating-available-height))`
|
|
79
|
+
: `${height}`,
|
|
80
|
+
}, autoUpdateWhileMounted: false },
|
|
31
81
|
shouldRenderNonSelectables && (react_1.default.createElement("div", { className: cn("navds-combobox__list_non-selectables"), role: "status" },
|
|
32
82
|
isMultiSelect && maxSelected.limit && react_1.default.createElement(MaxSelectedMessage_1.default, null),
|
|
33
83
|
isLoading && react_1.default.createElement(LoadingMessage_1.default, null),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilteredOptions.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/FilteredOptions.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FilteredOptions.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/FilteredOptions.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useVirtualFocus.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/useVirtualFocus.ts"],"names":[],"mappings":";;AAAA,iCAAiC;AAiBjC,MAAM,eAAe,GAAG,CACtB,YAAgC,EACd,EAAE;IACpB,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,IAAA,gBAAQ,EAChD,SAAS,CACV,CAAC;IAEF,MAAM,oBAAoB,GAAG,GAAkB,EAAE,WAC/C,OAAA,KAAK,CAAC,IAAI,CAAC,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,mCAAI,EAAE,CAAkB,CAAA,EAAA,CAAC;IAC5D,MAAM,6BAA6B,GAAG,GAAG,EAAE,CACzC,oBAAoB,EAAE,CAAC,MAAM,CAC3B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,MAAM,CAC1D,CAAC;IAEJ,MAAM,cAAc,GAAG,CAAC,EAAU,EAAE,EAAE,CACpC,oBAAoB,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9D,MAAM,eAAe,GAAG,GAAG,EAAE,CAC3B,aAAa;QACX,CAAC,CAAC,6BAA6B,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC;QAC9D,CAAC,CAAC,KAAK,CAAC;IACZ,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC9B,MAAM,0BAA0B,GAAG,6BAA6B,EAAE,CAAC;QACnE,OAAO,aAAa;YAClB,CAAC,CAAC,0BAA0B,CAAC,OAAO,CAAC,aAAa,CAAC;gBAC/C,0BAA0B,CAAC,MAAM,GAAG,CAAC;YACzC,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC,CAAC;IAEF,MAAM,2BAA2B,GAAG,CAAC,OAAqB,EAAE,EAAE;;QAC5D,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC1B,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,wDAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QACD,MAAM,0BAA0B,GAAG,6BAA6B,EAAE,CAAC;QACnE,MAAM,aAAa,GAAG,0BAA0B,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACxE,MAAM,YAAY,GAAG,0BAA0B,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;QACnE,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;YACxB,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,2BAA2B,CAAC,YAAY,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,MAAM,0BAA0B,GAAG,6BAA6B,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"useVirtualFocus.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/useVirtualFocus.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/* eslint-disable jsx-a11y/click-events-have-key-events */
|
|
2
3
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
4
|
if (k2 === undefined) k2 = k;
|
|
4
5
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -50,6 +51,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
50
51
|
exports.InputController = void 0;
|
|
51
52
|
/* eslint-disable jsx-a11y/no-static-element-interactions */
|
|
52
53
|
const react_1 = __importStar(require("react"));
|
|
54
|
+
const Floating_1 = require("../../../overlays/floating/Floating");
|
|
53
55
|
const Theme_1 = require("../../../theme/Theme");
|
|
54
56
|
const hooks_1 = require("../../../util/hooks");
|
|
55
57
|
const filteredOptionsContext_1 = require("../FilteredOptions/filteredOptionsContext");
|
|
@@ -69,19 +71,18 @@ exports.InputController = (0, react_1.forwardRef)((props, ref) => {
|
|
|
69
71
|
const { activeDecendantId, toggleIsListOpen } = (0, filteredOptionsContext_1.useFilteredOptionsContext)();
|
|
70
72
|
const { selectedOptions } = (0, selectedOptionsContext_1.useSelectedOptionsContext)();
|
|
71
73
|
const mergedInputRef = (0, hooks_1.useMergeRefs)(inputRef, ref);
|
|
72
|
-
return (
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
react_1.default.createElement(
|
|
85
|
-
toggleListButton && react_1.default.createElement(ToggleListButton_1.default, { ref: toggleOpenButtonRef })));
|
|
74
|
+
return (react_1.default.createElement(Floating_1.Floating.Anchor, { asChild: true },
|
|
75
|
+
react_1.default.createElement("div", { className: cn("navds-combobox__wrapper-inner navds-text-field__input", {
|
|
76
|
+
"navds-combobox__wrapper-inner--virtually-unfocused": activeDecendantId !== undefined,
|
|
77
|
+
}), onClick: () => {
|
|
78
|
+
if (inputProps.disabled || readOnly) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
toggleIsListOpen(true);
|
|
82
|
+
focusInput();
|
|
83
|
+
} },
|
|
84
|
+
!shouldShowSelectedOptions ? (react_1.default.createElement(Input_1.default, Object.assign({ id: inputProps.id, ref: mergedInputRef, inputClassName: inputClassName, readOnly: readOnly }, rest))) : (react_1.default.createElement(SelectedOptions_1.default, { selectedOptions: selectedOptions, size: size },
|
|
85
|
+
react_1.default.createElement(Input_1.default, Object.assign({ id: inputProps.id, ref: mergedInputRef, inputClassName: inputClassName, shouldShowSelectedOptions: shouldShowSelectedOptions, readOnly: readOnly }, rest)))),
|
|
86
|
+
toggleListButton && react_1.default.createElement(ToggleListButton_1.default, { ref: toggleOpenButtonRef }))));
|
|
86
87
|
});
|
|
87
88
|
//# sourceMappingURL=InputController.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputController.js","sourceRoot":"","sources":["../../../../src/form/combobox/Input/InputController.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"InputController.js","sourceRoot":"","sources":["../../../../src/form/combobox/Input/InputController.tsx"],"names":[],"mappings":";AAAA,0DAA0D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE1D,4DAA4D;AAC5D,+CAA0C;AAC1C,kEAA+D;AAC/D,gDAAoD;AACpD,+CAAmD;AACnD,sFAAsF;AACtF,yFAAiE;AACjE,sFAAsF;AAEtF,oDAA4B;AAC5B,mDAAkD;AAClD,0EAAkD;AAErC,QAAA,eAAe,GAAG,IAAA,kBAAU,EAcvC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACf,MAAM;IACJ,sHAAsH;IACtH,WAAW;IACX,sHAAsH;IACtH,gBAAgB,EAChB,gBAAgB,GAAG,IAAI,EACvB,cAAc,EACd,yBAAyB,GAAG,IAAI,KAG9B,KAAK,EADJ,IAAI,UACL,KAAK,EAVH,sGAUL,CAAQ,CAAC;IAEV,MAAM,EAAE,EAAE,EAAE,GAAG,IAAA,oBAAY,GAAE,CAAC;IAE9B,MAAM,EACJ,UAAU,EACV,UAAU,EACV,IAAI,GAAG,QAAQ,EACf,QAAQ,EACR,mBAAmB,EACnB,QAAQ,GACT,GAAG,IAAA,+BAAe,GAAE,CAAC;IAEtB,MAAM,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,GAAG,IAAA,kDAAyB,GAAE,CAAC;IAC5E,MAAM,EAAE,eAAe,EAAE,GAAG,IAAA,kDAAyB,GAAE,CAAC;IAExD,MAAM,cAAc,GAAG,IAAA,oBAAY,EAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAEnD,OAAO,CACL,8BAAC,mBAAQ,CAAC,MAAM,IAAC,OAAO;QACtB,uCACE,SAAS,EAAE,EAAE,CAAC,uDAAuD,EAAE;gBACrE,oDAAoD,EAClD,iBAAiB,KAAK,SAAS;aAClC,CAAC,EACF,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,UAAU,CAAC,QAAQ,IAAI,QAAQ,EAAE,CAAC;oBACpC,OAAO;gBACT,CAAC;gBAED,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBACvB,UAAU,EAAE,CAAC;YACf,CAAC;YAEA,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAC5B,8BAAC,eAAK,kBACJ,EAAE,EAAE,UAAU,CAAC,EAAE,EACjB,GAAG,EAAE,cAAc,EACnB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,IACd,IAAI,EACR,CACH,CAAC,CAAC,CAAC,CACF,8BAAC,yBAAe,IAAC,eAAe,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI;gBAC3D,8BAAC,eAAK,kBACJ,EAAE,EAAE,UAAU,CAAC,EAAE,EACjB,GAAG,EAAE,cAAc,EACnB,cAAc,EAAE,cAAc,EAC9B,yBAAyB,EAAE,yBAAyB,EACpD,QAAQ,EAAE,QAAQ,IACd,IAAI,EACR,CACc,CACnB;YACA,gBAAgB,IAAI,8BAAC,0BAAgB,IAAC,GAAG,EAAE,mBAAmB,GAAI,CAC/D,CACU,CACnB,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
package/cjs/form/radio/Radio.js
CHANGED
|
@@ -56,7 +56,7 @@ exports.Radio = (0, react_1.forwardRef)((props, ref) => {
|
|
|
56
56
|
}), "data-color": hasError ? "danger" : props["data-color"] },
|
|
57
57
|
react_1.default.createElement("input", Object.assign({}, (0, util_1.omit)(props, ["children", "size", "description", "readOnly"]), (0, util_1.omit)(inputProps, ["aria-invalid", "aria-describedby"]), { "aria-describedby": (0, clsx_1.default)(inputProps["aria-describedby"], {
|
|
58
58
|
[descriptionId]: props.description,
|
|
59
|
-
}), className: cn("navds-radio__input"), ref: ref })),
|
|
59
|
+
}) || undefined, className: cn("navds-radio__input"), ref: ref })),
|
|
60
60
|
react_1.default.createElement(typography_1.BodyShort, { as: "label", htmlFor: inputProps.id, className: cn("navds-radio__label"), size: size }, props.children),
|
|
61
61
|
props.description && (react_1.default.createElement(typography_1.BodyShort, { id: descriptionId, size: size, className: cn("navds-form-field__subdescription navds-radio__description") }, props.description))));
|
|
62
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Radio.js","sourceRoot":"","sources":["../../../src/form/radio/Radio.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAsB;AACtB,+CAA0C;AAC1C,6CAAmE;AACnE,iDAA6C;AAC7C,qCAAyC;AAEzC,yCAAsC;AAEzB,QAAA,KAAK,GAAG,IAAA,kBAAU,EAA+B,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC3E,MAAM,EAAE,EAAE,EAAE,GAAG,IAAA,oBAAY,GAAE,CAAC;IAC9B,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAA,mBAAQ,EAAC,KAAK,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,IAAA,YAAK,GAAE,CAAC;IAC9B,MAAM,YAAY,GAAG,IAAA,wBAAgB,EAAC,KAAK,CAAC,CAAC;IAE7C,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,EAAE,CAAC;QAC7B,OAAO,CACL,uCACE,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,gBAAgB,IAAI,EAAE,EAAE;gBACpE,oBAAoB,EAAE,QAAQ;gBAC9B,uBAAuB,EAAE,UAAU,CAAC,QAAQ;gBAC5C,uBAAuB,EAAE,QAAQ;aAClC,CAAC,gBACU,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;YAErD,yDACM,IAAA,WAAI,EAAC,KAAK,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,EAC5D,IAAA,WAAI,EAAC,UAAU,EAAE,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"Radio.js","sourceRoot":"","sources":["../../../src/form/radio/Radio.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { FlipOptions } from "@floating-ui/react-dom";
|
|
1
2
|
import React, { HTMLAttributes } from "react";
|
|
2
3
|
import { AsChildProps } from "../../util/types";
|
|
3
4
|
import { type Align, type Measurable, type Side } from "./Floating.utils";
|
|
@@ -41,7 +42,17 @@ interface FloatingContentProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
41
42
|
collisionPadding?: number | Partial<Record<Side, number>>;
|
|
42
43
|
hideWhenDetached?: boolean;
|
|
43
44
|
updatePositionStrategy?: "optimized" | "always";
|
|
45
|
+
fallbackPlacements?: FlipOptions["fallbackPlacements"];
|
|
44
46
|
onPlaced?: () => void;
|
|
47
|
+
/**
|
|
48
|
+
* @default true
|
|
49
|
+
*/
|
|
50
|
+
enabled?: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Only use this option if your floating element is conditionally rendered, not hidden with CSS.
|
|
53
|
+
* @default true
|
|
54
|
+
*/
|
|
55
|
+
autoUpdateWhileMounted?: boolean;
|
|
45
56
|
arrow?: {
|
|
46
57
|
className?: string;
|
|
47
58
|
padding?: number;
|
|
@@ -48,9 +48,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
48
48
|
exports.Floating = exports.useFloatingContext = exports.FloatingProvider = void 0;
|
|
49
49
|
const react_dom_1 = require("@floating-ui/react-dom");
|
|
50
50
|
const react_1 = __importStar(require("react"));
|
|
51
|
+
const Modal_context_1 = require("../../modal/Modal.context");
|
|
51
52
|
const Slot_1 = require("../../slot/Slot");
|
|
52
53
|
const create_context_1 = require("../../util/create-context");
|
|
53
54
|
const hooks_1 = require("../../util/hooks");
|
|
55
|
+
const useOpenChangeComplete_1 = require("../overlay/hooks/useOpenChangeComplete");
|
|
54
56
|
const Floating_utils_1 = require("./Floating.utils");
|
|
55
57
|
_a = (0, create_context_1.createContext)({
|
|
56
58
|
name: "FloatingContext",
|
|
@@ -120,8 +122,9 @@ const [FloatingContentProvider, useFloatingContentContext] = (0, create_context_
|
|
|
120
122
|
});
|
|
121
123
|
const FloatingContent = (0, react_1.forwardRef)((_a, forwardedRef) => {
|
|
122
124
|
var _b, _c, _d, _e, _f, _g;
|
|
123
|
-
var { children, side = "bottom", sideOffset = 0, align = "center", alignOffset = 0, avoidCollisions = true, collisionBoundary = [], collisionPadding: collisionPaddingProp = 0, hideWhenDetached = false, updatePositionStrategy = "optimized", onPlaced, arrow: _arrow } = _a, contentProps = __rest(_a, ["children", "side", "sideOffset", "align", "alignOffset", "avoidCollisions", "collisionBoundary", "collisionPadding", "hideWhenDetached", "updatePositionStrategy", "onPlaced", "arrow"]);
|
|
125
|
+
var { children, side = "bottom", sideOffset = 0, align = "center", alignOffset = 0, avoidCollisions = true, collisionBoundary = [], collisionPadding: collisionPaddingProp = 0, hideWhenDetached = false, updatePositionStrategy = "optimized", onPlaced, arrow: _arrow, fallbackPlacements, enabled = true, autoUpdateWhileMounted = true } = _a, contentProps = __rest(_a, ["children", "side", "sideOffset", "align", "alignOffset", "avoidCollisions", "collisionBoundary", "collisionPadding", "hideWhenDetached", "updatePositionStrategy", "onPlaced", "arrow", "fallbackPlacements", "enabled", "autoUpdateWhileMounted"]);
|
|
124
126
|
const context = (0, exports.useFloatingContext)();
|
|
127
|
+
const modalContext = (0, Modal_context_1.useModalContext)(false);
|
|
125
128
|
const arrowDefaults = Object.assign({ padding: 5, width: 0, height: 0 }, _arrow);
|
|
126
129
|
const [arrow, setArrow] = (0, react_1.useState)(null);
|
|
127
130
|
const arrowWidth = arrowDefaults.width;
|
|
@@ -148,17 +151,21 @@ const FloatingContent = (0, react_1.forwardRef)((_a, forwardedRef) => {
|
|
|
148
151
|
altBoundary: hasExplicitBoundaries,
|
|
149
152
|
/* https://floating-ui.com/docs/flip#fallbackaxissidedirection */
|
|
150
153
|
fallbackAxisSideDirection: "end",
|
|
154
|
+
fallbackPlacements,
|
|
151
155
|
};
|
|
152
|
-
const { refs, floatingStyles, placement, isPositioned, middlewareData } = (0, react_dom_1.useFloating)({
|
|
156
|
+
const { refs, floatingStyles, placement, isPositioned, middlewareData, elements: floatingElements, update, } = (0, react_dom_1.useFloating)({
|
|
157
|
+
open: enabled,
|
|
153
158
|
// default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues
|
|
154
159
|
strategy: "fixed",
|
|
155
160
|
placement: desiredPlacement,
|
|
156
|
-
whileElementsMounted:
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
161
|
+
whileElementsMounted: autoUpdateWhileMounted
|
|
162
|
+
? (...args) => {
|
|
163
|
+
const cleanup = (0, react_dom_1.autoUpdate)(...args, {
|
|
164
|
+
animationFrame: updatePositionStrategy === "always",
|
|
165
|
+
});
|
|
166
|
+
return cleanup;
|
|
167
|
+
}
|
|
168
|
+
: undefined,
|
|
162
169
|
elements: {
|
|
163
170
|
reference: context.anchor,
|
|
164
171
|
},
|
|
@@ -192,6 +199,23 @@ const FloatingContent = (0, react_1.forwardRef)((_a, forwardedRef) => {
|
|
|
192
199
|
(0, react_dom_1.hide)(Object.assign({ strategy: "referenceHidden" }, detectOverflowOptions)),
|
|
193
200
|
],
|
|
194
201
|
});
|
|
202
|
+
(0, react_1.useEffect)(() => {
|
|
203
|
+
if (autoUpdateWhileMounted || !enabled) {
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
if (floatingElements.reference && floatingElements.floating) {
|
|
207
|
+
const cleanup = (0, react_dom_1.autoUpdate)(floatingElements.reference, floatingElements.floating, update);
|
|
208
|
+
return () => {
|
|
209
|
+
cleanup();
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
}, [autoUpdateWhileMounted, enabled, floatingElements, update]);
|
|
213
|
+
(0, useOpenChangeComplete_1.useOpenChangeComplete)({
|
|
214
|
+
enabled: !!(modalContext === null || modalContext === void 0 ? void 0 : modalContext.ref),
|
|
215
|
+
open: enabled,
|
|
216
|
+
ref: modalContext === null || modalContext === void 0 ? void 0 : modalContext.ref,
|
|
217
|
+
onComplete: update,
|
|
218
|
+
});
|
|
195
219
|
const [placedSide, placedAlign] = (0, Floating_utils_1.getSideAndAlignFromPlacement)(placement);
|
|
196
220
|
const handlePlaced = (0, hooks_1.useCallbackRef)(onPlaced);
|
|
197
221
|
(0, hooks_1.useClientLayoutEffect)(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Floating.js","sourceRoot":"","sources":["../../../src/overlays/floating/Floating.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAYgC;AAChC,+CAMe;AACf,0CAAuC;AACvC,8DAA0D;AAC1D,4CAI0B;AAE1B,qDAM0B;AAUb,KACX,IAAA,8BAAa,EAAuB;IAClC,IAAI,EAAE,iBAAiB;IACvB,QAAQ,EAAE,aAAa;IACvB,YAAY,EAAE,kBAAkB;CACjC,CAAC,EALU,wBAAgB,UAAE,0BAAkB,SAK7C;AAWL,MAAM,QAAQ,GAAsB,CAAC,EAAE,QAAQ,EAAiB,EAAE,EAAE;IAClE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAoB,IAAI,CAAC,CAAC;IAE9D,OAAO,CACL,8BAAC,wBAAgB,IAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,IACxD,QAAQ,CACQ,CACpB,CAAC;AACJ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Floating.js","sourceRoot":"","sources":["../../../src/overlays/floating/Floating.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAYgC;AAChC,+CAMe;AACf,6DAA4D;AAC5D,0CAAuC;AACvC,8DAA0D;AAC1D,4CAI0B;AAE1B,kFAA+E;AAC/E,qDAM0B;AAUb,KACX,IAAA,8BAAa,EAAuB;IAClC,IAAI,EAAE,iBAAiB;IACvB,QAAQ,EAAE,aAAa;IACvB,YAAY,EAAE,kBAAkB;CACjC,CAAC,EALU,wBAAgB,UAAE,0BAAkB,SAK7C;AAWL,MAAM,QAAQ,GAAsB,CAAC,EAAE,QAAQ,EAAiB,EAAE,EAAE;IAClE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAoB,IAAI,CAAC,CAAC;IAE9D,OAAO,CACL,8BAAC,wBAAgB,IAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,IACxD,QAAQ,CACQ,CACpB,CAAC;AACJ,CAAC,CAAC;AAqXO,4BAAQ;AA3WjB;;;GAGG;AACH,MAAM,cAAc,GAAG,IAAA,kBAAU,EAC/B,CAAC,EAAqD,EAAE,YAAY,EAAE,EAAE;QAAvE,EAAE,UAAU,EAAE,OAAO,OAAgC,EAA3B,IAAI,cAA9B,yBAAgC,CAAF;IAC7B,MAAM,OAAO,GAAG,IAAA,0BAAkB,GAAE,CAAC;IACrC,MAAM,GAAG,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAC;IAEzC,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IAElD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,yEAAyE;QACzE,2DAA2D;QAC3D,OAAO,CAAC,cAAc,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,KAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,WAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAEpC,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,8BAAC,IAAI,kBAAC,GAAG,EAAE,SAAS,IAAM,IAAI,EAAI,CAAC;AAChE,CAAC,CACF,CAAC;AAEF;;GAEG;AACH,MAAM,aAAa,GAAuB;IACxC,GAAG,EAAE,QAAQ;IACb,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,OAAO;CACd,CAAC;AAQF,MAAM,aAAa,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAsB,EAAE,EAAE;IACzE,MAAM,OAAO,GAAG,yBAAyB,EAAE,CAAC;IAE5C,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAE/C,OAAO,CACL,wCACE,GAAG,EAAE,OAAO,CAAC,aAAa,EAC1B,KAAK,EAAE;YACL,QAAQ,EAAE,UAAU;YACpB,IAAI,EAAE,OAAO,CAAC,MAAM;YACpB,GAAG,EAAE,OAAO,CAAC,MAAM;YACnB,CAAC,IAAI,CAAC,EAAE,CAAC;YACT,eAAe,EAAE;gBACf,GAAG,EAAE,EAAE;gBACP,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,UAAU;gBAClB,IAAI,EAAE,QAAQ;aACf,CAAC,OAAO,CAAC,UAAU,CAAC;YACrB,SAAS,EAAE;gBACT,GAAG,EAAE,kBAAkB;gBACvB,KAAK,EAAE,gDAAgD;gBACvD,MAAM,EAAE,gBAAgB;gBACxB,IAAI,EAAE,gDAAgD;aACvD,CAAC,OAAO,CAAC,UAAU,CAAC;YACrB,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;SACrD;QAGD,uCACE,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAC,WAAW,EACnB,mBAAmB,EAAC,MAAM,EAC1B,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;YAE3B,2CAAS,MAAM,EAAC,gBAAgB,GAAG,CAC/B,CACD,CACR,CAAC;AACJ,CAAC,CAAC;AAaF,MAAM,CAAC,uBAAuB,EAAE,yBAAyB,CAAC,GACxD,IAAA,8BAAa,EAA8B;IACzC,IAAI,EAAE,wBAAwB;IAC9B,QAAQ,EAAE,2BAA2B;IACrC,YAAY,EAAE,yBAAyB;CACxC,CAAC,CAAC;AAiCL,MAAM,eAAe,GAAG,IAAA,kBAAU,EAChC,CACE,EAiBuB,EACvB,YAAY,EACZ,EAAE;;QAnBF,EACE,QAAQ,EACR,IAAI,GAAG,QAAQ,EACf,UAAU,GAAG,CAAC,EACd,KAAK,GAAG,QAAQ,EAChB,WAAW,GAAG,CAAC,EACf,eAAe,GAAG,IAAI,EACtB,iBAAiB,GAAG,EAAE,EACtB,gBAAgB,EAAE,oBAAoB,GAAG,CAAC,EAC1C,gBAAgB,GAAG,KAAK,EACxB,sBAAsB,GAAG,WAAW,EACpC,QAAQ,EACR,KAAK,EAAE,MAAM,EACb,kBAAkB,EAClB,OAAO,GAAG,IAAI,EACd,sBAAsB,GAAG,IAAI,OAER,EADlB,YAAY,cAhBjB,oPAiBC,CADgB;IAIjB,MAAM,OAAO,GAAG,IAAA,0BAAkB,GAAE,CAAC;IACrC,MAAM,YAAY,GAAG,IAAA,+BAAe,EAAC,KAAK,CAAC,CAAC;IAE5C,MAAM,aAAa,mBACjB,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,CAAC,IACN,MAAM,CACV,CAAC;IACF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAyB,IAAI,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC;IACvC,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC;IAEzC,MAAM,gBAAgB,GAAG,CAAC,IAAI;QAC5B,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAc,CAAC;IAExD,MAAM,gBAAgB,GACpB,OAAO,oBAAoB,KAAK,QAAQ;QACtC,CAAC,CAAC,oBAAoB;QACtB,CAAC,iBAAG,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,IAAK,oBAAoB,CAAE,CAAC;IAExE,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC;QAC/C,CAAC,CAAC,iBAAiB;QACnB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAExB,MAAM,qBAAqB,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAElD;;OAEG;IACH,SAAS,SAAS,CAAI,KAAe;QACnC,OAAO,KAAK,KAAK,IAAI,CAAC;IACxB,CAAC;IAED,MAAM,qBAAqB,GAAgB;QACzC,OAAO,EAAE,gBAAgB;QACzB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;QACpC,iFAAiF;QACjF,WAAW,EAAE,qBAAqB;QAClC,iEAAiE;QACjE,yBAAyB,EAAE,KAAK;QAChC,kBAAkB;KACnB,CAAC;IAEF,MAAM,EACJ,IAAI,EACJ,cAAc,EACd,SAAS,EACT,YAAY,EACZ,cAAc,EACd,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,GACP,GAAG,IAAA,uBAAW,EAAC;QACd,IAAI,EAAE,OAAO;QACb,gGAAgG;QAChG,QAAQ,EAAE,OAAO;QACjB,SAAS,EAAE,gBAAgB;QAC3B,oBAAoB,EAAE,sBAAsB;YAC1C,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE;gBACV,MAAM,OAAO,GAAG,IAAA,sBAAU,EAAC,GAAG,IAAI,EAAE;oBAClC,cAAc,EAAE,sBAAsB,KAAK,QAAQ;iBACpD,CAAC,CAAC;gBACH,OAAO,OAAO,CAAC;YACjB,CAAC;YACH,CAAC,CAAC,SAAS;QACb,QAAQ,EAAE;YACR,SAAS,EAAE,OAAO,CAAC,MAAM;SAC1B;QACD,UAAU,EAAE;YACV,IAAA,kBAAM,EAAC;gBACL,QAAQ,EAAE,UAAU,GAAG,WAAW;gBAClC,aAAa,EAAE,WAAW;aAC3B,CAAC;YACF,eAAe;gBACb,IAAA,iBAAK,EAAC;oBACJ,QAAQ,EAAE,IAAI;oBACd,SAAS,EAAE,KAAK;oBAChB,OAAO,EAAE,IAAA,sBAAU,GAAE;iBACtB,CAAC;YACJ,eAAe,IAAI,IAAA,gBAAI,oBAAM,qBAAqB,EAAG;YACrD,IAAA,gBAAI,kCACC,qBAAqB,KACxB,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,EAAE,EAAE;oBAC9D,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,GAChD,KAAK,CAAC,SAAS,CAAC;oBAClB,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAC7C;;uBAEG;oBACH,YAAY,CAAC,WAAW,CACtB,+BAA+B,EAC/B,GAAG,cAAc,IAAI,CACtB,CAAC;oBACF,YAAY,CAAC,WAAW,CACtB,gCAAgC,EAChC,GAAG,eAAe,IAAI,CACvB,CAAC;oBACF,YAAY,CAAC,WAAW,CACtB,4BAA4B,EAC5B,GAAG,WAAW,IAAI,CACnB,CAAC;oBACF,YAAY,CAAC,WAAW,CACtB,6BAA6B,EAC7B,GAAG,YAAY,IAAI,CACpB,CAAC;gBACJ,CAAC,IACD;YACF,KAAK;gBACH,IAAA,iBAAa,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,CAAC;YACnE,IAAA,gCAAe,EAAC,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;YAC5C,gBAAgB;gBACd,IAAA,gBAAI,kBAAG,QAAQ,EAAE,iBAAiB,IAAK,qBAAqB,EAAG;SAClE;KACF,CAAC,CAAC;IAEH,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,sBAAsB,IAAI,CAAC,OAAO,EAAE,CAAC;YACvC,OAAO;QACT,CAAC;QACD,IAAI,gBAAgB,CAAC,SAAS,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC5D,MAAM,OAAO,GAAG,IAAA,sBAAU,EACxB,gBAAgB,CAAC,SAAS,EAC1B,gBAAgB,CAAC,QAAQ,EACzB,MAAM,CACP,CAAC;YAEF,OAAO,GAAG,EAAE;gBACV,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;QACJ,CAAC;IACH,CAAC,EAAE,CAAC,sBAAsB,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;IAEhE,IAAA,6CAAqB,EAAC;QACpB,OAAO,EAAE,CAAC,CAAC,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,GAAG,CAAA;QAC5B,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,GAAG;QACtB,UAAU,EAAE,MAAM;KACnB,CAAC,CAAC;IAEH,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,IAAA,6CAA4B,EAAC,SAAS,CAAC,CAAC;IAE1E,MAAM,YAAY,GAAG,IAAA,sBAAc,EAAC,QAAQ,CAAC,CAAC;IAE9C,IAAA,6BAAqB,EAAC,GAAG,EAAE;QACzB,YAAY,KAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,EAAI,CAAA,CAAC;IACnC,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;IAEjC,MAAM,MAAM,GAAG,MAAA,cAAc,CAAC,KAAK,0CAAE,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,MAAA,cAAc,CAAC,KAAK,0CAAE,CAAC,CAAC;IACvC,MAAM,iBAAiB,GAAG,CAAA,MAAA,cAAc,CAAC,KAAK,0CAAE,YAAY,MAAK,CAAC,CAAC;IAEnE,OAAO,CACL,uCACE,GAAG,EAAE,IAAI,CAAC,WAAW,yCACe,EAAE,EACtC,KAAK,kCACA,cAAc,KACjB,SAAS,EAAE,YAAY;gBACrB,CAAC,CAAC,cAAc,CAAC,SAAS;gBAC1B,CAAC,CAAC,qBAAqB,EACzB,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,SAAS,EACjB,CAAC,gCAAuC,CAAC,EAAE;gBACzC,MAAA,cAAc,CAAC,eAAe,0CAAE,CAAC;gBACjC,MAAA,cAAc,CAAC,eAAe,0CAAE,CAAC;aAClC,CAAC,IAAI,CAAC,GAAG,CAAC;QAEb,6FAA6F;QAC7F,0EAA0E;QAC1E,GAAG,EAAC,KAAK;QAET,8BAAC,uBAAuB,IACtB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,QAAQ,EACvB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,iBAAiB;YAE5B,qDACE,GAAG,EAAE,YAAY,eACN,UAAU,gBACT,WAAW,IACnB,YAAY,IAChB,KAAK,kCACA,YAAY,CAAC,KAAK;oBACrB,4EAA4E;oBAC5E,gGAAgG;oBAChG,SAAS,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;oBAC7C,qEAAqE;oBACrE,OAAO,EAAE,CAAA,MAAA,cAAc,CAAC,IAAI,0CAAE,eAAe,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;gBAG9D,QAAQ;gBACR,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,MAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAA,IAAI,CAClC,8BAAC,aAAa,IACZ,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,SAAS,EAAE,MAAM,CAAC,SAAS,GAC3B,CACH,CACG,CACkB,CACtB,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,QAAQ,CAAC,MAAM,GAAG,cAAc,CAAC;AACjC,QAAQ,CAAC,OAAO,GAAG,eAAe,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Returns a stable function that, when invoked, waits for all current CSS/Web Animations
|
|
4
|
+
* on a target element (and its subtree) to finish before executing a callback.
|
|
5
|
+
*
|
|
6
|
+
* Why:
|
|
7
|
+
* - Coordinate logic (unmount, focus restore, measuring) after exit / enter animations.
|
|
8
|
+
* - Avoid `animationend` event bookkeeping across multiple animations / nested elements.
|
|
9
|
+
* - Batch detection using `requestAnimationFrame` so freshly-applied animations are discoverable.
|
|
10
|
+
*
|
|
11
|
+
* Mechanics:
|
|
12
|
+
* 1. Resolves the concrete `HTMLElement` (direct element or from ref) – early no-op if missing.
|
|
13
|
+
* 2. If `getAnimations` is unsupported or animations are globally disabled (`AKSEL_ANIMATIONS_DISABLED`),
|
|
14
|
+
* runs the callback immediately.
|
|
15
|
+
* 3. Schedules a frame so style/animation changes applied this render are committed.
|
|
16
|
+
* 4. Optionally schedules an additional frame (`waitForNextTick=true`) to catch animations that
|
|
17
|
+
* start only after layout (e.g. when an `open` class triggers the animation).
|
|
18
|
+
* 5. Captures all current animations, waits on their `.finished` promises (using `Promise.allSettled`
|
|
19
|
+
* so rejections don't block), then `flushSync` executes the callback (ensures React state updates
|
|
20
|
+
* inside run before the browser paints the next frame).
|
|
21
|
+
* 6. If an `AbortSignal` aborts while waiting, it silently cancels execution.
|
|
22
|
+
*
|
|
23
|
+
* @param elementOrRef HTMLElement or ref to observe.
|
|
24
|
+
* @param waitForNextTick If true, waits an extra frame to ensure enter animations are detectable.
|
|
25
|
+
* @returns Stable function (identity preserved) accepting (fn, abortSignal?).
|
|
26
|
+
*/
|
|
27
|
+
export declare function useAnimationsFinished(elementOrRef: React.RefObject<HTMLElement | null> | HTMLElement | null, waitForNextTick?: boolean): (fnToExecute: () => void, signal?: AbortSignal | null) => void;
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
+
var ownKeys = function(o) {
|
|
21
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
+
var ar = [];
|
|
23
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
+
return ar;
|
|
25
|
+
};
|
|
26
|
+
return ownKeys(o);
|
|
27
|
+
};
|
|
28
|
+
return function (mod) {
|
|
29
|
+
if (mod && mod.__esModule) return mod;
|
|
30
|
+
var result = {};
|
|
31
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
+
__setModuleDefault(result, mod);
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
})();
|
|
36
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
+
};
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
exports.useAnimationsFinished = useAnimationsFinished;
|
|
41
|
+
const react_1 = __importStar(require("react"));
|
|
42
|
+
const react_dom_1 = __importDefault(require("react-dom"));
|
|
43
|
+
const useEventCallback_1 = require("./useEventCallback");
|
|
44
|
+
/**
|
|
45
|
+
* Returns a stable function that, when invoked, waits for all current CSS/Web Animations
|
|
46
|
+
* on a target element (and its subtree) to finish before executing a callback.
|
|
47
|
+
*
|
|
48
|
+
* Why:
|
|
49
|
+
* - Coordinate logic (unmount, focus restore, measuring) after exit / enter animations.
|
|
50
|
+
* - Avoid `animationend` event bookkeeping across multiple animations / nested elements.
|
|
51
|
+
* - Batch detection using `requestAnimationFrame` so freshly-applied animations are discoverable.
|
|
52
|
+
*
|
|
53
|
+
* Mechanics:
|
|
54
|
+
* 1. Resolves the concrete `HTMLElement` (direct element or from ref) – early no-op if missing.
|
|
55
|
+
* 2. If `getAnimations` is unsupported or animations are globally disabled (`AKSEL_ANIMATIONS_DISABLED`),
|
|
56
|
+
* runs the callback immediately.
|
|
57
|
+
* 3. Schedules a frame so style/animation changes applied this render are committed.
|
|
58
|
+
* 4. Optionally schedules an additional frame (`waitForNextTick=true`) to catch animations that
|
|
59
|
+
* start only after layout (e.g. when an `open` class triggers the animation).
|
|
60
|
+
* 5. Captures all current animations, waits on their `.finished` promises (using `Promise.allSettled`
|
|
61
|
+
* so rejections don't block), then `flushSync` executes the callback (ensures React state updates
|
|
62
|
+
* inside run before the browser paints the next frame).
|
|
63
|
+
* 6. If an `AbortSignal` aborts while waiting, it silently cancels execution.
|
|
64
|
+
*
|
|
65
|
+
* @param elementOrRef HTMLElement or ref to observe.
|
|
66
|
+
* @param waitForNextTick If true, waits an extra frame to ensure enter animations are detectable.
|
|
67
|
+
* @returns Stable function (identity preserved) accepting (fn, abortSignal?).
|
|
68
|
+
*/
|
|
69
|
+
function useAnimationsFinished(elementOrRef, waitForNextTick = false) {
|
|
70
|
+
const rootFrameRef = react_1.default.useRef(null);
|
|
71
|
+
const nestedFrameRef = react_1.default.useRef(null);
|
|
72
|
+
const cancelScheduled = (0, react_1.useCallback)(() => {
|
|
73
|
+
for (const ref of [rootFrameRef, nestedFrameRef]) {
|
|
74
|
+
if (ref.current !== null) {
|
|
75
|
+
cancelAnimationFrame(ref.current);
|
|
76
|
+
ref.current = null;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}, []);
|
|
80
|
+
/* Unmount cleanup */
|
|
81
|
+
(0, react_1.useEffect)(() => {
|
|
82
|
+
return () => cancelScheduled();
|
|
83
|
+
}, [cancelScheduled]);
|
|
84
|
+
return (0, useEventCallback_1.useEventCallback)((
|
|
85
|
+
/**
|
|
86
|
+
* A function to execute once all animations have finished.
|
|
87
|
+
*/
|
|
88
|
+
fnToExecute,
|
|
89
|
+
/**
|
|
90
|
+
* An optional [AbortSignal](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal) that
|
|
91
|
+
* can be used to abort `fnToExecute` before all the animations have finished.
|
|
92
|
+
* @default null
|
|
93
|
+
*/
|
|
94
|
+
signal = null) => {
|
|
95
|
+
// Cancel any in-flight scheduling from a previous invocation (next-frame debounce semantics)
|
|
96
|
+
cancelScheduled();
|
|
97
|
+
if (elementOrRef == null) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
const element = "current" in elementOrRef ? elementOrRef.current : elementOrRef;
|
|
101
|
+
if (element == null) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
// Fast path: no Web Animations API support OR animations globally disabled.
|
|
105
|
+
if (typeof element.getAnimations !== "function" ||
|
|
106
|
+
// Flag hook for test envs.
|
|
107
|
+
globalThis.AKSEL_ANIMATIONS_DISABLED) {
|
|
108
|
+
fnToExecute();
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
rootFrameRef.current = requestAnimationFrame(() => {
|
|
112
|
+
function exec() {
|
|
113
|
+
if (!element) {
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
// Collect animations present at this moment; we don't continuously observe
|
|
117
|
+
// if new animations start after these settle, caller should invoke again.
|
|
118
|
+
Promise.allSettled(element.getAnimations().map((anim) => anim.finished)).then(() => {
|
|
119
|
+
if (signal === null || signal === void 0 ? void 0 : signal.aborted)
|
|
120
|
+
return;
|
|
121
|
+
// Ensure any state updates inside the callback are flushed synchronously,
|
|
122
|
+
// guaranteeing that dependent logic observes the current
|
|
123
|
+
// tree rather than a stale in-progress update.
|
|
124
|
+
react_dom_1.default.flushSync(fnToExecute);
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
// Some animations (e.g. triggered by a class applied this same frame) only
|
|
128
|
+
// become observable after an extra frame; opt-in via flag.
|
|
129
|
+
if (waitForNextTick) {
|
|
130
|
+
nestedFrameRef.current = requestAnimationFrame(exec);
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
exec();
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=useAnimationsFinished.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAnimationsFinished.js","sourceRoot":"","sources":["../../../../src/overlays/overlay/hooks/useAnimationsFinished.ts"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+Bb,sDAqFC;AAlHD,+CAAsD;AACtD,0DAAiC;AACjC,yDAAsD;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,SAAgB,qBAAqB,CACnC,YAAsE,EACtE,eAAe,GAAG,KAAK;IAEvB,MAAM,YAAY,GAAG,eAAK,CAAC,MAAM,CAAgB,IAAI,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,eAAK,CAAC,MAAM,CAAgB,IAAI,CAAC,CAAC;IAEzD,MAAM,eAAe,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QACvC,KAAK,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,EAAE,CAAC;YACjD,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBACzB,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAClC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,qBAAqB;IACrB,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE,CAAC,eAAe,EAAE,CAAC;IACjC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,OAAO,IAAA,mCAAgB,EACrB;IACE;;OAEG;IACH,WAAuB;IACvB;;;;OAIG;IACH,SAA6B,IAAI,EACjC,EAAE;QACF,6FAA6F;QAC7F,eAAe,EAAE,CAAC;QAElB,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GACX,SAAS,IAAI,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC;QAClE,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,4EAA4E;QAC5E,IACE,OAAO,OAAO,CAAC,aAAa,KAAK,UAAU;YAC3C,2BAA2B;YAC1B,UAAkB,CAAC,yBAAyB,EAC7C,CAAC;YACD,WAAW,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,YAAY,CAAC,OAAO,GAAG,qBAAqB,CAAC,GAAG,EAAE;YAChD,SAAS,IAAI;gBACX,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO;gBACT,CAAC;gBACD,2EAA2E;gBAC3E,0EAA0E;gBAC1E,OAAO,CAAC,UAAU,CAChB,OAAO,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CACrD,CAAC,IAAI,CAAC,GAAG,EAAE;oBACV,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO;wBAAE,OAAO;oBAC5B,0EAA0E;oBAC1E,yDAAyD;oBACzD,+CAA+C;oBAC/C,mBAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBAClC,CAAC,CAAC,CAAC;YACL,CAAC;YAED,2EAA2E;YAC3E,2DAA2D;YAC3D,IAAI,eAAe,EAAE,CAAC;gBACpB,cAAc,CAAC,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,IAAI,EAAE,CAAC;YACT,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CACF,CAAC;AACJ,CAAC"}
|