@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.
Files changed (92) hide show
  1. package/cjs/form/checkbox/Checkbox.js +1 -1
  2. package/cjs/form/checkbox/Checkbox.js.map +1 -1
  3. package/cjs/form/combobox/Combobox.js +15 -13
  4. package/cjs/form/combobox/Combobox.js.map +1 -1
  5. package/cjs/form/combobox/FilteredOptions/FilteredOptions.js +53 -3
  6. package/cjs/form/combobox/FilteredOptions/FilteredOptions.js.map +1 -1
  7. package/cjs/form/combobox/FilteredOptions/useVirtualFocus.js.map +1 -1
  8. package/cjs/form/combobox/Input/InputController.js +15 -14
  9. package/cjs/form/combobox/Input/InputController.js.map +1 -1
  10. package/cjs/form/radio/Radio.js +1 -1
  11. package/cjs/form/radio/Radio.js.map +1 -1
  12. package/cjs/overlays/floating/Floating.d.ts +11 -0
  13. package/cjs/overlays/floating/Floating.js +32 -8
  14. package/cjs/overlays/floating/Floating.js.map +1 -1
  15. package/cjs/overlays/overlay/hooks/useAnimationsFinished.d.ts +27 -0
  16. package/cjs/overlays/overlay/hooks/useAnimationsFinished.js +138 -0
  17. package/cjs/overlays/overlay/hooks/useAnimationsFinished.js.map +1 -0
  18. package/cjs/overlays/overlay/hooks/useEventCallback.d.ts +6 -0
  19. package/cjs/overlays/overlay/hooks/useEventCallback.js +89 -0
  20. package/cjs/overlays/overlay/hooks/useEventCallback.js.map +1 -0
  21. package/cjs/overlays/overlay/hooks/useLatestRef.d.ts +5 -0
  22. package/cjs/overlays/overlay/hooks/useLatestRef.js +23 -0
  23. package/cjs/overlays/overlay/hooks/useLatestRef.js.map +1 -0
  24. package/cjs/overlays/overlay/hooks/useOpenChangeComplete.d.ts +31 -0
  25. package/cjs/overlays/overlay/hooks/useOpenChangeComplete.js +35 -0
  26. package/cjs/overlays/overlay/hooks/useOpenChangeComplete.js.map +1 -0
  27. package/cjs/overlays/overlay/hooks/useRefWithInit.d.ts +7 -0
  28. package/cjs/overlays/overlay/hooks/useRefWithInit.js +14 -0
  29. package/cjs/overlays/overlay/hooks/useRefWithInit.js.map +1 -0
  30. package/cjs/table/ExpandableRow.d.ts +1 -1
  31. package/cjs/table/ExpandableRow.js +2 -10
  32. package/cjs/table/ExpandableRow.js.map +1 -1
  33. package/cjs/table/Row.d.ts +7 -0
  34. package/cjs/table/Row.js +13 -2
  35. package/cjs/table/Row.js.map +1 -1
  36. package/cjs/table/Table.utils.d.ts +9 -0
  37. package/cjs/table/Table.utils.js +57 -0
  38. package/cjs/table/Table.utils.js.map +1 -0
  39. package/esm/form/checkbox/Checkbox.js +1 -1
  40. package/esm/form/checkbox/Checkbox.js.map +1 -1
  41. package/esm/form/combobox/Combobox.js +15 -13
  42. package/esm/form/combobox/Combobox.js.map +1 -1
  43. package/esm/form/combobox/FilteredOptions/FilteredOptions.js +21 -4
  44. package/esm/form/combobox/FilteredOptions/FilteredOptions.js.map +1 -1
  45. package/esm/form/combobox/FilteredOptions/useVirtualFocus.js.map +1 -1
  46. package/esm/form/combobox/Input/InputController.js +15 -14
  47. package/esm/form/combobox/Input/InputController.js.map +1 -1
  48. package/esm/form/radio/Radio.js +1 -1
  49. package/esm/form/radio/Radio.js.map +1 -1
  50. package/esm/overlays/floating/Floating.d.ts +11 -0
  51. package/esm/overlays/floating/Floating.js +32 -8
  52. package/esm/overlays/floating/Floating.js.map +1 -1
  53. package/esm/overlays/overlay/hooks/useAnimationsFinished.d.ts +27 -0
  54. package/esm/overlays/overlay/hooks/useAnimationsFinished.js +99 -0
  55. package/esm/overlays/overlay/hooks/useAnimationsFinished.js.map +1 -0
  56. package/esm/overlays/overlay/hooks/useEventCallback.d.ts +6 -0
  57. package/esm/overlays/overlay/hooks/useEventCallback.js +53 -0
  58. package/esm/overlays/overlay/hooks/useEventCallback.js.map +1 -0
  59. package/esm/overlays/overlay/hooks/useLatestRef.d.ts +5 -0
  60. package/esm/overlays/overlay/hooks/useLatestRef.js +20 -0
  61. package/esm/overlays/overlay/hooks/useLatestRef.js.map +1 -0
  62. package/esm/overlays/overlay/hooks/useOpenChangeComplete.d.ts +31 -0
  63. package/esm/overlays/overlay/hooks/useOpenChangeComplete.js +32 -0
  64. package/esm/overlays/overlay/hooks/useOpenChangeComplete.js.map +1 -0
  65. package/esm/overlays/overlay/hooks/useRefWithInit.d.ts +7 -0
  66. package/esm/overlays/overlay/hooks/useRefWithInit.js +12 -0
  67. package/esm/overlays/overlay/hooks/useRefWithInit.js.map +1 -0
  68. package/esm/table/ExpandableRow.d.ts +1 -1
  69. package/esm/table/ExpandableRow.js +2 -10
  70. package/esm/table/ExpandableRow.js.map +1 -1
  71. package/esm/table/Row.d.ts +7 -0
  72. package/esm/table/Row.js +13 -2
  73. package/esm/table/Row.js.map +1 -1
  74. package/esm/table/Table.utils.d.ts +9 -0
  75. package/esm/table/Table.utils.js +55 -0
  76. package/esm/table/Table.utils.js.map +1 -0
  77. package/package.json +3 -3
  78. package/src/form/checkbox/Checkbox.tsx +5 -3
  79. package/src/form/combobox/Combobox.tsx +44 -41
  80. package/src/form/combobox/FilteredOptions/FilteredOptions.tsx +29 -4
  81. package/src/form/combobox/FilteredOptions/useVirtualFocus.ts +1 -0
  82. package/src/form/combobox/Input/InputController.tsx +33 -29
  83. package/src/form/radio/Radio.tsx +5 -3
  84. package/src/overlays/floating/Floating.tsx +110 -59
  85. package/src/overlays/overlay/hooks/useAnimationsFinished.ts +117 -0
  86. package/src/overlays/overlay/hooks/useEventCallback.ts +73 -0
  87. package/src/overlays/overlay/hooks/useLatestRef.ts +25 -0
  88. package/src/overlays/overlay/hooks/useOpenChangeComplete.ts +66 -0
  89. package/src/overlays/overlay/hooks/useRefWithInit.ts +25 -0
  90. package/src/table/ExpandableRow.tsx +4 -17
  91. package/src/table/Row.tsx +33 -1
  92. 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,5 @@
