@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
|
@@ -0,0 +1,89 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.useEventCallback = useEventCallback;
|
|
38
|
+
/**
|
|
39
|
+
* Stable event callback: returns a function whose identity never changes but always
|
|
40
|
+
* invokes the latest `callback`. Avoids stale closures without re‑creating handlers.
|
|
41
|
+
*
|
|
42
|
+
* Why not `useCallback`? Its identity depends on a deps array:
|
|
43
|
+
* - omit deps -> stale; include deps -> new function each render.
|
|
44
|
+
* - This hook decouples identity from freshness.
|
|
45
|
+
*
|
|
46
|
+
* How it works: a single stable "trampoline" function delegates to a mutable ref. The current
|
|
47
|
+
* `callback` is promoted from `next` in an insertion/layout phase effect so abandoned concurrent
|
|
48
|
+
* renders cannot leak outdated handlers.
|
|
49
|
+
*
|
|
50
|
+
* Guarantees: stable identity; latest logic executed; no calls from uncommitted renders; dev
|
|
51
|
+
* error if invoked during render; safe when `callback` is undefined (no-op).
|
|
52
|
+
*/
|
|
53
|
+
const react_1 = __importStar(require("react"));
|
|
54
|
+
const useRefWithInit_1 = require("./useRefWithInit");
|
|
55
|
+
/* https://github.com/mui/material-ui/issues/41190#issuecomment-2040873379 */
|
|
56
|
+
const useInsertionEffect = react_1.default[`useInsertionEffect${Math.random().toFixed(1)}`.slice(0, -3)];
|
|
57
|
+
const useSafeInsertionEffect =
|
|
58
|
+
// React 17 doesn't have useInsertionEffect.
|
|
59
|
+
useInsertionEffect &&
|
|
60
|
+
// Preact replaces useInsertionEffect with useLayoutEffect and fires too late.
|
|
61
|
+
useInsertionEffect !== react_1.useLayoutEffect
|
|
62
|
+
? useInsertionEffect
|
|
63
|
+
: (fn) => fn();
|
|
64
|
+
/**
|
|
65
|
+
* TODO: Long term, replace `useCallbackRef` with this hook.
|
|
66
|
+
*/
|
|
67
|
+
function useEventCallback(callback) {
|
|
68
|
+
const stable = (0, useRefWithInit_1.useRefWithInit)(createStableCallback).current;
|
|
69
|
+
stable.next = callback;
|
|
70
|
+
useSafeInsertionEffect(stable.effect);
|
|
71
|
+
return stable.trampoline;
|
|
72
|
+
}
|
|
73
|
+
function createStableCallback() {
|
|
74
|
+
const stable = {
|
|
75
|
+
next: undefined,
|
|
76
|
+
callback: assertNotCalled,
|
|
77
|
+
trampoline: (...args) => { var _a; return (_a = stable.callback) === null || _a === void 0 ? void 0 : _a.call(stable, ...args); },
|
|
78
|
+
effect: () => {
|
|
79
|
+
stable.callback = stable.next;
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
return stable;
|
|
83
|
+
}
|
|
84
|
+
function assertNotCalled() {
|
|
85
|
+
if (process.env.NODE_ENV !== "production") {
|
|
86
|
+
throw new Error("Aksel: Cannot call an event handler while rendering.");
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=useEventCallback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useEventCallback.js","sourceRoot":"","sources":["../../../../src/overlays/overlay/hooks/useEventCallback.ts"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+Cb,4CAOC;AApDD;;;;;;;;;;;;;;GAcG;AACH,+CAA+C;AAC/C,qDAAkD;AAElD,6EAA6E;AAC7E,MAAM,kBAAkB,GAAI,eAAa,CACvC,qBAAqB,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAC7D,CAAC;AAEF,MAAM,sBAAsB;AAC1B,4CAA4C;AAC5C,kBAAkB;IAClB,8EAA8E;IAC9E,kBAAkB,KAAK,uBAAe;IACpC,CAAC,CAAC,kBAAkB;IACpB,CAAC,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;AAaxB;;GAEG;AACH,SAAgB,gBAAgB,CAC9B,QAAuB;IAEvB,MAAM,MAAM,GAAG,IAAA,+BAAc,EAAC,oBAAoB,CAAC,CAAC,OAAoB,CAAC;IACzE,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;IACvB,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,OAAO,MAAM,CAAC,UAAU,CAAC;AAC3B,CAAC;AAED,SAAS,oBAAoB;IAC3B,MAAM,MAAM,GAAqB;QAC/B,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,eAAe;QACzB,UAAU,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,WAAC,OAAA,MAAA,MAAM,CAAC,QAAQ,uDAAG,GAAG,IAAI,CAAC,CAAA,EAAA;QAC1D,MAAM,EAAE,GAAG,EAAE;YACX,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;QAChC,CAAC;KACF,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe;IACtB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.useLatestRef = useLatestRef;
|
|
5
|
+
const util_1 = require("../../../util");
|
|
6
|
+
const useRefWithInit_1 = require("./useRefWithInit");
|
|
7
|
+
function useLatestRef(value) {
|
|
8
|
+
const latest = (0, useRefWithInit_1.useRefWithInit)(createLatestRef, value).current;
|
|
9
|
+
latest.next = value;
|
|
10
|
+
(0, util_1.useClientLayoutEffect)(latest.effect);
|
|
11
|
+
return latest;
|
|
12
|
+
}
|
|
13
|
+
function createLatestRef(value) {
|
|
14
|
+
const latest = {
|
|
15
|
+
current: value,
|
|
16
|
+
next: value,
|
|
17
|
+
effect: () => {
|
|
18
|
+
latest.current = latest.next;
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
return latest;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=useLatestRef.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLatestRef.js","sourceRoot":"","sources":["../../../../src/overlays/overlay/hooks/useLatestRef.ts"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAKb,oCAQC;AAXD,wCAAsD;AACtD,qDAAkD;AAElD,SAAgB,YAAY,CAAI,KAAQ;IACtC,MAAM,MAAM,GAAG,IAAA,+BAAc,EAAC,eAAe,EAAE,KAAK,CAAC,CAAC,OAAQ,CAAC;IAE/D,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;IAEpB,IAAA,4BAAqB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAErC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAI,KAAQ;IAClC,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,GAAG,EAAE;YACX,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;QAC/B,CAAC;KACF,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface useOpenChangeCompleteParameters {
|
|
3
|
+
/**
|
|
4
|
+
* Enable / disable the effect. Disabled => no animation tracking / callback.
|
|
5
|
+
* @default true
|
|
6
|
+
*/
|
|
7
|
+
enabled?: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Current open state (e.g. popover open). When this flips we wait for any
|
|
10
|
+
* associated CSS/Web animations on `ref` to finish before firing `onComplete`.
|
|
11
|
+
*/
|
|
12
|
+
open?: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Element whose animations/transition we observe. Should be stable while the
|
|
15
|
+
* open/close animation runs (typically the root animated node).
|
|
16
|
+
*/
|
|
17
|
+
ref?: React.RefObject<HTMLElement | null>;
|
|
18
|
+
/**
|
|
19
|
+
* Called exactly once per open-change cycle after animations finish OR
|
|
20
|
+
* immediately if animations are disabled / unsupported.
|
|
21
|
+
*/
|
|
22
|
+
onComplete: () => void;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Waits for the element's current Web Animations / CSS transitions to finish after an
|
|
26
|
+
* `open` state change, then invokes `onComplete`. Guards against race conditions by
|
|
27
|
+
* comparing the `open` value captured at scheduling time with the latest `open` via ref;
|
|
28
|
+
* if they differ (state flipped again mid‑animation) the callback is skipped.
|
|
29
|
+
*/
|
|
30
|
+
export declare function useOpenChangeComplete(parameters: useOpenChangeCompleteParameters): void;
|
|
31
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.useOpenChangeComplete = useOpenChangeComplete;
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const useAnimationsFinished_1 = require("./useAnimationsFinished");
|
|
7
|
+
const useEventCallback_1 = require("./useEventCallback");
|
|
8
|
+
const useLatestRef_1 = require("./useLatestRef");
|
|
9
|
+
/**
|
|
10
|
+
* Waits for the element's current Web Animations / CSS transitions to finish after an
|
|
11
|
+
* `open` state change, then invokes `onComplete`. Guards against race conditions by
|
|
12
|
+
* comparing the `open` value captured at scheduling time with the latest `open` via ref;
|
|
13
|
+
* if they differ (state flipped again mid‑animation) the callback is skipped.
|
|
14
|
+
*/
|
|
15
|
+
function useOpenChangeComplete(parameters) {
|
|
16
|
+
const { enabled = true, open, ref = null, onComplete: onCompleteParam, } = parameters;
|
|
17
|
+
const openRef = (0, useLatestRef_1.useLatestRef)(open);
|
|
18
|
+
const onComplete = (0, useEventCallback_1.useEventCallback)(onCompleteParam);
|
|
19
|
+
const runOnceAnimationsFinish = (0, useAnimationsFinished_1.useAnimationsFinished)(ref, open);
|
|
20
|
+
(0, react_1.useEffect)(() => {
|
|
21
|
+
if (!enabled) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
/*
|
|
25
|
+
* Schedule completion once the *current* set of animations settle. If during
|
|
26
|
+
* that wait `open` toggles again, skip to avoid firing for an outdated cycle.
|
|
27
|
+
*/
|
|
28
|
+
runOnceAnimationsFinish(() => {
|
|
29
|
+
if (open === openRef.current) {
|
|
30
|
+
onComplete();
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}, [enabled, open, onComplete, runOnceAnimationsFinish, openRef]);
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=useOpenChangeComplete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOpenChangeComplete.js","sourceRoot":"","sources":["../../../../src/overlays/overlay/hooks/useOpenChangeComplete.ts"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAoCb,sDA6BC;AA/DD,iCAAyC;AACzC,mEAAgE;AAChE,yDAAsD;AACtD,iDAA8C;AAyB9C;;;;;GAKG;AACH,SAAgB,qBAAqB,CACnC,UAA2C;IAE3C,MAAM,EACJ,OAAO,GAAG,IAAI,EACd,IAAI,EACJ,GAAG,GAAG,IAAI,EACV,UAAU,EAAE,eAAe,GAC5B,GAAG,UAAU,CAAC;IAEf,MAAM,OAAO,GAAG,IAAA,2BAAY,EAAC,IAAI,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,IAAA,mCAAgB,EAAC,eAAe,CAAC,CAAC;IACrD,MAAM,uBAAuB,GAAG,IAAA,6CAAqB,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAEjE,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED;;;WAGG;QACH,uBAAuB,CAAC,GAAG,EAAE;YAC3B,IAAI,IAAI,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC7B,UAAU,EAAE,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,uBAAuB,EAAE,OAAO,CAAC,CAAC,CAAC;AACpE,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* useRef initialized with a function on mount.
|
|
4
|
+
*/
|
|
5
|
+
declare function useRefWithInit<T>(init: () => T): React.RefObject<T>;
|
|
6
|
+
declare function useRefWithInit<T, U>(init: (arg: U) => T, initArg: U): React.RefObject<T>;
|
|
7
|
+
export { useRefWithInit };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.useRefWithInit = useRefWithInit;
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const UNINITIALIZED = {};
|
|
7
|
+
function useRefWithInit(init, initArg) {
|
|
8
|
+
const ref = (0, react_1.useRef)(UNINITIALIZED);
|
|
9
|
+
if (ref.current === UNINITIALIZED) {
|
|
10
|
+
ref.current = init(initArg);
|
|
11
|
+
}
|
|
12
|
+
return ref;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=useRefWithInit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRefWithInit.js","sourceRoot":"","sources":["../../../../src/overlays/overlay/hooks/useRefWithInit.ts"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAwBJ,wCAAc;AAtBvB,iCAAsC;AAEtC,MAAM,aAAa,GAAG,EAAE,CAAC;AAUzB,SAAS,cAAc,CAAC,IAAgC,EAAE,OAAiB;IACzE,MAAM,GAAG,GAAG,IAAA,cAAM,EAAC,aAAoB,CAAC,CAAC;IAEzC,IAAI,GAAG,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;QAClC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { RowProps } from "./Row";
|
|
3
|
-
export interface ExpandableRowProps extends Omit<RowProps, "content"> {
|
|
3
|
+
export interface ExpandableRowProps extends Omit<RowProps, "content" | "onRowClick"> {
|
|
4
4
|
/**
|
|
5
5
|
* Content of the expanded row
|
|
6
6
|
*/
|
|
@@ -58,6 +58,7 @@ const i18n_hooks_1 = require("../util/i18n/i18n.hooks");
|
|
|
58
58
|
const AnimateHeight_1 = __importDefault(require("./AnimateHeight"));
|
|
59
59
|
const DataCell_1 = __importDefault(require("./DataCell"));
|
|
60
60
|
const Row_1 = __importDefault(require("./Row"));
|
|
61
|
+
const Table_utils_1 = require("./Table.utils");
|
|
61
62
|
exports.ExpandableRow = (0, react_1.forwardRef)((_a, ref) => {
|
|
62
63
|
var { className, children, content, togglePlacement = "left", defaultOpen = false, open, onOpenChange, expansionDisabled = false, expandOnRowClick = false, colSpan = 999, contentGutter, onClick } = _a, rest = __rest(_a, ["className", "children", "content", "togglePlacement", "defaultOpen", "open", "onOpenChange", "expansionDisabled", "expandOnRowClick", "colSpan", "contentGutter", "onClick"]);
|
|
63
64
|
const { cn } = (0, Theme_1.useRenameCSS)();
|
|
@@ -75,7 +76,7 @@ exports.ExpandableRow = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
75
76
|
const handleRowClick = (event) => {
|
|
76
77
|
expandOnRowClick &&
|
|
77
78
|
!expansionDisabled &&
|
|
78
|
-
!
|
|
79
|
+
!(0, Table_utils_1.isElementInteractiveTarget)(event.target) &&
|
|
79
80
|
expansionHandler(event);
|
|
80
81
|
};
|
|
81
82
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
@@ -94,14 +95,5 @@ exports.ExpandableRow = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
94
95
|
react_1.default.createElement("td", { colSpan: colSpan, className: cn("navds-table__expanded-row-cell") },
|
|
95
96
|
react_1.default.createElement(AnimateHeight_1.default, { className: cn("navds-table__expanded-row-collapse"), innerClassName: cn(`navds-table__expanded-row-content navds-table__expanded-row-content--gutter-${contentGutter !== null && contentGutter !== void 0 ? contentGutter : togglePlacement}`), height: _open ? "auto" : 0, duration: 150, easing: "cubic-bezier(0.39,0.57,0.56,1)" }, content)))));
|
|
96
97
|
});
|
|
97
|
-
function isInteractiveTarget(elm) {
|
|
98
|
-
if (elm.nodeName === "TD" || elm.nodeName === "TH" || !elm.parentElement) {
|
|
99
|
-
return false;
|
|
100
|
-
}
|
|
101
|
-
if (["BUTTON", "DETAILS", "LABEL", "SELECT", "TEXTAREA", "INPUT", "A"].includes(elm.nodeName)) {
|
|
102
|
-
return true;
|
|
103
|
-
}
|
|
104
|
-
return isInteractiveTarget(elm.parentElement);
|
|
105
|
-
}
|
|
106
98
|
exports.default = exports.ExpandableRow;
|
|
107
99
|
//# sourceMappingURL=ExpandableRow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpandableRow.js","sourceRoot":"","sources":["../../src/table/ExpandableRow.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0C;AAC1C,qDAAsD;AACtD,0CAA8C;AAC9C,uEAAoE;AACpE,yCAAsC;AACtC,6EAA0E;AAC1E,wDAAkD;AAClD,oEAA4C;AAC5C,0DAAkC;AAClC,gDAAsC;
|
|
1
|
+
{"version":3,"file":"ExpandableRow.js","sourceRoot":"","sources":["../../src/table/ExpandableRow.tsx"],"names":[],"mappings":"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"}
|
package/cjs/table/Row.d.ts
CHANGED
|
@@ -10,6 +10,13 @@ export interface RowProps extends React.HTMLAttributes<HTMLTableRowElement> {
|
|
|
10
10
|
* @default true
|
|
11
11
|
*/
|
|
12
12
|
shadeOnHover?: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Click handler for row. This differs from onClick by not being called
|
|
15
|
+
* when clicking on interactive elements within the row (buttons, links, inputs etc).
|
|
16
|
+
*
|
|
17
|
+
* **Warning:** This will not be accessible by keyboard! Provide an alternative way to select the row, e.g. a checkbox or a button.
|
|
18
|
+
*/
|
|
19
|
+
onRowClick?: (event: React.MouseEvent<HTMLTableRowElement>) => void;
|
|
13
20
|
}
|
|
14
21
|
export type RowType = React.ForwardRefExoticComponent<RowProps & React.RefAttributes<HTMLTableRowElement>>;
|
|
15
22
|
export declare const Row: RowType;
|
package/cjs/table/Row.js
CHANGED
|
@@ -47,13 +47,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
47
47
|
exports.Row = void 0;
|
|
48
48
|
const react_1 = __importStar(require("react"));
|
|
49
49
|
const Theme_1 = require("../theme/Theme");
|
|
50
|
+
const composeEventHandlers_1 = require("../util/composeEventHandlers");
|
|
51
|
+
const Table_utils_1 = require("./Table.utils");
|
|
50
52
|
exports.Row = (0, react_1.forwardRef)((_a, ref) => {
|
|
51
|
-
var { className, selected = false, shadeOnHover = true } = _a, rest = __rest(_a, ["className", "selected", "shadeOnHover"]);
|
|
53
|
+
var { className, selected = false, shadeOnHover = true, onClick, onRowClick } = _a, rest = __rest(_a, ["className", "selected", "shadeOnHover", "onClick", "onRowClick"]);
|
|
52
54
|
const { cn } = (0, Theme_1.useRenameCSS)();
|
|
55
|
+
const handleRowClick = (event) => {
|
|
56
|
+
if (!onRowClick) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
if ((0, Table_utils_1.isElementInteractiveTarget)(event.target)) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
onRowClick(event);
|
|
63
|
+
};
|
|
53
64
|
return (react_1.default.createElement("tr", Object.assign({}, rest, { ref: ref, className: cn("navds-table__row", className, {
|
|
54
65
|
"navds-table__row--selected": selected,
|
|
55
66
|
"navds-table__row--shade-on-hover": shadeOnHover,
|
|
56
|
-
}) })));
|
|
67
|
+
}), onClick: (0, composeEventHandlers_1.composeEventHandlers)(onClick, handleRowClick), "data-interactive": !!onRowClick })));
|
|
57
68
|
});
|
|
58
69
|
exports.default = exports.Row;
|
|
59
70
|
//# sourceMappingURL=Row.js.map
|
package/cjs/table/Row.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Row.js","sourceRoot":"","sources":["../../src/table/Row.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0C;AAC1C,0CAA8C;
|
|
1
|
+
{"version":3,"file":"Row.js","sourceRoot":"","sources":["../../src/table/Row.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0C;AAC1C,0CAA8C;AAC9C,uEAAoE;AACpE,+CAA2D;AA0B9C,QAAA,GAAG,GAAY,IAAA,kBAAU,EACpC,CACE,EAOC,EACD,GAAG,EACH,EAAE;QATF,EACE,SAAS,EACT,QAAQ,GAAG,KAAK,EAChB,YAAY,GAAG,IAAI,EACnB,OAAO,EACP,UAAU,OAEX,EADI,IAAI,cANT,kEAOC,CADQ;IAIT,MAAM,EAAE,EAAE,EAAE,GAAG,IAAA,oBAAY,GAAE,CAAC;IAE9B,MAAM,cAAc,GAAG,CAAC,KAA4C,EAAE,EAAE;QACtE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QACD,IAAI,IAAA,wCAA0B,EAAC,KAAK,CAAC,MAAqB,CAAC,EAAE,CAAC;YAC5D,OAAO;QACT,CAAC;QACD,UAAU,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,OAAO,CACL,sDACM,IAAI,IACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,kBAAkB,EAAE,SAAS,EAAE;YAC3C,4BAA4B,EAAE,QAAQ;YACtC,kCAAkC,EAAE,YAAY;SACjD,CAAC,EACF,OAAO,EAAE,IAAA,2CAAoB,EAAC,OAAO,EAAE,cAAc,CAAC,sBACpC,CAAC,CAAC,UAAU,IAC9B,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,kBAAe,WAAG,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Walks up from the event target until TR/TH (row / header) or root.
|
|
3
|
+
* Returns true if any ancestor is inherently interactive, explicitly focusable,
|
|
4
|
+
* or has an interactive ARIA role.
|
|
5
|
+
* Used to decide whether a row click should be treated as a row selection
|
|
6
|
+
* or ignored because the user interacted with an embedded control.
|
|
7
|
+
*/
|
|
8
|
+
declare function isElementInteractiveTarget(element: HTMLElement | null): boolean;
|
|
9
|
+
export { isElementInteractiveTarget };
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isElementInteractiveTarget = isElementInteractiveTarget;
|
|
4
|
+
const INTERACTIVE_TAGS = new Set([
|
|
5
|
+
"BUTTON",
|
|
6
|
+
"A",
|
|
7
|
+
"INPUT",
|
|
8
|
+
"SELECT",
|
|
9
|
+
"TEXTAREA",
|
|
10
|
+
"DETAILS",
|
|
11
|
+
"SUMMARY",
|
|
12
|
+
"LABEL",
|
|
13
|
+
]);
|
|
14
|
+
const INTERACTIVE_ROLES = new Set([
|
|
15
|
+
"button",
|
|
16
|
+
"link",
|
|
17
|
+
"checkbox",
|
|
18
|
+
"radio",
|
|
19
|
+
"switch",
|
|
20
|
+
"menuitem",
|
|
21
|
+
"option",
|
|
22
|
+
"tab",
|
|
23
|
+
"textbox",
|
|
24
|
+
"combobox",
|
|
25
|
+
"spinbutton",
|
|
26
|
+
"slider",
|
|
27
|
+
]);
|
|
28
|
+
/**
|
|
29
|
+
* Walks up from the event target until TR/TH (row / header) or root.
|
|
30
|
+
* Returns true if any ancestor is inherently interactive, explicitly focusable,
|
|
31
|
+
* or has an interactive ARIA role.
|
|
32
|
+
* Used to decide whether a row click should be treated as a row selection
|
|
33
|
+
* or ignored because the user interacted with an embedded control.
|
|
34
|
+
*/
|
|
35
|
+
function isElementInteractiveTarget(element) {
|
|
36
|
+
for (let node = element; node && node.nodeName !== "TR" && node.nodeName !== "TH"; node = node.parentElement) {
|
|
37
|
+
const tag = node.nodeName;
|
|
38
|
+
/* Native interactive tag */
|
|
39
|
+
if (INTERACTIVE_TAGS.has(tag)) {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
/* Explicit interactive role */
|
|
43
|
+
const role = node.getAttribute("role");
|
|
44
|
+
if (role && INTERACTIVE_ROLES.has(role)) {
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
/* Focusable via tabindex (exclude -1) */
|
|
48
|
+
if (node.hasAttribute("tabindex")) {
|
|
49
|
+
const ti = node.getAttribute("tabindex");
|
|
50
|
+
if (ti !== "-1") {
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=Table.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Table.utils.js","sourceRoot":"","sources":["../../src/table/Table.utils.ts"],"names":[],"mappings":";;AAgES,gEAA0B;AAhEnC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,QAAQ;IACR,GAAG;IACH,OAAO;IACP,QAAQ;IACR,UAAU;IACV,SAAS;IACT,SAAS;IACT,OAAO;CACR,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,QAAQ;IACR,MAAM;IACN,UAAU;IACV,OAAO;IACP,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,KAAK;IACL,SAAS;IACT,UAAU;IACV,YAAY;IACZ,QAAQ;CACT,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,SAAS,0BAA0B,CAAC,OAA2B;IAC7D,KACE,IAAI,IAAI,GAAuB,OAAO,EACtC,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EACxD,IAAI,GAAG,IAAI,CAAC,aAAa,EACzB,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE1B,4BAA4B;QAC5B,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,+BAA+B;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,IAAI,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,yCAAyC;QACzC,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;YAClC,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YACzC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBAChB,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -28,7 +28,7 @@ export const Checkbox = forwardRef((props, ref) => {
|
|
|
28
28
|
"readOnly",
|
|
29
29
|
]), omit(inputProps, ["aria-invalid", "aria-describedby"]), { "aria-describedby": cl(inputProps["aria-describedby"], {
|
|
30
30
|
[descriptionId]: props.description,
|
|
31
|
-
}), type: "checkbox", className: cn("navds-checkbox__input"), ref: (el) => {
|
|
31
|
+
}) || undefined, type: "checkbox", className: cn("navds-checkbox__input"), ref: (el) => {
|
|
32
32
|
var _a;
|
|
33
33
|
if (el) {
|
|
34
34
|
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,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAChC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACb,MAAM,EAAE,EAAE,EAAE,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAC5E,MAAM,aAAa,GAAG,KAAK,EAAE,CAAC;IAC9B,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAE7C,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,EAAE,CAAC;QAC7B,OAAO,CACL,6BACE,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,6BAAK,SAAS,EAAE,EAAE,CAAC,+BAA+B,CAAC;gBACjD,+CACM,IAAI,CAAC,KAAK,EAAE;oBACd,UAAU;oBACV,MAAM;oBACN,OAAO;oBACP,aAAa;oBACb,WAAW;oBACX,eAAe;oBACf,SAAS;oBACT,UAAU;iBACX,CAAC,EACE,IAAI,CAAC,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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"}
|
|
@@ -10,6 +10,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
12
|
import React, { forwardRef } from "react";
|
|
13
|
+
import { Floating } from "../../overlays/floating/Floating.js";
|
|
13
14
|
import { useRenameCSS } from "../../theme/Theme.js";
|
|
14
15
|
import { BodyShort, ErrorMessage, Label } from "../../typography/index.js";
|
|
15
16
|
import { ReadOnlyIconWithTitle } from "../ReadOnlyIcon.js";
|
|
@@ -23,19 +24,20 @@ export const Combobox = forwardRef((props, ref) => {
|
|
|
23
24
|
const { cn } = useRenameCSS();
|
|
24
25
|
const { toggleIsListOpen } = useFilteredOptionsContext();
|
|
25
26
|
const { error, errorId, hasError, inputDescriptionId, inputProps, showErrorMsg, size = "medium", readOnly, } = useInputContext();
|
|
26
|
-
return (React.createElement(
|
|
27
|
-
React.createElement(
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
React.createElement(
|
|
37
|
-
|
|
38
|
-
|
|
27
|
+
return (React.createElement(Floating, null,
|
|
28
|
+
React.createElement(ComboboxWrapper, { className: className, hasError: hasError, inputProps: inputProps, inputSize: size, toggleIsListOpen: toggleIsListOpen },
|
|
29
|
+
React.createElement(Label, { htmlFor: inputProps.id, size: size, className: cn("navds-form-field__label", {
|
|
30
|
+
"navds-sr-only": hideLabel,
|
|
31
|
+
}) },
|
|
32
|
+
readOnly && React.createElement(ReadOnlyIconWithTitle, null),
|
|
33
|
+
label),
|
|
34
|
+
!!description && (React.createElement(BodyShort, { as: "div", className: cn("navds-form-field__description", {
|
|
35
|
+
"navds-sr-only": hideLabel,
|
|
36
|
+
}), id: inputDescriptionId, size: size }, description)),
|
|
37
|
+
React.createElement("div", { className: cn("navds-combobox__wrapper") },
|
|
38
|
+
React.createElement(InputController, Object.assign({ ref: ref }, rest)),
|
|
39
|
+
React.createElement(FilteredOptions, null)),
|
|
40
|
+
React.createElement("div", { className: cn("navds-form-field__error"), id: errorId, "aria-relevant": "additions removals", "aria-live": "polite" }, showErrorMsg && (React.createElement(ErrorMessage, { size: size, showIcon: true }, error))))));
|
|
39
41
|
});
|
|
40
42
|
export default Combobox;
|
|
41
43
|
//# sourceMappingURL=Combobox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.js","sourceRoot":"","sources":["../../../src/form/combobox/Combobox.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,eAAe,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAMhC,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,YAAY,EAAE,CAAC;IAE9B,MAAM,EAAE,gBAAgB,EAAE,GAAG,yBAAyB,EAAE,CAAC;IAEzD,MAAM,EACJ,KAAK,EACL,OAAO,EACP,QAAQ,EACR,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,IAAI,GAAG,QAAQ,EACf,QAAQ,GACT,GAAG,eAAe,EAAE,CAAC;IAEtB,OAAO,CACL,oBAAC,eAAe,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,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,eAAe,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAMhC,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,YAAY,EAAE,CAAC;IAE9B,MAAM,EAAE,gBAAgB,EAAE,GAAG,yBAAyB,EAAE,CAAC;IAEzD,MAAM,EACJ,KAAK,EACL,OAAO,EACP,QAAQ,EACR,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,IAAI,GAAG,QAAQ,EACf,QAAQ,GACT,GAAG,eAAe,EAAE,CAAC;IAEtB,OAAO,CACL,oBAAC,QAAQ;QACP,oBAAC,eAAe,IACd,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,IAAI,EACf,gBAAgB,EAAE,gBAAgB;YAElC,oBAAC,KAAK,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,oBAAC,qBAAqB,OAAG;gBACrC,KAAK,CACA;YACP,CAAC,CAAC,WAAW,IAAI,CAChB,oBAAC,SAAS,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,6BAAK,SAAS,EAAE,EAAE,CAAC,yBAAyB,CAAC;gBAC3C,oBAAC,eAAe,kBAAC,GAAG,EAAE,GAAG,IAAM,IAAI,EAAI;gBACvC,oBAAC,eAAe,OAAG,CACf;YACN,6BACE,SAAS,EAAE,EAAE,CAAC,yBAAyB,CAAC,EACxC,EAAE,EAAE,OAAO,mBACG,oBAAoB,eACxB,QAAQ,IAEjB,YAAY,IAAI,CACf,oBAAC,YAAY,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,UAC/B,KAAK,CACO,CAChB,CACG,CACU,CACT,CACZ,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,QAAQ,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import {
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
import { Floating } from "../../../overlays/floating/Floating.js";
|
|
3
|
+
import { useRenameCSS, useThemeInternal } from "../../../theme/Theme.js";
|
|
4
|
+
import { useClientLayoutEffect } from "../../../util/index.js";
|
|
3
5
|
import { useInputContext } from "../Input/Input.context.js";
|
|
4
6
|
import { useSelectedOptionsContext } from "../SelectedOptions/selectedOptionsContext.js";
|
|
5
7
|
import AddNewOption from "./AddNewOption.js";
|
|
@@ -11,18 +13,33 @@ import filteredOptionsUtil from "./filtered-options-util.js";
|
|
|
11
13
|
import { useFilteredOptionsContext } from "./filteredOptionsContext.js";
|
|
12
14
|
const FilteredOptions = () => {
|
|
13
15
|
const { cn } = useRenameCSS();
|
|
16
|
+
const themeContext = useThemeInternal(false);
|
|
14
17
|
const { inputProps: { id }, } = useInputContext();
|
|
15
18
|
const { allowNewValues, isLoading, isListOpen, filteredOptions, setFilteredOptionsRef, isMouseLastUsedInputDevice, isValueNew, } = useFilteredOptionsContext();
|
|
19
|
+
const [localOpen, setLocalOpen] = useState(isListOpen);
|
|
20
|
+
/**
|
|
21
|
+
* This is a dirty hack to make the positioning-logic in Floating base the "flip" on the static 290px max-height,
|
|
22
|
+
* instead of the dynamic one based on available space. Without this, the list won't flip to top when there's
|
|
23
|
+
* not enough space below the input.
|
|
24
|
+
*/
|
|
25
|
+
useClientLayoutEffect(() => {
|
|
26
|
+
queueMicrotask(() => setLocalOpen(isListOpen));
|
|
27
|
+
}, [isListOpen]);
|
|
16
28
|
const { maxSelected, isMultiSelect } = useSelectedOptionsContext();
|
|
17
29
|
const shouldRenderNonSelectables = (isMultiSelect && maxSelected.limit) || // Render maxSelected message
|
|
18
30
|
isLoading || // Render loading message
|
|
19
31
|
(!isLoading && filteredOptions.length === 0 && !allowNewValues); // Render no hits message
|
|
20
32
|
const shouldRenderFilteredOptionsList = (allowNewValues && isValueNew && !maxSelected.isLimitReached) || // Render add new option
|
|
21
33
|
filteredOptions.length > 0; // Render filtered options
|
|
22
|
-
|
|
34
|
+
const height = (themeContext === null || themeContext === void 0 ? void 0 : themeContext.isDarkside) ? "316px" : "290px";
|
|
35
|
+
return (React.createElement(Floating.Content, { className: cn("navds-combobox__list", {
|
|
23
36
|
"navds-combobox__list--closed": !isListOpen,
|
|
24
37
|
"navds-combobox__list--with-hover": isMouseLastUsedInputDevice,
|
|
25
|
-
}), id: filteredOptionsUtil.getFilteredOptionsId(id), tabIndex: -1
|
|
38
|
+
}), id: filteredOptionsUtil.getFilteredOptionsId(id), tabIndex: -1, sideOffset: 8, side: "bottom", fallbackPlacements: ["top"], enabled: isListOpen, style: {
|
|
39
|
+
maxHeight: localOpen
|
|
40
|
+
? `min(${height}, var(--ac-floating-available-height))`
|
|
41
|
+
: `${height}`,
|
|
42
|
+
}, autoUpdateWhileMounted: false },
|
|
26
43
|
shouldRenderNonSelectables && (React.createElement("div", { className: cn("navds-combobox__list_non-selectables"), role: "status" },
|
|
27
44
|
isMultiSelect && maxSelected.limit && React.createElement(MaxSelectedMessage, null),
|
|
28
45
|
isLoading && React.createElement(LoadingMessage, null),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilteredOptions.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/FilteredOptions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
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,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAiBjC,MAAM,eAAe,GAAG,CACtB,YAAgC,EACd,EAAE;IACpB,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAChD,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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"}
|