@dbcdk/react-components 0.0.101 → 0.0.103

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.
@@ -11,10 +11,12 @@ export interface AccordionItem {
11
11
  }
12
12
  type Size = 'sm' | 'md' | 'lg';
13
13
  type Mode = 'single' | 'multiple';
14
+ type Variant = 'default' | 'outlined';
14
15
  export interface AccordionProps {
15
16
  items: AccordionItem[];
16
17
  mode?: Mode;
17
18
  size?: Size;
19
+ variant?: Variant;
18
20
  /** Uncontrolled defaults */
19
21
  defaultOpenIndex?: number | null;
20
22
  defaultOpenIndexes?: number[] | 'all';
@@ -25,5 +27,5 @@ export interface AccordionProps {
25
27
  onOpenIndexChange?: (index: number | null) => void;
26
28
  onOpenIndexesChange?: (indexes: number[]) => void;
27
29
  }
28
- export declare function Accordion({ items, mode, size, defaultOpenIndex, defaultOpenIndexes, openIndex, openIndexes, onOpenIndexChange, onOpenIndexesChange, }: AccordionProps): JSX.Element;
30
+ export declare function Accordion({ items, mode, size, variant, defaultOpenIndex, defaultOpenIndexes, openIndex, openIndexes, onOpenIndexChange, onOpenIndexesChange, }: AccordionProps): JSX.Element;
29
31
  export {};
@@ -7,5 +7,7 @@ export type AccordionRowProps = {
7
7
  isOpen: boolean;
8
8
  onToggle: (index: number) => void;
9
9
  shouldAnimate?: boolean;
10
+ headlineSize?: 1 | 2 | 3 | 4 | 5 | 6;
11
+ variant?: 'default' | 'outlined';
10
12
  };
11
- export declare function AccordionRow({ uid, index, item, isOpen, onToggle, shouldAnimate, }: AccordionRowProps): JSX.Element;
13
+ export declare function AccordionRow({ uid, index, item, isOpen, onToggle, shouldAnimate, headlineSize, variant, }: AccordionRowProps): JSX.Element;
@@ -4,12 +4,14 @@ import { CardMeta, CardMetaRow } from './components/CardMeta';
4
4
  type CardVariant = 'default' | 'subtle';
5
5
  type CardSize = 'sm' | 'md' | 'lg';
6
6
  type CardImagePlacement = 'left' | 'right' | 'top';
7
+ type CardElevation = 'none' | 'xs' | 'sm' | 'md';
7
8
  export interface CardProps {
8
9
  title?: string;
9
10
  subheader?: ReactNode;
10
11
  loading?: boolean;
11
12
  variant?: CardVariant;
12
13
  size?: CardSize;
14
+ elevation?: CardElevation;
13
15
  headerMarker?: boolean;
14
16
  headerIcon?: ReactNode;
15
17
  headerAddition?: ReactNode;
@@ -3,6 +3,7 @@ import { Severity } from '../../constants/severity.types';
3
3
  type HeadlineTone = 'dark' | 'light';
4
4
  type HeadlineVariant = 'default' | 'muted';
5
5
  export interface HeadlineProps extends React.AriaAttributes {
6
+ id?: string;
6
7
  size?: 1 | 2 | 3 | 4 | 5 | 6;
7
8
  marker?: boolean;
8
9
  disableMargin?: boolean;
@@ -15,5 +16,5 @@ export interface HeadlineProps extends React.AriaAttributes {
15
16
  tone?: HeadlineTone;
16
17
  variant?: HeadlineVariant;
17
18
  }
18
- export declare function Headline({ size, marker, disableMargin, children, severity, weight, subheader, addition, icon, tone, variant, allowWrap, }: PropsWithChildren<HeadlineProps>): React.JSX.Element;
19
+ export declare function Headline({ size, marker, disableMargin, children, severity, weight, subheader, addition, icon, tone, variant, allowWrap, id, }: PropsWithChildren<HeadlineProps>): React.JSX.Element;
19
20
  export {};
@@ -10,6 +10,7 @@ type BaseProps = {
10
10
  asChild?: boolean;
11
11
  variant?: 'primary' | 'secondary';
12
12
  inline?: boolean;
13
+ disabled?: boolean;
13
14
  };
14
15
  type AnchorProps = BaseProps & React.AnchorHTMLAttributes<HTMLAnchorElement> & {
15
16
  as?: 'a';
@@ -0,0 +1,11 @@
1
+ import type { JSX, ReactNode } from 'react';
2
+ import type { Severity } from '../../constants/severity.types';
3
+ export interface InlineStatusProps {
4
+ children: ReactNode;
5
+ severity?: Severity;
6
+ customIcon?: ReactNode;
7
+ disableIcon?: boolean;
8
+ fullWidth?: boolean;
9
+ size?: 'sm' | 'md';
10
+ }
11
+ export declare function InlineStatus({ children, severity, customIcon, disableIcon, fullWidth, size, }: InlineStatusProps): JSX.Element;
@@ -8,12 +8,14 @@ interface PageProps {
8
8
  headerIcon?: ReactNode;
9
9
  children?: ReactNode;
10
10
  headerAddition?: ReactNode;
11
+ /** @deprecated use contentBox instead */
11
12
  disableContentBox?: boolean;
13
+ contentBox?: boolean;
12
14
  disableTopPadding?: boolean;
13
15
  maxWidth?: 'sm' | 'md' | 'lg';
14
16
  breadcrumbs?: BreadcrumbItem[];
15
17
  containScrolling?: boolean;
16
18
  loading?: boolean;
17
19
  }
18
- export declare function Page({ header, subheader, severity, headerIcon, headerAddition, breadcrumbs, disableContentBox, disableTopPadding, maxWidth, containScrolling, children, loading, }: PageProps): ReactNode;
20
+ export declare function Page({ header, subheader, severity, headerIcon, headerAddition, breadcrumbs, disableContentBox, contentBox, disableTopPadding, maxWidth, containScrolling, children, loading, }: PageProps): ReactNode;
19
21
  export {};
@@ -8,13 +8,14 @@ export type Segment = {
8
8
  color?: string;
9
9
  label?: React.ReactNode;
10
10
  };
11
+ export type ProgressBarSize = '2xs' | 'xxs' | 'xs' | 'sm' | 'md' | 'lg';
11
12
  export interface SegmentedProgressBarProps {
12
13
  segments: Segment[];
13
14
  total?: number;
14
15
  showRemainder?: boolean;
15
16
  remainderSeverity?: Severity | ProgressSeverity;
16
17
  centerLabel?: React.ReactNode | ((filledPct: number) => React.ReactNode);
17
- height?: number;
18
+ size?: ProgressBarSize;
18
19
  rounded?: boolean;
19
20
  trackColor?: string;
20
21
  tooltipPlacement?: TooltipPlacement;
package/dist/index.cjs CHANGED
@@ -426,7 +426,6 @@ var Button_default = {
426
426
  rounded: "Button_rounded",
427
427
  link: "Button_link",
428
428
  icon: "Button_icon",
429
- xs: "Button_xs",
430
429
  sm: "Button_sm",
431
430
  lg: "Button_lg",
432
431
  fullWidth: "Button_fullWidth",
@@ -437,7 +436,8 @@ var Button_default = {
437
436
  active: "Button_active",
438
437
  success: "Button_success",
439
438
  danger: "Button_danger",
440
- inline: "Button_inline"
439
+ inline: "Button_inline",
440
+ xs: "Button_xs"
441
441
  };
442
442
  function cx(...parts) {
443
443
  return parts.filter(Boolean).join(" ");
@@ -804,7 +804,8 @@ function Headline({
804
804
  icon,
805
805
  tone,
806
806
  variant,
807
- allowWrap = true
807
+ allowWrap = true,
808
+ id
808
809
  }) {
809
810
  const Tag = `h${size}`;
810
811
  const containerClassName = [Headline_default.headlineContainer, tone ? Headline_default[`tone-${tone}`] : ""].filter(Boolean).join(" ");
@@ -820,6 +821,7 @@ function Headline({
820
821
  /* @__PURE__ */ jsxRuntime.jsxs(
821
822
  Tag,
822
823
  {
824
+ id,
823
825
  style: {
824
826
  "--font-weight": weight,
825
827
  "--marker-color": severity ? SeverityBgColor[severity] : void 0
@@ -1354,6 +1356,48 @@ var InputContainer_default = {
1354
1356
  messageRow: "InputContainer_messageRow",
1355
1357
  inputContainer: "InputContainer_inputContainer"
1356
1358
  };
1359
+
1360
+ // src/components/inline-status/InlineStatus.module.css
1361
+ var InlineStatus_default = {
1362
+ container: "InlineStatus_container",
1363
+ fullWidth: "InlineStatus_fullWidth",
1364
+ leading: "InlineStatus_leading",
1365
+ body: "InlineStatus_body",
1366
+ sm: "InlineStatus_sm",
1367
+ md: "InlineStatus_md",
1368
+ neutral: "InlineStatus_neutral",
1369
+ success: "InlineStatus_success",
1370
+ warning: "InlineStatus_warning",
1371
+ error: "InlineStatus_error",
1372
+ info: "InlineStatus_info",
1373
+ brand: "InlineStatus_brand"
1374
+ };
1375
+ function InlineStatus({
1376
+ children,
1377
+ severity = "neutral",
1378
+ customIcon,
1379
+ disableIcon = false,
1380
+ fullWidth = false,
1381
+ size = "sm"
1382
+ }) {
1383
+ const hasLeading = Boolean(customIcon) || !disableIcon;
1384
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1385
+ "div",
1386
+ {
1387
+ className: [
1388
+ InlineStatus_default.container,
1389
+ InlineStatus_default[severity],
1390
+ InlineStatus_default[size],
1391
+ fullWidth ? InlineStatus_default.fullWidth : "",
1392
+ hasLeading ? InlineStatus_default.hasLeading : ""
1393
+ ].filter(Boolean).join(" "),
1394
+ children: [
1395
+ hasLeading ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: InlineStatus_default.leading, children: customIcon != null ? customIcon : /* @__PURE__ */ jsxRuntime.jsx(Icon, { severity }) }) : null,
1396
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: InlineStatus_default.body, children })
1397
+ ]
1398
+ }
1399
+ );
1400
+ }
1357
1401
  function InputContainer({
1358
1402
  label,
1359
1403
  labelAction,
@@ -1369,8 +1413,6 @@ function InputContainer({
1369
1413
  labelWidth = "160px",
1370
1414
  modified = false
1371
1415
  }) {
1372
- const message = error != null ? error : helpText;
1373
- const messageClass = error ? InputContainer_default.errorText : InputContainer_default.helpText;
1374
1416
  const renderLabelRow = (label || labelAction) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${InputContainer_default.labelRow} dbc-flex dbc-items-center dbc-gap-md`, children: [
1375
1417
  label && /* @__PURE__ */ jsxRuntime.jsxs("label", { className: InputContainer_default.label, htmlFor, children: [
1376
1418
  label,
@@ -1378,10 +1420,10 @@ function InputContainer({
1378
1420
  ] }),
1379
1421
  labelAction && /* @__PURE__ */ jsxRuntime.jsx("div", { className: InputContainer_default.labelAction, children: labelAction })
1380
1422
  ] });
1381
- const renderMessageRow = (message || helpTextAddition) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${messageClass} ${InputContainer_default.messageRow}`, children: [
1382
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: message }),
1423
+ const renderMessageRow = (error || helpText || helpTextAddition) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${error ? InputContainer_default.errorText : InputContainer_default.helpText} ${InputContainer_default.messageRow}`, children: error ? /* @__PURE__ */ jsxRuntime.jsx(InlineStatus, { severity: "error", disableIcon: true, children: error }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1424
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: helpText }),
1383
1425
  helpTextAddition && /* @__PURE__ */ jsxRuntime.jsx("span", { className: InputContainer_default.helpTextAddition, children: helpTextAddition })
1384
- ] });
1426
+ ] }) });
1385
1427
  if (orientation === "vertical") {
1386
1428
  return /* @__PURE__ */ jsxRuntime.jsxs(
1387
1429
  "div",
@@ -2531,7 +2573,7 @@ function Tabs({
2531
2573
  "div",
2532
2574
  {
2533
2575
  className: [Tabs_default.headerContainer, disableTopPadding ? Tabs_default.disableTopPadding : ""].filter(Boolean).join(" "),
2534
- children: /* @__PURE__ */ jsxRuntime.jsx(Headline, { disableMargin: true, size: 2, subheader, addition, children: header })
2576
+ children: /* @__PURE__ */ jsxRuntime.jsx(Headline, { disableMargin: true, size: 1, subheader, addition, children: header })
2535
2577
  }
2536
2578
  ) : null,
2537
2579
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${Tabs_default.tabs} ${Tabs_default[variant]} ${panelStyle ? Tabs_default.panelStyle : ""}`, children: [
@@ -2753,6 +2795,7 @@ var Hyperlink_default = {
2753
2795
  primary: "Hyperlink_primary",
2754
2796
  block: "Hyperlink_block",
2755
2797
  content: "Hyperlink_content",
2798
+ disabled: "Hyperlink_disabled",
2756
2799
  icon: "Hyperlink_icon"
2757
2800
  };
2758
2801
  function cx2(...parts) {
@@ -2774,13 +2817,15 @@ function Hyperlink(props) {
2774
2817
  as = "a",
2775
2818
  variant = "primary",
2776
2819
  inline = true,
2820
+ disabled = false,
2777
2821
  ...rest
2778
2822
  } = props;
2779
2823
  const linkClassName = cx2(
2780
2824
  Hyperlink_default.link,
2781
2825
  className,
2782
2826
  variant === "secondary" ? Hyperlink_default.secondary : Hyperlink_default.primary,
2783
- inline ? "" : Hyperlink_default.block
2827
+ inline ? "" : Hyperlink_default.block,
2828
+ disabled ? Hyperlink_default.disabled : ""
2784
2829
  );
2785
2830
  if (asChild) {
2786
2831
  const child = React19__namespace.Children.only(children);
@@ -2793,6 +2838,7 @@ function Hyperlink(props) {
2793
2838
  ...rest,
2794
2839
  className: cx2(childProps.className, linkClassName),
2795
2840
  children: renderInner(childProps.children, icon),
2841
+ "aria-disabled": disabled || void 0,
2796
2842
  onClick: (e) => {
2797
2843
  e.stopPropagation();
2798
2844
  if (childProps.onClick) {
@@ -2807,6 +2853,7 @@ function Hyperlink(props) {
2807
2853
  {
2808
2854
  type: "button",
2809
2855
  className: linkClassName,
2856
+ disabled,
2810
2857
  ...rest,
2811
2858
  children: renderInner(children, icon)
2812
2859
  }
@@ -2815,8 +2862,12 @@ function Hyperlink(props) {
2815
2862
  return /* @__PURE__ */ jsxRuntime.jsx(
2816
2863
  "a",
2817
2864
  {
2818
- onClick: (e) => e.stopPropagation(),
2865
+ onClick: (e) => {
2866
+ e.stopPropagation();
2867
+ if (disabled) e.preventDefault();
2868
+ },
2819
2869
  className: linkClassName,
2870
+ "aria-disabled": disabled || void 0,
2820
2871
  ...rest,
2821
2872
  children: renderInner(children, icon)
2822
2873
  }
@@ -3449,6 +3500,10 @@ function Panel({
3449
3500
  var Card_default = {
3450
3501
  outerContainer: "Card_outerContainer",
3451
3502
  container: "Card_container",
3503
+ elevationNone: "Card_elevationNone",
3504
+ elevationXs: "Card_elevationXs",
3505
+ elevationSm: "Card_elevationSm",
3506
+ elevationMd: "Card_elevationMd",
3452
3507
  variantDefault: "Card_variantDefault",
3453
3508
  variantSubtle: "Card_variantSubtle",
3454
3509
  sm: "Card_sm",
@@ -3576,6 +3631,7 @@ function CardImpl({
3576
3631
  loading = false,
3577
3632
  variant = "default",
3578
3633
  size = "md",
3634
+ elevation = "sm",
3579
3635
  headerMarker = true,
3580
3636
  headerIcon,
3581
3637
  headerAddition,
@@ -3592,6 +3648,7 @@ function CardImpl({
3592
3648
  width,
3593
3649
  headlineSize = 4
3594
3650
  }) {
3651
+ var _a;
3595
3652
  const outerStyle = width ? {
3596
3653
  ["--width"]: `${width}%`,
3597
3654
  ["--gap-share"]: getGapShare(width)
@@ -3599,6 +3656,7 @@ function CardImpl({
3599
3656
  const mediaStyle = mediaWidth ? { ["--card-media-width"]: `${mediaWidth}px` } : void 0;
3600
3657
  const innerPlacementClass = getInnerPlacementClass(imgPlacement, Card_default);
3601
3658
  const variantClass = getVariantClass(variant, Card_default);
3659
+ const elevationClass = (_a = Card_default[`elevation${elevation.charAt(0).toUpperCase()}${elevation.slice(1)}`]) != null ? _a : Card_default.elevationSm;
3602
3660
  const hasHeader = !!title || !!headerMeta;
3603
3661
  const showSection = !loading && (showSectionDivider || !!sectionTitle);
3604
3662
  const showBody = !loading && !!children;
@@ -3636,7 +3694,7 @@ function CardImpl({
3636
3694
  ] })
3637
3695
  ] });
3638
3696
  const cardContent = link ? /* @__PURE__ */ jsxRuntime.jsx(Hyperlink, { children: link }) : inner;
3639
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${Card_default.outerContainer} ${Card_default[size]}`, style: outerStyle, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${Card_default.container} ${variantClass}`, children: cardContent }) });
3697
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${Card_default.outerContainer} ${Card_default[size]}`, style: outerStyle, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${Card_default.container} ${variantClass} ${elevationClass}`, children: cardContent }) });
3640
3698
  }
3641
3699
  var Card = Object.assign(CardImpl, {
3642
3700
  Meta: CardMeta,
@@ -3683,7 +3741,7 @@ var Page_default = {
3683
3741
  headerMain: "Page_headerMain",
3684
3742
  content: "Page_content",
3685
3743
  contentLoading: "Page_contentLoading",
3686
- disableContentBox: "Page_disableContentBox"
3744
+ contentBox: "Page_contentBox"
3687
3745
  };
3688
3746
 
3689
3747
  // src/components/breadcrumbs/Breadcrumbs.module.css
@@ -3710,12 +3768,14 @@ function Page({
3710
3768
  headerAddition,
3711
3769
  breadcrumbs,
3712
3770
  disableContentBox,
3771
+ contentBox = false,
3713
3772
  disableTopPadding = true,
3714
3773
  maxWidth,
3715
3774
  containScrolling = false,
3716
3775
  children,
3717
3776
  loading = false
3718
3777
  }) {
3778
+ const showContentBox = contentBox && !disableContentBox;
3719
3779
  const maxWidthClass = maxWidth ? Page_default[`maxWidth${maxWidth.charAt(0).toUpperCase()}${maxWidth.slice(1)}`] : "";
3720
3780
  const hasHeadline = Boolean(header || subheader || headerAddition);
3721
3781
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -3729,7 +3789,7 @@ function Page({
3729
3789
  Headline,
3730
3790
  {
3731
3791
  disableMargin: true,
3732
- size: 2,
3792
+ size: 1,
3733
3793
  severity,
3734
3794
  icon: headerIcon,
3735
3795
  subheader,
@@ -3741,7 +3801,7 @@ function Page({
3741
3801
  /* @__PURE__ */ jsxRuntime.jsx(
3742
3802
  "div",
3743
3803
  {
3744
- className: `${Page_default.content} ${loading ? Page_default.contentLoading : ""} ${disableContentBox ? Page_default.disableContentBox : ""}`,
3804
+ className: `${Page_default.content} ${loading ? Page_default.contentLoading : ""} ${showContentBox ? Page_default.contentBox : ""}`,
3745
3805
  children: loading ? /* @__PURE__ */ jsxRuntime.jsx(SkeletonLoader, { type: "squares", rows: 1, columns: 1 }) : children
3746
3806
  }
3747
3807
  )
@@ -4313,7 +4373,7 @@ function TableRow({
4313
4373
  columns.map((column) => {
4314
4374
  var _a2, _b, _c, _d;
4315
4375
  const allowWrap = shouldAllowWrap(column.allowWrap, isSelected, viewMode);
4316
- const allowOverflow = column.allowOverflow;
4376
+ column.allowOverflow;
4317
4377
  const cellValue = getCellDisplayValue(row, column);
4318
4378
  return /* @__PURE__ */ jsxRuntime.jsx(
4319
4379
  "td",
@@ -4333,7 +4393,7 @@ function TableRow({
4333
4393
  className: Table_default.cellContent,
4334
4394
  "data-align": (_c = column.align) != null ? _c : "left",
4335
4395
  "data-vertical-align": (_d = column.verticalAlign) != null ? _d : "top",
4336
- children: allowWrap || allowOverflow ? cellValue : /* @__PURE__ */ jsxRuntime.jsx("div", { className: Table_default.cellValueEllipsis, children: cellValue })
4396
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: Table_default.cellValueEllipsis, children: cellValue })
4337
4397
  }
4338
4398
  )
4339
4399
  },
@@ -7566,6 +7626,14 @@ var SegmentedProgressBar_default = {
7566
7626
  progressCenterLabel: "SegmentedProgressBar_progressCenterLabel",
7567
7627
  emptySegments: "SegmentedProgressBar_emptySegments"
7568
7628
  };
7629
+ var sizeTokenMap = {
7630
+ "2xs": "var(--component-size-2xs)",
7631
+ xxs: "var(--component-size-xxs)",
7632
+ xs: "var(--component-size-xs)",
7633
+ sm: "var(--component-size-sm)",
7634
+ md: "var(--component-size-md)",
7635
+ lg: "var(--component-size-lg)"
7636
+ };
7569
7637
  function SegmentWithTooltip({
7570
7638
  seg,
7571
7639
  index,
@@ -7605,9 +7673,9 @@ var SegmentedProgressBar = ({
7605
7673
  segments,
7606
7674
  total,
7607
7675
  showRemainder = true,
7608
- remainderSeverity = "neutral",
7676
+ remainderSeverity = "missing",
7609
7677
  centerLabel,
7610
- height,
7678
+ size = "sm",
7611
7679
  rounded = true,
7612
7680
  trackColor,
7613
7681
  tooltipPlacement = "top",
@@ -7645,7 +7713,8 @@ var SegmentedProgressBar = ({
7645
7713
  className: SegmentedProgressBar_default.progressBar,
7646
7714
  "data-rounded": rounded ? "true" : "false",
7647
7715
  style: {
7648
- height: height ? `${height}px` : "24px",
7716
+ ["--progress-height"]: sizeTokenMap[size],
7717
+ height: sizeTokenMap[size],
7649
7718
  background: trackColor != null ? trackColor : "var(--color-bg-surface-subtle)"
7650
7719
  },
7651
7720
  children: [
@@ -8526,7 +8595,7 @@ function Modal({
8526
8595
  tabIndex: -1,
8527
8596
  children: [
8528
8597
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Modal_default.header, children: [
8529
- header && /* @__PURE__ */ jsxRuntime.jsx(Headline, { severity, size: 3, disableMargin: true, subheader, children: header }),
8598
+ header && /* @__PURE__ */ jsxRuntime.jsx(Headline, { severity, size: 2, disableMargin: true, subheader, children: header }),
8530
8599
  /* @__PURE__ */ jsxRuntime.jsx(
8531
8600
  Button,
8532
8601
  {
@@ -10689,7 +10758,7 @@ function SidePanel({
10689
10758
  /* @__PURE__ */ jsxRuntime.jsx(
10690
10759
  Headline,
10691
10760
  {
10692
- size: 3,
10761
+ size: 2,
10693
10762
  disableMargin: true,
10694
10763
  severity,
10695
10764
  marker: showHeaderMarker,
@@ -11049,6 +11118,7 @@ function IntervalSelect({
11049
11118
  // src/components/accordion/Accordion.module.css
11050
11119
  var Accordion_default = {
11051
11120
  container: "Accordion_container",
11121
+ outlined: "Accordion_outlined",
11052
11122
  sm: "Accordion_sm",
11053
11123
  md: "Accordion_md",
11054
11124
  lg: "Accordion_lg"
@@ -11065,7 +11135,8 @@ var AccordionRow_default = {
11065
11135
  panel: "AccordionRow_panel",
11066
11136
  animate: "AccordionRow_animate",
11067
11137
  noAnimate: "AccordionRow_noAnimate",
11068
- content: "AccordionRow_content"
11138
+ content: "AccordionRow_content",
11139
+ item: "AccordionRow_item"
11069
11140
  };
11070
11141
  function useCollapsibleHeight(isOpen, shouldAnimate) {
11071
11142
  const innerRef = React19.useRef(null);
@@ -11108,7 +11179,9 @@ function AccordionRow({
11108
11179
  item,
11109
11180
  isOpen,
11110
11181
  onToggle,
11111
- shouldAnimate = true
11182
+ shouldAnimate = true,
11183
+ headlineSize = 4,
11184
+ variant = "default"
11112
11185
  }) {
11113
11186
  const isDisabled = !!item.disabled;
11114
11187
  const buttonId = `${uid}-acc-btn-${index}`;
@@ -11136,8 +11209,8 @@ function AccordionRow({
11136
11209
  Headline,
11137
11210
  {
11138
11211
  disableMargin: true,
11139
- size: 4,
11140
- weight: 500,
11212
+ size: headlineSize,
11213
+ weight: variant === "outlined" ? 400 : 500,
11141
11214
  severity: item.severity,
11142
11215
  subheader: item.subheader,
11143
11216
  allowWrap: isOpen,
@@ -11176,6 +11249,7 @@ function Accordion({
11176
11249
  items,
11177
11250
  mode = "single",
11178
11251
  size = "md",
11252
+ variant = "default",
11179
11253
  defaultOpenIndex = null,
11180
11254
  defaultOpenIndexes = [],
11181
11255
  openIndex,
@@ -11185,9 +11259,9 @@ function Accordion({
11185
11259
  }) {
11186
11260
  const uid = React19.useId();
11187
11261
  const isControlled = mode === "single" ? openIndex !== void 0 : openIndexes !== void 0;
11188
- const hasMountedRef = React19.useRef(false);
11262
+ const [hasMounted, setHasMounted] = React19.useState(false);
11189
11263
  React19.useEffect(() => {
11190
- hasMountedRef.current = true;
11264
+ setHasMounted(true);
11191
11265
  }, []);
11192
11266
  const [internalSingle, setInternalSingle] = React19.useState(
11193
11267
  mode === "single" ? defaultOpenIndex : null
@@ -11233,18 +11307,26 @@ function Accordion({
11233
11307
  if (isOpen) commit(currentOpenIndexes.filter((i) => i !== index));
11234
11308
  else commit([...currentOpenIndexes, index]);
11235
11309
  }
11236
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${Accordion_default.container} ${Accordion_default[size]}`, children: items.map((item, i) => /* @__PURE__ */ jsxRuntime.jsx(
11237
- AccordionRow,
11310
+ return /* @__PURE__ */ jsxRuntime.jsx(
11311
+ "div",
11238
11312
  {
11239
- uid,
11240
- index: i,
11241
- item,
11242
- isOpen: openSet.has(i),
11243
- onToggle: toggle,
11244
- shouldAnimate: hasMountedRef.current
11245
- },
11246
- i
11247
- )) });
11313
+ className: [Accordion_default.container, Accordion_default[size], variant !== "default" ? Accordion_default[variant] : ""].filter(Boolean).join(" "),
11314
+ children: items.map((item, i) => /* @__PURE__ */ jsxRuntime.jsx(
11315
+ AccordionRow,
11316
+ {
11317
+ uid,
11318
+ index: i,
11319
+ item,
11320
+ isOpen: openSet.has(i),
11321
+ onToggle: toggle,
11322
+ shouldAnimate: hasMounted,
11323
+ headlineSize: size === "sm" ? 4 : 3,
11324
+ variant
11325
+ },
11326
+ i
11327
+ ))
11328
+ }
11329
+ );
11248
11330
  }
11249
11331
  var EmptyIllustration = () => /* @__PURE__ */ jsxRuntime.jsxs(
11250
11332
  "svg",
@@ -12774,6 +12856,7 @@ exports.GridItem = GridItem;
12774
12856
  exports.Headline = Headline;
12775
12857
  exports.Hyperlink = Hyperlink;
12776
12858
  exports.Icon = Icon;
12859
+ exports.InlineStatus = InlineStatus;
12777
12860
  exports.Input = Input;
12778
12861
  exports.InputContainer = InputContainer;
12779
12862
  exports.IntervalSelect = IntervalSelect;