@norges-domstoler/dds-components 19.1.0 → 19.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +14 -2
- package/dist/index.d.ts +14 -2
- package/dist/index.js +51 -8
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +84 -37
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -448,14 +448,14 @@ declare const useMountTransition: (isMounted: boolean, unmountDelay: number) =>
|
|
|
448
448
|
* ```
|
|
449
449
|
* const [isOpen, setOpen] = useState(true);
|
|
450
450
|
* const ref = useRef<HTMLElement>(null);
|
|
451
|
-
* useOnClickOutside(ref, () => setOpen(false));
|
|
451
|
+
* useOnClickOutside(ref.current, () => setOpen(false));
|
|
452
452
|
*
|
|
453
453
|
* return <div ref={ref}>innhold</div>
|
|
454
454
|
* ```
|
|
455
455
|
* @param element HTML elementet man klikker utenfor.
|
|
456
456
|
* @param handler funksjonen som kjøres ved klikk utenfor.
|
|
457
457
|
*/
|
|
458
|
-
declare function useOnClickOutside(element: HTMLElement | null | Array<HTMLElement | null>, handler: (event: MouseEvent | TouchEvent) => void): void;
|
|
458
|
+
declare function useOnClickOutside(element: HTMLElement | null | Array<HTMLElement | null | undefined>, handler: (event: MouseEvent | TouchEvent) => void): void;
|
|
459
459
|
|
|
460
460
|
/**
|
|
461
461
|
* Kjører logikk når en spesifisert tast blir trykt ned.
|
|
@@ -2391,6 +2391,12 @@ type PopoverProps = BaseComponentPropsWithChildren<HTMLDivElement, {
|
|
|
2391
2391
|
* @default true
|
|
2392
2392
|
*/
|
|
2393
2393
|
returnFocusOnBlur?: boolean;
|
|
2394
|
+
/**Anchor ref ved custom kontrollert bruk uten `<PopoverGroup>` Kun for corner cases. */
|
|
2395
|
+
anchorRef?: RefObject<HTMLElement | null>;
|
|
2396
|
+
/**Spesifiserer om popover er åpen ved custom kontrollert bruk uten `<PopoverGroup>` Kun for corner cases. */
|
|
2397
|
+
isOpen?: boolean;
|
|
2398
|
+
/**Callback for lukking ved custom kontrollert bruk uten `<PopoverGroup>` Kun for corner cases. */
|
|
2399
|
+
onClose?: () => void;
|
|
2394
2400
|
}>;
|
|
2395
2401
|
declare const Popover: react.ForwardRefExoticComponent<Pick<react.HTMLAttributes<HTMLDivElement>, "id" | "className"> & {
|
|
2396
2402
|
/**Header. Bruker default semantisk heading hvis verdien er en `string`. */
|
|
@@ -2415,6 +2421,12 @@ declare const Popover: react.ForwardRefExoticComponent<Pick<react.HTMLAttributes
|
|
|
2415
2421
|
* @default true
|
|
2416
2422
|
*/
|
|
2417
2423
|
returnFocusOnBlur?: boolean;
|
|
2424
|
+
/**Anchor ref ved custom kontrollert bruk uten `<PopoverGroup>` Kun for corner cases. */
|
|
2425
|
+
anchorRef?: RefObject<HTMLElement | null>;
|
|
2426
|
+
/**Spesifiserer om popover er åpen ved custom kontrollert bruk uten `<PopoverGroup>` Kun for corner cases. */
|
|
2427
|
+
isOpen?: boolean;
|
|
2428
|
+
/**Callback for lukking ved custom kontrollert bruk uten `<PopoverGroup>` Kun for corner cases. */
|
|
2429
|
+
onClose?: () => void;
|
|
2418
2430
|
} & {
|
|
2419
2431
|
children?: ReactNode | undefined;
|
|
2420
2432
|
} & {
|
package/dist/index.d.ts
CHANGED
|
@@ -448,14 +448,14 @@ declare const useMountTransition: (isMounted: boolean, unmountDelay: number) =>
|
|
|
448
448
|
* ```
|
|
449
449
|
* const [isOpen, setOpen] = useState(true);
|
|
450
450
|
* const ref = useRef<HTMLElement>(null);
|
|
451
|
-
* useOnClickOutside(ref, () => setOpen(false));
|
|
451
|
+
* useOnClickOutside(ref.current, () => setOpen(false));
|
|
452
452
|
*
|
|
453
453
|
* return <div ref={ref}>innhold</div>
|
|
454
454
|
* ```
|
|
455
455
|
* @param element HTML elementet man klikker utenfor.
|
|
456
456
|
* @param handler funksjonen som kjøres ved klikk utenfor.
|
|
457
457
|
*/
|
|
458
|
-
declare function useOnClickOutside(element: HTMLElement | null | Array<HTMLElement | null>, handler: (event: MouseEvent | TouchEvent) => void): void;
|
|
458
|
+
declare function useOnClickOutside(element: HTMLElement | null | Array<HTMLElement | null | undefined>, handler: (event: MouseEvent | TouchEvent) => void): void;
|
|
459
459
|
|
|
460
460
|
/**
|
|
461
461
|
* Kjører logikk når en spesifisert tast blir trykt ned.
|
|
@@ -2391,6 +2391,12 @@ type PopoverProps = BaseComponentPropsWithChildren<HTMLDivElement, {
|
|
|
2391
2391
|
* @default true
|
|
2392
2392
|
*/
|
|
2393
2393
|
returnFocusOnBlur?: boolean;
|
|
2394
|
+
/**Anchor ref ved custom kontrollert bruk uten `<PopoverGroup>` Kun for corner cases. */
|
|
2395
|
+
anchorRef?: RefObject<HTMLElement | null>;
|
|
2396
|
+
/**Spesifiserer om popover er åpen ved custom kontrollert bruk uten `<PopoverGroup>` Kun for corner cases. */
|
|
2397
|
+
isOpen?: boolean;
|
|
2398
|
+
/**Callback for lukking ved custom kontrollert bruk uten `<PopoverGroup>` Kun for corner cases. */
|
|
2399
|
+
onClose?: () => void;
|
|
2394
2400
|
}>;
|
|
2395
2401
|
declare const Popover: react.ForwardRefExoticComponent<Pick<react.HTMLAttributes<HTMLDivElement>, "id" | "className"> & {
|
|
2396
2402
|
/**Header. Bruker default semantisk heading hvis verdien er en `string`. */
|
|
@@ -2415,6 +2421,12 @@ declare const Popover: react.ForwardRefExoticComponent<Pick<react.HTMLAttributes
|
|
|
2415
2421
|
* @default true
|
|
2416
2422
|
*/
|
|
2417
2423
|
returnFocusOnBlur?: boolean;
|
|
2424
|
+
/**Anchor ref ved custom kontrollert bruk uten `<PopoverGroup>` Kun for corner cases. */
|
|
2425
|
+
anchorRef?: RefObject<HTMLElement | null>;
|
|
2426
|
+
/**Spesifiserer om popover er åpen ved custom kontrollert bruk uten `<PopoverGroup>` Kun for corner cases. */
|
|
2427
|
+
isOpen?: boolean;
|
|
2428
|
+
/**Callback for lukking ved custom kontrollert bruk uten `<PopoverGroup>` Kun for corner cases. */
|
|
2429
|
+
onClose?: () => void;
|
|
2418
2430
|
} & {
|
|
2419
2431
|
children?: ReactNode | undefined;
|
|
2420
2432
|
} & {
|
package/dist/index.js
CHANGED
|
@@ -2868,7 +2868,7 @@ var import_react19 = require("react");
|
|
|
2868
2868
|
function useOnClickOutside(element, handler) {
|
|
2869
2869
|
(0, import_react19.useEffect)(() => {
|
|
2870
2870
|
const listener = (event) => {
|
|
2871
|
-
const elements = Array.isArray(element) ? element : [element];
|
|
2871
|
+
const elements = Array.isArray(element) ? element : [element].filter(Boolean);
|
|
2872
2872
|
const hasClickedInside = elements.some(
|
|
2873
2873
|
(el) => el == null ? void 0 : el.contains(event.target)
|
|
2874
2874
|
);
|
|
@@ -9933,6 +9933,7 @@ var import_jsx_runtime271 = require("react/jsx-runtime");
|
|
|
9933
9933
|
var Popover = (0, import_react113.forwardRef)(
|
|
9934
9934
|
(props, ref) => {
|
|
9935
9935
|
const {
|
|
9936
|
+
id,
|
|
9936
9937
|
header,
|
|
9937
9938
|
withCloseButton = true,
|
|
9938
9939
|
onBlur,
|
|
@@ -9943,23 +9944,59 @@ var Popover = (0, import_react113.forwardRef)(
|
|
|
9943
9944
|
returnFocusOnBlur = true,
|
|
9944
9945
|
className,
|
|
9945
9946
|
htmlProps = {},
|
|
9947
|
+
anchorRef,
|
|
9948
|
+
isOpen: propIsOpen,
|
|
9949
|
+
onClose: propOnClose,
|
|
9946
9950
|
...rest
|
|
9947
9951
|
} = props;
|
|
9952
|
+
const { refs, styles: positionStyles } = useFloatPosition(null, {
|
|
9953
|
+
offset,
|
|
9954
|
+
placement
|
|
9955
|
+
});
|
|
9956
|
+
const context = usePopoverContext();
|
|
9948
9957
|
const {
|
|
9949
|
-
floatStyling,
|
|
9958
|
+
floatStyling: contextFloatStyling,
|
|
9950
9959
|
setFloatOptions,
|
|
9951
|
-
floatingRef,
|
|
9960
|
+
floatingRef: contextFloatingRef,
|
|
9961
|
+
popoverId: contextPopoverId,
|
|
9962
|
+
onClose: contextOnClose,
|
|
9963
|
+
isOpen: contextIsOpen,
|
|
9964
|
+
anchorEl: contextAnchorEl
|
|
9965
|
+
} = context;
|
|
9966
|
+
const hasContext = contextPopoverId !== void 0;
|
|
9967
|
+
const generatedId = (0, import_react113.useId)();
|
|
9968
|
+
const uniquePopoverId = id != null ? id : `${generatedId}-popover`;
|
|
9969
|
+
const [
|
|
9952
9970
|
popoverId,
|
|
9953
|
-
|
|
9971
|
+
anchorEl,
|
|
9954
9972
|
isOpen = false,
|
|
9955
|
-
|
|
9956
|
-
|
|
9973
|
+
floatingRef,
|
|
9974
|
+
floatStyling,
|
|
9975
|
+
onClose
|
|
9976
|
+
] = hasContext ? [
|
|
9977
|
+
contextPopoverId,
|
|
9978
|
+
contextAnchorEl,
|
|
9979
|
+
contextIsOpen,
|
|
9980
|
+
contextFloatingRef,
|
|
9981
|
+
contextFloatStyling,
|
|
9982
|
+
contextOnClose
|
|
9983
|
+
] : [
|
|
9984
|
+
uniquePopoverId,
|
|
9985
|
+
(anchorRef == null ? void 0 : anchorRef.current) && anchorRef.current,
|
|
9986
|
+
propIsOpen,
|
|
9987
|
+
refs.setFloating,
|
|
9988
|
+
positionStyles.floating,
|
|
9989
|
+
propOnClose
|
|
9990
|
+
];
|
|
9991
|
+
if (!hasContext) {
|
|
9992
|
+
refs.setReference(anchorEl || null);
|
|
9993
|
+
}
|
|
9957
9994
|
const hasTransitionedIn = useMountTransition(isOpen, 400);
|
|
9958
9995
|
const popoverRef = useReturnFocusOnBlur(
|
|
9959
9996
|
isOpen && hasTransitionedIn && returnFocusOnBlur,
|
|
9960
9997
|
() => {
|
|
9961
|
-
onClose
|
|
9962
|
-
onBlur
|
|
9998
|
+
onClose == null ? void 0 : onClose();
|
|
9999
|
+
onBlur == null ? void 0 : onBlur();
|
|
9963
10000
|
},
|
|
9964
10001
|
anchorEl && anchorEl
|
|
9965
10002
|
);
|
|
@@ -9967,6 +10004,12 @@ var Popover = (0, import_react113.forwardRef)(
|
|
|
9967
10004
|
(0, import_react113.useEffect)(() => {
|
|
9968
10005
|
setFloatOptions && setFloatOptions({ placement, offset });
|
|
9969
10006
|
}, [placement, offset]);
|
|
10007
|
+
useOnClickOutside([popoverRef.current, anchorEl], () => {
|
|
10008
|
+
if (isOpen && !hasContext) onClose == null ? void 0 : onClose();
|
|
10009
|
+
});
|
|
10010
|
+
useOnKeyDown("Escape", () => {
|
|
10011
|
+
if (isOpen && !hasContext) onClose == null ? void 0 : onClose();
|
|
10012
|
+
});
|
|
9970
10013
|
const hasTitle = !!header;
|
|
9971
10014
|
const openCn = hasTransitionedIn && isOpen ? "open" : "closed";
|
|
9972
10015
|
return isOpen || hasTransitionedIn ? /* @__PURE__ */ (0, import_jsx_runtime271.jsxs)(
|