1
+ export declare function useLatestRef<T>(value: T): {
2
+ current: T;
3
+ next: T;
4
+ effect: () => void;
5
+ };
@@ -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
- !isInteractiveTarget(event.target) &&
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":"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"}
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;AACtC,+CAA2D;AAqD9C,QAAA,aAAa,GAAsB,IAAA,kBAAU,EACxD,CACE,EAcC,EACD,GAAG,EACH,EAAE;QAhBF,EACE,SAAS,EACT,QAAQ,EACR,OAAO,EACP,eAAe,GAAG,MAAM,EACxB,WAAW,GAAG,KAAK,EACnB,IAAI,EACJ,YAAY,EACZ,iBAAiB,GAAG,KAAK,EACzB,gBAAgB,GAAG,KAAK,EACxB,OAAO,GAAG,GAAG,EACb,aAAa,EACb,OAAO,OAER,EADI,IAAI,cAbT,8KAcC,CADQ;IAIT,MAAM,EAAE,EAAE,EAAE,GAAG,IAAA,oBAAY,GAAE,CAAC;IAC9B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,2CAAoB,EAAC;QAC7C,YAAY,EAAE,WAAW;QACzB,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,IAAA,oBAAO,EAAC,QAAQ,CAAC,CAAC;IAEpC,MAAM,EAAE,GAAG,IAAA,aAAK,GAAE,CAAC;IAEnB,MAAM,gBAAgB,GAAG,CAAC,KAAoC,EAAE,EAAE;QAChE,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QAChC,KAAK,CAAC,eAAe,EAAE,CAAC;IAC1B,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,KAA4C,EAAE,EAAE;QACtE,gBAAgB;YACd,CAAC,iBAAiB;YAClB,CAAC,IAAA,wCAA0B,EAAC,KAAK,CAAC,MAAqB,CAAC;YACxD,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,OAAO,CACL;QACE,8BAAC,aAAG,oBACE,IAAI,IACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,6BAA6B,EAAE,SAAS,EAAE;gBACtD,mCAAmC,EAAE,KAAK;gBAC1C,iDAAiD,EAC/C,iBAAiB;gBACnB,wCAAwC,EAAE,gBAAgB;aAC3D,CAAC,EACF,OAAO,EAAE,IAAA,2CAAoB,EAAC,OAAO,EAAE,cAAc,CAAC;YAErD,eAAe,KAAK,OAAO,IAAI,QAAQ;YACxC,8BAAC,kBAAQ,IACP,SAAS,EAAE,EAAE,CAAC,iCAAiC,EAAE;oBAC/C,uCAAuC,EAAE,KAAK;iBAC/C,CAAC,EACF,OAAO,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,IAE1D,CAAC,iBAAiB,IAAI,CACrB,0CACE,SAAS,EAAE,EAAE,CAAC,mCAAmC,CAAC,EAClD,IAAI,EAAC,QAAQ,mBACE,EAAE,mBACF,KAAK,EACpB,OAAO,EAAE,gBAAgB;gBAEzB,8BAAC,6BAAe,IACd,SAAS,EAAE,EAAE,CAAC,8BAA8B,CAAC,EAC7C,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,GAC5D,CACK,CACV,CACQ;YACV,eAAe,KAAK,MAAM,IAAI,QAAQ,CACnC;QACN,oDACc,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EACrC,SAAS,EAAE,EAAE,CAAC,2BAA2B,CAAC,iBAC7B,CAAC,KAAK,EACnB,EAAE,EAAE,EAAE;YAEN,sCACE,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,EAAE,CAAC,gCAAgC,CAAC;gBAE/C,8BAAC,uBAAa,IACZ,SAAS,EAAE,EAAE,CAAC,oCAAoC,CAAC,EACnD,cAAc,EAAE,EAAE,CAChB,+EACE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,eACnB,EAAE,CACH,EACD,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAC1B,QAAQ,EAAE,GAAG,EACb,MAAM,EAAC,gCAAgC,IAEtC,OAAO,CACM,CACb,CACF,CACJ,CACJ,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,kBAAe,qBAAa,CAAC"}
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"Row.js","sourceRoot":"","sources":["../../src/table/Row.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0C;AAC1C,0CAA8C;AAmBjC,QAAA,GAAG,GAAY,IAAA,kBAAU,EACpC,CAAC,EAA6D,EAAE,GAAG,EAAE,EAAE;QAAtE,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,EAAE,YAAY,GAAG,IAAI,OAAW,EAAN,IAAI,cAA3D,yCAA6D,CAAF;IAC1D,MAAM,EAAE,EAAE,EAAE,GAAG,IAAA,oBAAY,GAAE,CAAC;IAC9B,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,IACF,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,kBAAe,WAAG,CAAC"}
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":"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"}
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(ComboboxWrapper, { className: className, hasError: hasError, inputProps: inputProps, inputSize: size, toggleIsListOpen: toggleIsListOpen },
27
- React.createElement(Label, { htmlFor: inputProps.id, size: size, className: cn("navds-form-field__label", {
28
- "navds-sr-only": hideLabel,
29
- }) },
30
- readOnly && React.createElement(ReadOnlyIconWithTitle, null),
31
- label),
32
- !!description && (React.createElement(BodyShort, { as: "div", className: cn("navds-form-field__description", {
33
- "navds-sr-only": hideLabel,
34
- }), id: inputDescriptionId, size: size }, description)),
35
- React.createElement("div", { className: cn("navds-combobox__wrapper") },
36
- React.createElement(InputController, Object.assign({ ref: ref }, rest)),
37
- React.createElement(FilteredOptions, null)),
38
- 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)))));
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;QAElC,oBAAC,KAAK,IACJ,OAAO,EAAE,UAAU,CAAC,EAAE,EACtB,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,EAAE,CAAC,yBAAyB,EAAE;gBACvC,eAAe,EAAE,SAAS;aAC3B,CAAC;YAED,QAAQ,IAAI,oBAAC,qBAAqB,OAAG;YACrC,KAAK,CACA;QACP,CAAC,CAAC,WAAW,IAAI,CAChB,oBAAC,SAAS,IACR,EAAE,EAAC,KAAK,EACR,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE;gBAC7C,eAAe,EAAE,SAAS;aAC3B,CAAC,EACF,EAAE,EAAE,kBAAkB,EACtB,IAAI,EAAE,IAAI,IAET,WAAW,CACF,CACb;QACD,6BAAK,SAAS,EAAE,EAAE,CAAC,yBAAyB,CAAC;YAC3C,oBAAC,eAAe,kBAAC,GAAG,EAAE,GAAG,IAAM,IAAI,EAAI;YACvC,oBAAC,eAAe,OAAG,CACf;QACN,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,CACnB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,QAAQ,CAAC"}
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 { useRenameCSS } from "../../../theme/Theme.js";
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
- return (React.createElement("div", { className: cn("navds-combobox__list", {
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;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,mBAAmB,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAErE,MAAM,eAAe,GAAG,GAAG,EAAE;IAC3B,MAAM,EAAE,EAAE,EAAE,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,EACJ,UAAU,EAAE,EAAE,EAAE,EAAE,GACnB,GAAG,eAAe,EAAE,CAAC;IAEtB,MAAM,EACJ,cAAc,EACd,SAAS,EACT,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,0BAA0B,EAC1B,UAAU,GACX,GAAG,yBAAyB,EAAE,CAAC;IAEhC,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,yBAAyB,EAAE,CAAC;IAEnE,MAAM,0BAA0B,GAC9B,CAAC,aAAa,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,6BAA6B;QACrE,SAAS,IAAI,yBAAyB;QACtC,CAAC,CAAC,SAAS,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,yBAAyB;IAE5F,MAAM,+BAA+B,GACnC,CAAC,cAAc,IAAI,UAAU,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,wBAAwB;QACzF,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,0BAA0B;IAExD,OAAO,CACL,6BACE,SAAS,EAAE,EAAE,CAAC,sBAAsB,EAAE;YACpC,8BAA8B,EAAE,CAAC,UAAU;YAC3C,kCAAkC,EAAE,0BAA0B;SAC/D,CAAC,EACF,EAAE,EAAE,mBAAmB,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAChD,QAAQ,EAAE,CAAC,CAAC;QAEX,0BAA0B,IAAI,CAC7B,6BACE,SAAS,EAAE,EAAE,CAAC,sCAAsC,CAAC,EACrD,IAAI,EAAC,QAAQ;YAEZ,aAAa,IAAI,WAAW,CAAC,KAAK,IAAI,oBAAC,kBAAkB,OAAG;YAC5D,SAAS,IAAI,oBAAC,cAAc,OAAG;YAC/B,CAAC,SAAS,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,CAChE,oBAAC,mBAAmB,OAAG,CACxB,CACG,CACP;QAEA,+BAA+B,IAAI;QAClC,oGAAoG;QACpG,4BACE,GAAG,EAAE,qBAAqB,EAC1B,IAAI,EAAC,SAAS,EACd,SAAS,EAAE,EAAE,CAAC,8BAA8B,CAAC;YAE5C,UAAU,IAAI,CAAC,WAAW,CAAC,cAAc,IAAI,cAAc,IAAI,CAC9D,oBAAC,YAAY,OAAG,CACjB;YACA,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC/B,oBAAC,mBAAmB,IAAC,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAI,CAC3D,CAAC,CACC,CACN,CACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,eAAe,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":"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"}
1
+ {"version":3,"file":"useVirtualFocus.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/useVirtualFocus.ts"],"names":[],"mappings":"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"}