@inera/ids-react 9.2.1 → 9.3.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/components/accordion/accordion-base.d.ts +2 -1
- package/components/accordion/accordion-base.js +3 -4
- package/components/accordion/accordion.js +5 -2
- package/components/alert/alert-base.js +2 -2
- package/components/breadcrumbs/breadcrumbs.js +6 -1
- package/components/button/button.d.ts +1 -0
- package/components/button/button.js +2 -2
- package/components/button/control-button.d.ts +6 -0
- package/components/button/control-button.js +9 -0
- package/components/carousel/carousel.js +1 -1
- package/components/dialog/dialog-base.js +1 -1
- package/components/form/checkbox/checkbox-base.js +2 -3
- package/components/form/checkbox/checkbox-group-base.d.ts +2 -1
- package/components/form/checkbox/checkbox-group-base.js +3 -3
- package/components/form/checkbox/checkbox-group.d.ts +2 -1
- package/components/form/checkbox/checkbox-group.js +2 -2
- package/components/form/checkbox/checkbox.js +3 -4
- package/components/form/datepicker/datepicker.d.ts +3 -1
- package/components/form/datepicker/datepicker.js +142 -110
- package/components/form/form-hooks/useInputValidity.d.ts +1 -1
- package/components/form/form-hooks/useInputValidity.js +28 -12
- package/components/form/form-props/form-props.d.ts +1 -0
- package/components/form/input/input-base.d.ts +4 -2
- package/components/form/input/input-base.js +14 -9
- package/components/form/input/input.d.ts +3 -0
- package/components/form/input/input.js +1 -1
- package/components/form/radio/radio-base.js +1 -2
- package/components/form/radio/radio-group-base.d.ts +2 -1
- package/components/form/radio/radio-group-base.js +3 -3
- package/components/form/radio/radio-group.d.ts +2 -1
- package/components/form/radio/radio-group.js +2 -2
- package/components/form/range/range-base.d.ts +1 -1
- package/components/form/range/range-base.js +2 -2
- package/components/form/select/select-base.d.ts +3 -3
- package/components/form/select/select-base.js +3 -5
- package/components/form/select/select.d.ts +2 -2
- package/components/form/select/select.js +1 -1
- package/components/form/select-multiple/select-multiple-base.d.ts +1 -1
- package/components/form/select-multiple/select-multiple-base.js +2 -2
- package/components/form/textarea/textarea-base.d.ts +1 -1
- package/components/form/textarea/textarea-base.js +3 -5
- package/components/form/textarea/textarea.js +1 -1
- package/components/form/time/time-base.d.ts +1 -1
- package/components/form/time/time-base.js +2 -4
- package/components/form/time/time.js +4 -5
- package/components/header-1177/header-1177-region-picker-base.d.ts +3 -1
- package/components/header-1177/header-1177-region-picker-base.js +8 -3
- package/components/header-1177/header-1177-region-picker-mobile-base.d.ts +3 -1
- package/components/header-1177/header-1177-region-picker-mobile-base.js +8 -3
- package/components/header-1177/header-1177-region-picker-mobile.d.ts +2 -0
- package/components/header-1177/header-1177-region-picker.d.ts +2 -0
- package/components/header-1177-pro/header-1177-pro-region-picker-base.d.ts +3 -1
- package/components/header-1177-pro/header-1177-pro-region-picker-base.js +8 -3
- package/components/header-1177-pro/header-1177-pro-region-picker-mobile-base.d.ts +3 -1
- package/components/header-1177-pro/header-1177-pro-region-picker-mobile-base.js +8 -3
- package/components/header-1177-pro/header-1177-pro-region-picker-mobile.d.ts +3 -1
- package/components/header-1177-pro/header-1177-pro-region-picker-mobile.js +1 -1
- package/components/header-1177-pro/header-1177-pro-region-picker.d.ts +3 -1
- package/components/header-1177-pro/header-1177-pro-region-picker.js +1 -1
- package/components/popover/popover-content.js +1 -1
- package/components/popover/popover.d.ts +2 -1
- package/components/popover/popover.js +28 -14
- package/components/puff-list/puff-list-item-header.d.ts +1 -1
- package/components/puff-list/puff-list-item.d.ts +2 -1
- package/components/puff-list/puff-list-item.js +2 -2
- package/components/side-panel/side-panel-base.d.ts +1 -0
- package/components/side-panel/side-panel-base.js +4 -2
- package/components/side-panel/side-panel.d.ts +2 -1
- package/components/side-panel/side-panel.js +2 -2
- package/components/stepper/step-base.d.ts +1 -1
- package/components/stepper/step-base.js +1 -1
- package/components/stepper/step.d.ts +1 -1
- package/components/stepper/step.js +2 -11
- package/components/tag/tag.js +8 -2
- package/components/tooltip/tooltip-base.d.ts +1 -3
- package/components/tooltip/tooltip-base.js +14 -10
- package/components/tooltip/tooltip.js +1 -41
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/package.json +4 -3
|
@@ -3,7 +3,7 @@ import React, { forwardRef } from 'react';
|
|
|
3
3
|
import clsx from 'clsx';
|
|
4
4
|
import '@inera/ids-design/components/side-panel/side-panel.css';
|
|
5
5
|
|
|
6
|
-
const IDSSidePanelBase = forwardRef(({ visible = false, left = false, elevated = false, menu = false, footer = false, noScrollAreaFocus = false, footerDarkmodeToggle, size = "m", srLabel = "Sidopanel", onTogglePanel, onClosePanel, srClose, srOpen, client, headline, footerLinks, footerText, hamburgerRef, componentRef, className, children, ...props }, ref) => {
|
|
6
|
+
const IDSSidePanelBase = forwardRef(({ visible = false, left = false, elevated = false, menu = false, footer = false, noCloseButton = false, noScrollAreaFocus = false, footerDarkmodeToggle, size = "m", srLabel = "Sidopanel", onTogglePanel, onClosePanel, srClose, srOpen, client, headline, footerLinks, footerText, hamburgerRef, componentRef, className, children, ...props }, ref) => {
|
|
7
7
|
const [ready, setReady] = React.useState(false);
|
|
8
8
|
React.useEffect(() => {
|
|
9
9
|
setReady(true);
|
|
@@ -30,7 +30,9 @@ const IDSSidePanelBase = forwardRef(({ visible = false, left = false, elevated =
|
|
|
30
30
|
return null;
|
|
31
31
|
};
|
|
32
32
|
const renderContent = () => (jsxs("div", { className: "ids-side-panel__content", tabIndex: noScrollAreaFocus ? -1 : 0, children: [jsxs("div", { className: "ids-side-panel__inner", children: [headline, children] }), renderFooter()] }));
|
|
33
|
-
return (jsx("div", { className: classNames, ref: ref, ...props, children: jsxs("div", { className: "ids-side-panel__panel",
|
|
33
|
+
return (jsx("div", { className: classNames, ref: ref, ...props, children: jsxs("div", { className: clsx("ids-side-panel__panel", {
|
|
34
|
+
"ids-side-panel__panel--no-close-button": noCloseButton
|
|
35
|
+
}), children: [!noCloseButton && (jsx("div", { className: "ids-side-panel__actions", children: menu ? (jsx("button", { "aria-label": visible ? srClose : srOpen, className: "ids-side-panel__hamburger", "aria-expanded": visible, ...toggleHandler, ref: hamburgerRef, children: jsx("div", { className: "ids-hamburger", children: jsx("div", { className: "ids-hamburger__lines" }) }) })) : (jsx("button", { "aria-label": srClose, "aria-expanded": visible, className: "ids-side-panel__close-button", ...closeHandler })) })), renderContent()] }) }));
|
|
34
36
|
});
|
|
35
37
|
IDSSidePanelBase.displayName = "IDSSidePanelBase";
|
|
36
38
|
|
|
@@ -18,8 +18,9 @@ export interface IDSSidePanelProps extends React.HTMLAttributes<HTMLDivElement>
|
|
|
18
18
|
footerLinks?: ReactNode;
|
|
19
19
|
footerText?: ReactNode;
|
|
20
20
|
noScrollAreaFocus?: boolean;
|
|
21
|
+
noCloseButton?: boolean;
|
|
21
22
|
}
|
|
22
|
-
export declare function IDSSidePanel({ show, menu, noScrollAreaFocus, srLabel, onVisibilityChange, srClose, srOpen, onOpen, onClose, className, children, ...props }: IDSSidePanelProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
export declare function IDSSidePanel({ show, menu, noScrollAreaFocus, noCloseButton, srLabel, onVisibilityChange, srClose, srOpen, onOpen, onClose, className, children, ...props }: IDSSidePanelProps): import("react/jsx-runtime").JSX.Element;
|
|
23
24
|
export declare namespace IDSSidePanel {
|
|
24
25
|
var displayName: string;
|
|
25
26
|
}
|
|
@@ -4,7 +4,7 @@ import { useRef, useState, useEffect } from 'react';
|
|
|
4
4
|
import { IDSSidePanelBase } from './side-panel-base.js';
|
|
5
5
|
import { useEsc } from '../utils/hooks/useEsc.js';
|
|
6
6
|
|
|
7
|
-
function IDSSidePanel({ show, menu = false, noScrollAreaFocus = false, srLabel = "Sidopanel", onVisibilityChange, srClose = "Stäng", srOpen = "Öppna", onOpen, onClose, className, children, ...props }) {
|
|
7
|
+
function IDSSidePanel({ show, menu = false, noScrollAreaFocus = false, noCloseButton = false, srLabel = "Sidopanel", onVisibilityChange, srClose = "Stäng", srOpen = "Öppna", onOpen, onClose, className, children, ...props }) {
|
|
8
8
|
const componentRef = useRef(null);
|
|
9
9
|
const hamburgerRef = useRef(null);
|
|
10
10
|
const isControlled = show !== undefined;
|
|
@@ -96,7 +96,7 @@ function IDSSidePanel({ show, menu = false, noScrollAreaFocus = false, srLabel =
|
|
|
96
96
|
document.body.style.overflow = ""; // cleanup on unmount
|
|
97
97
|
};
|
|
98
98
|
}, [visible]);
|
|
99
|
-
return (jsx(IDSSidePanelBase, { ...props, ref: componentRef, client: true, menu: menu, className: className, srClose: srClose, srOpen: srOpen, noScrollAreaFocus: noScrollAreaFocus, visible: visible, onClosePanel: closePanel, onTogglePanel: togglePanel, hamburgerRef: hamburgerRef, children: children }));
|
|
99
|
+
return (jsx(IDSSidePanelBase, { ...props, ref: componentRef, client: true, menu: menu, className: className, srClose: srClose, srOpen: srOpen, noCloseButton: noCloseButton, noScrollAreaFocus: noScrollAreaFocus, visible: visible, onClosePanel: closePanel, onTogglePanel: togglePanel, hamburgerRef: hamburgerRef, children: children }));
|
|
100
100
|
}
|
|
101
101
|
IDSSidePanel.displayName = "IDSSidePanel";
|
|
102
102
|
|
|
@@ -12,4 +12,4 @@ export interface IDSStepBaseProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
12
12
|
onToggleStep?: (step: string, expanded: boolean) => void;
|
|
13
13
|
client?: boolean;
|
|
14
14
|
}
|
|
15
|
-
export declare const IDSStepBase: React.ForwardRefExoticComponent<IDSStepBaseProps & React.RefAttributes<
|
|
15
|
+
export declare const IDSStepBase: React.ForwardRefExoticComponent<IDSStepBaseProps & React.RefAttributes<HTMLButtonElement>>;
|
|
@@ -23,7 +23,7 @@ const IDSStepBase = forwardRef(({ state = "", headline, label = "", stepNumber =
|
|
|
23
23
|
onKeyDown: handleKeyPress
|
|
24
24
|
}
|
|
25
25
|
: {};
|
|
26
|
-
return (jsxs("div", { className: clsx("ids-step", className), ...props, children: [jsx("
|
|
26
|
+
return (jsxs("div", { className: clsx("ids-step", className), ...props, children: [jsx("button", { ref: ref, type: "button", disabled: disabled, className: clsx("ids-step__button", {
|
|
27
27
|
"ids-step__button--disabled": disabled
|
|
28
28
|
}), "aria-expanded": expanded, ...toggleHandlers, children: jsxs("div", { className: "ids-step__button-inner", children: [jsx("div", { className: "ids-step__indicator-wrapper", children: jsx("div", { "aria-label": srIndicatorText || stepNumber, role: "img", className: `ids-step__indicator ids-step__indicator--${state}`, children: renderStepIndicator() }) }), jsxs("div", { className: "ids-step__button-text", children: [jsxs("div", { className: "ids-step__headline-label", children: [headline && jsx("div", { className: "ids-step__headline", children: headline }), label && jsx("div", { className: "ids-step__subtitle", children: label })] }), jsx("div", { className: clsx("ids-step__chevron", {
|
|
29
29
|
"ids-step__chevron--expanded": expanded
|
|
@@ -12,4 +12,4 @@ export interface IDSStepProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
12
12
|
onExpanded?: () => void;
|
|
13
13
|
onClosed?: () => void;
|
|
14
14
|
}
|
|
15
|
-
export declare const IDSStep: React.ForwardRefExoticComponent<IDSStepProps & React.RefAttributes<
|
|
15
|
+
export declare const IDSStep: React.ForwardRefExoticComponent<IDSStepProps & React.RefAttributes<HTMLButtonElement>>;
|
|
@@ -1,22 +1,13 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import
|
|
3
|
+
import { forwardRef, useState, useEffect } from 'react';
|
|
4
4
|
import { IDSStepBase } from './step-base.js';
|
|
5
5
|
|
|
6
6
|
const IDSStep = forwardRef(({ state = "", headline, label, stepNumber = "", srIndicatorText = "", expanded = false, disabled = false, onToggleStep, onExpanded, onClosed, className, ...props }, ref) => {
|
|
7
7
|
const [isExpanded, setIsExpanded] = useState(expanded);
|
|
8
|
-
const stepRef = React.useRef(null);
|
|
9
8
|
useEffect(() => {
|
|
10
9
|
setIsExpanded(expanded);
|
|
11
10
|
}, [expanded]);
|
|
12
|
-
// Merge forwarded + local ref
|
|
13
|
-
const mergedRef = (node) => {
|
|
14
|
-
stepRef.current = node;
|
|
15
|
-
if (typeof ref === "function")
|
|
16
|
-
ref(node);
|
|
17
|
-
else if (ref)
|
|
18
|
-
ref.current = node;
|
|
19
|
-
};
|
|
20
11
|
const handleToggleStep = () => {
|
|
21
12
|
if (disabled)
|
|
22
13
|
return;
|
|
@@ -27,7 +18,7 @@ const IDSStep = forwardRef(({ state = "", headline, label, stepNumber = "", srIn
|
|
|
27
18
|
return next;
|
|
28
19
|
});
|
|
29
20
|
};
|
|
30
|
-
return (jsx(IDSStepBase, { client: true, ref:
|
|
21
|
+
return (jsx(IDSStepBase, { client: true, ref: ref, state: state, headline: headline, label: label, stepNumber: stepNumber, srIndicatorText: srIndicatorText, expanded: isExpanded, disabled: disabled, onToggleStep: handleToggleStep, className: className, ...props }));
|
|
31
22
|
});
|
|
32
23
|
IDSStep.displayName = "IDSStep";
|
|
33
24
|
|
package/components/tag/tag.js
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
-
import { forwardRef, memo } from 'react';
|
|
2
|
+
import { forwardRef, isValidElement, cloneElement, memo } from 'react';
|
|
3
3
|
import clsx from 'clsx';
|
|
4
4
|
import '@inera/ids-design/components/tag/tag.css';
|
|
5
5
|
|
|
6
6
|
const IDSTagMemo = forwardRef(({ clickable, closeButton, className, children, ...props }, ref) => {
|
|
7
|
-
|
|
7
|
+
// TODO remove ids-tag__close-btn and let the user supply a IDSControlButton in 10.0
|
|
8
|
+
const closeButtonElement = isValidElement(closeButton)
|
|
9
|
+
? cloneElement(closeButton, {
|
|
10
|
+
className: clsx("ids-tag__close-btn", closeButton.props.className)
|
|
11
|
+
})
|
|
12
|
+
: closeButton;
|
|
13
|
+
return (jsx("span", { ref: ref, ...props, className: clsx("ids-tag", { "ids-tag--clickable": clickable }, className), children: jsxs("div", { className: "ids-tag__content", children: [children, !!closeButton && closeButtonElement] }) }));
|
|
8
14
|
});
|
|
9
15
|
IDSTagMemo.displayName = "IDSTag";
|
|
10
16
|
const IDSTag = memo(IDSTagMemo);
|
|
@@ -7,12 +7,10 @@ export interface IDSTooltipBaseProps extends React.HTMLAttributes<HTMLSpanElemen
|
|
|
7
7
|
translateX?: string;
|
|
8
8
|
translateY?: string;
|
|
9
9
|
trigger: ReactNode;
|
|
10
|
-
triggerIsIcon?: boolean;
|
|
11
10
|
triggerRef?: React.Ref<HTMLSpanElement>;
|
|
12
11
|
tooltipContentRef?: React.Ref<HTMLSpanElement>;
|
|
13
|
-
isHidden?: boolean;
|
|
14
12
|
}
|
|
15
|
-
export declare function IDSTooltipBase({ position, maxWidth, translateX, translateY, trigger,
|
|
13
|
+
export declare function IDSTooltipBase({ position, maxWidth, translateX, translateY, trigger, triggerRef, tooltipContentRef, className, children, ...props }: IDSTooltipBaseProps): import("react/jsx-runtime").JSX.Element;
|
|
16
14
|
export declare namespace IDSTooltipBase {
|
|
17
15
|
var displayName: string;
|
|
18
16
|
}
|
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { useId } from 'react';
|
|
2
|
+
import { useId, isValidElement, cloneElement } from 'react';
|
|
3
3
|
import clsx from 'clsx';
|
|
4
4
|
import '@inera/ids-design/components/tooltip/tooltip.css';
|
|
5
5
|
|
|
6
|
-
function IDSTooltipBase({ position = "top", maxWidth = "20rem", translateX = position === "top" || position === "bottom" ? "-50%" : "0", translateY = position.includes("top") ? "-100%" : "100%", trigger,
|
|
6
|
+
function IDSTooltipBase({ position = "top", maxWidth = "20rem", translateX = position === "top" || position === "bottom" ? "-50%" : "0", translateY = position.includes("top") ? "-100%" : "100%", trigger, triggerRef, tooltipContentRef, className, children, ...props }) {
|
|
7
7
|
const tooltipId = `tooltip-${useId()}`;
|
|
8
|
-
const ariaHandler =
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
8
|
+
const ariaHandler = {
|
|
9
|
+
"aria-describedby": tooltipId
|
|
10
|
+
};
|
|
11
|
+
const triggerElement = isValidElement(trigger)
|
|
12
|
+
? (() => {
|
|
13
|
+
const element = trigger;
|
|
14
|
+
return cloneElement(element, {
|
|
15
|
+
"aria-describedby": clsx(element.props["aria-describedby"], tooltipId)
|
|
16
|
+
});
|
|
17
|
+
})()
|
|
18
|
+
: trigger;
|
|
19
|
+
return (jsxs("span", { className: clsx("ids-tooltip", className), ...props, children: [jsx("span", { className: "ids-tooltip__trigger", ...(!isValidElement(trigger) ? ariaHandler : {}), ref: triggerRef, children: triggerElement }), jsx("span", { className: clsx("ids-tooltip__content", `ids-tooltip__content--${position}`), ref: tooltipContentRef, role: "tooltip", id: tooltipId, style: { transform: `translate(${translateX}, ${translateY})`, maxWidth }, children: children })] }));
|
|
16
20
|
}
|
|
17
21
|
IDSTooltipBase.displayName = "IDSTooltipBase";
|
|
18
22
|
|
|
@@ -5,17 +5,9 @@ import { IDSTooltipBase } from './tooltip-base.js';
|
|
|
5
5
|
|
|
6
6
|
function IDSTooltip({ position = "top", maxWidth, trigger, className, ...props }) {
|
|
7
7
|
const [internalMaxWidth, setInternalMaxWidth] = useState(maxWidth);
|
|
8
|
-
const [triggerIsIcon, setTriggerIsIcon] = useState(false);
|
|
9
|
-
const [isVisible, setIsVisible] = useState(false);
|
|
10
8
|
const tooltipContentRef = useRef(null);
|
|
11
9
|
const triggerRef = useRef(null);
|
|
12
10
|
const hasUpdatedMaxWidthRef = useRef(false);
|
|
13
|
-
const getFirstFocusableContent = () => {
|
|
14
|
-
const wrapper = triggerRef.current?.parentElement;
|
|
15
|
-
if (!wrapper)
|
|
16
|
-
return null;
|
|
17
|
-
return wrapper.querySelector('ids-button button, button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
|
|
18
|
-
};
|
|
19
11
|
const handleXOverflow = () => {
|
|
20
12
|
const tooltipContent = tooltipContentRef.current;
|
|
21
13
|
const trigger = triggerRef.current;
|
|
@@ -56,15 +48,6 @@ function IDSTooltip({ position = "top", maxWidth, trigger, className, ...props }
|
|
|
56
48
|
document.activeElement?.blur();
|
|
57
49
|
}
|
|
58
50
|
};
|
|
59
|
-
useEffect(() => {
|
|
60
|
-
const tooltipContent = tooltipContentRef.current;
|
|
61
|
-
if (!tooltipContent)
|
|
62
|
-
return;
|
|
63
|
-
const focusable = getFirstFocusableContent();
|
|
64
|
-
if (focusable) {
|
|
65
|
-
setTriggerIsIcon(!!triggerRef.current?.querySelector('[class^="ids-icon-"]'));
|
|
66
|
-
}
|
|
67
|
-
}, []);
|
|
68
51
|
useEffect(() => {
|
|
69
52
|
const tooltipContent = tooltipContentRef.current;
|
|
70
53
|
if (!tooltipContent)
|
|
@@ -94,30 +77,7 @@ function IDSTooltip({ position = "top", maxWidth, trigger, className, ...props }
|
|
|
94
77
|
triggerWrapper.removeEventListener("focusin", handleXOverflow);
|
|
95
78
|
};
|
|
96
79
|
}, [triggerRef]);
|
|
97
|
-
|
|
98
|
-
const tooltip = tooltipContentRef.current;
|
|
99
|
-
if (!tooltip)
|
|
100
|
-
return false;
|
|
101
|
-
const style = getComputedStyle(tooltip);
|
|
102
|
-
return style.visibility !== "hidden" && style.display !== "none" && style.opacity !== "0";
|
|
103
|
-
};
|
|
104
|
-
useEffect(() => {
|
|
105
|
-
const triggerEl = triggerRef.current;
|
|
106
|
-
if (!triggerEl)
|
|
107
|
-
return;
|
|
108
|
-
const updateVisibility = () => setIsVisible(isTooltipVisible());
|
|
109
|
-
triggerEl.addEventListener("mouseenter", updateVisibility);
|
|
110
|
-
triggerEl.addEventListener("mouseleave", updateVisibility);
|
|
111
|
-
triggerEl.addEventListener("focusin", updateVisibility); // <-- replaces focus
|
|
112
|
-
triggerEl.addEventListener("focusout", updateVisibility); // <-- replaces blur
|
|
113
|
-
return () => {
|
|
114
|
-
triggerEl.removeEventListener("mouseenter", updateVisibility);
|
|
115
|
-
triggerEl.removeEventListener("mouseleave", updateVisibility);
|
|
116
|
-
triggerEl.removeEventListener("focusin", updateVisibility);
|
|
117
|
-
triggerEl.removeEventListener("focusout", updateVisibility);
|
|
118
|
-
};
|
|
119
|
-
}, [triggerRef.current]);
|
|
120
|
-
return (jsx(IDSTooltipBase, { ...props, position: position, maxWidth: internalMaxWidth, trigger: trigger, triggerIsIcon: triggerIsIcon, className: className, triggerRef: triggerRef, isHidden: !isVisible, tooltipContentRef: tooltipContentRef }));
|
|
80
|
+
return (jsx(IDSTooltipBase, { ...props, position: position, maxWidth: internalMaxWidth, trigger: trigger, className: className, triggerRef: triggerRef, tooltipContentRef: tooltipContentRef }));
|
|
121
81
|
}
|
|
122
82
|
IDSTooltip.displayName = "IDSTooltip";
|
|
123
83
|
|
package/index.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ export * from "./components/form/toggle/toggle";
|
|
|
27
27
|
export * from "./components/form/darkmode-toggle/darkmode-toggle";
|
|
28
28
|
export * from "./components/form/spinner/spinner";
|
|
29
29
|
export * from "./components/button/button";
|
|
30
|
+
export * from "./components/button/control-button";
|
|
30
31
|
export * from "./components/button/button-group";
|
|
31
32
|
export * from "./components/grid/container";
|
|
32
33
|
export * from "./components/grid/row";
|
package/index.js
CHANGED
|
@@ -27,6 +27,7 @@ export { IDSToggle } from './components/form/toggle/toggle.js';
|
|
|
27
27
|
export { IDSDarkmodeToggle } from './components/form/darkmode-toggle/darkmode-toggle.js';
|
|
28
28
|
export { IDSSpinner } from './components/form/spinner/spinner.js';
|
|
29
29
|
export { IDSButton } from './components/button/button.js';
|
|
30
|
+
export { IDSControlButton } from './components/button/control-button.js';
|
|
30
31
|
export { IDSButtonGroup } from './components/button/button-group.js';
|
|
31
32
|
export { IDSContainer } from './components/grid/container.js';
|
|
32
33
|
export { IDSRow } from './components/grid/row.js';
|
package/package.json
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inera/ids-react",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.3.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"react": "*",
|
|
7
|
-
"react-day-picker": "^9.11.3"
|
|
7
|
+
"react-day-picker": "^9.11.3",
|
|
8
|
+
"react-dom": "*"
|
|
8
9
|
},
|
|
9
10
|
"dependencies": {
|
|
10
|
-
"@inera/ids-design": "9.
|
|
11
|
+
"@inera/ids-design": "9.3.x",
|
|
11
12
|
"clsx": "*"
|
|
12
13
|
},
|
|
13
14
|
"types": "index.d.ts",
|