@navikt/ds-react 7.32.0 → 7.32.2
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/copybutton/CopyButton.js +4 -9
- package/cjs/copybutton/CopyButton.js.map +1 -1
- package/cjs/date/date-utils/dropdown-options.d.ts +11 -2
- package/cjs/date/date-utils/dropdown-options.js +5 -3
- package/cjs/date/date-utils/dropdown-options.js.map +1 -1
- package/cjs/date/datepicker/parts/DatePicker.Months.js +7 -2
- package/cjs/date/datepicker/parts/DatePicker.Months.js.map +1 -1
- package/cjs/form/combobox/Combobox.js +1 -3
- package/cjs/form/combobox/Combobox.js.map +1 -1
- package/cjs/form/combobox/ComboboxWrapper.d.ts +1 -2
- package/cjs/form/combobox/ComboboxWrapper.js +1 -2
- package/cjs/form/combobox/ComboboxWrapper.js.map +1 -1
- package/cjs/form/combobox/FilteredOptions/FilteredOptions.js +28 -19
- 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/Input.context.d.ts +2 -0
- package/cjs/form/combobox/Input/Input.context.js +4 -1
- package/cjs/form/combobox/Input/Input.context.js.map +1 -1
- package/cjs/form/combobox/Input/InputController.js +2 -2
- package/cjs/form/combobox/Input/InputController.js.map +1 -1
- package/cjs/help-text/HelpText.js +3 -3
- package/cjs/help-text/HelpText.js.map +1 -1
- package/cjs/help-text/HelpTextIcon.d.ts +1 -2
- package/cjs/help-text/HelpTextIcon.js +3 -7
- package/cjs/help-text/HelpTextIcon.js.map +1 -1
- package/cjs/layout/page/parts/PageBlock.d.ts +9 -2
- package/cjs/layout/page/parts/PageBlock.js.map +1 -1
- package/cjs/modal/ModalUtils.js +6 -4
- package/cjs/modal/ModalUtils.js.map +1 -1
- package/cjs/overlays/dismissablelayer/DismissableLayer.js +9 -19
- package/cjs/overlays/dismissablelayer/DismissableLayer.js.map +1 -1
- package/cjs/overlays/dismissablelayer/util/usePointerDownOutside.js +5 -4
- package/cjs/overlays/dismissablelayer/util/usePointerDownOutside.js.map +1 -1
- package/cjs/overlays/floating-menu/Menu.d.ts +4 -4
- package/cjs/overlays/floating-menu/Menu.js +7 -4
- package/cjs/overlays/floating-menu/Menu.js.map +1 -1
- package/cjs/overlays/floating-menu/parts/RovingFocus.js +3 -3
- package/cjs/overlays/floating-menu/parts/RovingFocus.js.map +1 -1
- package/cjs/overlays/overlay/hooks/useAnimationsFinished.js +1 -1
- package/cjs/overlays/overlay/hooks/useAnimationsFinished.js.map +1 -1
- package/cjs/overlays/overlay/hooks/useOpenChangeAnimationComplete.js +2 -2
- package/cjs/overlays/overlay/hooks/useOpenChangeAnimationComplete.js.map +1 -1
- package/cjs/progress-bar/ProgressBar.js +9 -6
- package/cjs/progress-bar/ProgressBar.js.map +1 -1
- package/cjs/table/AnimateHeight.js +12 -13
- package/cjs/table/AnimateHeight.js.map +1 -1
- package/cjs/tabs/parts/tablist/useScrollButtons.d.ts +1 -1
- package/cjs/tabs/parts/tablist/useScrollButtons.js +4 -4
- package/cjs/tabs/parts/tablist/useScrollButtons.js.map +1 -1
- package/cjs/util/TextareaAutoSize.js +3 -10
- package/cjs/util/TextareaAutoSize.js.map +1 -1
- package/cjs/util/create-context.d.ts +0 -1
- package/cjs/util/create-context.js.map +1 -1
- package/cjs/util/debounce.d.ts +1 -1
- package/cjs/util/debounce.js +5 -8
- package/cjs/util/debounce.js.map +1 -1
- package/cjs/util/detectBrowser.d.ts +2 -0
- package/cjs/util/detectBrowser.js +7 -0
- package/cjs/util/detectBrowser.js.map +1 -0
- package/cjs/util/focus-boundary/FocusBoundary.d.ts +44 -0
- package/cjs/util/focus-boundary/FocusBoundary.js +365 -0
- package/cjs/util/focus-boundary/FocusBoundary.js.map +1 -0
- package/cjs/util/focus-guards/FocusGuards.d.ts +8 -0
- package/cjs/util/focus-guards/FocusGuards.js +36 -0
- package/cjs/util/focus-guards/FocusGuards.js.map +1 -0
- package/cjs/util/hooks/useEventCallback.js.map +1 -0
- package/cjs/{overlays/overlay → util}/hooks/useLatestRef.js +2 -2
- package/cjs/util/hooks/useLatestRef.js.map +1 -0
- package/cjs/util/hooks/useRefWithInit.js.map +1 -0
- package/cjs/util/hooks/useTimeout.d.ts +16 -0
- package/cjs/util/hooks/useTimeout.js +49 -0
- package/cjs/util/hooks/useTimeout.js.map +1 -0
- package/cjs/util/link-anchor/LinkAnchor.js +6 -7
- package/cjs/util/link-anchor/LinkAnchor.js.map +1 -1
- package/cjs/util/owner.d.ts +29 -0
- package/cjs/util/owner.js +38 -0
- package/cjs/util/owner.js.map +1 -0
- package/esm/copybutton/CopyButton.js +5 -10
- package/esm/copybutton/CopyButton.js.map +1 -1
- package/esm/date/date-utils/dropdown-options.d.ts +11 -2
- package/esm/date/date-utils/dropdown-options.js +5 -3
- package/esm/date/date-utils/dropdown-options.js.map +1 -1
- package/esm/date/datepicker/parts/DatePicker.Months.js +7 -2
- package/esm/date/datepicker/parts/DatePicker.Months.js.map +1 -1
- package/esm/form/combobox/Combobox.js +1 -3
- package/esm/form/combobox/Combobox.js.map +1 -1
- package/esm/form/combobox/ComboboxWrapper.d.ts +1 -2
- package/esm/form/combobox/ComboboxWrapper.js +1 -2
- package/esm/form/combobox/ComboboxWrapper.js.map +1 -1
- package/esm/form/combobox/FilteredOptions/FilteredOptions.js +29 -20
- 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/Input.context.d.ts +2 -0
- package/esm/form/combobox/Input/Input.context.js +4 -1
- package/esm/form/combobox/Input/Input.context.js.map +1 -1
- package/esm/form/combobox/Input/InputController.js +2 -2
- package/esm/form/combobox/Input/InputController.js.map +1 -1
- package/esm/help-text/HelpText.js +3 -3
- package/esm/help-text/HelpText.js.map +1 -1
- package/esm/help-text/HelpTextIcon.d.ts +1 -2
- package/esm/help-text/HelpTextIcon.js +3 -7
- package/esm/help-text/HelpTextIcon.js.map +1 -1
- package/esm/layout/page/parts/PageBlock.d.ts +9 -2
- package/esm/layout/page/parts/PageBlock.js.map +1 -1
- package/esm/modal/ModalUtils.js +6 -4
- package/esm/modal/ModalUtils.js.map +1 -1
- package/esm/overlays/dismissablelayer/DismissableLayer.js +9 -19
- package/esm/overlays/dismissablelayer/DismissableLayer.js.map +1 -1
- package/esm/overlays/dismissablelayer/util/usePointerDownOutside.js +5 -4
- package/esm/overlays/dismissablelayer/util/usePointerDownOutside.js.map +1 -1
- package/esm/overlays/floating-menu/Menu.d.ts +4 -4
- package/esm/overlays/floating-menu/Menu.js +7 -4
- package/esm/overlays/floating-menu/Menu.js.map +1 -1
- package/esm/overlays/floating-menu/parts/RovingFocus.js +3 -3
- package/esm/overlays/floating-menu/parts/RovingFocus.js.map +1 -1
- package/esm/overlays/overlay/hooks/useAnimationsFinished.js +1 -1
- package/esm/overlays/overlay/hooks/useAnimationsFinished.js.map +1 -1
- package/esm/overlays/overlay/hooks/useOpenChangeAnimationComplete.js +2 -2
- package/esm/overlays/overlay/hooks/useOpenChangeAnimationComplete.js.map +1 -1
- package/esm/progress-bar/ProgressBar.js +10 -7
- package/esm/progress-bar/ProgressBar.js.map +1 -1
- package/esm/table/AnimateHeight.js +12 -13
- package/esm/table/AnimateHeight.js.map +1 -1
- package/esm/tabs/parts/tablist/useScrollButtons.d.ts +1 -1
- package/esm/tabs/parts/tablist/useScrollButtons.js +4 -4
- package/esm/tabs/parts/tablist/useScrollButtons.js.map +1 -1
- package/esm/util/TextareaAutoSize.js +1 -8
- package/esm/util/TextareaAutoSize.js.map +1 -1
- package/esm/util/create-context.d.ts +0 -1
- package/esm/util/create-context.js.map +1 -1
- package/esm/util/debounce.d.ts +1 -1
- package/esm/util/debounce.js +5 -8
- package/esm/util/debounce.js.map +1 -1
- package/esm/util/detectBrowser.d.ts +2 -0
- package/esm/util/detectBrowser.js +4 -0
- package/esm/util/detectBrowser.js.map +1 -0
- package/esm/util/focus-boundary/FocusBoundary.d.ts +44 -0
- package/esm/util/focus-boundary/FocusBoundary.js +329 -0
- package/esm/util/focus-boundary/FocusBoundary.js.map +1 -0
- package/esm/util/focus-guards/FocusGuards.d.ts +8 -0
- package/esm/util/focus-guards/FocusGuards.js +31 -0
- package/esm/util/focus-guards/FocusGuards.js.map +1 -0
- package/esm/util/hooks/useEventCallback.js.map +1 -0
- package/esm/{overlays/overlay → util}/hooks/useLatestRef.js +1 -1
- package/esm/util/hooks/useLatestRef.js.map +1 -0
- package/esm/util/hooks/useRefWithInit.js.map +1 -0
- package/esm/util/hooks/useTimeout.d.ts +16 -0
- package/esm/util/hooks/useTimeout.js +45 -0
- package/esm/util/hooks/useTimeout.js.map +1 -0
- package/esm/util/link-anchor/LinkAnchor.js +6 -7
- package/esm/util/link-anchor/LinkAnchor.js.map +1 -1
- package/esm/util/owner.d.ts +29 -0
- package/esm/util/owner.js +35 -0
- package/esm/util/owner.js.map +1 -0
- package/package.json +8 -8
- package/src/copybutton/CopyButton.tsx +5 -17
- package/src/date/date-utils/dropdown-options.test.ts +37 -9
- package/src/date/date-utils/dropdown-options.ts +23 -12
- package/src/date/datepicker/parts/DatePicker.Months.tsx +8 -2
- package/src/form/combobox/Combobox.tsx +0 -4
- package/src/form/combobox/ComboboxWrapper.tsx +0 -3
- package/src/form/combobox/FilteredOptions/FilteredOptions.tsx +65 -45
- package/src/form/combobox/FilteredOptions/useVirtualFocus.ts +1 -0
- package/src/form/combobox/Input/Input.context.tsx +5 -0
- package/src/form/combobox/Input/InputController.tsx +2 -1
- package/src/form/file-upload/parts/item/utils/format-file-size.test.ts +2 -2
- package/src/help-text/HelpText.tsx +3 -2
- package/src/help-text/HelpTextIcon.tsx +2 -12
- package/src/layout/page/parts/PageBlock.tsx +9 -2
- package/src/modal/ModalUtils.ts +7 -4
- package/src/overlays/dismissablelayer/DismissableLayer.tsx +9 -18
- package/src/overlays/dismissablelayer/util/usePointerDownOutside.ts +5 -4
- package/src/overlays/floating-menu/Menu.tsx +13 -9
- package/src/overlays/floating-menu/parts/RovingFocus.tsx +3 -3
- package/src/overlays/overlay/hooks/useAnimationsFinished.ts +1 -1
- package/src/overlays/overlay/hooks/useOpenChangeAnimationComplete.ts +2 -2
- package/src/progress-bar/ProgressBar.tsx +12 -10
- package/src/table/AnimateHeight.tsx +12 -15
- package/src/tabs/parts/tablist/useScrollButtons.ts +4 -3
- package/src/util/TextareaAutoSize.tsx +1 -9
- package/src/util/create-context.tsx +0 -1
- package/src/util/debounce.ts +7 -8
- package/src/util/detectBrowser.ts +5 -0
- package/src/util/focus-boundary/FocusBoundary.tsx +453 -0
- package/src/util/focus-guards/FocusGuards.tsx +56 -0
- package/src/{overlays/overlay → util}/hooks/useLatestRef.ts +1 -1
- package/src/util/hooks/useTimeout.ts +54 -0
- package/src/util/link-anchor/LinkAnchor.tsx +7 -6
- package/src/util/owner.ts +35 -0
- package/cjs/overlays/floating-menu/parts/FocusScope.d.ts +0 -22
- package/cjs/overlays/floating-menu/parts/FocusScope.js +0 -98
- package/cjs/overlays/floating-menu/parts/FocusScope.js.map +0 -1
- package/cjs/overlays/overlay/hooks/useEventCallback.js.map +0 -1
- package/cjs/overlays/overlay/hooks/useLatestRef.js.map +0 -1
- package/cjs/overlays/overlay/hooks/useRefWithInit.js.map +0 -1
- package/esm/overlays/floating-menu/parts/FocusScope.d.ts +0 -22
- package/esm/overlays/floating-menu/parts/FocusScope.js +0 -62
- package/esm/overlays/floating-menu/parts/FocusScope.js.map +0 -1
- package/esm/overlays/overlay/hooks/useEventCallback.js.map +0 -1
- package/esm/overlays/overlay/hooks/useLatestRef.js.map +0 -1
- package/esm/overlays/overlay/hooks/useRefWithInit.js.map +0 -1
- package/src/overlays/floating-menu/parts/FocusScope.tsx +0 -83
- /package/cjs/{overlays/overlay → util}/hooks/useEventCallback.d.ts +0 -0
- /package/cjs/{overlays/overlay → util}/hooks/useEventCallback.js +0 -0
- /package/cjs/{overlays/overlay → util}/hooks/useLatestRef.d.ts +0 -0
- /package/cjs/{overlays/overlay → util}/hooks/useRefWithInit.d.ts +0 -0
- /package/cjs/{overlays/overlay → util}/hooks/useRefWithInit.js +0 -0
- /package/esm/{overlays/overlay → util}/hooks/useEventCallback.d.ts +0 -0
- /package/esm/{overlays/overlay → util}/hooks/useEventCallback.js +0 -0
- /package/esm/{overlays/overlay → util}/hooks/useLatestRef.d.ts +0 -0
- /package/esm/{overlays/overlay → util}/hooks/useRefWithInit.d.ts +0 -0
- /package/esm/{overlays/overlay → util}/hooks/useRefWithInit.js +0 -0
- /package/src/{overlays/overlay → util}/hooks/useEventCallback.ts +0 -0
- /package/src/{overlays/overlay → util}/hooks/useRefWithInit.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useEventCallback.js","sourceRoot":"","sources":["../../../src/util/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"}
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
"use client";
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.useLatestRef = useLatestRef;
|
|
5
|
-
const
|
|
5
|
+
const useClientLayoutEffect_1 = require("./useClientLayoutEffect");
|
|
6
6
|
const useRefWithInit_1 = require("./useRefWithInit");
|
|
7
7
|
function useLatestRef(value) {
|
|
8
8
|
const latest = (0, useRefWithInit_1.useRefWithInit)(createLatestRef, value).current;
|
|
9
9
|
latest.next = value;
|
|
10
|
-
(0,
|
|
10
|
+
(0, useClientLayoutEffect_1.useClientLayoutEffect)(latest.effect);
|
|
11
11
|
return latest;
|
|
12
12
|
}
|
|
13
13
|
function createLatestRef(value) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLatestRef.js","sourceRoot":"","sources":["../../../src/util/hooks/useLatestRef.ts"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAKb,oCAQC;AAXD,mEAAgE;AAChE,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,6CAAqB,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 @@
|
|
|
1
|
+
{"version":3,"file":"useRefWithInit.js","sourceRoot":"","sources":["../../../src/util/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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
declare class Timeout {
|
|
2
|
+
static create(): Timeout;
|
|
3
|
+
currentId: number;
|
|
4
|
+
/**
|
|
5
|
+
* Executes `fn` after `delay`, clearing any previously scheduled call.
|
|
6
|
+
*/
|
|
7
|
+
start(delay: number, fn: () => void): void;
|
|
8
|
+
isStarted(): boolean;
|
|
9
|
+
clear: () => void;
|
|
10
|
+
disposeEffect: () => () => void;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* A `setTimeout` with automatic cleanup and guard.
|
|
14
|
+
*/
|
|
15
|
+
declare function useTimeout(): Timeout;
|
|
16
|
+
export { Timeout, useTimeout };
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.Timeout = void 0;
|
|
5
|
+
exports.useTimeout = useTimeout;
|
|
6
|
+
const react_1 = require("react");
|
|
7
|
+
const useRefWithInit_1 = require("./useRefWithInit");
|
|
8
|
+
const EMPTY = 0;
|
|
9
|
+
class Timeout {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.currentId = EMPTY;
|
|
12
|
+
this.clear = () => {
|
|
13
|
+
if (this.currentId !== EMPTY) {
|
|
14
|
+
clearTimeout(this.currentId);
|
|
15
|
+
this.currentId = EMPTY;
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
this.disposeEffect = () => {
|
|
19
|
+
return this.clear;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
static create() {
|
|
23
|
+
return new Timeout();
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Executes `fn` after `delay`, clearing any previously scheduled call.
|
|
27
|
+
*/
|
|
28
|
+
start(delay, fn) {
|
|
29
|
+
this.clear();
|
|
30
|
+
this.currentId = setTimeout(() => {
|
|
31
|
+
this.currentId = EMPTY;
|
|
32
|
+
fn();
|
|
33
|
+
}, delay); /* Node.js types are enabled in development */
|
|
34
|
+
}
|
|
35
|
+
isStarted() {
|
|
36
|
+
return this.currentId !== EMPTY;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.Timeout = Timeout;
|
|
40
|
+
/**
|
|
41
|
+
* A `setTimeout` with automatic cleanup and guard.
|
|
42
|
+
*/
|
|
43
|
+
function useTimeout() {
|
|
44
|
+
const timeout = (0, useRefWithInit_1.useRefWithInit)(Timeout.create).current;
|
|
45
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
46
|
+
(0, react_1.useEffect)(timeout.disposeEffect, []);
|
|
47
|
+
return timeout;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=useTimeout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTimeout.js","sourceRoot":"","sources":["../../../src/util/hooks/useTimeout.ts"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;AAqDK,gCAAU;AAnD5B,iCAAkC;AAClC,qDAAkD;AAElD,MAAM,KAAK,GAAG,CAAC,CAAC;AAEhB,MAAM,OAAO;IAAb;QAKE,cAAS,GAAW,KAAK,CAAC;QAiB1B,UAAK,GAAG,GAAG,EAAE;YACX,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;gBAC7B,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACzB,CAAC;QACH,CAAC,CAAC;QAEF,kBAAa,GAAG,GAAG,EAAE;YACnB,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC,CAAC;IACJ,CAAC;IA/BC,MAAM,CAAC,MAAM;QACX,OAAO,IAAI,OAAO,EAAE,CAAC;IACvB,CAAC;IAID;;OAEG;IACH,KAAK,CAAC,KAAa,EAAE,EAAc;QACjC,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,EAAE,EAAE,CAAC;QACP,CAAC,EAAE,KAAK,CAAsB,CAAC,CAAC,8CAA8C;IAChF,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC;IAClC,CAAC;CAYF;AAcQ,0BAAO;AAZhB;;GAEG;AACH,SAAS,UAAU;IACjB,MAAM,OAAO,GAAG,IAAA,+BAAc,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAQ,CAAC;IAExD,uDAAuD;IACvD,IAAA,iBAAS,EAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAErC,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -52,6 +52,7 @@ const Theme_1 = require("../../theme/Theme");
|
|
|
52
52
|
const composeEventHandlers_1 = require("../composeEventHandlers");
|
|
53
53
|
const create_context_1 = require("../create-context");
|
|
54
54
|
const useMergeRefs_1 = require("../hooks/useMergeRefs");
|
|
55
|
+
const owner_1 = require("../owner");
|
|
55
56
|
const [LinkAnchorContextProvider, useLinkAnchorContext] = (0, create_context_1.createContext)({
|
|
56
57
|
name: "LinkAnchorOverlayContext",
|
|
57
58
|
});
|
|
@@ -63,7 +64,8 @@ const LinkAnchorOverlay = (0, react_1.forwardRef)((_a, forwardedRef) => {
|
|
|
63
64
|
return (react_1.default.createElement(LinkAnchorContextProvider, { anchorRef: anchorRef },
|
|
64
65
|
react_1.default.createElement(Component, Object.assign({ ref: forwardedRef }, restProps, { className: cn("navds-link-anchor__overlay", className), onClick: (0, composeEventHandlers_1.composeEventHandlers)(onClick, (e) => {
|
|
65
66
|
var _a;
|
|
66
|
-
if (e.target === anchorRef.current ||
|
|
67
|
+
if (e.target === anchorRef.current ||
|
|
68
|
+
isTextSelected(anchorRef.current)) {
|
|
67
69
|
return;
|
|
68
70
|
}
|
|
69
71
|
const event = new MouseEvent("click", {
|
|
@@ -100,11 +102,8 @@ const LinkAnchorArrow = (0, react_1.forwardRef)((_a, forwardedRef) => {
|
|
|
100
102
|
});
|
|
101
103
|
exports.LinkAnchorArrow = LinkAnchorArrow;
|
|
102
104
|
/* -------------------------- LinkAnchor Utilities -------------------------- */
|
|
103
|
-
function isTextSelected() {
|
|
104
|
-
var _a;
|
|
105
|
-
|
|
106
|
-
return false;
|
|
107
|
-
}
|
|
108
|
-
return !!((_a = window.getSelection()) === null || _a === void 0 ? void 0 : _a.toString());
|
|
105
|
+
function isTextSelected(refElement) {
|
|
106
|
+
var _a, _b;
|
|
107
|
+
return !!((_b = (_a = (0, owner_1.ownerWindow)(refElement)) === null || _a === void 0 ? void 0 : _a.getSelection()) === null || _b === void 0 ? void 0 : _b.toString());
|
|
109
108
|
}
|
|
110
109
|
//# sourceMappingURL=LinkAnchor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkAnchor.js","sourceRoot":"","sources":["../../../src/util/link-anchor/LinkAnchor.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAMe;AACf,qDAAqD;AACrD,0CAAuC;AACvC,6CAAiD;AACjD,kEAA+D;AAC/D,sDAAkD;AAClD,wDAAqD;
|
|
1
|
+
{"version":3,"file":"LinkAnchor.js","sourceRoot":"","sources":["../../../src/util/link-anchor/LinkAnchor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the owner document of a given element.
|
|
3
|
+
*
|
|
4
|
+
* Use this when the node might live in a different browsing context than the code
|
|
5
|
+
* invoking the utility (portals, iframes, custom documents).
|
|
6
|
+
*
|
|
7
|
+
* Examples:
|
|
8
|
+
* - Focus guards for portaled menus: pass the menu root so guards are created in the portal document.
|
|
9
|
+
* - Components rendered inside an iframe preview: scope listeners to the iframe-document.
|
|
10
|
+
* - Element opened with `window.open`: scope listeners to the new window-document.
|
|
11
|
+
*
|
|
12
|
+
* Scenarios:
|
|
13
|
+
* - Modal content rendered to parent `document.body` via a portal while running inside an iframe.
|
|
14
|
+
* - Tooltips or popovers that live outside the component't immediate DOM tree.
|
|
15
|
+
*
|
|
16
|
+
* https://github.com/radix-ui/primitives/issues/1676
|
|
17
|
+
* https://github.com/radix-ui/primitives/issues/1721
|
|
18
|
+
* https://github.com/radix-ui/primitives/discussions/1715
|
|
19
|
+
*/
|
|
20
|
+
declare function ownerDocument(node: Element | null): Document;
|
|
21
|
+
/**
|
|
22
|
+
* Returns the owner window of a given element.
|
|
23
|
+
*
|
|
24
|
+
* Examples:
|
|
25
|
+
* - Keyboard listeners for portaled overlays.
|
|
26
|
+
* - Resize/scroll observers applied to iframe widgets.
|
|
27
|
+
*/
|
|
28
|
+
declare function ownerWindow(node: Document | Element | null): typeof window;
|
|
29
|
+
export { ownerDocument, ownerWindow };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ownerDocument = ownerDocument;
|
|
4
|
+
exports.ownerWindow = ownerWindow;
|
|
5
|
+
/**
|
|
6
|
+
* Returns the owner document of a given element.
|
|
7
|
+
*
|
|
8
|
+
* Use this when the node might live in a different browsing context than the code
|
|
9
|
+
* invoking the utility (portals, iframes, custom documents).
|
|
10
|
+
*
|
|
11
|
+
* Examples:
|
|
12
|
+
* - Focus guards for portaled menus: pass the menu root so guards are created in the portal document.
|
|
13
|
+
* - Components rendered inside an iframe preview: scope listeners to the iframe-document.
|
|
14
|
+
* - Element opened with `window.open`: scope listeners to the new window-document.
|
|
15
|
+
*
|
|
16
|
+
* Scenarios:
|
|
17
|
+
* - Modal content rendered to parent `document.body` via a portal while running inside an iframe.
|
|
18
|
+
* - Tooltips or popovers that live outside the component't immediate DOM tree.
|
|
19
|
+
*
|
|
20
|
+
* https://github.com/radix-ui/primitives/issues/1676
|
|
21
|
+
* https://github.com/radix-ui/primitives/issues/1721
|
|
22
|
+
* https://github.com/radix-ui/primitives/discussions/1715
|
|
23
|
+
*/
|
|
24
|
+
function ownerDocument(node) {
|
|
25
|
+
return (node === null || node === void 0 ? void 0 : node.ownerDocument) || (globalThis === null || globalThis === void 0 ? void 0 : globalThis.document);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Returns the owner window of a given element.
|
|
29
|
+
*
|
|
30
|
+
* Examples:
|
|
31
|
+
* - Keyboard listeners for portaled overlays.
|
|
32
|
+
* - Resize/scroll observers applied to iframe widgets.
|
|
33
|
+
*/
|
|
34
|
+
function ownerWindow(node) {
|
|
35
|
+
var _a;
|
|
36
|
+
return ((_a = node === null || node === void 0 ? void 0 : node.ownerDocument) === null || _a === void 0 ? void 0 : _a.defaultView) || window;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=owner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"owner.js","sourceRoot":"","sources":["../../src/util/owner.ts"],"names":[],"mappings":";;AAkCS,sCAAa;AAAE,kCAAW;AAlCnC;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAS,aAAa,CAAC,IAAoB;IACzC,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,MAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,CAAA,CAAC;AACrD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,IAA+B;;IAClD,OAAO,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,0CAAE,WAAW,KAAI,MAAM,CAAC;AACpD,CAAC"}
|
|
@@ -9,13 +9,14 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
9
9
|
}
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
|
-
import React, { forwardRef,
|
|
12
|
+
import React, { forwardRef, useState } from "react";
|
|
13
13
|
import { CheckmarkIcon, FilesIcon } from "@navikt/aksel-icons";
|
|
14
14
|
import { Button } from "../button/index.js";
|
|
15
15
|
import { useRenameCSS, useThemeInternal } from "../theme/Theme.js";
|
|
16
16
|
import { Label } from "../typography/index.js";
|
|
17
17
|
import { composeEventHandlers } from "../util/composeEventHandlers.js";
|
|
18
18
|
import copy from "../util/copy.js";
|
|
19
|
+
import { useTimeout } from "../util/hooks/useTimeout.js";
|
|
19
20
|
import { useI18n } from "../util/i18n/i18n.hooks.js";
|
|
20
21
|
/**
|
|
21
22
|
* A button component that copies text to the clipboard when clicked.
|
|
@@ -31,24 +32,18 @@ import { useI18n } from "../util/i18n/i18n.hooks.js";
|
|
|
31
32
|
export const CopyButton = forwardRef((_a, ref) => {
|
|
32
33
|
var { className, copyText, text, activeText, variant = "neutral", onActiveChange, icon, activeIcon, activeDuration = 2000, title, iconPosition = "left", onClick, size = "medium" } = _a, rest = __rest(_a, ["className", "copyText", "text", "activeText", "variant", "onActiveChange", "icon", "activeIcon", "activeDuration", "title", "iconPosition", "onClick", "size"]);
|
|
33
34
|
const [active, setActive] = useState(false);
|
|
34
|
-
const timeoutRef = useRef(undefined);
|
|
35
35
|
const translate = useI18n("CopyButton");
|
|
36
|
+
const timeout = useTimeout();
|
|
36
37
|
const { cn } = useRenameCSS();
|
|
37
38
|
const themeContext = useThemeInternal(false);
|
|
38
|
-
useEffect(() => {
|
|
39
|
-
return () => {
|
|
40
|
-
timeoutRef.current && clearTimeout(timeoutRef.current);
|
|
41
|
-
};
|
|
42
|
-
}, []);
|
|
43
39
|
const handleClick = () => {
|
|
44
|
-
timeoutRef.current && clearTimeout(timeoutRef.current);
|
|
45
40
|
copy(copyText);
|
|
46
41
|
setActive(true);
|
|
47
42
|
onActiveChange === null || onActiveChange === void 0 ? void 0 : onActiveChange(true);
|
|
48
|
-
|
|
43
|
+
timeout.start(activeDuration, () => {
|
|
49
44
|
setActive(false);
|
|
50
45
|
onActiveChange === null || onActiveChange === void 0 ? void 0 : onActiveChange(false);
|
|
51
|
-
}
|
|
46
|
+
});
|
|
52
47
|
};
|
|
53
48
|
const activeString = activeText || translate("activeText");
|
|
54
49
|
const copyIcon = (React.createElement(LegacyIconWrapper, { useLegacy: !(themeContext === null || themeContext === void 0 ? void 0 : themeContext.isDarkside) }, active
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CopyButton.js","sourceRoot":"","sources":["../../src/copybutton/CopyButton.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"CopyButton.js","sourceRoot":"","sources":["../../src/copybutton/CopyButton.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
import { Locale } from "date-fns";
|
|
2
2
|
/** Return the months to show in the dropdown. */
|
|
3
|
-
export declare function getMonthOptions(displayMonth
|
|
3
|
+
export declare function getMonthOptions({ displayMonth, navStart, navEnd, locale, }: {
|
|
4
|
+
displayMonth: Date;
|
|
5
|
+
navStart: Date | undefined;
|
|
6
|
+
navEnd: Date | undefined;
|
|
7
|
+
locale: Locale;
|
|
8
|
+
}): {
|
|
4
9
|
value: number;
|
|
5
10
|
label: string;
|
|
6
11
|
disabled: boolean;
|
|
7
12
|
}[] | undefined;
|
|
8
13
|
/** Return the years to show in the dropdown. */
|
|
9
|
-
export declare function getYearOptions(navStart
|
|
14
|
+
export declare function getYearOptions({ navStart, navEnd, locale, }: {
|
|
15
|
+
navStart: Date | undefined;
|
|
16
|
+
navEnd: Date | undefined;
|
|
17
|
+
locale: Locale;
|
|
18
|
+
}): {
|
|
10
19
|
value: number;
|
|
11
20
|
label: string;
|
|
12
21
|
disabled: boolean;
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { addYears, eachMonthOfInterval, endOfYear, format, getMonth, getYear, isBefore, isSameYear, startOfMonth, startOfYear, } from "date-fns";
|
|
2
2
|
/** Return the months to show in the dropdown. */
|
|
3
|
-
export function getMonthOptions(displayMonth, navStart, navEnd, locale) {
|
|
3
|
+
export function getMonthOptions({ displayMonth, navStart, navEnd, locale, }) {
|
|
4
4
|
const months = eachMonthOfInterval({
|
|
5
5
|
start: startOfYear(displayMonth),
|
|
6
6
|
end: endOfYear(displayMonth),
|
|
7
7
|
});
|
|
8
8
|
const options = months.map((month) => {
|
|
9
|
-
const label = format(month, "LLLL", {
|
|
9
|
+
const label = format(month, "LLLL", {
|
|
10
|
+
locale,
|
|
11
|
+
}).replace(".", "");
|
|
10
12
|
const value = getMonth(month);
|
|
11
13
|
const disabled = (navStart && month < startOfMonth(navStart)) ||
|
|
12
14
|
(navEnd && month > startOfMonth(navEnd)) ||
|
|
@@ -16,7 +18,7 @@ export function getMonthOptions(displayMonth, navStart, navEnd, locale) {
|
|
|
16
18
|
return options;
|
|
17
19
|
}
|
|
18
20
|
/** Return the years to show in the dropdown. */
|
|
19
|
-
export function getYearOptions(navStart, navEnd, locale) {
|
|
21
|
+
export function getYearOptions({ navStart, navEnd, locale, }) {
|
|
20
22
|
if (!navStart)
|
|
21
23
|
return undefined;
|
|
22
24
|
if (!navEnd)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-options.js","sourceRoot":"","sources":["../../../src/date/date-utils/dropdown-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,mBAAmB,EACnB,SAAS,EACT,MAAM,EACN,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,WAAW,GACZ,MAAM,UAAU,CAAC;AAElB,iDAAiD;AACjD,MAAM,UAAU,eAAe,
|
|
1
|
+
{"version":3,"file":"dropdown-options.js","sourceRoot":"","sources":["../../../src/date/date-utils/dropdown-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,mBAAmB,EACnB,SAAS,EACT,MAAM,EACN,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,WAAW,GACZ,MAAM,UAAU,CAAC;AAElB,iDAAiD;AACjD,MAAM,UAAU,eAAe,CAAC,EAC9B,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,MAAM,GAMP;IAOC,MAAM,MAAM,GAAG,mBAAmB,CAAC;QACjC,KAAK,EAAE,WAAW,CAAC,YAAY,CAAC;QAChC,GAAG,EAAE,SAAS,CAAC,YAAY,CAAC;KAC7B,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACnC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE;YAClC,MAAM;SACP,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACpB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,QAAQ,GACZ,CAAC,QAAQ,IAAI,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC5C,CAAC,MAAM,IAAI,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YACxC,KAAK,CAAC;QACR,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,cAAc,CAAC,EAC7B,QAAQ,EACR,MAAM,EACN,MAAM,GAKP;IAOC,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAE9B,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,KAAK,GAAW,EAAE,CAAC;IAEzB,IAAI,IAAI,GAAG,YAAY,CAAC;IACxB,OAAO,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACzB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAChD,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC;YACrB,KAAK;YACL,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -43,8 +43,13 @@ const DatePickerMonths = (_a) => {
|
|
|
43
43
|
endMonth: dayPickerProps.endMonth,
|
|
44
44
|
today: dayPickerProps.today,
|
|
45
45
|
});
|
|
46
|
-
const months = getMonthOptions(
|
|
47
|
-
|
|
46
|
+
const months = getMonthOptions({
|
|
47
|
+
displayMonth: calendarMonth.date,
|
|
48
|
+
navStart,
|
|
49
|
+
navEnd,
|
|
50
|
+
locale,
|
|
51
|
+
});
|
|
52
|
+
const dropdownYears = getYearOptions({ navStart, navEnd, locale });
|
|
48
53
|
return (React.createElement("div", Object.assign({}, omit(rest, ["displayIndex"])),
|
|
49
54
|
React.createElement("div", { className: cn("navds-date__caption") },
|
|
50
55
|
(captionLayout === null || captionLayout === void 0 ? void 0 : captionLayout.startsWith("dropdown")) && (React.createElement("span", { "aria-live": "polite", "aria-atomic": "true", className: cn("navds-sr-only") }, format(calendarMonth.date, "LLLL y", { locale }))),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.Months.js","sourceRoot":"","sources":["../../../../src/date/datepicker/parts/DatePicker.Months.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAEL,MAAM,EACN,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,OAAO,EACP,YAAY,GACb,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,EAAe,WAAW,EAAE,MAAM,OAAO,CAAC;AACxD,OAAO,EAAiB,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EACL,aAAa,EACb,eAAe,EACf,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,gBAAgB,GAAG,CAAC,EAWc,EAAE,EAAE;QAXlB,EACxB,QAAQ,EACR,aAAa,EACb,MAAM,EACN,iBAAiB,OAOqB,EANnC,IAAI,cALiB,4DAMzB,CADQ;IAOP,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,GAC3D,YAAY,EAAE,CAAC;IAEjB,MAAM,EAAE,aAAa,EAAE,GAAG,cAAc,CAAC;IAEzC,MAAM,EAAE,EAAE,EAAE,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,yBAAyB,EAAE,CAAC,SAAS,CAAC;IAExD,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,IAAU,EAAE,CAAiC,EAAE,EAAE;QAChD,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC;QAC7D,SAAS,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC,EACD,CAAC,SAAS,CAAC,CACZ,CAAC;IAEF,MAAM,gBAAgB,GAAG,WAAW,CAClC,CAAC,IAAU,EAAE,CAAiC,EAAE,EAAE;QAChD,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;QAC3D,SAAS,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC,EACD,CAAC,SAAS,CAAC,CACZ,CAAC;IAEF,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,aAAa,CAAC;QACvC,aAAa,EAAE,aAAa,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO;QAClE,UAAU,EAAE,cAAc,CAAC,UAAU;QACrC,QAAQ,EAAE,cAAc,CAAC,QAAQ;QACjC,KAAK,EAAE,cAAc,CAAC,KAAK;KAC5B,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,eAAe,CAAC,aAAa,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"DatePicker.Months.js","sourceRoot":"","sources":["../../../../src/date/datepicker/parts/DatePicker.Months.tsx"],"names":[],"mappings":"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"}
|
|
@@ -16,16 +16,14 @@ import { BodyShort, ErrorMessage, Label } from "../../typography/index.js";
|
|
|
16
16
|
import { ReadOnlyIconWithTitle } from "../ReadOnlyIcon.js";
|
|
17
17
|
import ComboboxWrapper from "./ComboboxWrapper.js";
|
|
18
18
|
import FilteredOptions from "./FilteredOptions/FilteredOptions.js";
|
|
19
|
-
import { useFilteredOptionsContext } from "./FilteredOptions/filteredOptionsContext.js";
|
|
20
19
|
import { useInputContext } from "./Input/Input.context.js";
|
|
21
20
|
import { InputController } from "./Input/InputController.js";
|
|
22
21
|
export const Combobox = forwardRef((props, ref) => {
|
|
23
22
|
const { className, hideLabel = false, description, label } = props, rest = __rest(props, ["className", "hideLabel", "description", "label"]);
|
|
24
23
|
const { cn } = useRenameCSS();
|
|
25
|
-
const { toggleIsListOpen } = useFilteredOptionsContext();
|
|
26
24
|
const { error, errorId, hasError, inputDescriptionId, inputProps, showErrorMsg, size = "medium", readOnly, } = useInputContext();
|
|
27
25
|
return (React.createElement(Floating, null,
|
|
28
|
-
React.createElement(ComboboxWrapper, { className: className, hasError: hasError, inputProps: inputProps, inputSize: size
|
|
26
|
+
React.createElement(ComboboxWrapper, { className: className, hasError: hasError, inputProps: inputProps, inputSize: size },
|
|
29
27
|
React.createElement(Label, { htmlFor: inputProps.id, size: size, className: cn("navds-form-field__label", {
|
|
30
28
|
"navds-sr-only": hideLabel,
|
|
31
29
|
}) },
|
|
@@ -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,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,
|
|
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,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,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;YAEf,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"}
|
|
@@ -8,7 +8,6 @@ type ComboboxWrapperProps = {
|
|
|
8
8
|
};
|
|
9
9
|
readOnly?: boolean;
|
|
10
10
|
inputSize: string;
|
|
11
|
-
toggleIsListOpen: (isListOpen: boolean) => void;
|
|
12
11
|
};
|
|
13
|
-
declare const ComboboxWrapper: ({ children, className, hasError, inputProps, inputSize,
|
|
12
|
+
declare const ComboboxWrapper: ({ children, className, hasError, inputProps, inputSize, }: ComboboxWrapperProps) => React.JSX.Element;
|
|
14
13
|
export default ComboboxWrapper;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useRef, useState } from "react";
|
|
2
2
|
import { useRenameCSS } from "../../theme/Theme.js";
|
|
3
3
|
import { useInputContext } from "./Input/Input.context.js";
|
|
4
|
-
const ComboboxWrapper = ({ children, className, hasError, inputProps, inputSize,
|
|
4
|
+
const ComboboxWrapper = ({ children, className, hasError, inputProps, inputSize, }) => {
|
|
5
5
|
const { cn } = useRenameCSS();
|
|
6
6
|
const { toggleOpenButtonRef, clearInput, readOnly } = useInputContext();
|
|
7
7
|
const wrapperRef = useRef(null);
|
|
@@ -16,7 +16,6 @@ const ComboboxWrapper = ({ children, className, hasError, inputProps, inputSize,
|
|
|
16
16
|
function onBlurWrapper(event) {
|
|
17
17
|
var _a;
|
|
18
18
|
if (!((_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.contains(event.relatedTarget))) {
|
|
19
|
-
toggleIsListOpen(false);
|
|
20
19
|
setHasFocusWithin(false);
|
|
21
20
|
clearInput(event);
|
|
22
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxWrapper.js","sourceRoot":"","sources":["../../../src/form/combobox/ComboboxWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"ComboboxWrapper.js","sourceRoot":"","sources":["../../../src/form/combobox/ComboboxWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAaxD,MAAM,eAAe,GAAG,CAAC,EACvB,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,UAAU,EACV,SAAS,GACY,EAAE,EAAE;IACzB,MAAM,EAAE,EAAE,EAAE,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,EAAE,mBAAmB,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,eAAe,EAAE,CAAC;IAExE,MAAM,UAAU,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IACvD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5D,SAAS,oBAAoB,CAAC,KAAuC;;QACnE,IACE,CAAC,CAAA,MAAA,UAAU,CAAC,OAAO,0CAAE,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;YAClD,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,OAAO,MAAK,KAAK,CAAC,MAAM,EAC7C,CAAC;YACD,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,SAAS,aAAa,CAAC,KAAuC;;QAC5D,IAAI,CAAC,CAAA,MAAA,UAAU,CAAC,OAAO,0CAAE,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA,EAAE,CAAC;YACvD,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzB,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO,CACL,6BACE,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,EAAE,CACX,SAAS,EACT,kBAAkB,EAClB,qBAAqB,SAAS,EAAE,EAChC;YACE,uBAAuB,EAAE,QAAQ;YACjC,0BAA0B,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ;YACjD,yBAAyB,EAAE,cAAc;YACzC,0BAA0B,EAAE,QAAQ;YACpC,4BAA4B,EAAE,QAAQ;SACvC,CACF,EACD,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,aAAa,IAEpB,QAAQ,CACL,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import React, { useState } from "react";
|
|
1
|
+
import React, { useRef, useState } from "react";
|
|
2
|
+
import { DismissableLayer } from "../../../overlays/dismissablelayer/DismissableLayer.js";
|
|
2
3
|
import { Floating } from "../../../overlays/floating/Floating.js";
|
|
3
4
|
import { useRenameCSS, useThemeInternal } from "../../../theme/Theme.js";
|
|
4
5
|
import { useClientLayoutEffect } from "../../../util/index.js";
|
|
@@ -14,9 +15,10 @@ import { useFilteredOptionsContext } from "./filteredOptionsContext.js";
|
|
|
14
15
|
const FilteredOptions = () => {
|
|
15
16
|
const { cn } = useRenameCSS();
|
|
16
17
|
const themeContext = useThemeInternal(false);
|
|
17
|
-
const { inputProps: { id }, } = useInputContext();
|
|
18
|
-
const { allowNewValues, isLoading, isListOpen, filteredOptions, setFilteredOptionsRef, isMouseLastUsedInputDevice, isValueNew, } = useFilteredOptionsContext();
|
|
18
|
+
const { inputProps: { id }, anchorRef, } = useInputContext();
|
|
19
|
+
const { allowNewValues, isLoading, isListOpen, filteredOptions, setFilteredOptionsRef, isMouseLastUsedInputDevice, isValueNew, toggleIsListOpen, } = useFilteredOptionsContext();
|
|
19
20
|
const [localOpen, setLocalOpen] = useState(isListOpen);
|
|
21
|
+
const floatingRef = useRef(null);
|
|
20
22
|
/**
|
|
21
23
|
* This is a dirty hack to make the positioning-logic in Floating base the "flip" on the static 290px max-height,
|
|
22
24
|
* instead of the dynamic one based on available space. Without this, the list won't flip to top when there's
|
|
@@ -32,23 +34,30 @@ const FilteredOptions = () => {
|
|
|
32
34
|
const shouldRenderFilteredOptionsList = (allowNewValues && isValueNew && !maxSelected.isLimitReached) || // Render add new option
|
|
33
35
|
filteredOptions.length > 0; // Render filtered options
|
|
34
36
|
const height = (themeContext === null || themeContext === void 0 ? void 0 : themeContext.isDarkside) ? "316px" : "290px";
|
|
35
|
-
return (React.createElement(
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
37
|
+
return (React.createElement(DismissableLayer, { asChild: true, safeZone: {
|
|
38
|
+
anchor: anchorRef,
|
|
39
|
+
dismissable: floatingRef.current,
|
|
40
|
+
}, onDismiss: () => localOpen && toggleIsListOpen(false), onEscapeKeyDown: (event) => {
|
|
41
|
+
/* We handle this manually in Input */
|
|
42
|
+
event.preventDefault();
|
|
43
|
+
}, enabled: localOpen },
|
|
44
|
+
React.createElement(Floating.Content, { ref: floatingRef, className: cn("navds-combobox__list", {
|
|
45
|
+
"navds-combobox__list--closed": !isListOpen,
|
|
46
|
+
"navds-combobox__list--with-hover": isMouseLastUsedInputDevice,
|
|
47
|
+
}), id: filteredOptionsUtil.getFilteredOptionsId(id), tabIndex: -1, sideOffset: 8, side: "bottom", fallbackPlacements: ["top"], enabled: isListOpen, style: {
|
|
48
|
+
maxHeight: localOpen
|
|
49
|
+
? `min(${height}, var(--ac-floating-available-height))`
|
|
50
|
+
: `${height}`,
|
|
51
|
+
}, autoUpdateWhileMounted: false },
|
|
52
|
+
shouldRenderNonSelectables && (React.createElement("div", { className: cn("navds-combobox__list_non-selectables"), role: "status" },
|
|
53
|
+
isMultiSelect && maxSelected.limit && React.createElement(MaxSelectedMessage, null),
|
|
54
|
+
isLoading && React.createElement(LoadingMessage, null),
|
|
55
|
+
!isLoading && filteredOptions.length === 0 && !allowNewValues && (React.createElement(NoSearchHitsMessage, null)))),
|
|
56
|
+
shouldRenderFilteredOptionsList && (
|
|
57
|
+
/* biome-ignore lint/a11y/useFocusableInteractive: Interaction is not handeled by listbox itself. */
|
|
58
|
+
React.createElement("ul", { ref: setFilteredOptionsRef, role: "listbox", className: cn("navds-combobox__list-options") },
|
|
59
|
+
isValueNew && !maxSelected.isLimitReached && allowNewValues && (React.createElement(AddNewOption, null)),
|
|
60
|
+
filteredOptions.map((option) => (React.createElement(FilteredOptionsItem, { key: option.value, option: option }))))))));
|
|
52
61
|
};
|
|
53
62
|
export default FilteredOptions;
|
|
54
63
|
//# sourceMappingURL=FilteredOptions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilteredOptions.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/FilteredOptions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,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;QAEnE,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,2BAA2B,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"useVirtualFocus.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/useVirtualFocus.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,8 @@ interface InputContextValue extends FormFieldType {
|
|
|
15
15
|
toggleOpenButtonRef: React.MutableRefObject<HTMLDivElement | null>;
|
|
16
16
|
hideCaret: boolean;
|
|
17
17
|
setHideCaret: React.Dispatch<React.SetStateAction<boolean>>;
|
|
18
|
+
anchorRef: HTMLDivElement | null;
|
|
19
|
+
setAnchorRef: React.Dispatch<React.SetStateAction<HTMLDivElement | null>>;
|
|
18
20
|
}
|
|
19
21
|
declare const useInputContext: <S extends boolean = true>(strict?: S) => S extends true ? InputContextValue : InputContextValue | undefined;
|
|
20
22
|
interface Props {
|
|
@@ -21,6 +21,7 @@ const InputProvider = ({ children, value: props }) => {
|
|
|
21
21
|
const toggleOpenButtonRef = useRef(null);
|
|
22
22
|
const [internalValue, setInternalValue] = useState(defaultValue);
|
|
23
23
|
const [hideCaret, setHideCaret] = useState(false);
|
|
24
|
+
const [anchorRef, setAnchorRef] = useState(null);
|
|
24
25
|
const value = useMemo(() => String(externalValue !== null && externalValue !== void 0 ? externalValue : internalValue), [externalValue, internalValue]);
|
|
25
26
|
const [searchTerm, setSearchTerm] = useState(value);
|
|
26
27
|
const onChange = useCallback((newValue) => {
|
|
@@ -54,7 +55,9 @@ const InputProvider = ({ children, value: props }) => {
|
|
|
54
55
|
shouldAutocomplete,
|
|
55
56
|
toggleOpenButtonRef,
|
|
56
57
|
hideCaret,
|
|
57
|
-
setHideCaret
|
|
58
|
+
setHideCaret,
|
|
59
|
+
anchorRef,
|
|
60
|
+
setAnchorRef });
|
|
58
61
|
return (React.createElement(InputContextProvider, Object.assign({}, contextValue), children));
|
|
59
62
|
};
|
|
60
63
|
export { InputProvider as InputContextProvider, useInputContext };
|