@inera/ids-react 8.0.0 → 8.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/components/accordion/accordion.d.ts +1 -0
- package/components/accordion/accordion.js +5 -43
- package/components/action-link/action-link.d.ts +6 -0
- package/components/action-link/action-link.js +9 -0
- package/components/badge/badge.d.ts +3 -5
- package/components/badge/badge.js +2 -2
- package/components/box-link/box-link.d.ts +3 -5
- package/components/box-link/box-link.js +3 -4
- package/components/breadcrumbs/breadcrumbs.d.ts +2 -3
- package/components/breadcrumbs/breadcrumbs.js +2 -3
- package/components/button/button.d.ts +1 -2
- package/components/button-group/button-group.d.ts +2 -3
- package/components/button-group/button-group.js +2 -2
- package/components/card/card.d.ts +3 -4
- package/components/card/card.js +12 -7
- package/components/date-label/date-label.d.ts +2 -2
- package/components/date-label/date-label.js +9 -31
- package/components/dialog/dialog.d.ts +1 -1
- package/components/dialog/dialog.js +5 -6
- package/components/dropdown/dropdown-content-link.d.ts +1 -1
- package/components/dropdown/dropdown-content-link.js +2 -2
- package/components/dropdown/dropdown.d.ts +1 -1
- package/components/dropdown/dropdown.js +2 -2
- package/components/footer-1177/footer-1177.d.ts +3 -4
- package/components/footer-1177/footer-1177.js +7 -44
- package/components/footer-1177-admin/footer-1177-admin.d.ts +1 -1
- package/components/footer-1177-admin/footer-1177-admin.js +4 -41
- package/components/footer-1177-pro/footer-1177-pro.d.ts +1 -1
- package/components/footer-1177-pro/footer-1177-pro.js +4 -41
- package/components/footer-inera/footer-inera.d.ts +1 -1
- package/components/footer-inera/footer-inera.js +4 -41
- package/components/footer-inera-admin/footer-inera-admin.d.ts +1 -1
- package/components/footer-inera-admin/footer-inera-admin.js +4 -41
- package/components/form/checkbox/checkbox.js +3 -2
- package/components/form/datepicker/datepicker.d.ts +29 -0
- package/components/form/datepicker/datepicker.js +179 -0
- package/components/form/input/input.js +1 -1
- package/components/form/radio/radio.js +2 -1
- package/components/global-alert/global-alert.js +2 -2
- package/components/grid/column.d.ts +3 -4
- package/components/grid/column.js +2 -3
- package/components/grid/container.d.ts +5 -3
- package/components/grid/container.js +11 -18
- package/components/grid/row.d.ts +4 -4
- package/components/grid/row.js +6 -11
- package/components/header-1177/header-1177-item.d.ts +2 -2
- package/components/header-1177/header-1177-item.js +19 -14
- package/components/header-1177/header-1177-nav-item-mobile.js +5 -10
- package/components/header-1177/header-1177-nav-item.d.ts +4 -4
- package/components/header-1177/header-1177-nav-item.js +23 -17
- package/components/header-1177/header-1177-nav.d.ts +2 -2
- package/components/header-1177/header-1177-nav.js +4 -5
- package/components/header-1177/header-1177.d.ts +1 -1
- package/components/header-1177/header-1177.js +3 -16
- package/components/header-1177-admin/header-1177-admin-item.d.ts +2 -2
- package/components/header-1177-admin/header-1177-admin-item.js +21 -17
- package/components/header-1177-admin/header-1177-admin-nav-item.d.ts +4 -4
- package/components/header-1177-admin/header-1177-admin-nav-item.js +20 -14
- package/components/header-1177-admin/header-1177-admin-nav.d.ts +2 -2
- package/components/header-1177-admin/header-1177-admin-nav.js +5 -6
- package/components/header-1177-admin/header-1177-admin.d.ts +2 -2
- package/components/header-1177-admin/header-1177-admin.js +3 -4
- package/components/header-1177-pro/header-1177-pro-item.d.ts +2 -2
- package/components/header-1177-pro/header-1177-pro-item.js +21 -14
- package/components/header-1177-pro/header-1177-pro-nav-item.d.ts +5 -5
- package/components/header-1177-pro/header-1177-pro-nav-item.js +15 -19
- package/components/header-1177-pro/header-1177-pro-nav.d.ts +2 -3
- package/components/header-1177-pro/header-1177-pro-nav.js +5 -7
- package/components/header-1177-pro/header-1177-pro.d.ts +2 -2
- package/components/header-1177-pro/header-1177-pro.js +4 -8
- package/components/header-inera/header-inera-item.d.ts +3 -4
- package/components/header-inera/header-inera-item.js +30 -14
- package/components/header-inera/header-inera-nav-item.js +7 -20
- package/components/header-inera/header-inera-nav.d.ts +1 -1
- package/components/header-inera/header-inera-nav.js +5 -6
- package/components/header-inera/header-inera.d.ts +2 -2
- package/components/header-inera/header-inera.js +4 -8
- package/components/header-inera-admin/header-inera-admin-item.d.ts +3 -4
- package/components/header-inera-admin/header-inera-admin-item.js +17 -13
- package/components/header-inera-admin/header-inera-admin-nav-item.d.ts +1 -3
- package/components/header-inera-admin/header-inera-admin-nav-item.js +14 -27
- package/components/header-inera-admin/header-inera-admin-nav.d.ts +2 -3
- package/components/header-inera-admin/header-inera-admin-nav.js +3 -4
- package/components/header-inera-admin/header-inera-admin.d.ts +1 -1
- package/components/header-inera-admin/header-inera-admin.js +3 -4
- package/components/link/link.d.ts +1 -1
- package/components/link/link.js +15 -13
- package/components/navigation/content/navigation-content.d.ts +2 -3
- package/components/navigation/content/navigation-content.js +5 -12
- package/components/navigation/local/navigation-local.d.ts +2 -3
- package/components/navigation/local/navigation-local.js +2 -2
- package/components/notification/badge/notification-badge.d.ts +2 -3
- package/components/notification/badge/notification-badge.js +3 -3
- package/components/pagination/data-pagination/data-pagination.d.ts +1 -2
- package/components/pagination/data-pagination/data-pagination.js +0 -1
- package/components/pagination/list-pagination/list-pagination.d.ts +1 -1
- package/components/pagination/list-pagination/list-pagination.js +2 -3
- package/components/popover/popover.js +1 -1
- package/components/progressbar/progressbar.d.ts +5 -3
- package/components/progressbar/progressbar.js +4 -4
- package/components/puff-list/puff-list-item/puff-list-item-date.d.ts +13 -0
- package/components/puff-list/puff-list-item/puff-list-item-date.js +23 -0
- package/components/puff-list/puff-list-item/puff-list-item-header.d.ts +10 -0
- package/components/puff-list/puff-list-item/puff-list-item-header.js +11 -0
- package/components/puff-list/puff-list-item/puff-list-item-info.d.ts +3 -5
- package/components/puff-list/puff-list-item/puff-list-item-info.js +4 -5
- package/components/puff-list/puff-list-item/puff-list-item.d.ts +9 -20
- package/components/puff-list/puff-list-item/puff-list-item.js +8 -78
- package/components/puff-list/puff-list.d.ts +1 -1
- package/components/puff-list/puff-list.js +4 -3
- package/components/region-icon/region-icon.d.ts +2 -2
- package/components/region-icon/region-icon.js +5 -4
- package/components/side-menu/side-menu.js +1 -1
- package/components/stepper/step.js +1 -1
- package/components/stepper/stepper.d.ts +1 -1
- package/components/stepper/stepper.js +2 -2
- package/components/tabs/tab.js +1 -1
- package/components/tag/tag.d.ts +11 -4
- package/components/tag/tag.js +7 -7
- package/components/tooltip/tooltip.d.ts +1 -0
- package/components/tooltip/tooltip.js +8 -7
- package/components/utils/hooks/useFocusTrap.js +3 -2
- package/index.d.ts +4 -0
- package/index.js +4 -0
- package/package.json +2 -2
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
"use client";
|
|
2
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
2
|
import { isValidElement, cloneElement } from 'react';
|
|
4
|
-
import '@inera/ids-design/components/header-inera-admin/header-inera-admin.css';
|
|
5
3
|
import clsx from 'clsx';
|
|
6
4
|
import { HeaderProvider } from '../utils/contexts/HeaderContext.js';
|
|
5
|
+
import '@inera/ids-design/components/header-inera-admin/header-inera-admin.css';
|
|
7
6
|
|
|
8
|
-
|
|
7
|
+
function IDSHeaderIneraAdmin({ brandText = "", unresponsive = false, showLogo = false, items, avatar, skipToContent, brandLink, srLogoText = "Logotyp inera", serviceName = "EN TJÄNST FRÅN INERA", mobileMenu, className, children, ...props }) {
|
|
9
8
|
const renderBrandText = () => {
|
|
10
9
|
if (brandLink && isValidElement(brandLink)) {
|
|
11
10
|
return (jsx("span", { className: "ids-header-inera-admin__brand-link", children: cloneElement(brandLink, {
|
|
@@ -17,6 +16,6 @@ const IDSHeaderIneraAdmin = ({ brandText = "", unresponsive = false, showLogo =
|
|
|
17
16
|
return (jsx(HeaderProvider, { value: { unresponsive, hideRegionPicker: true }, children: jsxs("header", { className: clsx("ids-header-inera-admin", {
|
|
18
17
|
"ids-header-inera-admin--unresponsive": unresponsive
|
|
19
18
|
}, className), ...props, children: [skipToContent && jsx("div", { className: "ids-header-inera-admin__skip-to-content", children: skipToContent }), jsxs("div", { className: "ids-header-inera-admin__inner", children: [jsxs("div", { className: "ids-header-inera-admin__main", children: [jsx("div", { className: "ids-header-inera-admin__service-wrapper", children: jsxs("div", { className: "ids-header-inera-admin__brand", children: [showLogo && jsx("div", { className: "ids-header-inera-admin__logo", role: "img", "aria-label": srLogoText }), jsxs("div", { className: "ids-header-inera-admin__brand-inner", children: [renderBrandText(), jsx("h1", { className: "ids-header-inera-admin__brand-text", children: brandText }), jsx("h2", { className: "ids-header-inera-admin__service-name", children: serviceName })] })] }) }), jsxs("div", { className: "ids-header-inera-admin__items", children: [items, " ", avatar, " ", mobileMenu && jsx("div", { className: "ids-header-inera-admin__mobile-menu", children: mobileMenu })] })] }), children] })] }) }));
|
|
20
|
-
}
|
|
19
|
+
}
|
|
21
20
|
|
|
22
21
|
export { IDSHeaderIneraAdmin };
|
|
@@ -14,4 +14,4 @@ export interface IDSLinkProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElemen
|
|
|
14
14
|
endItem?: ReactNode;
|
|
15
15
|
children?: ReactElement;
|
|
16
16
|
}
|
|
17
|
-
export declare
|
|
17
|
+
export declare function IDSLink({ colorPreset, menu, footer, active, activeIcon, block, underlined, noUnderline, small, focusAnchor, endItem, children, ...props }: IDSLinkProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
|
package/components/link/link.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
"use client";
|
|
2
1
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
3
|
-
import {
|
|
2
|
+
import { isValidElement, cloneElement } from 'react';
|
|
4
3
|
import clsx from 'clsx';
|
|
5
4
|
|
|
6
5
|
const containsIcon = (node) => {
|
|
@@ -14,14 +13,17 @@ const containsIcon = (node) => {
|
|
|
14
13
|
}
|
|
15
14
|
return false;
|
|
16
15
|
};
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
function IDSLink({ colorPreset = 0, menu = false, footer = false, active = false, activeIcon = false, block = false, underlined = false, noUnderline = false, small = false, focusAnchor = false, endItem, children, ...props }) {
|
|
17
|
+
// Ensure valid child
|
|
19
18
|
if (!isValidElement(children)) {
|
|
20
|
-
|
|
19
|
+
if (process.env.NODE_ENV !== "production") {
|
|
20
|
+
console.error("IDSLink requires a single valid React element (e.g., <a> or <Link>) as a child.");
|
|
21
|
+
}
|
|
21
22
|
return null;
|
|
22
23
|
}
|
|
23
|
-
const
|
|
24
|
-
const
|
|
24
|
+
const innerChildren = children.props.children;
|
|
25
|
+
const hasIcon = containsIcon(innerChildren);
|
|
26
|
+
const mergedClasses = clsx("ids-link", colorPreset > 0 && `ids-link--color-${colorPreset}`, {
|
|
25
27
|
"ids-link--icon": hasIcon,
|
|
26
28
|
"ids-link--active-icon": activeIcon,
|
|
27
29
|
"ids-link--block": block,
|
|
@@ -32,14 +34,14 @@ const IDSLink = ({ colorPreset = 0, menu = false, footer = false, active = false
|
|
|
32
34
|
"ids-link--underlined": underlined,
|
|
33
35
|
"ids-link--no-underline": noUnderline,
|
|
34
36
|
"ids-focus-anchor": focusAnchor
|
|
35
|
-
}, children.props.className, className);
|
|
36
|
-
const
|
|
37
|
+
}, children.props.className, props.className);
|
|
38
|
+
const wrappedContent = (jsxs(Fragment, { children: [innerChildren, endItem && jsx("span", { style: { marginLeft: "0.5rem" }, children: endItem })] }));
|
|
37
39
|
return cloneElement(children, {
|
|
40
|
+
...children.props,
|
|
38
41
|
...props,
|
|
39
|
-
className:
|
|
40
|
-
|
|
41
|
-
children: linkContent
|
|
42
|
+
className: mergedClasses,
|
|
43
|
+
children: wrappedContent
|
|
42
44
|
});
|
|
43
|
-
}
|
|
45
|
+
}
|
|
44
46
|
|
|
45
47
|
export { IDSLink };
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from "react";
|
|
2
2
|
import "@inera/ids-design/components/navigation/content/navigation-content.css";
|
|
3
3
|
export interface IDSNavigationContentProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
4
|
headline?: string;
|
|
5
5
|
maxHeight?: string;
|
|
6
|
-
children?: ReactNode;
|
|
7
6
|
}
|
|
8
|
-
export declare
|
|
7
|
+
export declare function IDSNavigationContent({ headline, maxHeight, className, children, ...props }: IDSNavigationContentProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,22 +1,15 @@
|
|
|
1
|
-
"use client";
|
|
2
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
2
|
import React from 'react';
|
|
4
3
|
import '@inera/ids-design/components/navigation/content/navigation-content.css';
|
|
5
4
|
import clsx from 'clsx';
|
|
6
5
|
|
|
7
|
-
|
|
8
|
-
const
|
|
6
|
+
function IDSNavigationContent({ headline = "", maxHeight = "", className, children, ...props }) {
|
|
7
|
+
const linkWrappers = React.Children.map(children, (link, i) => {
|
|
9
8
|
if (!React.isValidElement(link))
|
|
10
9
|
return link;
|
|
11
|
-
|
|
12
|
-
key: `navigation-content-link-${i}`,
|
|
13
|
-
block: true,
|
|
14
|
-
activeIcon: true,
|
|
15
|
-
noUnderline: true
|
|
16
|
-
});
|
|
17
|
-
return (jsx("div", { className: "ids-navigation-content__link-wrapper", children: cloned }, `link-wrapper-${i}`));
|
|
10
|
+
return (jsx("div", { className: "ids-navigation-content__link-wrapper", children: link }, i));
|
|
18
11
|
});
|
|
19
|
-
return (jsxs("div", { className: clsx("ids-navigation-content", { "ids-navigation-content--scrollable": maxHeight }, className), ...props, children: [jsx("div", { className: "ids-navigation-content__border-top", children: jsx("div", { className: "ids-navigation-content__border-top-content" }) }), jsxs("nav", { className: "ids-navigation-content__inner", "aria-labelledby": "content-navigation-headline", id: "content-navigation-inner", children: [jsx("h2", { className: "ids-navigation-content__inner__headline", id: "content-navigation-headline", children: headline }), jsx("div", { className: "ids-navigation-content__links", style: { maxHeight: maxHeight }, children:
|
|
20
|
-
}
|
|
12
|
+
return (jsxs("div", { className: clsx("ids-navigation-content", { "ids-navigation-content--scrollable": maxHeight }, className), ...props, children: [jsx("div", { className: "ids-navigation-content__border-top", children: jsx("div", { className: "ids-navigation-content__border-top-content" }) }), jsxs("nav", { className: "ids-navigation-content__inner", "aria-labelledby": "content-navigation-headline", id: "content-navigation-inner", children: [headline && (jsx("h2", { className: "ids-navigation-content__inner__headline", id: "content-navigation-headline", children: headline })), jsx("div", { className: "ids-navigation-content__links", style: { maxHeight: maxHeight || "none" }, children: linkWrappers })] })] }));
|
|
13
|
+
}
|
|
21
14
|
|
|
22
15
|
export { IDSNavigationContent };
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from "react";
|
|
2
2
|
import "@inera/ids-design/components/navigation/local/navigation-local.css";
|
|
3
3
|
export interface IDSNavigationLocalProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
4
|
headline?: string;
|
|
5
|
-
children?: ReactNode;
|
|
6
5
|
}
|
|
7
|
-
export declare
|
|
6
|
+
export declare function IDSNavigationLocal({ headline, className, children, ...props }: IDSNavigationLocalProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -2,8 +2,8 @@ import { jsxs, jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import '@inera/ids-design/components/navigation/local/navigation-local.css';
|
|
3
3
|
import clsx from 'clsx';
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
function IDSNavigationLocal({ headline = "", className, children, ...props }) {
|
|
6
6
|
return (jsxs("div", { className: clsx("ids-navigation-local", className), ...props, children: [jsx("h2", { className: "ids-navigation-local__headline", children: headline }), jsx("div", { className: "ids-navigation-local__links", children: children })] }));
|
|
7
|
-
}
|
|
7
|
+
}
|
|
8
8
|
|
|
9
9
|
export { IDSNavigationLocal };
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from "react";
|
|
2
2
|
import "@inera/ids-design/components/notification-badge/notification-badge.css";
|
|
3
3
|
interface IDSNotificationBadgeProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
4
|
type?: "primary" | "secondary" | "neutral" | "info" | "attention" | "success" | "error";
|
|
5
5
|
icon?: string;
|
|
6
6
|
onClick?: () => void;
|
|
7
|
-
children?: ReactNode;
|
|
8
7
|
}
|
|
9
|
-
export declare
|
|
8
|
+
export declare function IDSNotificationBadge({ type, icon, onClick, className, children, ...props }: IDSNotificationBadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
10
9
|
export {};
|
|
@@ -2,8 +2,8 @@ import { jsxs, jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import '@inera/ids-design/components/notification-badge/notification-badge.css';
|
|
3
3
|
import clsx from 'clsx';
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
return (jsxs("div", { className: clsx("ids-notification-badge", `ids-notification-badge--${type}`, className), onClick: onClick, ...props, children: [icon && jsx("span", { className: `ids-icon-${icon}
|
|
7
|
-
}
|
|
5
|
+
function IDSNotificationBadge({ type = "primary", icon = "", onClick, className, children, ...props }) {
|
|
6
|
+
return (jsxs("div", { className: clsx("ids-notification-badge", `ids-notification-badge--${type}`, className), onClick: onClick, ...props, children: [icon && jsx("span", { className: `ids-icon-${icon}`, "aria-hidden": "true" }), children] }));
|
|
7
|
+
}
|
|
8
8
|
|
|
9
9
|
export { IDSNotificationBadge };
|
|
@@ -5,7 +5,7 @@ export interface IDSDataPaginationProps extends React.HTMLAttributes<HTMLDivElem
|
|
|
5
5
|
from: number;
|
|
6
6
|
to: number;
|
|
7
7
|
of?: string;
|
|
8
|
-
total: number;
|
|
8
|
+
total: number | string;
|
|
9
9
|
defaultValue?: string;
|
|
10
10
|
selectId?: string;
|
|
11
11
|
light?: boolean;
|
|
@@ -15,6 +15,5 @@ export interface IDSDataPaginationProps extends React.HTMLAttributes<HTMLDivElem
|
|
|
15
15
|
nextButton?: ReactNode;
|
|
16
16
|
lastPageButton?: ReactNode;
|
|
17
17
|
onSelectChange?: (event: ChangeEvent<HTMLSelectElement>) => void;
|
|
18
|
-
children?: ReactNode;
|
|
19
18
|
}
|
|
20
19
|
export declare const IDSDataPagination: React.ForwardRefExoticComponent<IDSDataPaginationProps & React.RefAttributes<HTMLSelectElement>>;
|
|
@@ -16,4 +16,4 @@ export interface IDSListPaginationProps extends React.HTMLAttributes<HTMLDivElem
|
|
|
16
16
|
onPrevPage?: (page: number) => void;
|
|
17
17
|
onNextPage?: (page: number) => void;
|
|
18
18
|
}
|
|
19
|
-
export declare
|
|
19
|
+
export declare function IDSListPagination({ showing, from, to, of, total, current, pages, srCurrentPage, srGoToPage, srPrevious, srNext, onChangePage, onPrevPage, onNextPage, className, ...props }: IDSListPaginationProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
"use client";
|
|
2
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
2
|
import '@inera/ids-design/components/pagination/list-pagination/list-pagination.css';
|
|
4
3
|
import clsx from 'clsx';
|
|
5
4
|
|
|
6
|
-
|
|
5
|
+
function IDSListPagination({ showing = "Visar", from = 0, to = 0, of = "av", total = 0, current = 1, pages = 1, srCurrentPage = "Aktuell sida", srGoToPage = "Gå till sida", srPrevious = "Föregående sida", srNext = "Nästa sida", onChangePage, onPrevPage, onNextPage, className, ...props }) {
|
|
7
6
|
const renderSummary = () => {
|
|
8
7
|
if (from && to && total) {
|
|
9
8
|
return jsx("div", { className: "ids-list-pagination__summary", children: `${showing} ${from} - ${to} ${of} ${total}` });
|
|
@@ -44,6 +43,6 @@ const IDSListPagination = ({ showing = "Visar", from = 0, to = 0, of = "av", tot
|
|
|
44
43
|
return (jsx("nav", { children: jsx("ul", { className: "ids-list-pagination__list", children: buttonArray }) }));
|
|
45
44
|
};
|
|
46
45
|
return (jsxs("div", { className: clsx("ids-list-pagination", className), ...props, children: [renderSummary(), jsxs("div", { className: "ids-list-pagination__content", children: [jsx("div", { className: "ids-list-pagination__prev-button", children: renderPrevButton() }), jsx("div", { className: "ids-list-pagination__nav-buttons", children: renderButtons() }), jsx("div", { className: "ids-list-pagination__next-button", children: renderNextButton() })] })] }));
|
|
47
|
-
}
|
|
46
|
+
}
|
|
48
47
|
|
|
49
48
|
export { IDSListPagination };
|
|
@@ -188,7 +188,7 @@ const IDSPopover = ({ position = "bottom", category = "", trigger, maxWidth = 26
|
|
|
188
188
|
const renderCaret = (pos) => {
|
|
189
189
|
return (jsxs("div", { className: `ids-popover-content__caret ids-popover-content__caret--${pos}`, children: [jsx("span", { className: `ids-popover-content__caret-body ids-popover-content__caret--${pos}` }), jsx("span", { className: `ids-popover-content__caret-border ids-popover-content__caret--${pos}` }), jsx("span", { className: `ids-popover-content__caret-shadow ids-popover-content__caret--${pos}` })] }));
|
|
190
190
|
};
|
|
191
|
-
return (jsxs("span", { className: clsx("ids-popover", className), ref: popoverRef, "data-popover-category": category, ...(isVisible
|
|
191
|
+
return (jsxs("span", { className: clsx("ids-popover", className), ref: popoverRef, "data-popover-category": category, ...(isVisible && { "data-show": "true" }), ...props, children: [jsx("span", { className: "ids-popover-trigger", "aria-haspopup": "dialog", onClick: togglePopover, onKeyDown: handleTriggerKeyDown, ref: triggerRef, children: trigger }), isVisible && (jsxs("div", { className: `ids-popover-content ${!noFocusTrap && "ids-focus-trap"}`, role: "tooltip", id: contentId, ref: popoverContentRef, style: popoverContentStyle, "data-position": position, children: [renderCaret(position), jsx("div", { className: "ids-popover-content__close-btn-wrapper", children: jsx("button", { "aria-label": srCloseText, className: "ids-popover-content__close-btn", onClick: closePopover }) }), jsx("div", { className: "ids-popover-content__content-wrapper", tabIndex: 0, ref: contentWrapperRef, style: popoverContentWrapperStyle, children: jsxs("div", { className: "ids-popover-content__content-wrapper-inner", children: [headline && jsx("div", { className: "ids-popover-content__headline", children: headline }), children] }) })] }))] }));
|
|
192
192
|
};
|
|
193
193
|
|
|
194
194
|
export { IDSPopover };
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import "@inera/ids-design/components/progressbar/progressbar.css";
|
|
3
|
-
interface IDSProgressbarProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
export interface IDSProgressbarProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
4
|
label: string;
|
|
5
5
|
hideLabel?: boolean;
|
|
6
6
|
value?: number;
|
|
7
7
|
srLabel: string;
|
|
8
8
|
}
|
|
9
|
-
export declare
|
|
10
|
-
export {
|
|
9
|
+
export declare function IDSProgressbar({ label, hideLabel, value, srLabel, className, ...props }: IDSProgressbarProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare namespace IDSProgressbar {
|
|
11
|
+
var displayName: string;
|
|
12
|
+
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
"use client";
|
|
2
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
2
|
import '@inera/ids-design/components/progressbar/progressbar.css';
|
|
4
3
|
import clsx from 'clsx';
|
|
5
4
|
|
|
6
|
-
|
|
7
|
-
return (jsxs("div", { className: clsx("ids-progressbar", className), ...props, children: [hideLabel
|
|
8
|
-
}
|
|
5
|
+
function IDSProgressbar({ label = "", hideLabel = false, value = 0, srLabel = "", className, ...props }) {
|
|
6
|
+
return (jsxs("div", { className: clsx("ids-progressbar", className), ...props, children: [!hideLabel && (jsxs("div", { className: "ids-progressbar__label", children: [label, " ", value, "%"] })), jsx("div", { className: "ids-progressbar__bar", role: "progressbar", "aria-label": srLabel, "aria-valuemin": 0, "aria-valuemax": 100, "aria-valuenow": value, children: value > 0 && jsx("div", { className: "ids-progressbar__progress", style: { width: `calc(${value}% + 0.125rem)` } }) })] }));
|
|
7
|
+
}
|
|
8
|
+
IDSProgressbar.displayName = "IDSProgressbar";
|
|
9
9
|
|
|
10
10
|
export { IDSProgressbar };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import "@inera/ids-design/components/puff-list/puff-list.css";
|
|
3
|
+
interface IDSPuffListItemDateProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
|
+
date?: Date | null;
|
|
5
|
+
showTime?: boolean;
|
|
6
|
+
day?: number;
|
|
7
|
+
year?: number;
|
|
8
|
+
month?: number;
|
|
9
|
+
monthLabel?: string;
|
|
10
|
+
time?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function IDSPuffListItemDate({ date, showTime, day, year, month, monthLabel, time, ...props }: IDSPuffListItemDateProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import '@inera/ids-design/components/puff-list/puff-list.css';
|
|
3
|
+
import { getDayAsText, getMonthAsSweText } from '../../utils/utils.js';
|
|
4
|
+
|
|
5
|
+
function IDSPuffListItemDate({ date, showTime = false, day = 0, year = 0, month = 0, monthLabel = "", time = "", ...props }) {
|
|
6
|
+
const getDay = () => getDayAsText(date ? date.getDate() : day);
|
|
7
|
+
const getMonth = () => (date ? date.getMonth() + 1 : month);
|
|
8
|
+
const getYear = () => (date ? date.getFullYear() : year);
|
|
9
|
+
const getMonthText = () => monthLabel || getMonthAsSweText(getMonth() - 1, 3);
|
|
10
|
+
const getTime = () => {
|
|
11
|
+
if (time)
|
|
12
|
+
return time;
|
|
13
|
+
if (showTime && date) {
|
|
14
|
+
const h = date.getHours();
|
|
15
|
+
const m = date.getMinutes();
|
|
16
|
+
return `${h.toString().padStart(2, "0")}:${m.toString().padStart(2, "0")}`;
|
|
17
|
+
}
|
|
18
|
+
return "";
|
|
19
|
+
};
|
|
20
|
+
return (jsxs("span", { className: "ids-puff-list-item__date", ...props, children: [`${getDay()} ${getMonthText()} ${getYear()}`, !!getTime() && jsx("span", { className: "ids-puff-list-item__time", children: getTime() })] }));
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { IDSPuffListItemDate };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React, { ReactNode } from "react";
|
|
2
|
+
export interface IDSPuffListItemHeaderProps extends React.HTMLAttributes<HTMLHeadingElement> {
|
|
3
|
+
headlineLevel?: 2 | 3 | 4 | 5;
|
|
4
|
+
headlineExtra?: ReactNode;
|
|
5
|
+
noMargin?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare function IDSPuffListItemHeader({ headlineLevel, headlineExtra, noMargin, className, children, ...props }: IDSPuffListItemHeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare namespace IDSPuffListItemHeader {
|
|
9
|
+
var displayName: string;
|
|
10
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import clsx from 'clsx';
|
|
3
|
+
|
|
4
|
+
function IDSPuffListItemHeader({ headlineLevel = 2, headlineExtra, noMargin = false, className, children, ...props }) {
|
|
5
|
+
const Tag = `h${headlineLevel}`;
|
|
6
|
+
const headerClass = clsx("ids-puff-list-item-header__headline", { "ids-puff-list-item-header__headline--no-margin": noMargin }, className);
|
|
7
|
+
return (jsxs(Tag, { className: headerClass, ...props, children: [children, headlineExtra && jsx("span", { className: "ids-puff-list-item-header__extra-content", children: headlineExtra })] }));
|
|
8
|
+
}
|
|
9
|
+
IDSPuffListItemHeader.displayName = "IDSPuffListItemHeader";
|
|
10
|
+
|
|
11
|
+
export { IDSPuffListItemHeader };
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from "react";
|
|
2
2
|
import "@inera/ids-design/components/puff-list/puff-list.css";
|
|
3
|
-
interface IDSPuffListItemInfoProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
export interface IDSPuffListItemInfoProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
4
|
bottom?: boolean;
|
|
5
|
-
children?: ReactNode;
|
|
6
5
|
}
|
|
7
|
-
export declare
|
|
8
|
-
export {};
|
|
6
|
+
export declare function IDSPuffListItemInfo({ bottom, children, className, ...props }: IDSPuffListItemInfoProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -2,10 +2,9 @@ import { jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import '@inera/ids-design/components/puff-list/puff-list.css';
|
|
3
3
|
import clsx from 'clsx';
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
};
|
|
5
|
+
function IDSPuffListItemInfo({ bottom = false, children, className, ...props }) {
|
|
6
|
+
const classes = clsx("ids-puff-list-item__info", { "ids-puff-list-item__info--bottom": bottom }, className);
|
|
7
|
+
return (jsx("div", { className: classes, ...props, children: children }));
|
|
8
|
+
}
|
|
10
9
|
|
|
11
10
|
export { IDSPuffListItemInfo };
|
|
@@ -1,28 +1,17 @@
|
|
|
1
1
|
import React, { ReactNode } from "react";
|
|
2
2
|
import "@inera/ids-design/components/puff-list/puff-list.css";
|
|
3
|
-
interface IDSPuffListItemProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
|
-
|
|
5
|
-
headlineLevel?: 2 | 3 | 4 | 5;
|
|
6
|
-
headlineLink?: React.ReactElement;
|
|
3
|
+
export interface IDSPuffListItemProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
|
+
header?: ReactNode;
|
|
7
5
|
itemLink?: React.ReactElement;
|
|
8
|
-
date?:
|
|
9
|
-
|
|
10
|
-
month?: number;
|
|
11
|
-
monthLabel?: string;
|
|
12
|
-
day?: number;
|
|
13
|
-
time?: string;
|
|
14
|
-
dateTo?: Date | null;
|
|
15
|
-
yearTo?: string;
|
|
16
|
-
monthTo?: number;
|
|
17
|
-
monthToLabel?: string;
|
|
18
|
-
dayTo?: number;
|
|
19
|
-
timeTo?: string;
|
|
6
|
+
date?: React.ReactElement;
|
|
7
|
+
dateTo?: React.ReactElement;
|
|
20
8
|
noContent?: boolean;
|
|
21
9
|
lean?: boolean;
|
|
22
|
-
noMargin?: boolean;
|
|
23
|
-
noListItem?: boolean;
|
|
24
10
|
dateLabel?: ReactNode;
|
|
11
|
+
extra?: ReactNode;
|
|
25
12
|
children?: ReactNode;
|
|
26
13
|
}
|
|
27
|
-
export declare
|
|
28
|
-
export {
|
|
14
|
+
export declare function IDSPuffListItem({ header, itemLink, date, dateTo, noContent, lean, dateLabel, extra, className, children, ...props }: IDSPuffListItemProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export declare namespace IDSPuffListItem {
|
|
16
|
+
var displayName: string;
|
|
17
|
+
}
|
|
@@ -1,82 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import React, { useState, useEffect, isValidElement, cloneElement } from 'react';
|
|
1
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { isValidElement, cloneElement } from 'react';
|
|
4
3
|
import '@inera/ids-design/components/puff-list/puff-list.css';
|
|
5
|
-
import { getDayAsText, getMonthAsSweText } from '../../utils/utils.js';
|
|
6
4
|
import clsx from 'clsx';
|
|
7
5
|
|
|
8
|
-
|
|
9
|
-
const [presentedDate, setPresentedDate] = useState(date ? new Date(date) : null);
|
|
10
|
-
const [presentedToDate, setPresentedToDate] = useState(dateTo ? new Date(dateTo) : null);
|
|
11
|
-
useEffect(() => {
|
|
12
|
-
if (date) {
|
|
13
|
-
setPresentedDate(new Date(date));
|
|
14
|
-
}
|
|
15
|
-
}, [date]);
|
|
16
|
-
useEffect(() => {
|
|
17
|
-
if (dateTo) {
|
|
18
|
-
setPresentedToDate(new Date(dateTo));
|
|
19
|
-
}
|
|
20
|
-
}, [dateTo]);
|
|
21
|
-
const hasDate = () => date !== null ||
|
|
22
|
-
(year !== "" && year !== undefined) ||
|
|
23
|
-
(month !== null && month !== undefined && month > 0) ||
|
|
24
|
-
(day !== null && day !== undefined && day > 0);
|
|
25
|
-
const hasToDate = () => dateTo !== null ||
|
|
26
|
-
(yearTo !== "" && yearTo !== undefined) ||
|
|
27
|
-
(monthTo !== null && monthTo !== undefined && monthTo > 0) ||
|
|
28
|
-
(dayTo !== null && dayTo !== undefined && dayTo > 0);
|
|
29
|
-
const getYear = () => (presentedDate ? presentedDate.getFullYear() : year);
|
|
30
|
-
const getYearTo = () => (presentedToDate ? presentedToDate.getFullYear() : yearTo);
|
|
31
|
-
const getMonth = () => (presentedDate ? presentedDate.getMonth() + 1 : month);
|
|
32
|
-
const getMonthTo = () => (presentedToDate ? presentedToDate.getMonth() + 1 : monthTo);
|
|
33
|
-
const getDay = () => {
|
|
34
|
-
const dayNumber = presentedDate ? presentedDate.getDate() : day;
|
|
35
|
-
return getDayAsText(dayNumber);
|
|
36
|
-
};
|
|
37
|
-
const getDayTo = () => {
|
|
38
|
-
const dayNumber = presentedToDate ? presentedToDate.getDate() : dayTo;
|
|
39
|
-
return getDayAsText(dayNumber);
|
|
40
|
-
};
|
|
41
|
-
const getMonthText = () => (monthLabel ? monthLabel : getMonthAsSweText(getMonth() - 1, 3));
|
|
42
|
-
const getMonthToText = () => (monthToLabel ? monthToLabel : getMonthAsSweText(getMonthTo() - 1, 3));
|
|
43
|
-
const getTime = () => {
|
|
44
|
-
if (time)
|
|
45
|
-
return time;
|
|
46
|
-
if (presentedDate) {
|
|
47
|
-
const hour = presentedDate.getHours();
|
|
48
|
-
const min = presentedDate.getMinutes();
|
|
49
|
-
return `${hour.toString().padStart(2, "0")}:${min.toString().padStart(2, "0")}`;
|
|
50
|
-
}
|
|
51
|
-
return "";
|
|
52
|
-
};
|
|
53
|
-
const getTimeTo = () => {
|
|
54
|
-
if (timeTo)
|
|
55
|
-
return timeTo;
|
|
56
|
-
if (presentedToDate) {
|
|
57
|
-
const hour = presentedToDate.getHours();
|
|
58
|
-
const min = presentedToDate.getMinutes();
|
|
59
|
-
return `${hour.toString().padStart(2, "0")}:${min.toString().padStart(2, "0")}`;
|
|
60
|
-
}
|
|
61
|
-
return "";
|
|
62
|
-
};
|
|
63
|
-
const getHeaderClass = (noMargin) => clsx("ids-puff-list-item__header", {
|
|
64
|
-
"ids-puff-list-item__header--no-margin": noMargin
|
|
65
|
-
});
|
|
66
|
-
const renderHeadline = () => {
|
|
67
|
-
const level = [2, 3, 4, 5].includes(headlineLevel) ? headlineLevel : 2;
|
|
68
|
-
const Tag = `h${level}`;
|
|
69
|
-
const headlineContent = jsx(Fragment, { children: headline });
|
|
70
|
-
if (headlineLink && isValidElement(headlineLink)) {
|
|
71
|
-
return React.createElement(Tag, { className: getHeaderClass(noMargin) }, cloneElement(headlineLink, {
|
|
72
|
-
...headlineLink.props,
|
|
73
|
-
children: headlineContent
|
|
74
|
-
}));
|
|
75
|
-
}
|
|
76
|
-
return React.createElement(Tag, { className: getHeaderClass(noMargin) }, headline);
|
|
77
|
-
};
|
|
6
|
+
function IDSPuffListItem({ header, itemLink, date, dateTo, noContent = false, lean = false, dateLabel, extra, className, children, ...props }) {
|
|
78
7
|
const renderBody = () => {
|
|
79
|
-
const content = (jsxs(Fragment, { children: [
|
|
8
|
+
const content = (jsxs(Fragment, { children: [jsx("div", { className: "ids-puff-list-item-header", children: header }), !noContent && jsx("div", { className: "ids-puff-list-item__body", children: children })] }));
|
|
80
9
|
if (itemLink && isValidElement(itemLink)) {
|
|
81
10
|
return cloneElement(itemLink, {
|
|
82
11
|
...itemLink.props,
|
|
@@ -86,10 +15,11 @@ const IDSPuffListItem = ({ headline = "", headlineLevel = 2, headlineLink, itemL
|
|
|
86
15
|
}
|
|
87
16
|
return content;
|
|
88
17
|
};
|
|
89
|
-
return (
|
|
18
|
+
return (jsxs("div", { className: clsx("ids-puff-list-item", {
|
|
90
19
|
"ids-puff-list-item--interactive": !!itemLink,
|
|
91
20
|
"ids-puff-list-item--lean": !!lean
|
|
92
|
-
}, className), ...props, children: jsxs("div", { className: "ids-puff-list-item__inner", children: [dateLabel && jsx("div", { className: "ids-puff-list-item__date-label", children: dateLabel }), jsxs("div", { className: "ids-puff-list-item__content", children: [
|
|
93
|
-
}
|
|
21
|
+
}, className), ...props, children: [jsxs("div", { className: "ids-puff-list-item__inner", children: [dateLabel && jsx("div", { className: "ids-puff-list-item__date-label", children: dateLabel }), jsxs("div", { className: "ids-puff-list-item__content", children: [!!date && date, !!date && !!dateTo && (jsxs(Fragment, { children: [jsx("span", { className: "ids-puff-list-item__date-spacer", children: "\u2015" }), dateTo] })), renderBody()] }), extra && jsx("div", { className: "ids-puff-list-item__extra-content", children: extra })] }), jsx("div", { className: "ids-puff-list-item-separator" })] }));
|
|
22
|
+
}
|
|
23
|
+
IDSPuffListItem.displayName = "IDSPuffListItem";
|
|
94
24
|
|
|
95
25
|
export { IDSPuffListItem };
|
|
@@ -3,5 +3,5 @@ import "@inera/ids-design/components/puff-list/puff-list.css";
|
|
|
3
3
|
interface IDSPuffListProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
4
|
children?: ReactNode;
|
|
5
5
|
}
|
|
6
|
-
export declare
|
|
6
|
+
export declare function IDSPuffList({ children, className, ...props }: IDSPuffListProps): import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
export {};
|
|
@@ -2,8 +2,9 @@ import { jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import '@inera/ids-design/components/puff-list/puff-list.css';
|
|
3
3
|
import clsx from 'clsx';
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
};
|
|
5
|
+
function IDSPuffList({ children, className, ...props }) {
|
|
6
|
+
const classes = clsx("ids-puff-list", className);
|
|
7
|
+
return (jsx("div", { className: classes, ...props, children: children }));
|
|
8
|
+
}
|
|
8
9
|
|
|
9
10
|
export { IDSPuffList };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import "@inera/ids-design/components/region-icon/region-icon.css";
|
|
3
3
|
type Size = "xs" | "s" | "m" | "l" | "ml";
|
|
4
|
-
interface IDSRegionIconProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
4
|
+
export interface IDSRegionIconProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
5
5
|
name: string;
|
|
6
6
|
size?: Size;
|
|
7
7
|
colorPreset?: number;
|
|
8
8
|
light?: boolean;
|
|
9
9
|
inline?: boolean;
|
|
10
10
|
}
|
|
11
|
-
export declare
|
|
11
|
+
export declare function IDSRegionIcon({ name, size, colorPreset, light, inline, className, ...props }: IDSRegionIconProps): import("react/jsx-runtime").JSX.Element;
|
|
12
12
|
export {};
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
"use client";
|
|
2
1
|
import { jsx } from 'react/jsx-runtime';
|
|
3
2
|
import '@inera/ids-design/components/region-icon/region-icon.css';
|
|
4
3
|
import clsx from 'clsx';
|
|
5
4
|
|
|
6
|
-
|
|
5
|
+
function IDSRegionIcon({ name, size = "m", colorPreset = 1, light = false, inline = false, className, ...props }) {
|
|
7
6
|
const getSize = () => {
|
|
8
7
|
switch (size) {
|
|
9
8
|
case "l":
|
|
10
9
|
return "3rem";
|
|
10
|
+
case "ml":
|
|
11
|
+
return "2.75rem";
|
|
11
12
|
case "m":
|
|
12
13
|
return "2.5rem";
|
|
13
14
|
case "s":
|
|
14
|
-
return "
|
|
15
|
+
return "2rem";
|
|
15
16
|
case "xs":
|
|
16
17
|
return "1.5rem";
|
|
17
18
|
default:
|
|
@@ -19,6 +20,6 @@ const IDSRegionIcon = ({ name, size = "m", colorPreset = 1, light = false, inlin
|
|
|
19
20
|
}
|
|
20
21
|
};
|
|
21
22
|
return (jsx("span", { className: clsx("ids-region-icon", `ids-region-icon--${name}`, `ids-region-icon--color-preset-${light ? 3 : colorPreset}`, { "ids-region-icon--inline": inline }, className), style: { fontSize: getSize() }, ...props }));
|
|
22
|
-
}
|
|
23
|
+
}
|
|
23
24
|
|
|
24
25
|
export { IDSRegionIcon };
|
|
@@ -44,7 +44,7 @@ const IDSSideMenu = ({ label = "", srToggleText = "Sektion", expanded = false, a
|
|
|
44
44
|
if (label) {
|
|
45
45
|
return renderLabel();
|
|
46
46
|
}
|
|
47
|
-
return (jsxs(Fragment, { children: [renderExpandButton(), jsx("div", { className: "ids-side-menu__link",
|
|
47
|
+
return (jsxs(Fragment, { children: [renderExpandButton(), jsx("div", { className: "ids-side-menu__link", children: link })] }));
|
|
48
48
|
};
|
|
49
49
|
return (jsxs("div", { className: clsx("ids-side-menu", className), ...props, children: [jsx("div", { className: clsx("ids-side-menu__header", `ids-side-menu--level-${level}`, {
|
|
50
50
|
"ids-side-menu--active": active,
|
|
@@ -29,7 +29,7 @@ const IDSStep = ({ state = "", headline, label = "", stepNumber = "", srIndicato
|
|
|
29
29
|
return null;
|
|
30
30
|
return stepNumber;
|
|
31
31
|
};
|
|
32
|
-
return (jsxs("div", { className: clsx("ids-step", className), ...(last
|
|
32
|
+
return (jsxs("div", { className: clsx("ids-step", className), ...(last && { last }), ...props, children: [jsx("div", { role: "button", tabIndex: disabled ? -1 : 0, className: clsx("ids-step__button", {
|
|
33
33
|
"ids-step__button--disabled": disabled
|
|
34
34
|
}), "aria-expanded": expanded, onClick: toggleExpansion, onKeyDown: handleKeyPress, 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: [label && jsx("div", { className: "ids-step__label", children: label }), headline && jsx("div", { className: "ids-step__headline", children: headline })] }), jsx("div", { className: clsx("ids-step__chevron", {
|
|
35
35
|
"ids-step__chevron--expanded": expanded
|