@publicplan/kern-react-kit 1.3.0 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["AccordionContent: React.FC<AccordionContentProps>","AccordionRoot: React.FC<AccordionRootProps>","Title: React.FC<TitleProps>","AccordionGroup: React.FC<AccordionGroupProps>","AccordionSummary: React.FC<AccordionSummaryProps>","AlertBody: React.FC<AlertBodyProps>","Icon: React.FC<IconProps>","AlertHeader: React.FC<AlertHeaderProps>","getIcon","Link: InteractiveFC<LinkProps>","AlertRoot: React.FC<AlertRootProps>","CardBody: React.FC<CardBodyProps>","CardContainer: React.FC<CardContainerProps>","CardFooter: React.FC<CardFooterProps>","CardHeader: React.FC<CardHeaderProps>","CardMedia: React.FC<CardMediaProps>","CardPreline: React.FC<CardPrelineProps>","CardRoot: React.FC<CardRootProps>","CardSubline: React.FC<CardSublineProps>","CardTitle: React.FC<CardTitleProps>","DescriptionListHeading: React.FC<DescriptionListHeadingProps>","DescriptionListItem: React.FC<DescriptionListItemProps>","DescriptionListKey: React.FC<DescriptionListKeyProps>","DescriptionListRoot: React.FC<DescriptionListRootProps>","DescriptionListValue: React.FC<DescriptionListValueProps>","IconOnlyLabel: React.FC<{ labelText?: string }>","Button: React.FC<ButtonProps>","DialogButton: React.FC<DialogButtonProps>","DialogContent: React.FC<DialogContentProps>","DialogFooter: React.FC<DialogFooterProps>","DialogHeader: React.FC<DialogHeaderProps>","DialogModal: React.FC<DialogModalProps>","DialogRoot: React.FC<DialogRootProps>","contextValue: DialogContextValue","DialogTrigger: React.FC<DialogTriggerProps>","FieldsetContent: React.FC<FieldsetContentProps>","FieldsetError: React.FC<FieldsetErrorProps>","FieldsetHint: React.FC<FieldsetHintProps>","FieldsetLegend: React.FC<FieldsetLegendProps>","CheckboxInput","EmailInput","FileInput","Label: React.FC<LabelProps>","Label","BaseLabel","PasswordInput","RadioInput","SelectInput","TelInput","TextInput","TextareaInput","UrlInput","CheckboxInput: InteractiveFC<CheckboxInputProps>","Input.Checkbox","Input.Label","Input.Error","FieldsetRoot: React.FC<FieldsetRootProps>","children","Checkbox","GridColumn: React.FC<GridColumnProps>","GridRoot: React.FC<GridRootProps>","GridRow: React.FC<GridRowProps>","ListsRoot: React.FC<ListsRootProps>","ListsItem: React.FC<ListsItemProps>","ListsBullet: React.FC<ListsBulletProps>","ListsNumber: React.FC<ListsNumberProps>","ProgressRoot: React.FC<ProgressRootProps>","contextValue: ProgressContextValue","ProgressBar: React.FC<ProgressBarProps>","ProgressCancel: React.FC<ProgressCancelProps>","ProgressHeader: React.FC<ProgressHeaderProps>","ProgressLabel: React.FC<ProgressLabelProps>","ProgressPercentage: React.FC<ProgressPercentageProps>","SummaryHeading: React.FC<SummaryHeadingProps>","SummaryRoot: React.FC<SummaryProps>","contextValue: SummaryContextValue","SummaryActions: React.FC<SummaryActionsProps>","SummaryBody: React.FC<SummaryBodyProps>","SummaryGroup: React.FC<SummaryGroupProps>","Heading: React.FC<HeadingProps>","SummaryGroupHeading: React.FC<SummaryGroupHeadingProps>","TableBody: React.FC<TableBodyProps>","TableCell: React.FC<TableCellProps>","TableColumn: React.FC<TableColumnProps>","TableFooter: React.FC<TableFooterProps>","TableHeader: React.FC<TableHeaderProps>","TableRoot: React.FC<TableRootProps>","TableRow: React.FC<TableRowProps>","TaskListItem: React.FC<TaskListItemProps>","TaskList: React.FC<TaskListProps>","prevEl: HTMLElement | undefined","rest","TaskListGroup: React.FC<TaskListGroupProps>","TaskListHeading: React.FC<TaskListHeadingProps>","TaskListRoot: React.FC<TaskListRootProps>","Badge: React.FC<BadgeProps>","Body: React.FC<BodyProps>","Divider: React.FC<React.ComponentPropsWithoutRef<'hr'>>","dateInputClassNames: Record<DateInputProps['dateType'], string>","DateInput: InteractiveFC<DateInputProps>","Input.Root","Input.Label","Input.Text","EmailInput: InteractiveFC<EmailInputProps>","Input.Root","Input.Label","Input.Hint","Input.Email","Input.Error","FileInput: InteractiveFC<FileInputProps>","Input.Root","Input.Label","Input.Hint","Input.File","Input.Error","NumberInput: InteractiveFC<NumberInputProps>","Input.Root","Input.Label","Input.Hint","Input.Text","Input.Error","PasswordInput: InteractiveFC<PasswordInputProps>","Input.Root","Input.Label","Input.Hint","Input.Password","Input.Error","RadioInput: InteractiveFC<RadioInputProps>","Input.Radio","Input.Label","SelectInput: InteractiveFC<SelectInputProps>","Input.Root","Input.Label","Input.Hint","Input.Select","Input.Error","TelInput: InteractiveFC<TelInputProps>","Input.Root","Input.Label","Input.Hint","Input.Tel","Input.Error","TextInput: InteractiveFC<TextInputProps>","Input.Root","Input.Label","Input.Hint","Input.Text","Input.Error","TextareaInput: InteractiveFC<TextareaInputProps>","Input.Root","Input.Label","Input.Hint","Input.Textarea","Input.Error","UrlInput: InteractiveFC<UrlInputProps>","Input.Root","Input.Label","Input.Hint","Input.Url","Input.Error","Kopfzeile: React.FC<KopfzeileProps>","Loader: React.FC<LoaderProps>","Preline: React.FC<PrelineProps>","Subline: React.FC<SublineProps>","variables: Record<string, string>","AccordionNamespace.Root","AccordionNamespace","AlertNamespace.Root","AlertNamespace","CardNamespace.Root","CardNamespace","DescriptionListNamespace.Root","DescriptionListNamespace","DialogNamespace.Root","DialogNamespace","FieldsetNamespace.Root","FieldsetNamespace","GridNamespace.Root","GridNamespace","InputPrimitivesNamespace.Root","InputPrimitivesNamespace","ListsNamespace.Root","ListsNamespace","TableNamespace.Root","TableNamespace","ProgressNamespace.Root","ProgressNamespace","SummaryNamespace.Root","SummaryNamespace","TaskListNamespace.Root","TaskListNamespace"],"sources":["../src/lib/cn.ts","../src/components/Accordion/Content.tsx","../src/components/Accordion/Root.tsx","../src/components/Title/Title.tsx","../src/components/Accordion/Group.tsx","../src/components/Accordion/Summary.tsx","../src/components/Accordion/index.ts","../src/components/Alert/Body.tsx","../src/components/Icon/Icon.tsx","../src/components/Alert/Context.ts","../src/components/Alert/Header.tsx","../src/components/Link/Link.tsx","../src/components/Alert/Link.tsx","../src/components/Alert/Root.tsx","../src/components/Alert/index.ts","../src/components/Card/Body.tsx","../src/components/Card/Container.tsx","../src/components/Card/Footer.tsx","../src/components/Card/Header.tsx","../src/components/Card/Media.tsx","../src/components/Card/Preline.tsx","../src/components/Card/Root.tsx","../src/components/Card/Subline.tsx","../src/components/Card/Title.tsx","../src/components/Card/index.ts","../src/components/DescriptionList/Heading.tsx","../src/components/DescriptionList/Item.tsx","../src/components/DescriptionList/Key.tsx","../src/components/DescriptionList/Root.tsx","../src/components/DescriptionList/Value.tsx","../src/components/DescriptionList/index.ts","../src/components/Button/Button.tsx","../src/components/Dialog/Context.ts","../src/components/Dialog/Button.tsx","../src/components/Dialog/Content.tsx","../src/components/Dialog/Footer.tsx","../src/components/Dialog/Header.tsx","../src/components/Dialog/Modal.tsx","../src/components/Dialog/Root.tsx","../src/components/Dialog/Trigger.tsx","../src/components/Dialog/index.ts","../src/components/Fieldset/Content.tsx","../src/components/Fieldset/Error.tsx","../src/components/Fieldset/Hint.tsx","../src/components/Fieldset/Legend.tsx","../src/components/Input/Primitives/Checkbox/CheckboxInput.tsx","../src/components/Input/Primitives/Email/EmailInput.tsx","../src/components/Input/Primitives/Error.tsx","../src/components/Input/Primitives/File/FileInput.tsx","../src/components/Input/Primitives/Hint.tsx","../src/components/Label/Label.tsx","../src/components/Input/Primitives/Label.tsx","../src/components/Input/Primitives/Password/PasswordInput.tsx","../src/components/Input/Primitives/Radio/RadioInput.tsx","../src/components/Input/Primitives/Root.tsx","../src/components/Input/Primitives/Select/SelectInput.tsx","../src/components/Input/Primitives/Tel/TelInput.tsx","../src/components/Input/Primitives/Text/TextInput.tsx","../src/components/Input/Primitives/Textarea/TextareaInput.tsx","../src/components/Input/Primitives/Url/UrlInput.tsx","../src/components/Input/Primitives/index.ts","../src/components/Input/Checkbox/index.tsx","../src/components/Fieldset/Root.tsx","../src/components/Fieldset/index.ts","../src/components/Grid/Column.tsx","../src/components/Grid/Root.tsx","../src/components/Grid/Row.tsx","../src/components/Grid/index.ts","../src/components/Lists/Root.tsx","../src/components/Lists/Item.tsx","../src/components/Lists/Bullet.tsx","../src/components/Lists/Number.tsx","../src/components/Lists/index.ts","../src/components/Progress/Root.tsx","../src/components/Progress/Bar.tsx","../src/components/Progress/Cancel.tsx","../src/components/Progress/Header.tsx","../src/components/Progress/Label.tsx","../src/components/Progress/Percentage.tsx","../src/components/Progress/index.ts","../src/components/Summary/Heading.tsx","../src/components/Summary/Root.tsx","../src/components/Summary/Actions.tsx","../src/components/Summary/Body.tsx","../src/components/Summary/Group.tsx","../src/components/Heading/Heading.tsx","../src/components/Summary/GroupHeading.tsx","../src/components/Summary/index.ts","../src/components/Table/Body.tsx","../src/components/Table/Cell.tsx","../src/components/Table/Column.tsx","../src/components/Table/Footer.tsx","../src/components/Table/Header.tsx","../src/components/Table/Root.tsx","../src/components/Table/Row.tsx","../src/components/Table/index.ts","../src/components/TaskList/Item.tsx","../src/components/TaskList/List.tsx","../src/components/TaskList/Group.tsx","../src/components/TaskList/Heading.tsx","../src/components/TaskList/Root.tsx","../src/components/TaskList/index.ts","../src/components/Badge/Badge.tsx","../src/components/Body/Body.tsx","../src/components/Divider/Divider.tsx","../src/components/Input/Date/index.tsx","../src/components/Input/Email/index.tsx","../src/components/Input/File/index.tsx","../src/components/Input/Number/index.tsx","../src/components/Input/Password/index.tsx","../src/components/Input/Radio/index.tsx","../src/components/Input/Select/index.tsx","../src/components/Input/Tel/index.tsx","../src/components/Input/Text/index.tsx","../src/components/Input/Textarea/index.tsx","../src/components/Input/Url/index.tsx","../src/components/Kopfzeile/Kopfzeile.tsx","../src/components/Loader/Loader.tsx","../src/components/Preline/Preline.tsx","../src/components/Subline/Subline.tsx","../src/components/ThemeProvider/ThemeProvider.tsx","../src/index.ts"],"sourcesContent":["export function cn(...classes: (string | undefined | null | false)[]): string {\n return (\n classes\n // removes falsy values such as undefined, null, false, “”\n .filter(\n (cls): cls is string =>\n typeof cls === 'string' && cls.trim().length > 0,\n )\n // removes leading and trailing spaces\n .map((cls) => cls.trim())\n // joins the strings with a space\n .join(' ')\n // replaces multiple spaces with exactly one\n .replace(/\\s+/g, ' ')\n // removes spaces at the beginning and end\n .trim()\n );\n}\n","import { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\ninterface AccordionContentProps\n extends React.ComponentPropsWithoutRef<'section'> {}\n\nconst AccordionContent: React.FC<AccordionContentProps> = ({\n children,\n className,\n ...rest\n}) => (\n <section {...rest} className={cn('kern-accordion__body', className)}>\n <p className=\"kern-body\">{children}</p>\n </section>\n);\n\nAccordionContent.displayName = 'Accordion.Content';\n\nexport { AccordionContent, type AccordionContentProps };\n","import { cn } from '@lib/cn';\n\ninterface AccordionRootProps extends React.ComponentPropsWithoutRef<'details'> {\n isOpened?: boolean;\n position?: number;\n totalItems?: number;\n}\n\nconst AccordionRoot: React.FC<AccordionRootProps> = ({\n className,\n children,\n isOpened,\n position = 0,\n totalItems = 0,\n ...rest\n}) => (\n <details\n {...rest}\n className={cn('kern-accordion', className)}\n {...(isOpened ? { open: true } : {})}\n >\n {position > 0 && totalItems > 0 && (\n <span className=\"kern-sr-only\">\n {`Item ${position} of ${totalItems}`}\n </span>\n )}\n {children}\n </details>\n);\n\nAccordionRoot.displayName = 'Accordion.Root';\n\nexport { AccordionRoot, type AccordionRootProps };\n","import { cn } from '@lib/cn';\n\ntype TextWrapper = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'span';\n\nexport type TitleProps<TWrapper extends TextWrapper = TextWrapper> =\n React.ComponentPropsWithoutRef<TWrapper> & {\n variant?: 'large' | 'default' | 'small';\n textWrapper?: TWrapper;\n text?: React.ReactNode;\n children?: React.ReactNode;\n };\n\nexport const Title: React.FC<TitleProps> = ({\n variant = 'default',\n textWrapper = 'h2',\n title,\n children,\n className,\n ...rest\n}: TitleProps) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const Wrapper = textWrapper as React.ElementType<any, typeof textWrapper>;\n\n const titleClass = cn('kern-title', `kern-title--${variant}`, className);\n\n return (\n <Wrapper {...rest} className={titleClass}>\n {children || title}\n </Wrapper>\n );\n};\n","import React from 'react';\n\nimport {\n AccordionRoot,\n type AccordionRootProps,\n} from '@components/Accordion/Root';\nimport { Title, type TitleProps } from '@components/Title';\nimport { cn } from '@lib/cn';\n\ninterface AccordionGroupProps\n extends Omit<React.ComponentPropsWithoutRef<'div'>, 'title'> {\n title?: TitleProps;\n}\n\nconst AccordionGroup: React.FC<AccordionGroupProps> = ({\n 'aria-label': ariaLabel,\n className,\n title,\n children,\n ...rest\n}) => {\n const totalItems = React.Children.count(children);\n\n const isAccordionItem = (\n child: React.ReactNode,\n ): child is React.ReactElement<AccordionRootProps> => {\n if (!React.isValidElement(child)) return false;\n return (\n child.type === AccordionRoot\n );\n };\n\n return (\n <div\n {...rest}\n role=\"group\"\n aria-label={[ariaLabel && `${ariaLabel},`, `${totalItems} Elemente`]\n .filter(Boolean)\n .join(' ')}\n className={cn('kern-accordion-group', className)}\n >\n {title && <Title {...title} />}\n {React.Children.map(children, (child, index) =>\n isAccordionItem(child)\n ? React.cloneElement(child, { position: index + 1, totalItems })\n : child,\n )}\n </div>\n );\n};\n\nAccordionGroup.displayName = 'Accordion.Group';\n\nexport { AccordionGroup, type AccordionGroupProps };\n","import { Title, type TitleProps } from '@components/Title';\nimport { cn } from '@lib/cn';\n\nexport interface AccordionSummaryProps\n extends Omit<React.ComponentPropsWithoutRef<'summary'>, 'title'> {\n title: TitleProps;\n}\n\nconst AccordionSummary: React.FC<AccordionSummaryProps> = ({\n title,\n className,\n ...rest\n}) => (\n <summary {...rest} className={cn('kern-accordion__header', className)}>\n <Title {...title} />\n </summary>\n);\n\nAccordionSummary.displayName = 'Accordion.Summary';\n\nexport { AccordionSummary };\n","export { AccordionContent as Content } from './Content';\nexport { AccordionGroup as Group } from './Group';\nexport { AccordionRoot as Root } from './Root';\nexport { AccordionSummary as Summary } from './Summary';\n\nexport { type AccordionRootProps } from './Root';\nexport { type AccordionSummaryProps } from './Summary';\nexport { type AccordionContentProps } from './Content';\nexport { type AccordionGroupProps } from './Group';\n","import { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\ninterface AlertBodyProps\n extends Omit<React.ComponentPropsWithoutRef<'div'>, 'text'> {}\n\nconst AlertBody: React.FC<AlertBodyProps> = ({\n children,\n className,\n ...rest\n}: AlertBodyProps) => {\n return (\n <div {...rest} className={cn('kern-alert__body', className)}>\n {children}\n </div>\n );\n};\n\nAlertBody.displayName = 'Alert.Body';\n\nexport { AlertBody, type AlertBodyProps };\n","import { cn } from '@lib/cn';\n\ntype IconType =\n | 'home'\n | 'arrow-up'\n | 'arrow-down'\n | 'arrow-forward'\n | 'arrow-back'\n | 'info'\n | 'success'\n | 'calendar-today'\n | 'warning'\n | 'danger'\n | 'open-in-new'\n | 'download'\n | 'logout'\n | 'checklist'\n | 'mail'\n | 'edit'\n | 'sign-language'\n | 'easy-language'\n | 'autorenew'\n | 'add'\n | 'close'\n | 'delete'\n | 'search'\n | 'question-mark'\n | 'more-vert'\n | 'content-copy'\n | 'visibility'\n | 'visibility-off'\n | 'check'\n | 'drive-folder-upload'\n | 'chevron-left'\n | 'chevron-right'\n | 'keyboard-double-arrow-left'\n | 'keyboard-double-arrow-right'\n | 'brightness-medium'\n | 'light-mode'\n | 'dark-mode'\n | 'help';\n\nexport interface IconProps extends React.ComponentPropsWithoutRef<'span'> {\n name: IconType;\n size?: 'small' | 'default' | 'large' | 'x-large';\n}\n\nexport const Icon: React.FC<IconProps> = ({\n name = 'home',\n 'aria-hidden': ariaHidden = true,\n size = 'default',\n role,\n className,\n ...rest\n}: IconProps) => {\n return (\n <span\n {...rest}\n className={cn(\n 'kern-icon',\n `kern-icon--${name}`,\n `kern-icon--${size}`,\n className,\n )}\n aria-hidden={ariaHidden}\n role={role}\n />\n );\n};\n","'use client';\n\nimport { createContext, useContext } from 'react';\n\nimport type { AlertRootProps } from './Root';\n\nconst AlertVariantContext = createContext<AlertRootProps['variant']>('info');\n\nfunction useAlertVariant() {\n return useContext<AlertRootProps['variant']>(AlertVariantContext);\n}\n\nexport { AlertVariantContext, useAlertVariant };\n","'use client';\n\nimport { Icon, type IconProps } from '@components/Icon';\nimport { Title } from '@components/Title';\nimport { cn } from '@lib/cn';\n\nimport { useAlertVariant } from './Context';\n\ninterface AlertHeaderProps extends React.ComponentPropsWithoutRef<'div'> {\n hasIcon?: boolean;\n icon?: IconProps;\n title: string;\n}\n\nconst AlertHeader: React.FC<AlertHeaderProps> = ({\n hasIcon = true,\n icon,\n title,\n className,\n ...rest\n}: AlertHeaderProps) => {\n const variant = useAlertVariant();\n return (\n <div {...rest} className={cn('kern-alert__header', className)}>\n {hasIcon && <Icon {...icon} name={variant} />}\n {title && <Title title={title} textWrapper=\"span\" />}\n </div>\n );\n};\n\nAlertHeader.displayName = 'Alert.Header';\n\nexport { AlertHeader, type AlertHeaderProps };\n","import { InteractiveFC } from '@common/interactive-component';\nimport { Icon, IconProps } from '@components/Icon';\nimport { cn } from '@lib/cn';\n\nexport interface LinkProps extends React.ComponentPropsWithoutRef<'a'> {\n variant?: 'default' | 'small';\n title?: string;\n icon?: IconProps;\n iconLeft?: boolean;\n isStretched?: boolean;\n}\n\nconst getIcon = (iconProps?: IconProps) =>\n iconProps ? <Icon name={iconProps.name} size={iconProps.size} /> : null;\n\nexport const Link: InteractiveFC<LinkProps> = ({\n variant = 'default',\n icon,\n iconLeft,\n title,\n target = '_self',\n children,\n isStretched,\n className,\n ...props\n}: LinkProps) => {\n const linkText = title ?? children;\n const linkClass = cn(\n isStretched ? 'kern-link--stretched' : 'kern-link',\n variant === 'small' && 'kern-link--small',\n className,\n );\n\n return (\n <a\n {...props}\n className={linkClass}\n target={icon?.name === 'open-in-new' ? '_blank' : target}\n >\n {iconLeft && getIcon(icon)}\n {linkText}\n {!iconLeft && getIcon(icon)}\n </a>\n );\n};\n\nLink.isInteractive = true;\n","import { Link, type LinkProps } from '@components/Link';\nimport { cn } from '@lib/cn';\n\nconst AlertLink = (props: LinkProps) => {\n return (\n <Link {...props} className={cn('kern-alert__link', props.className)} />\n );\n};\n\nAlertLink.displayName = 'Alert.Link';\n\nexport { AlertLink };\n","import { cn } from '@lib/cn';\n\nimport { AlertVariantContext } from './Context';\n\ninterface AlertRootProps\n extends Omit<React.ComponentPropsWithoutRef<'div'>, 'role'> {\n variant: 'info' | 'success' | 'warning' | 'danger';\n}\n\nconst AlertRoot: React.FC<AlertRootProps> = ({\n children = null,\n variant,\n className,\n ...rest\n}: AlertRootProps) => {\n return (\n <AlertVariantContext.Provider value={variant}>\n <div\n {...rest}\n className={cn('kern-alert', `kern-alert--${variant}`, className)}\n role=\"alert\"\n >\n {children}\n </div>\n </AlertVariantContext.Provider>\n );\n};\n\nAlertRoot.displayName = 'Alert.Root';\n\nexport { AlertRoot, type AlertRootProps };\n","export { AlertBody as Body } from './Body';\nexport { AlertHeader as Header } from './Header';\nexport { AlertLink as Link } from './Link';\nexport { AlertRoot as Root } from './Root';\n\nexport { type AlertBodyProps } from './Body';\nexport { type AlertHeaderProps } from './Header';\nexport { type AlertRootProps } from './Root';\n","import { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\ninterface CardBodyProps extends React.ComponentPropsWithoutRef<'section'> {}\n\nconst CardBody: React.FC<CardBodyProps> = ({\n className,\n children,\n ...rest\n}) => {\n return (\n <section className={cn('kern-card__body', className)} {...rest}>\n <p className=\"kern-body\">{children}</p>\n </section>\n );\n};\n\nCardBody.displayName = 'Card.Body';\n\nexport { CardBody, type CardBodyProps };\n","import { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\ninterface CardContainerProps extends React.ComponentPropsWithoutRef<'div'> {}\n\nconst CardContainer: React.FC<CardContainerProps> = ({\n className,\n children,\n ...rest\n}: CardContainerProps) => {\n return (\n <div {...rest} className={cn('kern-card__container', className)}>\n {children}\n </div>\n );\n};\n\nCardContainer.displayName = 'Card.Container';\n\nexport { CardContainer, type CardContainerProps };\n","import { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\ninterface CardFooterProps extends React.ComponentPropsWithoutRef<'footer'> {}\n\nconst CardFooter: React.FC<CardFooterProps> = ({\n className,\n children,\n ...rest\n}) => {\n return (\n <footer {...rest} className={cn('kern-card__footer', className)}>\n {children}\n </footer>\n );\n};\n\nCardFooter.displayName = 'Card.Footer';\n\nexport { CardFooter, type CardFooterProps };\n","import { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\ninterface CardHeaderProps extends React.ComponentPropsWithoutRef<'header'> {}\n\nconst CardHeader: React.FC<CardHeaderProps> = ({\n className,\n children,\n ...rest\n}: CardHeaderProps) => {\n return (\n <header {...rest} className={cn('kern-card__header', className)}>\n {children}\n </header>\n );\n};\n\nCardHeader.displayName = 'Card.Header';\n\nexport { CardHeader, type CardHeaderProps };\n","import { cn } from '@lib/cn';\n\ninterface CardMediaProps extends React.ComponentPropsWithoutRef<'div'> {\n /** Image source URL */\n src: string;\n /** Alt text for the image */\n alt: string;\n /** Optional image width */\n width?: number | string;\n /** Optional image height */\n height?: number | string;\n}\n\nconst CardMedia: React.FC<CardMediaProps> = ({\n src,\n alt,\n width,\n height,\n className,\n ...rest\n}: CardMediaProps) => {\n return (\n <div {...rest} className={cn('kern-card__media', className)}>\n <img src={src} alt={alt} width={width} height={height} />\n </div>\n );\n};\n\nCardMedia.displayName = 'Card.Media';\n\nexport { CardMedia, type CardMediaProps };\n","import { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\ninterface CardPrelineProps extends React.ComponentPropsWithoutRef<'p'> {}\n\nconst CardPreline: React.FC<CardPrelineProps> = ({\n className,\n children,\n ...rest\n}: CardPrelineProps) => {\n return (\n <p {...rest} className={cn('kern-preline', className)}>\n {children}\n </p>\n );\n};\n\nCardPreline.displayName = 'Card.Preline';\n\nexport { CardPreline, type CardPrelineProps };\n","import { cn } from '@lib/cn';\n\ninterface CardRootProps extends React.ComponentPropsWithoutRef<'article'> {\n /** Optional active state for the card */\n active?: boolean;\n /** Optional size for the card */\n size?: 'small' | 'large' | 'medium';\n /** Optional style for the root card */\n isCardHug?: boolean;\n}\n\nconst CardRoot: React.FC<CardRootProps> = ({\n className,\n style,\n children,\n active = false,\n size = 'medium',\n isCardHug = false,\n ...rest\n}) => {\n return (\n <article\n {...rest}\n className={cn(\n 'kern-card',\n active && 'kern-card--active',\n size && `kern-card--${size}`,\n isCardHug && ` kern-card--hug`,\n className,\n )}\n style={style}\n >\n {children}\n </article>\n );\n};\n\nCardRoot.displayName = 'Card.Root';\n\nexport { CardRoot, type CardRootProps };\n","import { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\ninterface CardSublineProps extends React.ComponentPropsWithoutRef<'h3'> {}\n\nconst CardSubline: React.FC<CardSublineProps> = ({\n className,\n children,\n ...rest\n}) => {\n return (\n <h3 {...rest} className={cn('kern-subline', className)}>\n {children}\n </h3>\n );\n};\n\nCardSubline.displayName = 'Card.Subline';\n\nexport { CardSubline, type CardSublineProps };\n","import { cn } from '@lib/cn';\n\ninterface CardTitleProps extends React.HTMLAttributes<HTMLHeadingElement> {\n /** Title level (h1-h6) */\n textWrapper?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n}\n\nconst CardTitle: React.FC<CardTitleProps> = ({\n className,\n children,\n textWrapper = 'h2',\n ...rest\n}) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const Tag = textWrapper as React.ElementType<any, typeof textWrapper>;\n\n return (\n <Tag {...rest} className={cn('kern-title', className)}>\n {children}\n </Tag>\n );\n};\n\nCardTitle.displayName = 'Card.Title';\n\nexport { CardTitle, type CardTitleProps };\n","export { CardBody as Body } from './Body';\nexport { CardContainer as Container } from './Container';\nexport { CardFooter as Footer } from './Footer';\nexport { CardHeader as Header } from './Header';\nexport { CardMedia as Media } from './Media';\nexport { CardPreline as Preline } from './Preline';\nexport { CardRoot as Root } from './Root';\nexport { CardSubline as Subline } from './Subline';\nexport { CardTitle as Title } from './Title';\n\nexport { type CardBodyProps } from './Body';\nexport { type CardContainerProps } from './Container';\nexport { type CardFooterProps } from './Footer';\nexport { type CardHeaderProps } from './Header';\nexport { type CardMediaProps } from './Media';\nexport { type CardPrelineProps } from './Preline';\nexport { type CardRootProps } from './Root';\nexport { type CardSublineProps } from './Subline';\nexport { type CardTitleProps } from './Title';\n","import { Title, type TitleProps } from '@components/Title';\nimport { cn } from '@lib/cn';\n\ninterface DescriptionListHeadingProps\n extends Omit<React.ComponentPropsWithoutRef<'div'>, 'title'> {\n title: TitleProps;\n}\n\nconst DescriptionListHeading: React.FC<DescriptionListHeadingProps> = ({\n title,\n children,\n className,\n ...rest\n}) => {\n return (\n <div {...rest} className={cn('kern-description-list__heading', className)}>\n <Title {...title} />\n {children}\n </div>\n );\n};\n\nDescriptionListHeading.displayName = 'DescriptionList.Heading';\n\nexport { DescriptionListHeading, type DescriptionListHeadingProps };\n","import { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\ninterface DescriptionListItemProps\n extends React.ComponentPropsWithoutRef<'div'> {}\n\nconst DescriptionListItem: React.FC<DescriptionListItemProps> = ({\n children,\n className,\n ...rest\n}: DescriptionListItemProps) => (\n <div {...rest} className={cn(`kern-description-list-item`, className)}>\n {children}\n </div>\n);\n\nDescriptionListItem.displayName = 'DescriptionList.Item';\n\nexport { DescriptionListItem, type DescriptionListItemProps };\n","import { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface DescriptionListKeyProps\n extends React.ComponentPropsWithoutRef<'dt'> {}\n\nexport const DescriptionListKey: React.FC<DescriptionListKeyProps> = ({\n children,\n className,\n ...rest\n}: DescriptionListKeyProps) => (\n <dt {...rest} className={cn('kern-description-list-item__key', className)}>\n {children}\n </dt>\n);\n\nDescriptionListKey.displayName = 'DescriptionList.Key';\n","import { cn } from '@lib/cn';\n\ninterface DescriptionListRootProps\n extends React.ComponentPropsWithoutRef<'dl'> {\n variant?: 'row' | 'column';\n className?: string;\n style?: React.CSSProperties;\n children: React.ReactNode;\n}\n\nconst DescriptionListRoot: React.FC<DescriptionListRootProps> = ({\n variant = 'row',\n children,\n className,\n ...rest\n}: DescriptionListRootProps) => (\n <dl\n {...rest}\n className={cn(\n 'kern-description-list',\n variant === 'column' && 'kern-description-list--col',\n className,\n )}\n >\n {children}\n </dl>\n);\n\nDescriptionListRoot.displayName = 'DescriptionList.Root';\n\nexport { DescriptionListRoot, type DescriptionListRootProps };\n","import { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\ninterface DescriptionListValueProps\n extends React.ComponentPropsWithoutRef<'dd'> {}\n\nconst DescriptionListValue: React.FC<DescriptionListValueProps> = ({\n children,\n className,\n ...rest\n}: DescriptionListValueProps) => (\n <dd {...rest} className={cn('kern-description-list-item__value', className)}>\n {children}\n </dd>\n);\n\nDescriptionListValue.displayName = 'DescriptionList.Value';\n\nexport { DescriptionListValue, type DescriptionListValueProps };\n","export { DescriptionListHeading as Heading } from './Heading';\nexport { DescriptionListItem as Item } from './Item';\nexport { DescriptionListKey as Key } from './Key';\nexport { DescriptionListRoot as Root } from './Root';\nexport { DescriptionListValue as Value } from './Value';\n\nexport { type DescriptionListHeadingProps } from './Heading';\nexport { type DescriptionListItemProps } from './Item';\nexport { type DescriptionListKeyProps } from './Key';\nexport { type DescriptionListRootProps } from './Root';\nexport { type DescriptionListValueProps } from './Value';\n","import React from 'react';\n\nimport { InteractiveFC } from '@common/interactive-component';\nimport { Icon, IconProps } from '@components/Icon';\nimport { cn } from '@lib/cn';\n\n\nexport interface ButtonProps\n extends Omit<React.ComponentPropsWithoutRef<'button'>, 'text'> {\n variant?: 'primary' | 'secondary' | 'tertiary';\n isBlock?: boolean;\n icon?: IconProps;\n iconOnly?: boolean;\n iconLeft?: boolean;\n text?: string | null;\n ref?: React.Ref<HTMLButtonElement>;\n}\n\nconst getIcon = (iconProps?: IconProps) =>\n iconProps ? <Icon name={iconProps.name} size={iconProps.size} /> : null;\n\nconst IconOnlyLabel: React.FC<{ labelText?: string }> = ({ labelText }) => {\n if (!labelText) return null;\n return (\n <span className=\"kern-label kern-sr-only\">\n {labelText.replace(/^./, (c) => c.toUpperCase())}\n </span>\n );\n};\n\nexport const Button: React.FC<ButtonProps> = ({\n variant = 'primary',\n isBlock,\n icon,\n iconOnly,\n iconLeft,\n text,\n children,\n className,\n ...rest\n}) => {\n const classes = cn(\n 'kern-btn',\n isBlock && 'kern-btn--block',\n `kern-btn--${variant}`,\n className,\n );\n\n const iconElement = getIcon(icon);\n\n if (iconOnly) {\n return (\n <button {...rest} className={classes}>\n {iconElement}\n <IconOnlyLabel labelText={text || icon?.name} />\n </button>\n );\n }\n\n return (\n <button {...rest} className={classes}>\n {iconLeft && iconElement}\n {text && <span className=\"kern-label\">{children || text}</span>}\n {!iconLeft && iconElement}\n </button>\n );\n};\n\n(Button as InteractiveFC<ButtonProps>).isInteractive = true;","'use client';\n\nimport { createContext, useContext } from 'react';\n\nexport interface DialogContextValue {\n isOpen: boolean;\n openDialog: () => void;\n closeDialog: () => void;\n dialogRef: React.MutableRefObject<HTMLDialogElement | null>;\n disableOverlayClose: boolean;\n id: string;\n}\n\nexport const DialogContext = createContext<DialogContextValue | null>(null);\n\nexport const useDialogContext = () => {\n const context = useContext(DialogContext);\n if (!context) {\n throw new Error('Dialog sub-components must be used within Dialog.Root');\n }\n return context;\n};\n","'use client';\n\nimport { Button } from '@components/Button';\n\nimport { useDialogContext } from './Context';\n\nexport interface DialogButtonProps\n extends Omit<React.ComponentPropsWithoutRef<'button'>, 'onClick'> {\n variant: 'primary' | 'secondary' | 'tertiary';\n title: string;\n onClick: (e: React.MouseEvent, context: { closeDialog: () => void }) => void;\n}\n\nexport const DialogButton: React.FC<DialogButtonProps> = ({\n onClick,\n title,\n ...props\n}) => {\n const { closeDialog } = useDialogContext();\n\n return (\n <Button\n {...props}\n text={title}\n onClick={(e) => {\n if (onClick) {\n onClick(e, { closeDialog });\n } else {\n closeDialog();\n }\n }}\n />\n );\n};\n\nDialogButton.displayName = 'Dialog.Button';\n","import { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface DialogContentProps\n extends React.ComponentPropsWithoutRef<'section'> {}\n\nexport const DialogContent: React.FC<DialogContentProps> = ({\n className,\n children,\n ...rest\n}) => (\n <section className={cn('kern-dialog__body', className)} {...rest}>\n {typeof children === 'string' ? (\n <p className=\"kern-body\">{children}</p>\n ) : (\n children\n )}\n </section>\n);\n\nDialogContent.displayName = 'Dialog.Content';\n","import { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface DialogFooterProps\n extends React.ComponentPropsWithoutRef<'footer'> {}\n\nexport const DialogFooter: React.FC<DialogFooterProps> = ({\n className,\n children,\n ...rest\n}) => (\n <footer {...rest} className={cn('kern-dialog__footer', className)}>\n {children}\n </footer>\n);\n\nDialogFooter.displayName = 'Dialog.Footer';\n","'use client';\n\nimport { cn } from '@lib/cn';\n\nimport { useDialogContext } from './Context';\n\nexport interface DialogHeaderProps\n extends React.ComponentPropsWithoutRef<'header'> {\n dialogTitle: string;\n hasCloseButton?: boolean;\n}\n\nexport const DialogHeader: React.FC<DialogHeaderProps> = ({\n dialogTitle,\n hasCloseButton = true,\n 'aria-label': ariaLabel = 'Schließen',\n className,\n ...rest\n}) => {\n const { closeDialog, id } = useDialogContext();\n const headerClass = cn('kern-dialog__header', className);\n\n return (\n <header {...rest} className={headerClass}>\n <h2 id={id} className=\"kern-title kern-title--large\">\n {dialogTitle}\n </h2>\n {hasCloseButton && (\n <button\n type=\"button\"\n className=\"kern-btn kern-btn--tertiary\"\n onClick={closeDialog}\n aria-label={ariaLabel}\n >\n <span className=\"kern-icon kern-icon--close\" aria-hidden=\"true\" />\n <span className=\"kern-sr-only\">{ariaLabel}</span>\n </button>\n )}\n </header>\n );\n};\n\nDialogHeader.displayName = 'Dialog.Header';\n","'use client';\n\nimport { useEffect } from 'react';\n\nimport { cn } from '@lib/cn';\n\nimport { useDialogContext } from './Context';\n\nexport interface DialogModalProps\n extends React.ComponentPropsWithoutRef<'dialog'> {\n noOverlay?: boolean;\n}\n\nexport const DialogModal: React.FC<DialogModalProps> = ({\n className,\n children,\n ...rest\n}) => {\n const { dialogRef, closeDialog, isOpen, disableOverlayClose, id } =\n useDialogContext();\n const handleOverlayClick = (e: React.MouseEvent<HTMLDialogElement>) => {\n if (disableOverlayClose && e.target === dialogRef.current) {\n e.preventDefault();\n } else if (e.target === dialogRef.current) {\n closeDialog();\n }\n };\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDialogElement>) => {\n if (e.key === 'Escape') {\n e.stopPropagation();\n closeDialog();\n return;\n }\n\n if (e.key !== 'Tab') return;\n\n const dialog = dialogRef.current;\n if (!dialog) return;\n\n const focusables = dialog.querySelectorAll<HTMLElement>(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\n );\n if (!focusables.length) return;\n\n const first = focusables[0];\n const last = focusables[focusables.length - 1];\n\n if (e.shiftKey && document.activeElement === first) {\n e.preventDefault();\n last.focus();\n } else if (!e.shiftKey && document.activeElement === last) {\n e.preventDefault();\n first.focus();\n }\n };\n\n useEffect(() => {\n if (!isOpen) return;\n const dialog = dialogRef.current;\n if (!dialog) return;\n\n const focusables = dialog.querySelectorAll<HTMLElement>(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\n );\n\n (focusables[0] ?? dialog).focus();\n }, [isOpen, dialogRef]);\n\n return (\n <dialog\n {...rest}\n className={cn('kern-dialog', className)}\n ref={dialogRef}\n onClick={handleOverlayClick}\n onKeyDown={handleKeyDown}\n open={isOpen}\n aria-labelledby={id}\n aria-modal=\"true\"\n >\n <form method=\"dialog\" className=\"kern-dialog__form\">\n {children}\n </form>\n </dialog>\n );\n};\n\nDialogModal.displayName = 'Dialog.Modal';\n","'use client';\n\nimport { useRef, useState } from 'react';\n\nimport { DialogContext, DialogContextValue } from './Context';\n\nexport interface DialogRootProps extends React.ComponentPropsWithoutRef<'div'> {\n disableOverlayClose?: boolean;\n id?: string;\n}\n\nexport const DialogRoot: React.FC<DialogRootProps> = ({\n disableOverlayClose = false,\n children,\n id,\n ...rest\n}: DialogRootProps) => {\n const [isOpen, setIsOpen] = useState(false);\n const dialogRef = useRef<HTMLDialogElement | null>(null);\n\n const openDialog = () => {\n setIsOpen(true);\n dialogRef.current?.showModal?.();\n };\n\n const closeDialog = () => {\n setIsOpen(false);\n dialogRef.current?.close?.();\n };\n\n const contextValue: DialogContextValue = {\n isOpen,\n openDialog,\n closeDialog,\n dialogRef,\n disableOverlayClose,\n id: id ?? 'kern-modal',\n };\n\n return (\n <DialogContext.Provider value={contextValue}>\n <div {...rest}>{children}</div>\n </DialogContext.Provider>\n );\n};\n\nDialogRoot.displayName = 'Dialog.Root';\n","'use client';\n\nimport React from 'react';\n\nimport { Button } from '@components/Button';\n\nimport { useDialogContext } from './Context';\n\nexport interface DialogTriggerProps {\n children: React.ReactNode;\n}\n\nexport const DialogTrigger: React.FC<DialogTriggerProps> = ({ children }) => {\n const { openDialog } = useDialogContext();\n\n // If children is a real button, do not add role or tabIndex\n if (\n React.isValidElement(children) &&\n children.type === Button\n ) {\n return React.cloneElement(\n children as React.ReactElement,\n {\n onClick: (e: React.MouseEvent) => {\n if (children.props.onClick) children.props.onClick(e);\n openDialog();\n },\n onKeyDown: (e: React.KeyboardEvent) => {\n if (children.props.onKeyDown) children.props.onKeyDown(e);\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n openDialog();\n }\n },\n className: children.props.className ?? '',\n }\n );\n }\n\n return (\n <div\n onClick={openDialog}\n role='button'\n tabIndex={0}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n openDialog();\n }\n }}\n >\n {children}\n </div> \n );\n};\n\nDialogTrigger.displayName = 'DialogTrigger';","export { DialogButton as Button } from './Button';\nexport { DialogContent as Content } from './Content';\nexport { DialogFooter as Footer } from './Footer';\nexport { DialogHeader as Header } from './Header';\nexport { DialogModal as Modal } from './Modal';\nexport { DialogRoot as Root } from './Root';\nexport { DialogTrigger as Trigger } from './Trigger';\n\nexport { type DialogButtonProps } from './Button';\nexport { type DialogContentProps } from './Content';\nexport { type DialogFooterProps } from './Footer';\nexport { type DialogHeaderProps } from './Header';\nexport { type DialogModalProps } from './Modal';\nexport { type DialogRootProps } from './Root';\nexport { type DialogTriggerProps } from './Trigger';\n","import { cn } from '@lib/cn';\n\ninterface FieldsetContentProps extends React.ComponentPropsWithoutRef<'div'> {\n horizontal?: boolean;\n}\n\nconst FieldsetContent: React.FC<FieldsetContentProps> = ({\n children,\n horizontal,\n className,\n style,\n}) => (\n <div\n className={cn(\n `kern-fieldset__body${horizontal ? ' kern-fieldset__body--horizontal' : ''}`,\n className,\n )}\n style={style}\n >\n {children}\n </div>\n);\n\nFieldsetContent.displayName = 'Fieldset.Content';\n\nexport { FieldsetContent, type FieldsetContentProps };\n","import { Icon } from '@components/Icon';\nimport { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\ninterface FieldsetErrorProps extends React.ComponentPropsWithoutRef<'p'> {}\n\nconst FieldsetError: React.FC<FieldsetErrorProps> = ({\n children,\n className,\n id,\n ...rest\n}) => {\n const errorId = id || `error-${Math.random().toString(36).substr(2, 9)}`;\n\n return (\n <p\n {...rest}\n className={cn(`kern-error`, className)}\n id={errorId}\n role=\"alert\"\n >\n <Icon name=\"danger\" size=\"default\" />\n <span className=\"kern-body\">{children}</span>\n </p>\n );\n};\n\nFieldsetError.displayName = 'Fieldset.Error';\n\nexport { FieldsetError, type FieldsetErrorProps };\n","import { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\ninterface FieldsetHintProps extends React.ComponentPropsWithoutRef<'div'> {}\n\nconst FieldsetHint: React.FC<FieldsetHintProps> = ({\n children,\n className,\n id,\n ...rest\n}) => {\n const hintId = id || `hint-${Math.random().toString(36).substr(2, 9)}`;\n return (\n <div {...rest} className={cn(`kern-hint`, className)} id={hintId}>\n {children}\n </div>\n );\n};\n\nFieldsetHint.displayName = 'Fieldset.Hint';\n\nexport { FieldsetHint, type FieldsetHintProps };\n","import { cn } from '@lib/cn';\n\ninterface FieldsetLegendProps extends React.ComponentPropsWithoutRef<'legend'> {\n hasOptionalLabel?: boolean;\n}\n\nconst FieldsetLegend: React.FC<FieldsetLegendProps> = ({\n children,\n hasOptionalLabel,\n ...rest\n}) => (\n <legend {...rest} className={cn(`kern-label`, rest.className)}>\n {children}\n {hasOptionalLabel && (\n <span className=\"kern-label__optional\">- Optional</span>\n )}\n </legend>\n);\n\nFieldsetLegend.displayName = 'Fieldset.Legend';\n\nexport { FieldsetLegend, type FieldsetLegendProps };\n","import { forwardRef } from 'react';\n\nimport { cn } from '@lib/cn';\n\ninterface CheckboxInputProps\n extends Omit<\n React.ComponentPropsWithoutRef<'input'>,\n 'type' | 'aria-describedby'\n > {\n erroneous?: boolean;\n}\n\nconst CheckboxInput = forwardRef<HTMLInputElement, CheckboxInputProps>(\n ({ erroneous = false, required, ...rest }: CheckboxInputProps, ref) => {\n return (\n <input\n {...rest}\n ref={ref}\n type=\"checkbox\"\n required={required}\n className={cn(\n 'kern-form-check__checkbox',\n erroneous && 'kern-form-check__checkbox--error',\n rest.className,\n )}\n />\n );\n },\n);\n\nexport { CheckboxInput, type CheckboxInputProps };\n","import { forwardRef } from 'react';\n\nimport { cn } from '@lib/cn';\n\ninterface EmailInputProps\n extends Omit<React.ComponentPropsWithoutRef<'input'>, 'type'> {\n erroneous?: boolean;\n}\n\nconst EmailInput = forwardRef<HTMLInputElement, EmailInputProps>(\n (\n {\n erroneous = false,\n autoComplete = 'email',\n required,\n ...rest\n }: EmailInputProps,\n ref,\n ) => {\n return (\n <input\n {...rest}\n ref={ref}\n required={required}\n type=\"email\"\n autoComplete={autoComplete}\n className={cn(\n 'kern-form-input__input',\n erroneous && 'kern-form-input__input--error',\n rest.className,\n )}\n />\n );\n },\n);\n\nexport { EmailInput, type EmailInputProps };\n","import { Icon } from '@components/Icon';\nimport { cn } from '@lib/cn';\n\ninterface InputErrorProps\n extends Omit<React.ComponentPropsWithoutRef<'p'>, 'role'> {\n message: string;\n id: string;\n}\n\nconst InputError = ({ className, message, ...props }: InputErrorProps) => {\n return (\n <p className={cn('kern-error', className)} role=\"alert\" {...props}>\n <Icon name=\"danger\" />\n <span className=\"kern-body\">{message}</span>\n </p>\n );\n};\n\nexport { InputError, type InputErrorProps };\n","import { forwardRef } from 'react';\n\nimport { cn } from '@lib/cn';\n\ntype FileExtension = `.${string}`;\ntype MimeType = `${string}/${string}`;\n\ninterface FileInputProps\n extends Omit<React.ComponentPropsWithoutRef<'input'>, 'type'> {\n supportedFormats?: (FileExtension | MimeType)[];\n erroneous?: boolean;\n}\n\nconst FileInput = forwardRef<HTMLInputElement, FileInputProps>(\n ({ supportedFormats = [], erroneous = false, required, ...rest }, ref) => {\n return (\n <input\n {...rest}\n ref={ref}\n type=\"file\"\n required={required}\n accept={rest.accept ?? supportedFormats.join(',')}\n className={cn(\n 'kern-form-input__input',\n erroneous && 'kern-form-input__input--error',\n rest.className,\n )}\n />\n );\n },\n);\n\nexport { FileInput, type FileInputProps };\n","import { cn } from '@lib/cn';\n\ninterface HintProps extends React.ComponentPropsWithoutRef<'p'> {\n id: string;\n}\n\nconst Hint = ({ className, children, ...props }: HintProps) => {\n return (\n <div className={cn('kern-hint', className)} {...props}>\n {children}\n </div>\n );\n};\n\nexport { Hint, type HintProps };\n","import { cn } from '@lib/cn';\n\ntype TextWrapper =\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'h6'\n | 'p'\n | 'span'\n | 'label'\n | 'legend';\n\n// Use type instead of interface, as we need to dynamically create props based on the textWrapper\n// interfaces are completely static.\nexport type LabelProps<TWrapper extends TextWrapper = TextWrapper> =\n React.ComponentPropsWithoutRef<TWrapper> & {\n variant?: 'large' | 'default' | 'small';\n textWrapper?: TWrapper;\n text?: React.ReactNode;\n };\n\nexport const Label: React.FC<LabelProps> = ({\n variant = 'default',\n textWrapper = 'label',\n className,\n children,\n text,\n ...rest\n}: LabelProps) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const Wrapper = textWrapper as React.ElementType<any, typeof textWrapper>;\n\n const labelClass = cn(\n 'kern-label',\n variant ? `kern-label--${variant}` : '',\n className,\n className,\n );\n\n return (\n <Wrapper className={labelClass} {...rest}>\n {text || children}\n </Wrapper>\n );\n};\n","import {\n Label as BaseLabel,\n type LabelProps as BaseLabelProps,\n} from '../../Label';\n\ninterface LabelProps extends Omit<BaseLabelProps, 'textWrapper'> {\n htmlFor: string;\n isOptional?: boolean;\n}\n\nconst Label = ({ children, isOptional, ...props }: LabelProps) => {\n return (\n <BaseLabel textWrapper=\"label\" {...props}>\n {children}\n {isOptional && (\n <span className=\"kern-label__optional\">&ndash; Optional</span>\n )}\n </BaseLabel>\n );\n};\n\nexport { Label, type LabelProps };\n","import { forwardRef } from 'react';\n\nimport { cn } from '@lib/cn';\n\ninterface PasswordInputProps\n extends Omit<React.ComponentPropsWithoutRef<'input'>, 'type'> {\n erroneous?: boolean;\n}\n\nconst PasswordInput = forwardRef<HTMLInputElement, PasswordInputProps>(\n (\n { erroneous = false, required, autoComplete = 'password', ...rest },\n ref,\n ) => {\n return (\n <input\n {...rest}\n ref={ref}\n type=\"password\"\n required={required}\n autoComplete={autoComplete}\n className={cn(\n 'kern-form-input__input',\n erroneous && 'kern-form-input__input--error',\n rest.className,\n )}\n />\n );\n },\n);\n\nexport { PasswordInput, type PasswordInputProps };\n","import { forwardRef } from 'react';\n\nimport { cn } from '@lib/cn';\n\ninterface RadioInputProps\n extends Omit<\n React.ComponentPropsWithoutRef<'input'>,\n 'type' | 'aria-describedby'\n > {\n erroneous?: boolean;\n}\n\nconst RadioInput = forwardRef<HTMLInputElement, RadioInputProps>(\n ({ erroneous = false, required, autoComplete, ...rest }, ref) => {\n return (\n <input\n {...rest}\n ref={ref}\n type=\"radio\"\n required={required}\n autoComplete={autoComplete}\n className={cn(\n 'kern-form-check__radio',\n erroneous && 'kern-form-check__radio--error',\n rest.className,\n )}\n />\n );\n },\n);\n\nexport { RadioInput, type RadioInputProps };\n","import { cn } from '@lib/cn';\n\ninterface RootProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n erroneous?: boolean;\n}\n\nconst Root = ({ className, erroneous, ...props }: RootProps) => {\n return (\n <div\n className={cn(\n 'kern-form-input',\n erroneous && 'kern-form-input--error',\n className,\n )}\n {...props}\n />\n );\n};\n\nexport { Root, type RootProps };\n","import { forwardRef } from 'react';\n\nimport { cn } from '@lib/cn';\n\ninterface SelectInputProps extends React.ComponentPropsWithoutRef<'select'> {\n erroneous?: boolean;\n options?: Array<{ value: string; label: string }>;\n}\n\nconst SelectInput = forwardRef<HTMLSelectElement, SelectInputProps>(\n ({ erroneous = false, required, autoComplete = '', options = [], ...rest }, ref) => {\n return (\n <div className=\"kern-form-input__select-wrapper\">\n <select\n {...rest}\n ref={ref}\n className={cn(\n 'kern-form-input__select',\n erroneous && 'kern-form-input__select--error',\n rest.className,\n )}\n required={required}\n autoComplete={autoComplete}\n >\n {options.map((option) => (\n <option key={option.value} value={option.value}>\n {option.label}\n </option>\n ))}\n </select>\n </div>\n );\n },\n);\n\nexport { SelectInput, type SelectInputProps };\n","import { forwardRef } from 'react';\n\nimport { cn } from '@lib/cn';\n\ninterface TelInputProps\n extends Omit<\n React.ComponentPropsWithoutRef<'input'>,\n 'type' | 'autoComplete'\n > {\n erroneous?: boolean;\n}\n\nconst TelInput = forwardRef<HTMLInputElement, TelInputProps>(\n ({ erroneous = false, required, ...rest }: TelInputProps, ref) => {\n return (\n <input\n {...rest}\n ref={ref}\n required={required}\n type=\"tel\"\n autoComplete=\"tel\"\n aria-describedby={rest['aria-describedby']}\n className={cn(\n 'kern-form-input__input',\n erroneous && 'kern-form-input__input--error',\n rest.className,\n )}\n />\n );\n },\n);\n\nexport { TelInput, type TelInputProps };\n","import { forwardRef } from 'react';\n\nimport { cn } from '@lib/cn';\n\ninterface TextInputProps\n extends Omit<React.ComponentPropsWithoutRef<'input'>, 'type'> {\n erroneous?: boolean;\n}\n\nconst TextInput = forwardRef<HTMLInputElement, TextInputProps>(\n ({ erroneous = false, required, autoComplete, ...rest }, ref) => {\n return (\n <input\n {...rest}\n ref={ref}\n type=\"text\"\n className={cn(\n 'kern-form-input__input',\n erroneous && 'kern-form-input__input--error',\n rest.className,\n )}\n required={required}\n autoComplete={autoComplete}\n />\n );\n },\n);\n\nexport { TextInput, type TextInputProps };\n","import { forwardRef } from 'react';\n\nimport { cn } from '@lib/cn';\n\ninterface TextareaInputProps\n extends React.ComponentPropsWithoutRef<'textarea'> {\n erroneous?: boolean;\n}\n\nconst TextareaInput = forwardRef<HTMLTextAreaElement, TextareaInputProps>(\n ({ erroneous = false, required, autoComplete, ...rest }, ref) => {\n return (\n <textarea\n {...rest}\n ref={ref}\n required={required}\n autoComplete={autoComplete}\n className={cn(\n 'kern-form-input__input',\n erroneous && 'kern-form-input__input--error',\n rest.className,\n )}\n />\n );\n },\n);\n\nexport { TextareaInput, type TextareaInputProps };\n","import { forwardRef } from 'react';\n\nimport { cn } from '@lib/cn';\n\ninterface UrlInputProps\n extends Omit<React.ComponentPropsWithoutRef<'input'>, 'type'> {\n erroneous?: boolean;\n}\n\nconst UrlInput = forwardRef<HTMLInputElement, UrlInputProps>(\n (\n {\n erroneous = false,\n required,\n autoComplete = 'url',\n ...rest\n }: UrlInputProps,\n ref,\n ) => {\n return (\n <input\n {...rest}\n required={required}\n autoComplete={autoComplete}\n ref={ref}\n type=\"url\"\n aria-describedby={rest['aria-describedby']}\n className={cn(\n 'kern-form-input__input',\n erroneous && 'kern-form-input__input--error',\n rest.className,\n )}\n />\n );\n },\n);\n\nexport { UrlInput, type UrlInputProps };\n","import {\n CheckboxInput as Checkbox,\n type CheckboxInputProps,\n} from './Checkbox/CheckboxInput';\nimport { EmailInput as Email, type EmailInputProps } from './Email/EmailInput';\nimport { InputError as Error, type InputErrorProps } from './Error';\nimport { FileInput as File, type FileInputProps } from './File/FileInput';\nimport { Hint, type HintProps as InputHintProps } from './Hint';\nimport { Label, type LabelProps as InputLabelProps } from './Label';\nimport {\n PasswordInput as Password,\n type PasswordInputProps as InputPasswordProps,\n} from './Password/PasswordInput';\nimport { RadioInput as Radio, type RadioInputProps } from './Radio/RadioInput';\nimport { Root, type RootProps as InputRootProps } from './Root';\nimport {\n SelectInput as Select,\n type SelectInputProps as InputSelectProps,\n} from './Select/SelectInput';\nimport { TelInput as Tel, type TelInputProps } from './Tel/TelInput';\nimport {\n TextInput as Text,\n type TextInputProps as InputTextProps,\n} from './Text/TextInput';\nimport {\n TextareaInput as Textarea,\n type TextareaInputProps as InputTextareaProps,\n} from './Textarea/TextareaInput';\nimport { UrlInput as Url, type UrlInputProps } from './Url/UrlInput';\n\nexport {\n Checkbox,\n type CheckboxInputProps,\n Error,\n type InputErrorProps,\n File,\n type FileInputProps,\n Hint,\n type InputHintProps,\n Label,\n type InputLabelProps,\n Password,\n type InputPasswordProps,\n Root,\n type InputRootProps,\n Select,\n type InputSelectProps,\n Text,\n type InputTextProps,\n Textarea,\n type InputTextareaProps,\n Radio,\n type RadioInputProps,\n Tel,\n type TelInputProps,\n Url,\n type UrlInputProps,\n Email,\n type EmailInputProps,\n};\n","import { InteractiveFC } from '@common/interactive-component';\nimport { cn } from '@lib/cn';\n\nimport * as Input from '../Primitives';\n\ninterface CheckboxInputProps extends React.ComponentPropsWithoutRef<'input'> {\n id: string;\n label?: string;\n error?: boolean | string;\n disabled?: boolean;\n hasOptionalLabel?: boolean;\n}\n\nconst CheckboxInput: InteractiveFC<CheckboxInputProps> = ({\n id,\n error = false,\n disabled = false,\n hasOptionalLabel = false,\n label,\n className,\n style,\n ...rest\n}: CheckboxInputProps) => {\n const isErrorString = typeof error === 'string';\n const errorId = `${id}-error`;\n const describedBy = rest['aria-describedby']\n ? [rest['aria-describedby']]\n : [];\n\n if (isErrorString) {\n describedBy.push(errorId);\n }\n\n return (\n <div\n className={cn(\n 'kern-form-check',\n isErrorString && 'kern-form-check--error',\n className,\n )}\n style={style}\n >\n <Input.Checkbox\n {...rest}\n id={id}\n aria-describedby={\n describedBy.length > 0 ? describedBy.join(' ') : undefined\n }\n erroneous={isErrorString ? true : error}\n disabled={disabled}\n />\n <Input.Label htmlFor={id} isOptional={hasOptionalLabel}>\n {label}\n </Input.Label>\n {isErrorString && <Input.Error id={errorId} message={error} />}\n </div>\n );\n};\n\nCheckboxInput.isInteractive = true;\n\nexport { CheckboxInput, type CheckboxInputProps };\n","import React from 'react';\n\nimport { CheckboxInput as Checkbox } from '@components/Input/Checkbox';\nimport { cn } from '@lib/cn';\n\ninterface FieldsetRootProps extends React.ComponentPropsWithoutRef<'fieldset'> {\n error?: boolean;\n}\n\nconst FieldsetRoot: React.FC<FieldsetRootProps> = ({\n children,\n id,\n className,\n style,\n error = false,\n}) => {\n // Recursive function to count Checkbox components\n const countCheckboxes = (children: React.ReactNode): number => {\n return React.Children.toArray(children).reduce(\n (count: number, child: React.ReactNode) => {\n if (React.isValidElement(child)) {\n if (child.type === Checkbox) {\n return count + 1;\n }\n if (child.props && child.props.children) {\n return count + countCheckboxes(child.props.children);\n }\n }\n return count;\n },\n 0,\n );\n };\n\n const checkboxCount = countCheckboxes(children);\n\n const hintText = checkboxCount\n ? `${checkboxCount} Optionen verfügbar.`\n : 'hint-text kern-input-error';\n\n return (\n <fieldset\n className={cn(\n `kern-fieldset`,\n error && 'kern-fieldset--error',\n className,\n )}\n style={style}\n id={id}\n role=\"group\"\n aria-describedby={hintText}\n >\n {children}\n </fieldset>\n );\n};\n\nFieldsetRoot.displayName = 'Fieldset.Root';\n\nexport { FieldsetRoot, type FieldsetRootProps };\n","export { FieldsetContent as Content } from './Content';\nexport { FieldsetError as Error } from './Error';\nexport { FieldsetHint as Hint } from './Hint';\nexport { FieldsetLegend as Legend } from './Legend';\nexport { FieldsetRoot as Root } from './Root';\n\nexport type { FieldsetRootProps } from './Root';\nexport type { FieldsetLegendProps } from './Legend';\nexport type { FieldsetHintProps } from './Hint';\nexport type { FieldsetContentProps } from './Content';\nexport type { FieldsetErrorProps } from './Error';\n","import { cn } from '@lib/cn';\n\nexport type Breakpoint = 'sm' | 'md' | 'lg' | 'xl';\nexport type AlignItems = 'start' | 'center' | 'end';\n\ninterface GridColumnProps extends React.ComponentPropsWithoutRef<'div'> {\n breakpoint?: Breakpoint;\n width?: number;\n isOffset?: boolean;\n offsetWidth?: number;\n isSelfAlignment?: boolean;\n alignItem?: AlignItems;\n children: React.ReactNode;\n}\n\nconst GridColumn: React.FC<GridColumnProps> = ({\n children,\n breakpoint,\n width,\n isOffset,\n offsetWidth,\n alignItem,\n className,\n ...rest\n}: GridColumnProps) => {\n const classes = cn(\n ...[\n isOffset && offsetWidth && breakpoint && width\n ? `kern-col-${width + offsetWidth} kern-col-${breakpoint}-${width} kern-col-${breakpoint}-offset-${offsetWidth}`\n : breakpoint && width\n ? `kern-col-${breakpoint}-${width}`\n : width\n ? `kern-col-${width}`\n : 'kern-col',\n alignItem ? `kern-align-self-${alignItem}` : '',\n className,\n ],\n );\n\n return (\n <div {...rest} className={classes}>\n {children}\n </div>\n );\n};\n\nGridColumn.displayName = 'Grid.Column';\n\nexport { GridColumn, type GridColumnProps };\n","import { cn } from '@lib/cn';\n\ninterface GridRootProps extends React.ComponentPropsWithoutRef<'div'> {\n type?: 'fluid';\n}\n\nconst GridRoot: React.FC<GridRootProps> = ({\n type,\n className,\n children,\n ...rest\n}: GridRootProps) => {\n return (\n <div\n {...rest}\n className={cn(\n type ? `kern-container-${type}` : 'kern-container',\n className,\n )}\n >\n {children}\n </div>\n );\n};\n\nGridRoot.displayName = 'Grid.Root';\n\nexport { GridRoot, type GridRootProps };\n","import React from 'react';\n\nimport { cn } from '@lib/cn';\n\nexport type AlignItems = 'start' | 'center' | 'end';\nexport type HorizontalAlignment =\n | 'start'\n | 'center'\n | 'end'\n | 'around'\n | 'between'\n | 'evenly';\n\nexport interface GridRowProps extends React.ComponentPropsWithoutRef<'div'> {\n alignItems?: AlignItems;\n horizontalAlignment?: HorizontalAlignment;\n}\n\nconst GridRow: React.FC<GridRowProps> = ({\n children,\n alignItems,\n horizontalAlignment,\n className,\n ...rest\n}: GridRowProps) => {\n const rowClasses = cn(\n 'kern-row',\n alignItems && `kern-align-items-${alignItems}`,\n horizontalAlignment && `kern-justify-content-${horizontalAlignment}`,\n className,\n );\n\n return (\n <div {...rest} className={rowClasses}>\n {children}\n </div>\n );\n};\n\nGridRow.displayName = 'Grid.Row';\n\nexport { GridRow };\n","export { GridColumn as Column } from './Column';\nexport { GridRoot as Root } from './Root';\nexport { GridRow as Row } from './Row';\n\nexport { type GridColumnProps } from './Column';\nexport { type GridRootProps } from './Root';\nexport { type GridRowProps } from './Row';\n","import { cn } from '@lib/cn';\n\nexport interface ListsRootProps\n extends Omit<React.ComponentPropsWithoutRef<'ol' | 'ul'>, 'type'> {\n children: React.ReactNode;\n className?: string;\n style?: React.CSSProperties;\n size?: 'default' | 'large' | 'small';\n type?: 'bullet' | 'number' | 'link';\n}\n\nexport const ListsRoot: React.FC<ListsRootProps> = ({\n children,\n className,\n size = 'default',\n type = 'bullet',\n ...rest\n}: ListsRootProps) => {\n const Component = type === 'number' ? 'ol' : 'ul';\n\n const listClasses = cn(\n 'kern-list',\n size !== 'default' && `kern-list--${size}`,\n type && `kern-list--${type}`,\n className,\n );\n\n return (\n <Component {...rest} className={listClasses}>\n {children}\n </Component>\n );\n};\n\nListsRoot.displayName = 'Lists.Root';\n","import React from 'react';\n\nexport interface ListsItemProps extends React.ComponentPropsWithoutRef<'li'> {\n children?: React.ReactNode;\n className?: string;\n style?: React.CSSProperties;\n text?: string;\n}\n\nexport const ListsItem: React.FC<ListsItemProps> = ({\n children,\n text,\n className,\n style,\n}) => (\n <li className={className} style={style}>\n {React.Children.map(children, (child) =>\n React.isValidElement(child)\n ? React.cloneElement(child as React.ReactElement, {\n style: { ...style, ...(child.props && child.props.style) },\n })\n : child,\n )}\n {text && <span>{text}</span>}\n </li>\n);\n\nListsItem.displayName = 'Lists.Item';\n","import { cn } from '@lib/cn';\n\nexport interface ListsBulletProps\n extends React.ComponentPropsWithoutRef<'div'> {\n title: string;\n items: string[];\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport const ListsBullet: React.FC<ListsBulletProps> = ({\n title,\n items,\n className,\n ...rest\n}) => (\n <div {...rest} className={cn(className)}>\n <div className=\"kern-body kern-body--bold\">{title}</div>\n <ul className=\"kern-list kern-list--bullet\">\n {items.map((item, index) => (\n <li key={index}>{item}</li>\n ))}\n </ul>\n </div>\n);\n\nListsBullet.displayName = 'Lists.Bullet';\n","import { cn } from '@lib/cn';\n\nexport interface ListsNumberProps\n extends Omit<React.ComponentPropsWithoutRef<'ol'>, 'type'> {\n children: React.ReactNode;\n size?: 'default' | 'large' | 'small';\n type?: 'bullet' | 'number' | 'link';\n}\n\nexport const ListsNumber: React.FC<ListsNumberProps> = ({\n children,\n className,\n size = 'default',\n type,\n ...rest\n}) => (\n <ol\n {...rest}\n className={cn(\n 'kern-list',\n size && `kern-list--${size}`,\n type && `kern-list--${type}`,\n className,\n )}\n >\n {children}\n </ol>\n);\n\nListsNumber.displayName = 'Lists.Number';\n","export { ListsRoot as Root, type ListsRootProps } from './Root';\nexport { ListsItem as Item, type ListsItemProps } from './Item';\nexport { ListsBullet as Bullet, type ListsBulletProps } from './Bullet';\nexport { ListsNumber as Number, type ListsNumberProps } from './Number';\n","'use client';\n\nimport React from 'react';\n\nimport { cn } from '@lib/cn';\n\nexport interface ProgressRootProps\n extends React.HTMLAttributes<HTMLDivElement> {\n value: number;\n max?: number;\n progressId?: string;\n}\n\nexport interface ProgressContextValue {\n value: number;\n max: number;\n percentage: number;\n progressId: string;\n}\n\nexport const ProgressContext = React.createContext<ProgressContextValue | null>(\n null,\n);\n\nexport const useProgressContext = () => {\n const context = React.useContext(ProgressContext);\n if (!context) {\n throw new Error('Progress subcomponents must be used within Progress.Root');\n }\n return context;\n};\n\nconst ProgressRoot: React.FC<ProgressRootProps> = ({\n value = 0,\n max = 100,\n className,\n children,\n progressId: propProgressId,\n ...rest\n}: ProgressRootProps) => {\n const percentage = Math.round((value / max) * 100);\n const progressId = React.useMemo(\n () =>\n propProgressId || `progress-${Math.random().toString(36).slice(2, 11)}`,\n [propProgressId],\n );\n\n const contextValue: ProgressContextValue = {\n value,\n max,\n percentage,\n progressId,\n };\n\n return (\n <ProgressContext.Provider value={contextValue}>\n <div {...rest} className={cn('kern-progress', className)}>\n {children}\n </div>\n </ProgressContext.Provider>\n );\n};\n\nProgressRoot.displayName = 'Progress.Root';\n\nexport { ProgressRoot };\n","'use client';\n\nimport { useProgressContext } from './Root';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface ProgressBarProps\n extends React.ComponentPropsWithoutRef<'progress'> {}\n\nconst ProgressBar: React.FC<ProgressBarProps> = ({\n className,\n 'aria-label': ariaLabel,\n ...rest\n}: ProgressBarProps) => {\n const { value, max, progressId } = useProgressContext();\n\n return (\n <progress\n {...rest}\n id={progressId}\n value={value}\n aria-label={ariaLabel || `Progress: ${value.toString()}%`}\n max={max}\n className={className}\n />\n );\n};\n\nProgressBar.displayName = 'Progress.Bar';\n\nexport { ProgressBar };\n","'use client';\n\nimport { Button } from '@components/Button';\n\nexport interface ProgressCancelProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n onCancel?: () => void;\n}\n\nconst ProgressCancel: React.FC<ProgressCancelProps> = ({\n children = 'Abbrechen',\n onCancel,\n ...rest\n}: ProgressCancelProps) => {\n return (\n <Button\n {...rest}\n variant=\"tertiary\"\n text={typeof children === 'string' ? children : undefined}\n icon={{ name: 'close', size: 'small' }}\n iconLeft={true}\n onClick={onCancel}\n >\n {typeof children !== 'string' ? children : undefined}\n </Button>\n );\n};\n\nProgressCancel.displayName = 'Progress.Cancel';\n\nexport { ProgressCancel };\n","import { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface ProgressHeaderProps\n extends React.HTMLAttributes<HTMLDivElement> {}\n\nconst ProgressHeader: React.FC<ProgressHeaderProps> = ({\n className,\n style,\n children,\n}: ProgressHeaderProps) => {\n return (\n <div\n className={cn('kern-progress__header', className)}\n style={{\n display: 'flex',\n width: '100%',\n justifyContent: 'space-between',\n alignItems: 'center',\n ...style,\n }}\n >\n {children}\n </div>\n );\n};\n\nProgressHeader.displayName = 'Progress.Header';\n\nexport { ProgressHeader };\n","'use client';\n\nimport { cn } from '@lib/cn';\n\nimport { useProgressContext } from './Root';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface ProgressLabelProps\n extends React.LabelHTMLAttributes<HTMLLabelElement> {}\n\nconst ProgressLabel: React.FC<ProgressLabelProps> = ({\n className,\n children,\n ...rest\n}: ProgressLabelProps) => {\n const { progressId } = useProgressContext();\n\n return (\n <label\n {...rest}\n className={cn('kern-label', className)}\n htmlFor={progressId}\n >\n {children}\n </label>\n );\n};\n\nProgressLabel.displayName = 'Progress.Label';\n\nexport { ProgressLabel };\n","'use client';\n\nimport { cn } from '@lib/cn';\n\nimport { useProgressContext } from './Root';\n\nexport interface ProgressPercentageProps\n extends React.HTMLAttributes<HTMLSpanElement> {\n formatter?: (percentage: number) => string;\n}\n\nconst ProgressPercentage: React.FC<ProgressPercentageProps> = ({\n className,\n style,\n formatter,\n}: ProgressPercentageProps) => {\n const { percentage } = useProgressContext();\n const displayText = formatter ? formatter(percentage) : `${percentage}%`;\n\n return (\n <span\n className={cn('kern-body--small', className)}\n style={{\n color: 'var(--kern-color-layout-text-muted, #404565)',\n ...style,\n }}\n >\n {displayText}\n </span>\n );\n};\n\nProgressPercentage.displayName = 'Progress.Percentage';\n\nexport { ProgressPercentage };\n","export { ProgressBar as Bar } from './Bar';\nexport { ProgressCancel as Cancel } from './Cancel';\nexport { ProgressHeader as Header } from './Header';\nexport { ProgressLabel as Label } from './Label';\nexport { ProgressPercentage as Percentage } from './Percentage';\nexport { ProgressRoot as Root } from './Root';\n\nexport type { ProgressRootProps, ProgressContextValue } from './Root';\nexport type { ProgressLabelProps } from './Label';\nexport type { ProgressBarProps } from './Bar';\nexport type { ProgressPercentageProps } from './Percentage';\nexport type { ProgressCancelProps } from './Cancel';\nexport type { ProgressHeaderProps } from './Header';\n","import { useContext } from 'react';\n\nimport { SummaryContext } from '@components/Summary/Root';\nimport { Title, TitleProps } from '@components/Title';\nimport { cn } from '@lib/cn';\n\n\nexport interface SummaryHeadingProps\n extends Omit<React.ComponentPropsWithoutRef<'div'>, 'title'> {\n number?: number | string;\n title?: TitleProps;\n}\n\nexport const SummaryHeading: React.FC<SummaryHeadingProps> = ({\n title,\n number,\n className,\n ...rest\n}) => {\n const headingID = useContext(SummaryContext)?.headingID;\n return (\n <div {...rest} className={cn('kern-summary__header', className)}>\n {number && <span className=\"kern-number\">{number}</span>}\n {title && <Title {...title} id={headingID} />}\n </div>\n );\n};\n\nSummaryHeading.displayName = 'Summary.Heading';\n","import React from 'react';\n\nimport { SummaryHeading } from '@components/Summary/Heading';\nimport { cn } from '@lib/cn';\n\nexport interface SummaryProps extends React.ComponentPropsWithoutRef<'div'> {\n variant?: 'row' | 'column';\n headingID: string;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport interface SummaryContextValue {\n headingID: string;\n}\n\nexport const SummaryContext = React.createContext<SummaryContextValue | null>(\n null,\n);\n\nexport const useSummaryContext = () => {\n const context = React.useContext(SummaryContext);\n if (!context) {\n throw new Error('Summary subcomponents must be used within Summary.Root');\n }\n return context;\n};\n\nexport const SummaryRoot: React.FC<SummaryProps> = ({\n variant = 'row',\n headingID,\n children,\n className = '',\n style = {},\n ...rest\n}: SummaryProps) => {\n\n const hasHeading = React.Children.toArray(children).some(\n child =>\n React.isValidElement(child) &&\n child.type === SummaryHeading\n );\n\n if (!hasHeading) {\n throw new Error('Summary requires a Summary.Heading subcomponent.');\n }\n\n const contextValue: SummaryContextValue = {\n headingID: headingID,\n };\n const summaryClass = cn(\n 'kern-summary',\n variant === 'column' && 'kern-description-list--col',\n className,\n );\n return (\n <SummaryContext.Provider value={contextValue}>\n <div {...rest} className={summaryClass} style={style}>\n {children}\n </div>\n </SummaryContext.Provider>\n );\n};\n\nSummaryRoot.displayName = 'Summary.Root';\n","import React from 'react';\n\nimport { useSummaryContext } from '@components/Summary/Root';\nimport { cn } from '@lib/cn';\n\nexport interface SummaryActionsProps\n extends React.ComponentPropsWithoutRef<'div'> {\n children: React.ReactNode;\n}\n\nexport const SummaryActions: React.FC<SummaryActionsProps> = ({\n children,\n className,\n ...rest\n}) => {\n\n const headingID = useSummaryContext().headingID;\n return (\n <div {...rest} className={cn('kern-summary__actions', className)}>\n {React.Children.map(children, child =>\n React.isValidElement(child)\n ? React.cloneElement(child, { 'aria-describedBy': headingID } as Record<string,unknown>)\n : child\n )}\n </div>\n );\n};\n\nSummaryActions.displayName = 'Summary.Actions';\n","import { cn } from '@lib/cn';\n\nexport interface SummaryBodyProps\n extends React.ComponentPropsWithoutRef<'div'> {\n children: React.ReactNode;\n}\n\nexport const SummaryBody: React.FC<SummaryBodyProps> = ({\n children,\n className,\n ...rest\n}) => {\n return (\n <div {...rest} className={cn('kern-summary__body', className)}>\n {children}\n </div>\n );\n};\n\nSummaryBody.displayName = 'Summary.Body';\n","import { cn } from '@lib/cn';\n\nexport interface SummaryGroupProps\n extends React.ComponentPropsWithoutRef<'div'> {\n children: React.ReactNode;\n}\n\nexport const SummaryGroup: React.FC<SummaryGroupProps> = ({\n children,\n className,\n ...rest\n}) => {\n return (\n <div {...rest} className={cn('kern-summary-group', className)}>\n {children}\n </div>\n );\n};\n\nSummaryGroup.displayName = 'Summary.Group';\n","import { cn } from '@lib/cn';\n\nexport interface HeadingProps extends React.HTMLAttributes<HTMLHeadingElement> {\n type: 'display' | 'x-large' | 'large' | 'medium' | 'small';\n headerElement: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'span';\n title: string;\n}\n\nexport const Heading: React.FC<HeadingProps> = ({\n className,\n headerElement = 'h1',\n type,\n title,\n children,\n ...rest\n}: HeadingProps) => {\n const Wrapper = headerElement;\n\n const headingClass = cn(`kern-heading-${type}`, className);\n\n return (\n <Wrapper {...rest} className={headingClass}>\n {children || title}\n </Wrapper>\n );\n};\n","import { Heading, HeadingProps } from '@components/Heading';\nimport { cn } from '@lib/cn';\n\nexport interface SummaryGroupHeadingProps\n extends Omit<React.ComponentPropsWithoutRef<'div'>, 'title'> {\n heading: HeadingProps;\n}\n\nexport const SummaryGroupHeading: React.FC<SummaryGroupHeadingProps> = ({\n heading,\n className,\n ...rest\n}) => {\n return (\n <div {...rest} className={cn('kern-summary-group__header', className)}>\n <Heading {...heading} />\n </div>\n );\n};\n\nSummaryGroupHeading.displayName = 'Summary.GroupHeading';\n","export { SummaryActions as Actions, type SummaryActionsProps } from './Actions';\nexport { SummaryBody as Body, type SummaryBodyProps } from './Body';\nexport { SummaryGroup as Group, type SummaryGroupProps } from './Group';\nexport {\n SummaryGroupHeading as GroupHeading,\n type SummaryGroupHeadingProps,\n} from './GroupHeading';\nexport { SummaryHeading as Heading, type SummaryHeadingProps } from './Heading';\nexport { SummaryRoot as Root, type SummaryProps } from './Root';\n","import { cn } from '@lib/cn';\n\nexport interface TableBodyProps\n extends React.ComponentPropsWithoutRef<'tbody'> {\n children: React.ReactNode;\n}\n\nexport const TableBody: React.FC<TableBodyProps> = ({\n children,\n className,\n ...rest\n}: TableBodyProps) => (\n <tbody {...rest} className={cn('kern-table__body', className)}>\n {children}\n </tbody>\n);\n\nTableBody.displayName = 'Table.Body';\n","import { cn } from '@lib/cn';\n\nexport interface TableCellProps extends React.ComponentPropsWithoutRef<'td'> {\n numeric?: boolean;\n children: React.ReactNode;\n}\n\nexport const TableCell: React.FC<TableCellProps> = ({\n numeric,\n children,\n className,\n ...rest\n}: TableCellProps) => {\n const cellClasses = cn(\n 'kern-table__cell',\n numeric ? 'kern-table__cell--numeric' : '',\n className,\n );\n return (\n <td {...rest} className={cellClasses}>\n {children}\n </td>\n );\n};\n\nTableCell.displayName = 'Table.Cell';\n","import { cn } from '@lib/cn';\n\nexport interface TableColumnProps extends React.ComponentPropsWithoutRef<'th'> {\n numeric?: boolean;\n scope: 'col' | 'row';\n children: React.ReactNode;\n}\n\nexport const TableColumn: React.FC<TableColumnProps> = ({\n numeric,\n scope,\n children,\n className,\n ...rest\n}: TableColumnProps) => {\n const columnClasses = cn(\n 'kern-table__header',\n numeric ? 'kern-table__header--numeric' : '',\n className,\n );\n return (\n <th {...rest} scope={scope} className={columnClasses}>\n {children}\n </th>\n );\n};\n\nTableColumn.displayName = 'Table.Column';\n","import { cn } from '@lib/cn';\n\nexport interface TableFooterProps\n extends React.ComponentPropsWithoutRef<'tfoot'> {\n children: React.ReactNode;\n}\n\nexport const TableFooter: React.FC<TableFooterProps> = ({\n children,\n className,\n ...rest\n}: TableFooterProps) => (\n <tfoot {...rest} className={cn('kern-table__footer', className)}>\n {children}\n </tfoot>\n);\n\nTableFooter.displayName = 'Table.Footer';\n","import { cn } from '@lib/cn';\n\nexport interface TableHeaderProps\n extends React.ComponentPropsWithoutRef<'thead'> {\n children: React.ReactNode;\n}\n\nexport const TableHeader: React.FC<TableHeaderProps> = ({\n children,\n className,\n ...rest\n}: TableHeaderProps) => (\n <thead {...rest} className={cn('kern-table__head', className)}>\n {children}\n </thead>\n);\n\nTableHeader.displayName = 'Table.Header';\n","import { useId } from 'react';\n\nimport { cn } from '@lib/cn';\n\nexport interface TableRootProps\n extends React.ComponentPropsWithoutRef<'table'> {\n variant?: 'default' | 'small';\n caption?: string;\n striped?: boolean;\n responsive?: boolean;\n children: React.ReactNode;\n}\n\nexport const TableRoot: React.FC<TableRootProps> = ({\n caption = '',\n striped = false,\n responsive = false,\n variant = 'default',\n children,\n className,\n ...rest\n}: TableRootProps) => {\n const captionId = useId();\n\n const tableClasses = cn(\n 'kern-table',\n striped ? 'kern-table--striped' : '',\n variant === 'small' ? 'kern-table--small' : '',\n className,\n );\n const table = (\n <table\n {...rest}\n className={tableClasses}\n aria-describedby={caption ? captionId : undefined}\n >\n {caption && (\n <caption id={captionId} className=\"kern-title\">\n {caption}\n </caption>\n )}\n {children}\n </table>\n );\n return responsive ? (\n <div className=\"kern-table-responsive\" tabIndex={0}>\n {table}\n </div>\n ) : (\n table\n );\n};\n\nTableRoot.displayName = 'Table.Root';\n","import { cn } from '@lib/cn';\n\nexport interface TableRowProps extends React.ComponentPropsWithoutRef<'tr'> {\n children: React.ReactNode;\n}\n\nexport const TableRow: React.FC<TableRowProps> = ({\n children,\n className,\n ...rest\n}: TableRowProps) => (\n <tr {...rest} className={cn('kern-table__row', className)}>\n {children}\n </tr>\n);\n\nTableRow.displayName = 'Table.Row';\n","export { TableBody as Body } from './Body';\nexport { TableCell as Cell } from './Cell';\nexport { TableColumn as Column } from './Column';\nexport { TableFooter as Footer } from './Footer';\nexport { TableHeader as Header } from './Header';\nexport { TableRoot as Root } from './Root';\nexport { TableRow as Row } from './Row';\n\nexport type { TableBodyProps } from './Body';\nexport type { TableCellProps } from './Cell';\nexport type { TableColumnProps } from './Column';\nexport type { TableFooterProps } from './Footer';\nexport type { TableHeaderProps } from './Header';\nexport type { TableRootProps } from './Root';\nexport type { TableRowProps } from './Row';\n","import { cn } from '@lib/cn';\n\nexport interface TaskListItemProps\n extends React.ComponentPropsWithoutRef<'li'> {\n className?: string;\n style?: React.CSSProperties;\n number?: number | string;\n title: string;\n href?: string;\n asParagraph?: boolean;\n status?: 'success' | 'warning' | 'error' | 'info' | 'neutral';\n statusLabel?: string;\n titleId?: string;\n statusId?: string;\n stretchedLink?: boolean;\n}\n\nexport const TaskListItem: React.FC<TaskListItemProps> = ({\n number,\n title,\n href,\n asParagraph = false,\n status,\n statusLabel,\n titleId,\n statusId,\n stretchedLink = true,\n className = '',\n style = {},\n}) => {\n const linkClasses = cn('kern-link', stretchedLink && 'kern-link--stretched');\n const isInteractive = !!href && !asParagraph;\n const isNonInteractive = asParagraph || !href;\n const describedBy = status && statusId ? statusId : undefined;\n\n return (\n <li\n className={cn('kern-task-list__item', className)}\n style={style}\n tabIndex={isNonInteractive ? -1 : undefined}\n data-noninteractive={isNonInteractive ? 'true' : undefined}\n onMouseDown={\n isNonInteractive\n ? (e) => (e.currentTarget as HTMLElement).focus()\n : undefined\n }\n >\n {number !== undefined && number !== null ? (\n <span className=\"kern-number\">{number}</span>\n ) : null}\n\n <div className=\"kern-task-list__title\" id={titleId}>\n {asParagraph ? (\n <p\n className=\"kern-body\"\n aria-describedby={describedBy}\n onMouseDown={(e) => (e.currentTarget as HTMLElement).focus()}\n >\n {title}\n </p>\n ) : isInteractive ? (\n <a href={href} className={linkClasses} aria-describedby={describedBy}>\n {title}\n </a>\n ) : (\n <span\n className=\"kern-link\"\n aria-describedby={describedBy}\n tabIndex={-1}\n data-noninteractive=\"true\"\n onMouseDown={(e) => (e.currentTarget as HTMLElement).focus()}\n >\n {title}\n </span>\n )}\n\n {status && statusLabel ? (\n <div className=\"kern-task-list__status\" id={statusId}>\n <span className={cn('kern-badge', `kern-badge--${status}`)}>\n {status === 'success' && (\n <span\n className={cn(\n 'kern-icon',\n 'kern-icon--success',\n 'kern-icon--sm',\n )}\n aria-hidden=\"true\"\n />\n )}\n <span className=\"kern-label kern-label--small\">\n {statusLabel}\n </span>\n </span>\n </div>\n ) : null}\n </div>\n </li>\n );\n};\n\nTaskListItem.displayName = 'TaskList.Item';\n","import React, { useRef, useCallback } from 'react';\n\nimport { cn } from '@lib/cn';\n\nimport { TaskListItem, TaskListItemProps } from './Item';\n\nexport interface TaskListProps extends React.ComponentPropsWithoutRef<'ul'> {\n items?: TaskListItemProps[];\n}\n\nexport const TaskList: React.FC<TaskListProps> = ({\n children,\n items,\n className,\n style,\n ...rest\n}) => {\n const listRef = useRef<HTMLUListElement>(null);\n\n const onKeyDown = useCallback((e: React.KeyboardEvent<HTMLUListElement>) => {\n const list = listRef.current;\n if (!list) return;\n\n const boundary =\n list.closest<HTMLElement>('[data-tasklist-group]') ??\n list.closest<HTMLElement>('[data-tasklist-root]') ??\n list;\n\n // Arrow navigation for NON-interactive titles\n if (e.key === 'ArrowDown' || e.key === 'ArrowUp') {\n const nonInteractive = Array.from(\n boundary.querySelectorAll<HTMLElement>(\n 'li[data-noninteractive=\"true\"]',\n ),\n );\n if (!nonInteractive.length) return;\n\n const target =\n (document.activeElement as HTMLElement) || (e.target as HTMLElement);\n const currentIndex = nonInteractive.findIndex(\n (el) => el === target || el.contains(target),\n );\n\n // If coming from an INTERACTIVE element, jump to the nearest non-interactive\n // in DOM order (after for ArrowDown, before for ArrowUp), instead of the first.\n if (currentIndex === -1) {\n e.preventDefault();\n\n if (e.key === 'ArrowDown') {\n const nextEl = nonInteractive.find(\n (el) =>\n !!(\n target.compareDocumentPosition(el) &\n Node.DOCUMENT_POSITION_FOLLOWING\n ),\n );\n (nextEl ?? nonInteractive[0]).focus();\n } else {\n let prevEl: HTMLElement | undefined;\n for (let i = nonInteractive.length - 1; i >= 0; i--) {\n const el = nonInteractive[i];\n if (\n target.compareDocumentPosition(el) &\n Node.DOCUMENT_POSITION_PRECEDING\n ) {\n prevEl = el;\n break;\n }\n }\n (prevEl ?? nonInteractive[nonInteractive.length - 1]).focus();\n }\n return;\n }\n\n e.preventDefault();\n const dir = e.key === 'ArrowDown' ? 1 : -1;\n const nextIndex =\n (currentIndex + dir + nonInteractive.length) % nonInteractive.length;\n nonInteractive[nextIndex].focus();\n return;\n }\n }, []);\n\n return (\n <ul\n {...rest}\n ref={listRef}\n onKeyDown={onKeyDown}\n className={cn('kern-task-list__list', className)}\n style={style}\n >\n {items\n ? items.map((rest, i) => <TaskListItem key={i} {...rest} />)\n : children}\n </ul>\n );\n};\n\nTaskList.displayName = 'TaskList.List';\n","import { cn } from '@lib/cn';\n\nexport interface TaskListGroupProps\n extends React.ComponentPropsWithoutRef<'div'> {\n children: React.ReactNode;\n}\nexport const TaskListGroup: React.FC<TaskListGroupProps> = ({\n children,\n className,\n style,\n ...rest\n}) => {\n return (\n <div\n {...rest}\n data-tasklist-group\n className={cn('kern-task-list-group', className)}\n style={style}\n >\n {children}\n </div>\n );\n};\n\nTaskListGroup.displayName = 'TaskList.Group';\n","import { Heading, HeadingProps } from '@components/Heading/Heading';\nimport { cn } from '@lib/cn';\n\nexport interface TaskListHeadingProps\n extends React.ComponentPropsWithoutRef<'div'> {\n title: string;\n type?: HeadingProps['type'];\n headerElement?: HeadingProps['headerElement'];\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport const TaskListHeading: React.FC<TaskListHeadingProps> = ({\n title,\n type = 'medium',\n headerElement = 'h2',\n className = '',\n style = {},\n}) => (\n <div className={cn('kern-task-list__header', className)} style={style}>\n <Heading headerElement={headerElement} type={type} title={title} />\n </div>\n);\n\nTaskListHeading.displayName = 'TaskList.Heading';\n","import { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface TaskListRootProps\n extends React.ComponentPropsWithoutRef<'div'> {}\n\nexport const TaskListRoot: React.FC<TaskListRootProps> = ({\n children,\n className,\n ...rest\n}) => (\n <div {...rest} className={cn('kern-task-list', className)}>\n {children}\n </div>\n);\n\nTaskListRoot.displayName = 'TaskList.Root';\n","export { TaskListItem as Item, type TaskListItemProps } from './Item';\nexport { TaskList as List, type TaskListProps } from './List';\nexport { TaskListGroup as Group, type TaskListGroupProps } from './Group';\nexport {\n TaskListHeading as Heading,\n type TaskListHeadingProps,\n} from './Heading';\nexport { TaskListRoot as Root, type TaskListRootProps } from './Root';\n","import { Icon, type IconProps } from '@components/Icon';\nimport { cn } from '@lib/cn';\n\nexport interface BadgeProps extends React.ComponentPropsWithoutRef<'span'> {\n variant: 'info' | 'success' | 'warning' | 'danger';\n title: string;\n icon?: Omit<IconProps, 'name' | 'aria-hidden'>;\n showIcon?: boolean;\n}\n\nexport const Badge: React.FC<BadgeProps> = ({\n title,\n variant,\n className,\n icon,\n showIcon = false,\n ...rest\n}: BadgeProps) => {\n return (\n <span\n {...rest}\n role=\"status\"\n className={cn(`kern-badge kern-badge--${variant}`, className)}\n >\n {showIcon && <Icon {...icon} aria-hidden={true} name={variant} />}\n <span className=\"kern-label kern-label-small\">\n <span className=\"kern-label kern-sr-only\">\n {variant.replace(/^./, (c) => c.toUpperCase())}\n </span>\n {title}\n </span>\n </span>\n );\n};\n\n","import { cn } from '@lib/cn';\n\nexport interface BodyProps\n extends Omit<React.ComponentPropsWithoutRef<'p'>, 'text'> {\n isBold?: boolean;\n isMuted?: boolean;\n size?: 'large' | 'small';\n text?: React.ReactNode;\n children?: React.ReactNode;\n}\nexport const Body: React.FC<BodyProps> = ({\n isBold,\n isMuted,\n size,\n children,\n text,\n className,\n ...restProps\n}: BodyProps) => {\n const textClasses = cn(\n 'kern-body',\n size && `kern-body--${size}`,\n isBold && 'kern-body--bold',\n isMuted && 'kern-body--muted',\n className,\n );\n\n return (\n <p className={textClasses} {...restProps}>\n {children || text}\n </p>\n );\n};\n\n\n","import { cn } from '@lib/cn';\n\nexport const Divider: React.FC<React.ComponentPropsWithoutRef<'hr'>> = ({\n className,\n ...rest\n}) => {\n return (\n <hr\n {...rest}\n className={cn('kern-divider', className)}\n aria-hidden=\"true\"\n />\n );\n};\n","import { InteractiveFC } from '@common/interactive-component';\n\nimport * as Input from '../Primitives';\n\ninterface DateInputProps extends React.ComponentPropsWithoutRef<'input'> {\n id: string;\n label?: string;\n error?: boolean;\n dateType: 'day' | 'month' | 'year';\n hasOptionalLabel?: boolean;\n}\n\nconst dateInputClassNames: Record<DateInputProps['dateType'], string> = {\n day: 'kern-form-input__input--width-2',\n month: 'kern-form-input__input--width-2',\n year: 'kern-form-input__input--width-4',\n};\n\nconst DateInput: InteractiveFC<DateInputProps> = ({\n id,\n error = false,\n label,\n dateType,\n hasOptionalLabel = false,\n ...rest\n}: DateInputProps) => {\n const describedBy = rest['aria-describedby']\n ? [rest['aria-describedby']]\n : [];\n\n return (\n <Input.Root erroneous={false}>\n <Input.Label htmlFor={id} isOptional={hasOptionalLabel}>\n {label}\n </Input.Label>\n <Input.Text\n {...rest}\n className={dateInputClassNames[dateType]}\n id={id}\n inputMode=\"numeric\"\n aria-describedby={\n describedBy.length > 0 ? describedBy.join(' ') : undefined\n }\n erroneous={error}\n />\n </Input.Root>\n );\n};\n\nDateInput.isInteractive = true;\n\nexport { DateInput, type DateInputProps };\n","import { InteractiveFC } from '@common/interactive-component';\n\nimport * as Input from '../Primitives';\n\ninterface EmailInputProps extends React.ComponentPropsWithoutRef<'input'> {\n id: string;\n label?: string;\n hintText?: string;\n error?: string | boolean;\n hasOptionalLabel?: boolean;\n}\n\nconst EmailInput: InteractiveFC<EmailInputProps> = ({\n id,\n error = false,\n hintText,\n label,\n hasOptionalLabel = false,\n\n ...rest\n}: EmailInputProps) => {\n const errorId = `${id}-error`;\n const hintId = `${id}-hint`;\n\n const isErrorString = typeof error === 'string';\n const hasHint = Boolean(hintText);\n\n const describedBy = rest['aria-describedby']\n ? [rest['aria-describedby']]\n : [];\n\n if (isErrorString) {\n describedBy.push(errorId);\n }\n if (hasHint) {\n describedBy.push(hintId);\n }\n\n return (\n <Input.Root erroneous={isErrorString}>\n <Input.Label htmlFor={id} isOptional={hasOptionalLabel}>\n {label}\n </Input.Label>\n {hasHint && <Input.Hint id={hintId}>{hintText}</Input.Hint>}\n <Input.Email\n {...rest}\n id={id}\n aria-describedby={\n describedBy.length > 0 ? describedBy.join(' ') : undefined\n }\n erroneous={isErrorString ? true : error}\n />\n {isErrorString && <Input.Error id={errorId} message={error} />}\n </Input.Root>\n );\n};\n\nEmailInput.isInteractive = true;\n\nexport { EmailInput, type EmailInputProps };\n","import { InteractiveFC } from '@common/interactive-component';\n\nimport * as Input from '../Primitives';\n\ninterface FileInputProps extends React.ComponentPropsWithoutRef<'input'> {\n id: string;\n title?: string;\n hintText?: string;\n errorMessage?: string;\n supportedFormats?: React.ComponentPropsWithoutRef<\n typeof Input.File\n >['supportedFormats'];\n hasOptionalLabel?: boolean;\n}\n\nconst FileInput: InteractiveFC<FileInputProps> = ({\n id,\n errorMessage,\n hintText,\n title,\n supportedFormats,\n hasOptionalLabel = false,\n ...rest\n}: FileInputProps) => {\n const errorId = `${id}-error`;\n const hintId = `${id}-hint`;\n\n const erroneous = Boolean(errorMessage);\n const hasHint =\n Boolean(hintText) || (supportedFormats && supportedFormats.length > 0);\n\n const describedBy = rest['aria-describedby']\n ? [rest['aria-describedby']]\n : [];\n\n if (errorMessage) {\n describedBy.push(errorId);\n }\n if (hasHint) {\n describedBy.push(hintId);\n }\n\n return (\n <Input.Root erroneous={erroneous}>\n <Input.Label htmlFor={id} isOptional={hasOptionalLabel}>\n {title}\n </Input.Label>\n {hasHint && (\n <Input.Hint id={hintId}>\n {hintText || `Erlaubte Formate: ${supportedFormats!.join(', ')}`}\n </Input.Hint>\n )}\n <Input.File\n {...rest}\n aria-describedby={\n describedBy.length > 0 ? describedBy.join(' ') : undefined\n }\n erroneous={erroneous}\n supportedFormats={supportedFormats}\n />\n {errorMessage && <Input.Error id={errorId} message={errorMessage} />}\n </Input.Root>\n );\n};\n\nFileInput.isInteractive = true;\n\nexport { FileInput, type FileInputProps };\n","import { InteractiveFC } from '@common/interactive-component';\n\nimport * as Input from '../Primitives';\n\ninterface NumberInputProps extends React.ComponentPropsWithoutRef<'input'> {\n id: string;\n label?: string;\n hintText?: string;\n error?: string | boolean;\n hasOptionalLabel?: boolean;\n}\nconst NumberInput: InteractiveFC<NumberInputProps> = ({\n id,\n error = false,\n hintText,\n label,\n hasOptionalLabel = false,\n ...rest\n}: NumberInputProps) => {\n const errorId = `${id}-error`;\n const hintId = `${id}-hint`;\n const isErrorString = typeof error === 'string';\n\n const hasHint = Boolean(hintText);\n\n const describedBy = rest['aria-describedby']\n ? [rest['aria-describedby']]\n : [];\n\n if (isErrorString) {\n describedBy.push(errorId);\n }\n if (hasHint) {\n describedBy.push(hintId);\n }\n\n return (\n <Input.Root erroneous={isErrorString}>\n <Input.Label htmlFor={id} isOptional={hasOptionalLabel}>\n {label}\n </Input.Label>\n {hasHint && <Input.Hint id={hintId}>{hintText}</Input.Hint>}\n <Input.Text\n {...rest}\n id={id}\n inputMode=\"numeric\"\n aria-describedby={\n describedBy.length > 0 ? describedBy.join(' ') : undefined\n }\n erroneous={isErrorString ? true : error}\n />\n {isErrorString && <Input.Error id={errorId} message={error} />}\n </Input.Root>\n );\n};\n\nNumberInput.isInteractive = true;\n\nexport { NumberInput, type NumberInputProps };\n","import { InteractiveFC } from '@common/interactive-component';\n\nimport * as Input from '../Primitives';\n\ninterface PasswordInputProps extends React.ComponentPropsWithoutRef<'input'> {\n id: string;\n label?: string;\n hintText?: string;\n error?: string | boolean;\n ariaRequired?: boolean;\n hasOptionalLabel?: boolean;\n}\nconst PasswordInput: InteractiveFC<PasswordInputProps> = ({\n id,\n error = false,\n hintText,\n label,\n hasOptionalLabel = false,\n ...rest\n}: PasswordInputProps) => {\n const errorId = `${id}-error`;\n const hintId = `${id}-hint`;\n\n const isErrorString = typeof error === 'string';\n const hasHint = Boolean(hintText);\n\n const describedBy = rest['aria-describedby']\n ? [rest['aria-describedby']]\n : [];\n\n if (isErrorString) {\n describedBy.push(errorId);\n }\n if (hasHint) {\n describedBy.push(hintId);\n }\n\n return (\n <Input.Root erroneous={isErrorString}>\n <Input.Label htmlFor={id} isOptional={hasOptionalLabel}>\n {label}\n </Input.Label>\n {hasHint && <Input.Hint id={hintId}>{hintText}</Input.Hint>}\n <Input.Password\n {...rest}\n id={id}\n aria-describedby={\n describedBy.length > 0 ? describedBy.join(' ') : undefined\n }\n erroneous={isErrorString ? true : error}\n />\n {isErrorString && <Input.Error id={errorId} message={error} />}\n </Input.Root>\n );\n};\n\nPasswordInput.isInteractive = true;\n\nexport { PasswordInput, type PasswordInputProps };\n","import { InteractiveFC } from '@common/interactive-component';\nimport { cn } from '@lib/cn';\n\nimport * as Input from '../Primitives';\n\ninterface RadioInputProps extends React.ComponentPropsWithoutRef<'input'> {\n id: string;\n label?: string;\n error?: boolean;\n disabled?: boolean;\n className?: string;\n hasOptionalLabel?: boolean;\n}\nconst RadioInput: InteractiveFC<RadioInputProps> = ({\n id,\n error = false,\n disabled = false,\n label,\n className = '',\n hasOptionalLabel = false,\n ...rest\n}: RadioInputProps) => {\n return (\n <div className={cn('kern-form-check', className)}>\n <Input.Radio {...rest} id={id} erroneous={error} disabled={disabled} />\n <Input.Label htmlFor={id} isOptional={hasOptionalLabel}>\n {label}\n </Input.Label>\n </div>\n );\n};\n\nRadioInput.isInteractive = true;\n\nexport { RadioInput, type RadioInputProps };\n","import { InteractiveFC } from '@common/interactive-component';\n\nimport * as Input from '../Primitives';\n\ninterface SelectInputProps extends React.ComponentPropsWithoutRef<'select'> {\n id: string;\n label?: string;\n hintText?: string;\n errorMessage?: string;\n options?: Array<{ value: string; label: string }>;\n hasOptionalLabel?: boolean;\n}\nconst SelectInput: InteractiveFC<SelectInputProps> = ({\n id,\n errorMessage,\n hintText,\n label,\n hasOptionalLabel = false,\n options = [],\n ...props\n}: SelectInputProps) => {\n const errorId = `${id}-error`;\n const hintId = `${id}-hint`;\n\n const erroneous = Boolean(errorMessage);\n const hasHint = Boolean(hintText);\n\n const describedBy = props['aria-describedby']\n ? [props['aria-describedby']]\n : [];\n\n if (errorMessage) {\n describedBy.push(errorId);\n }\n if (hasHint) {\n describedBy.push(hintId);\n }\n\n return (\n <Input.Root erroneous={erroneous}>\n <Input.Label htmlFor={id} isOptional={hasOptionalLabel}>\n {label}\n </Input.Label>\n {hasHint && <Input.Hint id={hintId}>{hintText}</Input.Hint>}\n <Input.Select\n {...props}\n id={id}\n aria-describedby={\n describedBy.length > 0 ? describedBy.join(' ') : undefined\n }\n erroneous={erroneous}\n options={options}\n />\n {errorMessage && <Input.Error id={errorId} message={errorMessage} />}\n </Input.Root>\n );\n};\n\nSelectInput.isInteractive = true;\n\nexport { SelectInput, type SelectInputProps };\n","import { InteractiveFC } from '@common/interactive-component';\n\nimport * as Input from '../Primitives';\n\ninterface TelInputProps extends React.ComponentPropsWithoutRef<'input'> {\n id: string;\n label?: string;\n hintText?: string;\n error?: string | boolean;\n hasOptionalLabel?: boolean;\n}\nconst TelInput: InteractiveFC<TelInputProps> = ({\n id,\n error = false,\n hintText,\n label,\n hasOptionalLabel = false,\n ...rest\n}: TelInputProps) => {\n const errorId = `${id}-error`;\n const hintId = `${id}-hint`;\n\n const isErrorString = typeof error === 'string';\n const hasHint = Boolean(hintText);\n\n const describedBy = rest['aria-describedby']\n ? [rest['aria-describedby']]\n : [];\n\n if (isErrorString) {\n describedBy.push(errorId);\n }\n if (hasHint) {\n describedBy.push(hintId);\n }\n\n return (\n <Input.Root erroneous={isErrorString}>\n <Input.Label htmlFor={id} isOptional={hasOptionalLabel}>\n {label}\n </Input.Label>\n {hasHint && <Input.Hint id={hintId}>{hintText}</Input.Hint>}\n <Input.Tel\n {...rest}\n id={id}\n aria-describedby={\n describedBy.length > 0 ? describedBy.join(' ') : undefined\n }\n erroneous={isErrorString ? true : error}\n />\n {isErrorString && <Input.Error id={errorId} message={error} />}\n </Input.Root>\n );\n};\n\nTelInput.isInteractive = true;\n\nexport { TelInput, type TelInputProps };\n","import { InteractiveFC } from '@common/interactive-component';\n\nimport * as Input from '../Primitives';\n\ninterface TextInputProps extends React.ComponentPropsWithoutRef<'input'> {\n id: string;\n label?: string;\n hintText?: string;\n error?: boolean | string;\n hasOptionalLabel?: boolean;\n}\nconst TextInput: InteractiveFC<TextInputProps> = ({\n id,\n hintText,\n label,\n error = false,\n hasOptionalLabel = false,\n ...rest\n}: TextInputProps) => {\n const isErrorString = typeof error === 'string';\n const errorId = `${id}-error`;\n const hintId = `${id}-hint`;\n\n const hasHint = Boolean(hintText);\n\n const describedBy = rest['aria-describedby']\n ? [rest['aria-describedby']]\n : [];\n\n if (isErrorString) {\n describedBy.push(errorId);\n }\n if (hasHint) {\n describedBy.push(hintId);\n }\n\n return (\n <Input.Root erroneous={isErrorString}>\n <Input.Label htmlFor={id} isOptional={hasOptionalLabel}>\n {label}\n </Input.Label>\n {hasHint && <Input.Hint id={hintId}>{hintText}</Input.Hint>}\n <Input.Text\n {...rest}\n id={id}\n aria-describedby={\n describedBy.length > 0 ? describedBy.join(' ') : undefined\n }\n erroneous={isErrorString ? true : error}\n />\n {isErrorString && <Input.Error id={errorId} message={error} />}\n </Input.Root>\n );\n};\n\nTextInput.isInteractive = true;\n\nexport { TextInput, type TextInputProps };\n","import { InteractiveFC } from '@common/interactive-component';\n\nimport * as Input from '../Primitives';\n\ninterface TextareaInputProps\n extends React.ComponentPropsWithoutRef<'textarea'> {\n id: string;\n label?: string;\n hintText?: string;\n error?: string | boolean;\n hasOptionalLabel?: boolean;\n}\nconst TextareaInput: InteractiveFC<TextareaInputProps> = ({\n id,\n error = false,\n hintText,\n label,\n hasOptionalLabel = false,\n ...rest\n}: TextareaInputProps) => {\n const errorId = `${id}-error`;\n const hintId = `${id}-hint`;\n\n const isErrorString = typeof error === 'string';\n const hasHint = Boolean(hintText);\n\n const describedBy = rest['aria-describedby']\n ? [rest['aria-describedby']]\n : [];\n\n if (isErrorString) {\n describedBy.push(errorId);\n }\n if (hasHint) {\n describedBy.push(hintId);\n }\n\n return (\n <Input.Root erroneous={isErrorString}>\n <Input.Label htmlFor={id} isOptional={hasOptionalLabel}>\n {label}\n </Input.Label>\n {hasHint && <Input.Hint id={hintId}>{hintText}</Input.Hint>}\n <Input.Textarea\n {...rest}\n id={id}\n aria-describedby={\n describedBy.length > 0 ? describedBy.join(' ') : undefined\n }\n erroneous={isErrorString ? true : error}\n />\n {isErrorString && <Input.Error id={errorId} message={error} />}\n </Input.Root>\n );\n};\n\nTextareaInput.isInteractive = true;\n\nexport { TextareaInput, type TextareaInputProps };\n","import { InteractiveFC } from '@common/interactive-component';\n\nimport * as Input from '../Primitives';\n\ninterface UrlInputProps extends React.ComponentPropsWithoutRef<'input'> {\n id: string;\n label?: string;\n hintText?: string;\n error?: boolean | string;\n hasOptionalLabel?: boolean;\n}\nconst UrlInput: InteractiveFC<UrlInputProps> = ({\n id,\n error = false,\n hintText,\n label,\n hasOptionalLabel = false,\n ...rest\n}: UrlInputProps) => {\n const errorId = `${id}-error`;\n const hintId = `${id}-hint`;\n\n const isErrorString = typeof error === 'string';\n const hasHint = Boolean(hintText);\n\n const describedBy = rest['aria-describedby']\n ? [rest['aria-describedby']]\n : [];\n\n if (isErrorString) {\n describedBy.push(errorId);\n }\n if (hasHint) {\n describedBy.push(hintId);\n }\n\n return (\n <Input.Root erroneous={isErrorString}>\n <Input.Label htmlFor={id} isOptional={hasOptionalLabel}>\n {label}\n </Input.Label>\n {hasHint && <Input.Hint id={hintId}>{hintText}</Input.Hint>}\n <Input.Url\n {...rest}\n id={id}\n aria-describedby={\n describedBy.length > 0 ? describedBy.join(' ') : undefined\n }\n erroneous={isErrorString ? true : error}\n />\n {isErrorString && <Input.Error id={errorId} message={error} />}\n </Input.Root>\n );\n};\n\nUrlInput.isInteractive = true;\n\nexport { UrlInput, type UrlInputProps };\n","import { cn } from '@lib/cn';\n\nexport interface KopfzeileProps extends React.ComponentPropsWithoutRef<'div'> {\n label?: string;\n fluid?: boolean;\n flag?: boolean;\n breakpoints?: string; // e.g. \"768px:720px, 1200px:1140px\"\n}\n\nexport const Kopfzeile: React.FC<KopfzeileProps> = ({\n label = 'Offizielle Website - Bundesrepublik Deutschland',\n fluid = false,\n flag = true,\n breakpoints,\n className,\n ...rest\n}) => {\n const kopfzeileClass = cn('kern-kopfzeile', className);\n\n // Parse breakpoints string and generate CSS\n let customStyle = null;\n if (breakpoints) {\n const rules = breakpoints\n .split(',')\n .map((bp) => {\n const [minWidth, maxWidth] = bp.split(':').map((s) => s.trim());\n return `@media (min-width: ${minWidth}) { .kern-container { max-width: ${maxWidth} !important; } }`;\n })\n .join('\\n');\n customStyle = <style>{rules}</style>;\n }\n\n return (\n <>\n <div {...rest} className={kopfzeileClass} role=\"banner\">\n <div className={`kern-container${fluid ? '-fluid' : ''}`}>\n <div className=\"kern-kopfzeile__content\">\n {flag && (\n <span className=\"kern-kopfzeile__flagge\" aria-hidden=\"true\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 16\"\n style={{ maxWidth: 24 }}\n >\n <path fill=\"#000\" d=\"M0 .5h24v5.333H0z\" />\n <path fill=\"red\" d=\"M0 5.833h24v5.333H0z\" />\n <path fill=\"#FACA2C\" d=\"M0 11.167h24V16.5H0z\" />\n </svg>\n </span>\n )}\n <span className=\"kern-kopfzeile__label\">{label}</span>\n </div>\n </div>\n </div>\n {customStyle}\n </>\n );\n};\n","import { cn } from '@lib/cn';\n\nexport interface LoaderProps\n extends Omit<React.ComponentPropsWithoutRef<'div'>, 'role' | 'aria-atomic'> {\n visible?: boolean;\n srDescription?: string;\n}\n\nexport const Loader: React.FC<LoaderProps> = ({\n visible = false,\n srDescription = 'Wird geladen...',\n className,\n ...rest\n}: LoaderProps) => {\n return (\n <div\n {...rest}\n className={cn(\n 'kern-loader',\n visible && 'kern-loader--visible',\n className,\n )}\n role=\"status\"\n aria-atomic=\"true\"\n >\n <span className=\"kern-sr-only\">{srDescription}</span>\n </div>\n );\n};\n","import { cn } from '@lib/cn';\n\nexport interface PrelineProps extends React.ComponentPropsWithoutRef<'p'> {\n variant?: 'small' | 'default' | 'large';\n text?: string;\n}\n\nexport const Preline: React.FC<PrelineProps> = ({\n variant = 'default',\n text,\n children,\n className,\n ...rest\n}: PrelineProps) => {\n const prelineClass = cn(\n 'kern-preline',\n `kern-preline--${variant}`,\n className,\n );\n\n return (\n <p {...rest} className={prelineClass}>\n {children || text}\n </p>\n );\n};\n","import { cn } from '@lib/cn';\n\nexport interface SublineProps extends React.ComponentPropsWithoutRef<'p'> {\n text?: string;\n variant?: 'small' | 'default' | 'large';\n}\n\nexport const Subline: React.FC<SublineProps> = ({\n text,\n children,\n className,\n variant = 'default',\n ...rest\n}: SublineProps) => {\n const sublineClass = cn(\n 'kern-subline',\n `kern-subline--${variant}`,\n className,\n );\n\n return (\n <p {...rest} className={sublineClass}>\n {children || text}\n </p>\n );\n};\n","'use client';\n\nimport { useId, useMemo } from 'react';\n\nexport interface ThemeColors {\n action?: {\n default?: string;\n onDefault?: string;\n visited?: string;\n focus?: {\n background?: string;\n borderInside?: string;\n borderOutside?: string;\n };\n state?: {\n indicator?: {\n default?: string;\n shade?: string;\n tint?: string;\n shadeHover?: string;\n shadeActive?: string;\n tintHover?: string;\n tintActive?: string;\n tintHoverOpacity?: string;\n tintActiveOpacity?: string;\n };\n opacity?: {\n hover?: number;\n pressed?: number;\n selected?: number;\n disabled?: number;\n active?: number;\n overlay?: number;\n };\n };\n };\n feedback?: {\n danger?: string;\n dangerBackground?: string;\n info?: string;\n infoBackground?: string;\n success?: string;\n successBackground?: string;\n warning?: string;\n warningBackground?: string;\n loader?: string;\n loaderBackground?: string;\n };\n form?: {\n input?: {\n background?: string;\n backgroundInverted?: string;\n border?: string;\n };\n };\n layout?: {\n border?: string;\n text?: {\n default?: string;\n inverse?: string;\n muted?: string;\n };\n background?: {\n default?: string;\n hued?: string;\n overlay?: string;\n };\n };\n}\n\nexport interface ThemeMetric {\n border?: {\n width?: {\n none?: string;\n light?: string;\n default?: string;\n bold?: string;\n heavy?: string;\n };\n radius?: {\n none?: string;\n small?: string;\n default?: string;\n large?: string;\n circle?: string;\n };\n };\n dimension?: {\n '2xSmall'?: string;\n xSmall?: string;\n small?: string;\n default?: string;\n large?: string;\n xLarge?: string;\n '2xLarge'?: string;\n '3xLarge'?: string;\n '4xLarge'?: string;\n '5xLarge'?: string;\n media?: {\n small?: string;\n default?: string;\n large?: string;\n };\n };\n space?: {\n none?: string;\n '2xSmall'?: string;\n xSmall?: string;\n small?: string;\n default?: string;\n large?: string;\n xLarge?: string;\n };\n screenSize?: string;\n baseline?: {\n body?: {\n default?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n large?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n small?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n };\n heading?: {\n display?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n xLarge?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n large?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n medium?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n small?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n };\n title?: {\n large?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n default?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n small?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n };\n preline?: {\n large?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n default?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n small?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n };\n subline?: {\n large?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n default?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n small?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n };\n label?: {\n large?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n default?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n small?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n };\n };\n}\n\nexport interface ThemeTypography {\n fontFamily?: {\n default?: string;\n };\n fontSize?: {\n static?: {\n small?: string;\n medium?: string;\n large?: string;\n };\n adaptive?: {\n medium?: string;\n large?: string;\n xLarge?: string;\n '2xLarge'?: string;\n };\n };\n lineHeight?: {\n static?: {\n medium?: string;\n large?: string;\n };\n adaptive?: {\n medium?: string;\n large?: string;\n xLarge?: string;\n '2xLarge'?: string;\n };\n };\n fontWeight?: {\n regular?: number;\n medium?: number;\n semiBold?: number;\n };\n}\n\nexport interface ThemeComponent {\n badge?: {\n spaceLeft?: string;\n };\n descriptionList?: {\n termMaxWidth?: string;\n };\n alert?: {\n iconSize?: string;\n };\n kopfzeile?: {\n fontFamily?: string;\n fontSize?: string;\n lineHeight?: string;\n padding?: string;\n };\n}\n\nexport interface Theme {\n light?: {\n color?: ThemeColors;\n metric?: ThemeMetric;\n typography?: ThemeTypography;\n component?: ThemeComponent;\n };\n dark?: {\n color?: ThemeColors;\n metric?: ThemeMetric;\n typography?: ThemeTypography;\n component?: ThemeComponent;\n };\n color?: ThemeColors;\n metric?: ThemeMetric;\n typography?: ThemeTypography;\n component?: ThemeComponent;\n}\n\n// Recursively flatten nested theme object into CSS variables\nconst flattenThemeToVariables = (\n obj: object,\n prefix = '--kern',\n): Record<string, string> => {\n const variables: Record<string, string> = {};\n\n // Convert camelCase to kebab-case\n const toKebabCase = (str: string) => {\n return str.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n };\n\n const traverse = (current: unknown, path: string[]) => {\n if (current && typeof current === 'object' && !Array.isArray(current)) {\n Object.entries(current as Record<string, unknown>).forEach(\n ([key, value]) => {\n if (typeof value === 'string' || typeof value === 'number') {\n const kebabKey = toKebabCase(key);\n const variableName = [...path, kebabKey].join('-');\n variables[variableName] = String(value);\n } else if (\n typeof value === 'object' &&\n value !== null &&\n !Array.isArray(value)\n ) {\n const kebabKey = toKebabCase(key);\n traverse(value, [...path, kebabKey]);\n }\n },\n );\n }\n };\n\n traverse(obj, [prefix]);\n return variables;\n};\n\n// Generate CSS for light/dark mode specific variables\nconst generateModeCSS = (\n theme: {\n color?: ThemeColors;\n metric?: ThemeMetric;\n typography?: ThemeTypography;\n component?: ThemeComponent;\n },\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _mode: 'light' | 'dark',\n): string => {\n const variables = flattenThemeToVariables(theme);\n return Object.entries(variables)\n .map(([key, value]) => ` ${key}: ${value};`)\n .join('\\n');\n};\n\nexport interface ThemeProviderProps {\n theme?: Theme;\n children?: React.ReactNode;\n global?: boolean; // Default true - applies CSS variables globally\n style?: React.CSSProperties;\n className?: string;\n}\n\nexport const ThemeProvider = ({\n theme = {},\n children,\n global = true,\n className = '',\n style = {},\n ...props\n}: ThemeProviderProps) => {\n const { light, dark, color, metric, typography, component } = theme;\n const id = useId();\n const uniqueId = useMemo(() => id.replace(/:/g, '-'), [id]); // Memoize the processed ID\n\n // Base style from generic properties (applies to both modes)\n const baseTheme = { color, metric, typography, component };\n const baseStyle = Object.keys(baseTheme).some(\n (key) => baseTheme[key as keyof typeof baseTheme],\n )\n ? flattenThemeToVariables(baseTheme)\n : {};\n\n // Generate CSS for light and dark modes\n const lightCSS = light ? generateModeCSS(light, 'light') : '';\n const darkCSS = dark ? generateModeCSS(dark, 'dark') : '';\n\n // Create CSS based on global prop\n const modeCSS = global\n ? // Global CSS - applies to :root\n `\n ${lightCSS ? `[data-kern-theme=\"light\"] { ${lightCSS} }` : ''}\n ${darkCSS ? `[data-kern-theme=\"dark\"] { ${darkCSS} }` : ''}\n `.trim()\n : // Scoped CSS - applies only to this ThemeProvider instance\n `\n ${lightCSS ? `.kern-theme-provider-${uniqueId}[data-kern-theme=\"light\"], .kern-theme-provider-${uniqueId} [data-kern-theme=\"light\"], .kern-theme-provider-${uniqueId}[data-kern-theme=\"light\"] *, .kern-theme-provider-${uniqueId} [data-kern-theme=\"light\"] * { ${lightCSS} }` : ''}\n ${darkCSS ? `.kern-theme-provider-${uniqueId}[data-kern-theme=\"dark\"], .kern-theme-provider-${uniqueId} [data-kern-theme=\"dark\"], .kern-theme-provider-${uniqueId}[data-kern-theme=\"dark\"] *, .kern-theme-provider-${uniqueId} [data-kern-theme=\"dark\"] * { ${darkCSS} }` : ''}\n `.trim();\n\n // Base CSS based on global prop\n const baseCSS =\n Object.keys(baseStyle).length > 0\n ? global\n ? // Global base CSS\n `\n :root {\n ${Object.entries(baseStyle)\n .map(([key, value]) => `${key}: ${value};`)\n .join('\\n ')}\n }\n `\n : // Scoped base CSS\n `\n .kern-theme-provider-${uniqueId}, .kern-theme-provider-${uniqueId} * {\n ${Object.entries(baseStyle)\n .map(([key, value]) => `${key}: ${value};`)\n .join('\\n ')}\n }\n `\n : '';\n\n return (\n <>\n {modeCSS && <style dangerouslySetInnerHTML={{ __html: modeCSS }} />}\n {baseCSS && <style dangerouslySetInnerHTML={{ __html: baseCSS }} />}\n <div\n {...props}\n className={`kern-theme-provider-${uniqueId} ${className || ''}`}\n style={{ ...style, ...baseStyle }}\n >\n {children}\n </div>\n </>\n );\n};\n","import * as AccordionNamespace from '@components/Accordion';\nimport * as AlertNamespace from '@components/Alert';\nimport * as CardNamespace from '@components/Card';\nimport * as DescriptionListNamespace from '@components/DescriptionList';\nimport * as DialogNamespace from '@components/Dialog';\nimport * as FieldsetNamespace from '@components/Fieldset';\nimport * as GridNamespace from '@components/Grid';\nimport * as InputPrimitivesNamespace from '@components/Input/Primitives';\nimport * as ListsNamespace from '@components/Lists';\nimport * as ProgressNamespace from '@components/Progress';\nimport * as SummaryNamespace from '@components/Summary';\nimport * as TableNamespace from '@components/Table';\nimport * as TaskListNamespace from '@components/TaskList';\n\nexport const Accordion = Object.assign(\n AccordionNamespace.Root,\n AccordionNamespace,\n);\nexport type {\n AccordionContentProps,\n AccordionGroupProps,\n AccordionRootProps,\n AccordionSummaryProps,\n} from '@components/Accordion';\n\nexport const Alert = Object.assign(AlertNamespace.Root, AlertNamespace);\nexport type {\n AlertBodyProps,\n AlertHeaderProps,\n AlertRootProps,\n} from '@components/Alert';\n\nexport { Badge } from '@components/Badge';\nexport type { BadgeProps } from '@components/Badge';\n\nexport { Body } from '@components/Body';\n\nexport { Button } from '@components/Button';\nexport type { ButtonProps } from '@components/Button';\n\nexport const Card = Object.assign(CardNamespace.Root, CardNamespace);\nexport type {\n CardRootProps,\n CardMediaProps,\n CardContainerProps,\n CardHeaderProps,\n CardPrelineProps,\n CardTitleProps,\n CardSublineProps,\n CardBodyProps,\n CardFooterProps,\n} from '@components/Card';\n\nexport const DescriptionList = Object.assign(\n DescriptionListNamespace.Root,\n DescriptionListNamespace,\n);\nexport type {\n DescriptionListRootProps,\n DescriptionListItemProps,\n DescriptionListKeyProps,\n DescriptionListValueProps,\n} from '@components/DescriptionList';\n\nexport const Dialog = Object.assign(DialogNamespace.Root, DialogNamespace);\nexport type {\n DialogRootProps,\n DialogHeaderProps,\n DialogContentProps,\n DialogFooterProps,\n DialogButtonProps,\n DialogTriggerProps,\n DialogModalProps,\n} from '@components/Dialog';\n\nexport { Divider } from '@components/Divider';\n\nexport const Fieldset = Object.assign(\n FieldsetNamespace.Root,\n FieldsetNamespace,\n);\nexport type {\n FieldsetRootProps,\n FieldsetLegendProps,\n FieldsetHintProps,\n FieldsetContentProps,\n FieldsetErrorProps,\n} from '@components/Fieldset';\n\nexport const Grid = Object.assign(GridNamespace.Root, GridNamespace);\nexport type {\n GridRootProps,\n GridRowProps,\n GridColumnProps,\n} from '@components/Grid';\n\nexport { Heading } from '@components/Heading';\n\nexport { Icon } from '@components/Icon';\nexport type { IconProps } from '@components/Icon';\n\nexport const InputPrimitive = Object.assign(\n InputPrimitivesNamespace.Root,\n InputPrimitivesNamespace,\n);\nexport type {\n InputRootProps,\n InputErrorProps,\n InputHintProps,\n InputLabelProps,\n} from '@components/Input/Primitives';\nexport {\n CheckboxInput,\n type CheckboxInputProps,\n DateInput,\n type DateInputProps,\n EmailInput,\n type EmailInputProps,\n FileInput,\n type FileInputProps,\n NumberInput,\n type NumberInputProps,\n PasswordInput,\n type PasswordInputProps,\n RadioInput,\n type RadioInputProps,\n SelectInput,\n type SelectInputProps,\n TelInput,\n type TelInputProps,\n TextInput,\n type TextInputProps,\n TextareaInput,\n type TextareaInputProps,\n UrlInput,\n type UrlInputProps,\n} from '@components/Input';\n\nexport { Kopfzeile } from '@components/Kopfzeile';\nexport type { KopfzeileProps } from '@components/Kopfzeile';\n\nexport { Label } from '@components/Label';\nexport type { LabelProps } from '@components/Label';\n\nexport { Link } from '@components/Link';\nexport type { LinkProps } from '@components/Link';\n\nexport const Lists = Object.assign(ListsNamespace.Root, ListsNamespace);\nexport type {\n ListsRootProps,\n ListsItemProps,\n ListsBulletProps,\n ListsNumberProps,\n} from '@components/Lists';\n\nexport { Loader } from '@components/Loader';\nexport type { LoaderProps } from '@components/Loader';\n\nexport const Table = Object.assign(TableNamespace.Root, TableNamespace);\nexport type {\n TableRootProps,\n TableHeaderProps,\n TableBodyProps,\n TableFooterProps,\n TableRowProps,\n TableColumnProps,\n TableCellProps,\n} from '@components/Table';\n\nexport { Preline } from '@components/Preline';\nexport type { PrelineProps } from '@components/Preline';\n\nexport const Progress = Object.assign(\n ProgressNamespace.Root,\n ProgressNamespace,\n);\nexport type {\n ProgressRootProps,\n ProgressLabelProps,\n ProgressBarProps,\n ProgressPercentageProps,\n ProgressCancelProps,\n ProgressHeaderProps,\n} from '@components/Progress';\n\nexport { Subline } from '@components/Subline';\nexport type { SublineProps } from '@components/Subline';\n\nexport const Summary = Object.assign(SummaryNamespace.Root, SummaryNamespace);\nexport type {\n SummaryProps,\n SummaryHeadingProps,\n SummaryBodyProps,\n SummaryActionsProps,\n SummaryGroupProps,\n SummaryGroupHeadingProps,\n} from '@components/Summary';\n\nexport { ThemeProvider } from '@components/ThemeProvider';\nexport type { Theme, ThemeProviderProps } from '@components/ThemeProvider';\n\nexport { Title } from '@components/Title';\nexport type { TitleProps } from '@components/Title';\n\nexport const TaskList = Object.assign(\n TaskListNamespace.Root,\n TaskListNamespace,\n);\nexport type {\n TaskListItemProps,\n TaskListProps,\n TaskListRootProps,\n TaskListHeadingProps,\n} from '@components/TaskList';\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["AccordionContent: React.FC<AccordionContentProps>","AccordionRoot: React.FC<AccordionRootProps>","Title: React.FC<TitleProps>","AccordionGroup: React.FC<AccordionGroupProps>","AccordionSummary: React.FC<AccordionSummaryProps>","AlertBody: React.FC<AlertBodyProps>","Icon: React.FC<IconProps>","AlertHeader: React.FC<AlertHeaderProps>","getIcon","Link: InteractiveFC<LinkProps>","AlertRoot: React.FC<AlertRootProps>","CardBody: React.FC<CardBodyProps>","CardContainer: React.FC<CardContainerProps>","CardFooter: React.FC<CardFooterProps>","CardHeader: React.FC<CardHeaderProps>","CardMedia: React.FC<CardMediaProps>","CardPreline: React.FC<CardPrelineProps>","CardRoot: React.FC<CardRootProps>","CardSubline: React.FC<CardSublineProps>","CardTitle: React.FC<CardTitleProps>","DescriptionListHeading: React.FC<DescriptionListHeadingProps>","DescriptionListItem: React.FC<DescriptionListItemProps>","DescriptionListKey: React.FC<DescriptionListKeyProps>","DescriptionListRoot: React.FC<DescriptionListRootProps>","DescriptionListValue: React.FC<DescriptionListValueProps>","IconOnlyLabel: React.FC<{ labelText?: string }>","Button: React.FC<ButtonProps>","DialogButton: React.FC<DialogButtonProps>","DialogContent: React.FC<DialogContentProps>","DialogFooter: React.FC<DialogFooterProps>","DialogHeader: React.FC<DialogHeaderProps>","DialogModal: React.FC<DialogModalProps>","DialogRoot: React.FC<DialogRootProps>","contextValue: DialogContextValue","DialogTrigger: React.FC<DialogTriggerProps>","FieldsetContent: React.FC<FieldsetContentProps>","FieldsetError: React.FC<FieldsetErrorProps>","FieldsetHint: React.FC<FieldsetHintProps>","FieldsetLegend: React.FC<FieldsetLegendProps>","CheckboxInput","EmailInput","FileInput","Label: React.FC<LabelProps>","Label","BaseLabel","PasswordInput","RadioInput","SelectInput","TelInput","TextInput","TextareaInput","UrlInput","CheckboxInput: InteractiveFC<CheckboxInputProps>","Input.Checkbox","Input.Label","Input.Error","FieldsetRoot: React.FC<FieldsetRootProps>","children","Checkbox","GridColumn: React.FC<GridColumnProps>","GridRoot: React.FC<GridRootProps>","GridRow: React.FC<GridRowProps>","ListsRoot: React.FC<ListsRootProps>","ListsItem: React.FC<ListsItemProps>","ListsBullet: React.FC<ListsBulletProps>","ListsNumber: React.FC<ListsNumberProps>","ProgressRoot: React.FC<ProgressRootProps>","contextValue: ProgressContextValue","ProgressBar: React.FC<ProgressBarProps>","ProgressHeader: React.FC<ProgressHeaderProps>","ProgressLabel: React.FC<ProgressLabelProps>","SummaryHeading: React.FC<SummaryHeadingProps>","SummaryRoot: React.FC<SummaryProps>","contextValue: SummaryContextValue","SummaryActions: React.FC<SummaryActionsProps>","SummaryBody: React.FC<SummaryBodyProps>","SummaryGroup: React.FC<SummaryGroupProps>","Heading: React.FC<HeadingProps>","SummaryGroupHeading: React.FC<SummaryGroupHeadingProps>","TableBody: React.FC<TableBodyProps>","TableCell: React.FC<TableCellProps>","TableColumn: React.FC<TableColumnProps>","TableFooter: React.FC<TableFooterProps>","TableHeader: React.FC<TableHeaderProps>","TableRoot: React.FC<TableRootProps>","TableRow: React.FC<TableRowProps>","TaskListItem: React.FC<TaskListItemProps>","TaskList: React.FC<TaskListProps>","prevEl: HTMLElement | undefined","rest","TaskListGroup: React.FC<TaskListGroupProps>","TaskListHeading: React.FC<TaskListHeadingProps>","TaskListRoot: React.FC<TaskListRootProps>","Badge: React.FC<BadgeProps>","Body: React.FC<BodyProps>","Divider: React.FC<React.ComponentPropsWithoutRef<'hr'>>","dateInputClassNames: Record<DateInputProps['dateType'], string>","DateInput: InteractiveFC<DateInputProps>","Input.Root","Input.Label","Input.Text","EmailInput: InteractiveFC<EmailInputProps>","Input.Root","Input.Label","Input.Hint","Input.Email","Input.Error","FileInput: InteractiveFC<FileInputProps>","Input.Root","Input.Label","Input.Hint","Input.File","Input.Error","NumberInput: InteractiveFC<NumberInputProps>","Input.Root","Input.Label","Input.Hint","Input.Text","Input.Error","PasswordInput: InteractiveFC<PasswordInputProps>","Input.Root","Input.Label","Input.Hint","Input.Password","Input.Error","RadioInput: InteractiveFC<RadioInputProps>","Input.Radio","Input.Label","SelectInput: InteractiveFC<SelectInputProps>","Input.Root","Input.Label","Input.Hint","Input.Select","Input.Error","TelInput: InteractiveFC<TelInputProps>","Input.Root","Input.Label","Input.Hint","Input.Tel","Input.Error","TextInput: InteractiveFC<TextInputProps>","Input.Root","Input.Label","Input.Hint","Input.Text","Input.Error","TextareaInput: InteractiveFC<TextareaInputProps>","Input.Root","Input.Label","Input.Hint","Input.Textarea","Input.Error","UrlInput: InteractiveFC<UrlInputProps>","Input.Root","Input.Label","Input.Hint","Input.Url","Input.Error","Kopfzeile: React.FC<KopfzeileProps>","Loader: React.FC<LoaderProps>","Preline: React.FC<PrelineProps>","Subline: React.FC<SublineProps>","variables: Record<string, string>","AccordionNamespace.Root","AccordionNamespace","AlertNamespace.Root","AlertNamespace","CardNamespace.Root","CardNamespace","DescriptionListNamespace.Root","DescriptionListNamespace","DialogNamespace.Root","DialogNamespace","FieldsetNamespace.Root","FieldsetNamespace","GridNamespace.Root","GridNamespace","InputPrimitivesNamespace.Root","InputPrimitivesNamespace","ListsNamespace.Root","ListsNamespace","TableNamespace.Root","TableNamespace","ProgressNamespace.Root","ProgressNamespace","SummaryNamespace.Root","SummaryNamespace","TaskListNamespace.Root","TaskListNamespace"],"sources":["../src/lib/cn.ts","../src/components/Accordion/Content.tsx","../src/components/Accordion/Root.tsx","../src/components/Title/Title.tsx","../src/components/Accordion/Group.tsx","../src/components/Accordion/Summary.tsx","../src/components/Accordion/index.ts","../src/components/Alert/Body.tsx","../src/components/Icon/Icon.tsx","../src/components/Alert/Context.ts","../src/components/Alert/Header.tsx","../src/components/Link/Link.tsx","../src/components/Alert/Link.tsx","../src/components/Alert/Root.tsx","../src/components/Alert/index.ts","../src/components/Card/Body.tsx","../src/components/Card/Container.tsx","../src/components/Card/Footer.tsx","../src/components/Card/Header.tsx","../src/components/Card/Media.tsx","../src/components/Card/Preline.tsx","../src/components/Card/Root.tsx","../src/components/Card/Subline.tsx","../src/components/Card/Title.tsx","../src/components/Card/index.ts","../src/components/DescriptionList/Heading.tsx","../src/components/DescriptionList/Item.tsx","../src/components/DescriptionList/Key.tsx","../src/components/DescriptionList/Root.tsx","../src/components/DescriptionList/Value.tsx","../src/components/DescriptionList/index.ts","../src/components/Button/Button.tsx","../src/components/Dialog/Context.ts","../src/components/Dialog/Button.tsx","../src/components/Dialog/Content.tsx","../src/components/Dialog/Footer.tsx","../src/components/Dialog/Header.tsx","../src/components/Dialog/Modal.tsx","../src/components/Dialog/Root.tsx","../src/components/Dialog/Trigger.tsx","../src/components/Dialog/index.ts","../src/components/Fieldset/Content.tsx","../src/components/Fieldset/Error.tsx","../src/components/Fieldset/Hint.tsx","../src/components/Fieldset/Legend.tsx","../src/components/Input/Primitives/Checkbox/CheckboxInput.tsx","../src/components/Input/Primitives/Email/EmailInput.tsx","../src/components/Input/Primitives/Error.tsx","../src/components/Input/Primitives/File/FileInput.tsx","../src/components/Input/Primitives/Hint.tsx","../src/components/Label/Label.tsx","../src/components/Input/Primitives/Label.tsx","../src/components/Input/Primitives/Password/PasswordInput.tsx","../src/components/Input/Primitives/Radio/RadioInput.tsx","../src/components/Input/Primitives/Root.tsx","../src/components/Input/Primitives/Select/SelectInput.tsx","../src/components/Input/Primitives/Tel/TelInput.tsx","../src/components/Input/Primitives/Text/TextInput.tsx","../src/components/Input/Primitives/Textarea/TextareaInput.tsx","../src/components/Input/Primitives/Url/UrlInput.tsx","../src/components/Input/Primitives/index.ts","../src/components/Input/Checkbox/index.tsx","../src/components/Fieldset/Root.tsx","../src/components/Fieldset/index.ts","../src/components/Grid/Column.tsx","../src/components/Grid/Root.tsx","../src/components/Grid/Row.tsx","../src/components/Grid/index.ts","../src/components/Lists/Root.tsx","../src/components/Lists/Item.tsx","../src/components/Lists/Bullet.tsx","../src/components/Lists/Number.tsx","../src/components/Lists/index.ts","../src/components/Progress/Root.tsx","../src/components/Progress/Bar.tsx","../src/components/Progress/Header.tsx","../src/components/Progress/Label.tsx","../src/components/Progress/index.ts","../src/components/Summary/Heading.tsx","../src/components/Summary/Root.tsx","../src/components/Summary/Actions.tsx","../src/components/Summary/Body.tsx","../src/components/Summary/Group.tsx","../src/components/Heading/Heading.tsx","../src/components/Summary/GroupHeading.tsx","../src/components/Summary/index.ts","../src/components/Table/Body.tsx","../src/components/Table/Cell.tsx","../src/components/Table/Column.tsx","../src/components/Table/Footer.tsx","../src/components/Table/Header.tsx","../src/components/Table/Root.tsx","../src/components/Table/Row.tsx","../src/components/Table/index.ts","../src/components/TaskList/Item.tsx","../src/components/TaskList/List.tsx","../src/components/TaskList/Group.tsx","../src/components/TaskList/Heading.tsx","../src/components/TaskList/Root.tsx","../src/components/TaskList/index.ts","../src/components/Badge/Badge.tsx","../src/components/Body/Body.tsx","../src/components/Divider/Divider.tsx","../src/components/Input/Date/index.tsx","../src/components/Input/Email/index.tsx","../src/components/Input/File/index.tsx","../src/components/Input/Number/index.tsx","../src/components/Input/Password/index.tsx","../src/components/Input/Radio/index.tsx","../src/components/Input/Select/index.tsx","../src/components/Input/Tel/index.tsx","../src/components/Input/Text/index.tsx","../src/components/Input/Textarea/index.tsx","../src/components/Input/Url/index.tsx","../src/components/Kopfzeile/Kopfzeile.tsx","../src/components/Loader/Loader.tsx","../src/components/Preline/Preline.tsx","../src/components/Subline/Subline.tsx","../src/components/ThemeProvider/ThemeProvider.tsx","../src/index.ts"],"sourcesContent":["export function cn(...classes: (string | undefined | null | false)[]): string {\n return (\n classes\n // removes falsy values such as undefined, null, false, “”\n .filter(\n (cls): cls is string =>\n typeof cls === 'string' && cls.trim().length > 0,\n )\n // removes leading and trailing spaces\n .map((cls) => cls.trim())\n // joins the strings with a space\n .join(' ')\n // replaces multiple spaces with exactly one\n .replace(/\\s+/g, ' ')\n // removes spaces at the beginning and end\n .trim()\n );\n}\n","import { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\ninterface AccordionContentProps\n extends React.ComponentPropsWithoutRef<'section'> {}\n\nconst AccordionContent: React.FC<AccordionContentProps> = ({\n children,\n className,\n ...rest\n}) => (\n <section {...rest} className={cn('kern-accordion__body', className)}>\n <p className=\"kern-body\">{children}</p>\n </section>\n);\n\nAccordionContent.displayName = 'Accordion.Content';\n\nexport { AccordionContent, type AccordionContentProps };\n","import { cn } from '@lib/cn';\n\ninterface AccordionRootProps extends React.ComponentPropsWithoutRef<'details'> {\n isOpened?: boolean;\n position?: number;\n totalItems?: number;\n}\n\nconst AccordionRoot: React.FC<AccordionRootProps> = ({\n className,\n children,\n isOpened,\n position = 0,\n totalItems = 0,\n ...rest\n}) => (\n <details\n {...rest}\n className={cn('kern-accordion', className)}\n {...(isOpened ? { open: true } : {})}\n >\n {position > 0 && totalItems > 0 && (\n <span className=\"kern-sr-only\">\n {`Item ${position} of ${totalItems}`}\n </span>\n )}\n {children}\n </details>\n);\n\nAccordionRoot.displayName = 'Accordion.Root';\n\nexport { AccordionRoot, type AccordionRootProps };\n","import { cn } from '@lib/cn';\n\ntype TextWrapper = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'span';\n\nexport type TitleProps<TWrapper extends TextWrapper = TextWrapper> =\n React.ComponentPropsWithoutRef<TWrapper> & {\n variant?: 'large' | 'default' | 'small';\n textWrapper?: TWrapper;\n text?: React.ReactNode;\n children?: React.ReactNode;\n };\n\nexport const Title: React.FC<TitleProps> = ({\n variant = 'default',\n textWrapper = 'h2',\n title,\n children,\n className,\n ...rest\n}: TitleProps) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const Wrapper = textWrapper as React.ElementType<any, typeof textWrapper>;\n\n const titleClass = cn('kern-title', `kern-title--${variant}`, className);\n\n return (\n <Wrapper {...rest} className={titleClass}>\n {children || title}\n </Wrapper>\n );\n};\n","import React from 'react';\n\nimport {\n AccordionRoot,\n type AccordionRootProps,\n} from '@components/Accordion/Root';\nimport { Title, type TitleProps } from '@components/Title';\nimport { cn } from '@lib/cn';\n\ninterface AccordionGroupProps\n extends Omit<React.ComponentPropsWithoutRef<'div'>, 'title'> {\n title?: TitleProps;\n}\n\nconst AccordionGroup: React.FC<AccordionGroupProps> = ({\n 'aria-label': ariaLabel,\n className,\n title,\n children,\n ...rest\n}) => {\n const totalItems = React.Children.count(children);\n\n const isAccordionItem = (\n child: React.ReactNode,\n ): child is React.ReactElement<AccordionRootProps> => {\n if (!React.isValidElement(child)) return false;\n return (\n child.type === AccordionRoot\n );\n };\n\n return (\n <div\n {...rest}\n role=\"group\"\n aria-label={[ariaLabel && `${ariaLabel},`, `${totalItems} Elemente`]\n .filter(Boolean)\n .join(' ')}\n className={cn('kern-accordion-group', className)}\n >\n {title && <Title {...title} />}\n {React.Children.map(children, (child, index) =>\n isAccordionItem(child)\n ? React.cloneElement(child, { position: index + 1, totalItems })\n : child,\n )}\n </div>\n );\n};\n\nAccordionGroup.displayName = 'Accordion.Group';\n\nexport { AccordionGroup, type AccordionGroupProps };\n","import { Title, type TitleProps } from '@components/Title';\nimport { cn } from '@lib/cn';\n\nexport interface AccordionSummaryProps\n extends Omit<React.ComponentPropsWithoutRef<'summary'>, 'title'> {\n title: TitleProps;\n}\n\nconst AccordionSummary: React.FC<AccordionSummaryProps> = ({\n title,\n className,\n ...rest\n}) => (\n <summary {...rest} className={cn('kern-accordion__header', className)}>\n <Title {...title} />\n </summary>\n);\n\nAccordionSummary.displayName = 'Accordion.Summary';\n\nexport { AccordionSummary };\n","export { AccordionContent as Content } from './Content';\nexport { AccordionGroup as Group } from './Group';\nexport { AccordionRoot as Root } from './Root';\nexport { AccordionSummary as Summary } from './Summary';\n\nexport { type AccordionRootProps } from './Root';\nexport { type AccordionSummaryProps } from './Summary';\nexport { type AccordionContentProps } from './Content';\nexport { type AccordionGroupProps } from './Group';\n","import { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\ninterface AlertBodyProps\n extends Omit<React.ComponentPropsWithoutRef<'div'>, 'text'> {}\n\nconst AlertBody: React.FC<AlertBodyProps> = ({\n children,\n className,\n ...rest\n}: AlertBodyProps) => {\n return (\n <div {...rest} className={cn('kern-alert__body', className)}>\n {children}\n </div>\n );\n};\n\nAlertBody.displayName = 'Alert.Body';\n\nexport { AlertBody, type AlertBodyProps };\n","import { cn } from '@lib/cn';\n\ntype IconType =\n | 'home'\n | 'arrow-up'\n | 'arrow-down'\n | 'arrow-forward'\n | 'arrow-back'\n | 'info'\n | 'success'\n | 'calendar-today'\n | 'warning'\n | 'danger'\n | 'open-in-new'\n | 'download'\n | 'logout'\n | 'checklist'\n | 'mail'\n | 'edit'\n | 'sign-language'\n | 'easy-language'\n | 'autorenew'\n | 'add'\n | 'close'\n | 'delete'\n | 'search'\n | 'question-mark'\n | 'more-vert'\n | 'content-copy'\n | 'visibility'\n | 'visibility-off'\n | 'check'\n | 'drive-folder-upload'\n | 'chevron-left'\n | 'chevron-right'\n | 'keyboard-double-arrow-left'\n | 'keyboard-double-arrow-right'\n | 'brightness-medium'\n | 'light-mode'\n | 'dark-mode'\n | 'help';\n\nexport interface IconProps extends React.ComponentPropsWithoutRef<'span'> {\n name: IconType;\n size?: 'small' | 'default' | 'large' | 'x-large';\n}\n\nexport const Icon: React.FC<IconProps> = ({\n name = 'home',\n 'aria-hidden': ariaHidden = true,\n size = 'default',\n role,\n className,\n ...rest\n}: IconProps) => {\n return (\n <span\n {...rest}\n className={cn(\n 'kern-icon',\n `kern-icon--${name}`,\n `kern-icon--${size}`,\n className,\n )}\n aria-hidden={ariaHidden}\n role={role}\n />\n );\n};\n","'use client';\n\nimport { createContext, useContext } from 'react';\n\nimport type { AlertRootProps } from './Root';\n\nconst AlertVariantContext = createContext<AlertRootProps['variant']>('info');\n\nfunction useAlertVariant() {\n return useContext<AlertRootProps['variant']>(AlertVariantContext);\n}\n\nexport { AlertVariantContext, useAlertVariant };\n","'use client';\n\nimport { Icon, type IconProps } from '@components/Icon';\nimport { Title } from '@components/Title';\nimport { cn } from '@lib/cn';\n\nimport { useAlertVariant } from './Context';\n\ninterface AlertHeaderProps extends React.ComponentPropsWithoutRef<'div'> {\n hasIcon?: boolean;\n icon?: IconProps;\n title: string;\n}\n\nconst AlertHeader: React.FC<AlertHeaderProps> = ({\n hasIcon = true,\n icon,\n title,\n className,\n ...rest\n}: AlertHeaderProps) => {\n const variant = useAlertVariant();\n return (\n <div {...rest} className={cn('kern-alert__header', className)}>\n {hasIcon && <Icon {...icon} name={variant} />}\n {title && <Title title={title} textWrapper=\"span\" />}\n </div>\n );\n};\n\nAlertHeader.displayName = 'Alert.Header';\n\nexport { AlertHeader, type AlertHeaderProps };\n","import { InteractiveFC } from '@common/interactive-component';\nimport { Icon, IconProps } from '@components/Icon';\nimport { cn } from '@lib/cn';\n\nexport interface LinkProps extends React.ComponentPropsWithoutRef<'a'> {\n variant?: 'default' | 'small';\n title?: string;\n icon?: IconProps;\n iconLeft?: boolean;\n isStretched?: boolean;\n}\n\nconst getIcon = (iconProps?: IconProps) =>\n iconProps ? <Icon name={iconProps.name} size={iconProps.size} /> : null;\n\nexport const Link: InteractiveFC<LinkProps> = ({\n variant = 'default',\n icon,\n iconLeft,\n title,\n target = '_self',\n children,\n isStretched,\n className,\n ...props\n}: LinkProps) => {\n const linkText = title ?? children;\n const linkClass = cn(\n isStretched ? 'kern-link--stretched' : 'kern-link',\n variant === 'small' && 'kern-link--small',\n className,\n );\n\n return (\n <a\n {...props}\n className={linkClass}\n target={icon?.name === 'open-in-new' ? '_blank' : target}\n >\n {iconLeft && getIcon(icon)}\n {linkText}\n {!iconLeft && getIcon(icon)}\n </a>\n );\n};\n\nLink.isInteractive = true;\n","import { Link, type LinkProps } from '@components/Link';\nimport { cn } from '@lib/cn';\n\nconst AlertLink = (props: LinkProps) => {\n return (\n <Link {...props} className={cn('kern-alert__link', props.className)} />\n );\n};\n\nAlertLink.displayName = 'Alert.Link';\n\nexport { AlertLink };\n","import { cn } from '@lib/cn';\n\nimport { AlertVariantContext } from './Context';\n\ninterface AlertRootProps\n extends Omit<React.ComponentPropsWithoutRef<'div'>, 'role'> {\n variant: 'info' | 'success' | 'warning' | 'danger';\n}\n\nconst AlertRoot: React.FC<AlertRootProps> = ({\n children = null,\n variant,\n className,\n ...rest\n}: AlertRootProps) => {\n return (\n <AlertVariantContext.Provider value={variant}>\n <div\n {...rest}\n className={cn('kern-alert', `kern-alert--${variant}`, className)}\n role=\"alert\"\n >\n {children}\n </div>\n </AlertVariantContext.Provider>\n );\n};\n\nAlertRoot.displayName = 'Alert.Root';\n\nexport { AlertRoot, type AlertRootProps };\n","export { AlertBody as Body } from './Body';\nexport { AlertHeader as Header } from './Header';\nexport { AlertLink as Link } from './Link';\nexport { AlertRoot as Root } from './Root';\n\nexport { type AlertBodyProps } from './Body';\nexport { type AlertHeaderProps } from './Header';\nexport { type AlertRootProps } from './Root';\n","import { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\ninterface CardBodyProps extends React.ComponentPropsWithoutRef<'section'> {}\n\nconst CardBody: React.FC<CardBodyProps> = ({\n className,\n children,\n ...rest\n}) => {\n return (\n <section className={cn('kern-card__body', className)} {...rest}>\n <p className=\"kern-body\">{children}</p>\n </section>\n );\n};\n\nCardBody.displayName = 'Card.Body';\n\nexport { CardBody, type CardBodyProps };\n","import { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\ninterface CardContainerProps extends React.ComponentPropsWithoutRef<'div'> {}\n\nconst CardContainer: React.FC<CardContainerProps> = ({\n className,\n children,\n ...rest\n}: CardContainerProps) => {\n return (\n <div {...rest} className={cn('kern-card__container', className)}>\n {children}\n </div>\n );\n};\n\nCardContainer.displayName = 'Card.Container';\n\nexport { CardContainer, type CardContainerProps };\n","import { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\ninterface CardFooterProps extends React.ComponentPropsWithoutRef<'footer'> {}\n\nconst CardFooter: React.FC<CardFooterProps> = ({\n className,\n children,\n ...rest\n}) => {\n return (\n <footer {...rest} className={cn('kern-card__footer', className)}>\n {children}\n </footer>\n );\n};\n\nCardFooter.displayName = 'Card.Footer';\n\nexport { CardFooter, type CardFooterProps };\n","import { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\ninterface CardHeaderProps extends React.ComponentPropsWithoutRef<'header'> {}\n\nconst CardHeader: React.FC<CardHeaderProps> = ({\n className,\n children,\n ...rest\n}: CardHeaderProps) => {\n return (\n <div {...rest} className={cn('kern-card__header', className)}>\n {children}\n </div>\n );\n};\n\nCardHeader.displayName = 'Card.Header';\n\nexport { CardHeader, type CardHeaderProps };\n","import { cn } from '@lib/cn';\n\ninterface CardMediaProps extends React.ComponentPropsWithoutRef<'div'> {\n /** Image source URL */\n src: string;\n /** Alt text for the image */\n alt: string;\n /** Optional image width */\n width?: number | string;\n /** Optional image height */\n height?: number | string;\n}\n\nconst CardMedia: React.FC<CardMediaProps> = ({\n src,\n alt,\n width,\n height,\n className,\n ...rest\n}: CardMediaProps) => {\n return (\n <div {...rest} className={cn('kern-card__media', className)}>\n <img src={src} alt={alt} width={width} height={height} />\n </div>\n );\n};\n\nCardMedia.displayName = 'Card.Media';\n\nexport { CardMedia, type CardMediaProps };\n","import { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\ninterface CardPrelineProps extends React.ComponentPropsWithoutRef<'p'> {}\n\nconst CardPreline: React.FC<CardPrelineProps> = ({\n className,\n children,\n ...rest\n}: CardPrelineProps) => {\n return (\n <p {...rest} className={cn('kern-preline', className)}>\n {children}\n </p>\n );\n};\n\nCardPreline.displayName = 'Card.Preline';\n\nexport { CardPreline, type CardPrelineProps };\n","import { cn } from '@lib/cn';\n\ninterface CardRootProps extends React.ComponentPropsWithoutRef<'article'> {\n /** Optional active state for the card */\n active?: boolean;\n /** Optional size for the card */\n size?: 'small' | 'large' | 'medium';\n /** Optional style for the root card */\n isCardHug?: boolean;\n}\n\nconst CardRoot: React.FC<CardRootProps> = ({\n className,\n style,\n children,\n active = false,\n size = 'medium',\n isCardHug = false,\n ...rest\n}) => {\n return (\n <article\n {...rest}\n className={cn(\n 'kern-card',\n active && 'kern-card--active',\n size && `kern-card--${size}`,\n isCardHug && ` kern-card--hug`,\n className,\n )}\n style={style}\n >\n {children}\n </article>\n );\n};\n\nCardRoot.displayName = 'Card.Root';\n\nexport { CardRoot, type CardRootProps };\n","import { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\ninterface CardSublineProps extends React.ComponentPropsWithoutRef<'h3'> {}\n\nconst CardSubline: React.FC<CardSublineProps> = ({\n className,\n children,\n ...rest\n}) => {\n return (\n <h3 {...rest} className={cn('kern-subline', className)}>\n {children}\n </h3>\n );\n};\n\nCardSubline.displayName = 'Card.Subline';\n\nexport { CardSubline, type CardSublineProps };\n","import { cn } from '@lib/cn';\n\ninterface CardTitleProps extends React.HTMLAttributes<HTMLHeadingElement> {\n /** Title level (h1-h6) */\n textWrapper?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n}\n\nconst CardTitle: React.FC<CardTitleProps> = ({\n className,\n children,\n textWrapper = 'h2',\n ...rest\n}) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const Tag = textWrapper as React.ElementType<any, typeof textWrapper>;\n\n return (\n <Tag {...rest} className={cn('kern-title', className)}>\n {children}\n </Tag>\n );\n};\n\nCardTitle.displayName = 'Card.Title';\n\nexport { CardTitle, type CardTitleProps };\n","export { CardBody as Body } from './Body';\nexport { CardContainer as Container } from './Container';\nexport { CardFooter as Footer } from './Footer';\nexport { CardHeader as Header } from './Header';\nexport { CardMedia as Media } from './Media';\nexport { CardPreline as Preline } from './Preline';\nexport { CardRoot as Root } from './Root';\nexport { CardSubline as Subline } from './Subline';\nexport { CardTitle as Title } from './Title';\n\nexport { type CardBodyProps } from './Body';\nexport { type CardContainerProps } from './Container';\nexport { type CardFooterProps } from './Footer';\nexport { type CardHeaderProps } from './Header';\nexport { type CardMediaProps } from './Media';\nexport { type CardPrelineProps } from './Preline';\nexport { type CardRootProps } from './Root';\nexport { type CardSublineProps } from './Subline';\nexport { type CardTitleProps } from './Title';\n","import { Title, type TitleProps } from '@components/Title';\nimport { cn } from '@lib/cn';\n\ninterface DescriptionListHeadingProps\n extends Omit<React.ComponentPropsWithoutRef<'div'>, 'title'> {\n title: TitleProps;\n}\n\nconst DescriptionListHeading: React.FC<DescriptionListHeadingProps> = ({\n title,\n children,\n className,\n ...rest\n}) => {\n return (\n <div {...rest} className={cn('kern-description-list__heading', className)}>\n <Title {...title} />\n {children}\n </div>\n );\n};\n\nDescriptionListHeading.displayName = 'DescriptionList.Heading';\n\nexport { DescriptionListHeading, type DescriptionListHeadingProps };\n","import { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\ninterface DescriptionListItemProps\n extends React.ComponentPropsWithoutRef<'div'> {}\n\nconst DescriptionListItem: React.FC<DescriptionListItemProps> = ({\n children,\n className,\n ...rest\n}: DescriptionListItemProps) => (\n <div {...rest} className={cn(`kern-description-list-item`, className)}>\n {children}\n </div>\n);\n\nDescriptionListItem.displayName = 'DescriptionList.Item';\n\nexport { DescriptionListItem, type DescriptionListItemProps };\n","import { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface DescriptionListKeyProps\n extends React.ComponentPropsWithoutRef<'dt'> {}\n\nexport const DescriptionListKey: React.FC<DescriptionListKeyProps> = ({\n children,\n className,\n ...rest\n}: DescriptionListKeyProps) => (\n <dt {...rest} className={cn('kern-description-list-item__key', className)}>\n {children}\n </dt>\n);\n\nDescriptionListKey.displayName = 'DescriptionList.Key';\n","import { cn } from '@lib/cn';\n\ninterface DescriptionListRootProps\n extends React.ComponentPropsWithoutRef<'dl'> {\n variant?: 'row' | 'column';\n className?: string;\n style?: React.CSSProperties;\n children: React.ReactNode;\n}\n\nconst DescriptionListRoot: React.FC<DescriptionListRootProps> = ({\n variant = 'row',\n children,\n className,\n ...rest\n}: DescriptionListRootProps) => (\n <dl\n {...rest}\n className={cn(\n 'kern-description-list',\n variant === 'column' && 'kern-description-list--col',\n className,\n )}\n >\n {children}\n </dl>\n);\n\nDescriptionListRoot.displayName = 'DescriptionList.Root';\n\nexport { DescriptionListRoot, type DescriptionListRootProps };\n","import { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\ninterface DescriptionListValueProps\n extends React.ComponentPropsWithoutRef<'dd'> {}\n\nconst DescriptionListValue: React.FC<DescriptionListValueProps> = ({\n children,\n className,\n ...rest\n}: DescriptionListValueProps) => (\n <dd {...rest} className={cn('kern-description-list-item__value', className)}>\n {children}\n </dd>\n);\n\nDescriptionListValue.displayName = 'DescriptionList.Value';\n\nexport { DescriptionListValue, type DescriptionListValueProps };\n","export { DescriptionListHeading as Heading } from './Heading';\nexport { DescriptionListItem as Item } from './Item';\nexport { DescriptionListKey as Key } from './Key';\nexport { DescriptionListRoot as Root } from './Root';\nexport { DescriptionListValue as Value } from './Value';\n\nexport { type DescriptionListHeadingProps } from './Heading';\nexport { type DescriptionListItemProps } from './Item';\nexport { type DescriptionListKeyProps } from './Key';\nexport { type DescriptionListRootProps } from './Root';\nexport { type DescriptionListValueProps } from './Value';\n","import React from 'react';\n\nimport { InteractiveFC } from '@common/interactive-component';\nimport { Icon, IconProps } from '@components/Icon';\nimport { cn } from '@lib/cn';\n\n\nexport interface ButtonProps\n extends Omit<React.ComponentPropsWithoutRef<'button'>, 'text'> {\n variant?: 'primary' | 'secondary' | 'tertiary';\n isBlock?: boolean;\n icon?: IconProps;\n iconOnly?: boolean;\n iconLeft?: boolean;\n text?: string | null;\n ref?: React.Ref<HTMLButtonElement>;\n}\n\nconst getIcon = (iconProps?: IconProps) =>\n iconProps ? <Icon name={iconProps.name} size={iconProps.size} /> : null;\n\nconst IconOnlyLabel: React.FC<{ labelText?: string }> = ({ labelText }) => {\n if (!labelText) return null;\n return (\n <span className=\"kern-label kern-sr-only\">\n {labelText.replace(/^./, (c) => c.toUpperCase())}\n </span>\n );\n};\n\nexport const Button: React.FC<ButtonProps> = ({\n variant = 'primary',\n isBlock,\n icon,\n iconOnly,\n iconLeft,\n text,\n children,\n className,\n ...rest\n}) => {\n const classes = cn(\n 'kern-btn',\n isBlock && 'kern-btn--block',\n `kern-btn--${variant}`,\n className,\n );\n\n const iconElement = getIcon(icon);\n\n if (iconOnly) {\n return (\n <button {...rest} className={classes}>\n {iconElement}\n <IconOnlyLabel labelText={text || icon?.name} />\n </button>\n );\n }\n\n return (\n <button {...rest} className={classes}>\n {iconLeft && iconElement}\n {text && <span className=\"kern-label\">{children || text}</span>}\n {!iconLeft && iconElement}\n </button>\n );\n};\n\n(Button as InteractiveFC<ButtonProps>).isInteractive = true;","'use client';\n\nimport { createContext, useContext } from 'react';\n\nexport interface DialogContextValue {\n isOpen: boolean;\n openDialog: () => void;\n closeDialog: () => void;\n dialogRef: React.MutableRefObject<HTMLDialogElement | null>;\n disableOverlayClose: boolean;\n id: string;\n}\n\nexport const DialogContext = createContext<DialogContextValue | null>(null);\n\nexport const useDialogContext = () => {\n const context = useContext(DialogContext);\n if (!context) {\n throw new Error('Dialog sub-components must be used within Dialog.Root');\n }\n return context;\n};\n","'use client';\n\nimport { Button } from '@components/Button';\n\nimport { useDialogContext } from './Context';\n\nexport interface DialogButtonProps\n extends Omit<React.ComponentPropsWithoutRef<'button'>, 'onClick'> {\n variant: 'primary' | 'secondary' | 'tertiary';\n title: string;\n onClick: (e: React.MouseEvent, context: { closeDialog: () => void }) => void;\n}\n\nexport const DialogButton: React.FC<DialogButtonProps> = ({\n onClick,\n title,\n ...props\n}) => {\n const { closeDialog } = useDialogContext();\n\n return (\n <Button\n {...props}\n text={title}\n onClick={(e) => {\n if (onClick) {\n onClick(e, { closeDialog });\n } else {\n closeDialog();\n }\n }}\n />\n );\n};\n\nDialogButton.displayName = 'Dialog.Button';\n","import { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface DialogContentProps\n extends React.ComponentPropsWithoutRef<'section'> {}\n\nexport const DialogContent: React.FC<DialogContentProps> = ({\n className,\n children,\n ...rest\n}) => (\n <section className={cn('kern-dialog__body', className)} {...rest}>\n {typeof children === 'string' ? (\n <p className=\"kern-body\">{children}</p>\n ) : (\n children\n )}\n </section>\n);\n\nDialogContent.displayName = 'Dialog.Content';\n","import { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface DialogFooterProps\n extends React.ComponentPropsWithoutRef<'footer'> {}\n\nexport const DialogFooter: React.FC<DialogFooterProps> = ({\n className,\n children,\n ...rest\n}) => (\n <footer {...rest} className={cn('kern-dialog__footer', className)}>\n {children}\n </footer>\n);\n\nDialogFooter.displayName = 'Dialog.Footer';\n","'use client';\n\nimport { cn } from '@lib/cn';\n\nimport { useDialogContext } from './Context';\n\nexport interface DialogHeaderProps\n extends React.ComponentPropsWithoutRef<'header'> {\n dialogTitle: string;\n hasCloseButton?: boolean;\n}\n\nexport const DialogHeader: React.FC<DialogHeaderProps> = ({\n dialogTitle,\n hasCloseButton = true,\n 'aria-label': ariaLabel = 'Schließen',\n className,\n ...rest\n}) => {\n const { closeDialog, id } = useDialogContext();\n const headerClass = cn('kern-dialog__header', className);\n\n return (\n <div {...rest} className={headerClass}>\n <h2 id={id} className=\"kern-title kern-title--large\">\n {dialogTitle}\n </h2>\n {hasCloseButton && (\n <button\n type=\"button\"\n className=\"kern-btn kern-btn--tertiary\"\n onClick={closeDialog}\n aria-label={ariaLabel}\n >\n <span className=\"kern-icon kern-icon--close\" aria-hidden=\"true\" />\n <span className=\"kern-sr-only\">{ariaLabel}</span>\n </button>\n )}\n </div>\n );\n};\n\nDialogHeader.displayName = 'Dialog.Header';\n","'use client';\n\nimport { useEffect } from 'react';\n\nimport { cn } from '@lib/cn';\n\nimport { useDialogContext } from './Context';\n\nexport interface DialogModalProps\n extends React.ComponentPropsWithoutRef<'dialog'> {\n noOverlay?: boolean;\n}\n\nexport const DialogModal: React.FC<DialogModalProps> = ({\n className,\n children,\n ...rest\n}) => {\n const { dialogRef, closeDialog, isOpen, disableOverlayClose, id } =\n useDialogContext();\n const handleOverlayClick = (e: React.MouseEvent<HTMLDialogElement>) => {\n if (disableOverlayClose && e.target === dialogRef.current) {\n e.preventDefault();\n } else if (e.target === dialogRef.current) {\n closeDialog();\n }\n };\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDialogElement>) => {\n if (e.key === 'Escape') {\n e.stopPropagation();\n closeDialog();\n return;\n }\n\n if (e.key !== 'Tab') return;\n\n const dialog = dialogRef.current;\n if (!dialog) return;\n\n const focusables = dialog.querySelectorAll<HTMLElement>(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\n );\n if (!focusables.length) return;\n\n const first = focusables[0];\n const last = focusables[focusables.length - 1];\n\n if (e.shiftKey && document.activeElement === first) {\n e.preventDefault();\n last.focus();\n } else if (!e.shiftKey && document.activeElement === last) {\n e.preventDefault();\n first.focus();\n }\n };\n\n useEffect(() => {\n if (!isOpen) return;\n const dialog = dialogRef.current;\n if (!dialog) return;\n\n const focusables = dialog.querySelectorAll<HTMLElement>(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\n );\n\n (focusables[0] ?? dialog).focus();\n }, [isOpen, dialogRef]);\n\n return (\n <dialog\n {...rest}\n className={cn('kern-dialog', className)}\n ref={dialogRef}\n onClick={handleOverlayClick}\n onKeyDown={handleKeyDown}\n open={isOpen}\n aria-labelledby={id}\n aria-modal=\"true\"\n >\n <form method=\"dialog\" className=\"kern-dialog__form\">\n {children}\n </form>\n </dialog>\n );\n};\n\nDialogModal.displayName = 'Dialog.Modal';\n","'use client';\n\nimport { useRef, useState } from 'react';\n\nimport { DialogContext, DialogContextValue } from './Context';\n\nexport interface DialogRootProps extends React.ComponentPropsWithoutRef<'div'> {\n disableOverlayClose?: boolean;\n id?: string;\n}\n\nexport const DialogRoot: React.FC<DialogRootProps> = ({\n disableOverlayClose = false,\n children,\n id,\n ...rest\n}: DialogRootProps) => {\n const [isOpen, setIsOpen] = useState(false);\n const dialogRef = useRef<HTMLDialogElement | null>(null);\n\n const openDialog = () => {\n setIsOpen(true);\n dialogRef.current?.showModal?.();\n };\n\n const closeDialog = () => {\n setIsOpen(false);\n dialogRef.current?.close?.();\n };\n\n const contextValue: DialogContextValue = {\n isOpen,\n openDialog,\n closeDialog,\n dialogRef,\n disableOverlayClose,\n id: id ?? 'kern-modal',\n };\n\n return (\n <DialogContext.Provider value={contextValue}>\n <div {...rest}>{children}</div>\n </DialogContext.Provider>\n );\n};\n\nDialogRoot.displayName = 'Dialog.Root';\n","'use client';\n\nimport React from 'react';\n\nimport { Button } from '@components/Button';\n\nimport { useDialogContext } from './Context';\n\nexport interface DialogTriggerProps {\n children: React.ReactNode;\n}\n\nexport const DialogTrigger: React.FC<DialogTriggerProps> = ({ children }) => {\n const { openDialog } = useDialogContext();\n\n // If children is a real button, do not add role or tabIndex\n if (\n React.isValidElement(children) &&\n children.type === Button\n ) {\n return React.cloneElement(\n children as React.ReactElement,\n {\n onClick: (e: React.MouseEvent) => {\n if (children.props.onClick) children.props.onClick(e);\n openDialog();\n },\n onKeyDown: (e: React.KeyboardEvent) => {\n if (children.props.onKeyDown) children.props.onKeyDown(e);\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n openDialog();\n }\n },\n className: children.props.className ?? '',\n }\n );\n }\n\n return (\n <div\n onClick={openDialog}\n role='button'\n tabIndex={0}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n openDialog();\n }\n }}\n >\n {children}\n </div> \n );\n};\n\nDialogTrigger.displayName = 'DialogTrigger';","export { DialogButton as Button } from './Button';\nexport { DialogContent as Content } from './Content';\nexport { DialogFooter as Footer } from './Footer';\nexport { DialogHeader as Header } from './Header';\nexport { DialogModal as Modal } from './Modal';\nexport { DialogRoot as Root } from './Root';\nexport { DialogTrigger as Trigger } from './Trigger';\n\nexport { type DialogButtonProps } from './Button';\nexport { type DialogContentProps } from './Content';\nexport { type DialogFooterProps } from './Footer';\nexport { type DialogHeaderProps } from './Header';\nexport { type DialogModalProps } from './Modal';\nexport { type DialogRootProps } from './Root';\nexport { type DialogTriggerProps } from './Trigger';\n","import { cn } from '@lib/cn';\n\ninterface FieldsetContentProps extends React.ComponentPropsWithoutRef<'div'> {\n horizontal?: boolean;\n}\n\nconst FieldsetContent: React.FC<FieldsetContentProps> = ({\n children,\n horizontal,\n className,\n style,\n}) => (\n <div\n className={cn(\n `kern-fieldset__body${horizontal ? ' kern-fieldset__body--horizontal' : ''}`,\n className,\n )}\n style={style}\n >\n {children}\n </div>\n);\n\nFieldsetContent.displayName = 'Fieldset.Content';\n\nexport { FieldsetContent, type FieldsetContentProps };\n","import { Icon } from '@components/Icon';\nimport { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\ninterface FieldsetErrorProps extends React.ComponentPropsWithoutRef<'p'> {}\n\nconst FieldsetError: React.FC<FieldsetErrorProps> = ({\n children,\n className,\n id,\n ...rest\n}) => {\n const errorId = id || `error-${Math.random().toString(36).substr(2, 9)}`;\n\n return (\n <p\n {...rest}\n className={cn(`kern-error`, className)}\n id={errorId}\n role=\"alert\"\n >\n <Icon name=\"danger\" size=\"default\" />\n <span className=\"kern-body\">{children}</span>\n </p>\n );\n};\n\nFieldsetError.displayName = 'Fieldset.Error';\n\nexport { FieldsetError, type FieldsetErrorProps };\n","import { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\ninterface FieldsetHintProps extends React.ComponentPropsWithoutRef<'div'> {}\n\nconst FieldsetHint: React.FC<FieldsetHintProps> = ({\n children,\n className,\n id,\n ...rest\n}) => {\n const hintId = id || `hint-${Math.random().toString(36).substr(2, 9)}`;\n return (\n <div {...rest} className={cn(`kern-hint`, className)} id={hintId}>\n {children}\n </div>\n );\n};\n\nFieldsetHint.displayName = 'Fieldset.Hint';\n\nexport { FieldsetHint, type FieldsetHintProps };\n","import { cn } from '@lib/cn';\n\ninterface FieldsetLegendProps extends React.ComponentPropsWithoutRef<'legend'> {\n hasOptionalLabel?: boolean;\n}\n\nconst FieldsetLegend: React.FC<FieldsetLegendProps> = ({\n children,\n hasOptionalLabel,\n ...rest\n}) => (\n <legend {...rest} className={cn(`kern-label`, rest.className)}>\n {children}\n {hasOptionalLabel && (\n <span className=\"kern-label__optional\">- Optional</span>\n )}\n </legend>\n);\n\nFieldsetLegend.displayName = 'Fieldset.Legend';\n\nexport { FieldsetLegend, type FieldsetLegendProps };\n","import { forwardRef } from 'react';\n\nimport { cn } from '@lib/cn';\n\ninterface CheckboxInputProps\n extends Omit<\n React.ComponentPropsWithoutRef<'input'>,\n 'type' | 'aria-describedby'\n > {\n erroneous?: boolean;\n}\n\nconst CheckboxInput = forwardRef<HTMLInputElement, CheckboxInputProps>(\n ({ erroneous = false, required, ...rest }: CheckboxInputProps, ref) => {\n return (\n <input\n {...rest}\n ref={ref}\n type=\"checkbox\"\n required={required}\n className={cn(\n 'kern-form-check__checkbox',\n erroneous && 'kern-form-check__checkbox--error',\n rest.className,\n )}\n />\n );\n },\n);\n\nexport { CheckboxInput, type CheckboxInputProps };\n","import { forwardRef } from 'react';\n\nimport { cn } from '@lib/cn';\n\ninterface EmailInputProps\n extends Omit<React.ComponentPropsWithoutRef<'input'>, 'type'> {\n erroneous?: boolean;\n}\n\nconst EmailInput = forwardRef<HTMLInputElement, EmailInputProps>(\n (\n {\n erroneous = false,\n autoComplete = 'email',\n required,\n ...rest\n }: EmailInputProps,\n ref,\n ) => {\n return (\n <input\n {...rest}\n ref={ref}\n required={required}\n type=\"email\"\n autoComplete={autoComplete}\n className={cn(\n 'kern-form-input__input',\n erroneous && 'kern-form-input__input--error',\n rest.className,\n )}\n />\n );\n },\n);\n\nexport { EmailInput, type EmailInputProps };\n","import { Icon } from '@components/Icon';\nimport { cn } from '@lib/cn';\n\ninterface InputErrorProps\n extends Omit<React.ComponentPropsWithoutRef<'p'>, 'role'> {\n message: string;\n id: string;\n}\n\nconst InputError = ({ className, message, ...props }: InputErrorProps) => {\n return (\n <p className={cn('kern-error', className)} role=\"alert\" {...props}>\n <Icon name=\"danger\" />\n <span className=\"kern-body\">{message}</span>\n </p>\n );\n};\n\nexport { InputError, type InputErrorProps };\n","import { forwardRef } from 'react';\n\nimport { cn } from '@lib/cn';\n\ntype FileExtension = `.${string}`;\ntype MimeType = `${string}/${string}`;\n\ninterface FileInputProps\n extends Omit<React.ComponentPropsWithoutRef<'input'>, 'type'> {\n supportedFormats?: (FileExtension | MimeType)[];\n erroneous?: boolean;\n}\n\nconst FileInput = forwardRef<HTMLInputElement, FileInputProps>(\n ({ supportedFormats = [], erroneous = false, required, ...rest }, ref) => {\n return (\n <input\n {...rest}\n ref={ref}\n type=\"file\"\n required={required}\n accept={rest.accept ?? supportedFormats.join(',')}\n className={cn(\n 'kern-form-input__input',\n erroneous && 'kern-form-input__input--error',\n rest.className,\n )}\n />\n );\n },\n);\n\nexport { FileInput, type FileInputProps };\n","import { cn } from '@lib/cn';\n\ninterface HintProps extends React.ComponentPropsWithoutRef<'p'> {\n id: string;\n}\n\nconst Hint = ({ className, children, ...props }: HintProps) => {\n return (\n <div className={cn('kern-hint', className)} {...props}>\n {children}\n </div>\n );\n};\n\nexport { Hint, type HintProps };\n","import { cn } from '@lib/cn';\n\ntype TextWrapper =\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'h6'\n | 'p'\n | 'span'\n | 'label'\n | 'legend';\n\n// Use type instead of interface, as we need to dynamically create props based on the textWrapper\n// interfaces are completely static.\nexport type LabelProps<TWrapper extends TextWrapper = TextWrapper> =\n React.ComponentPropsWithoutRef<TWrapper> & {\n variant?: 'large' | 'default' | 'small';\n textWrapper?: TWrapper;\n text?: React.ReactNode;\n };\n\nexport const Label: React.FC<LabelProps> = ({\n variant = 'default',\n textWrapper = 'label',\n className,\n children,\n text,\n ...rest\n}: LabelProps) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const Wrapper = textWrapper as React.ElementType<any, typeof textWrapper>;\n\n const labelClass = cn(\n 'kern-label',\n variant ? `kern-label--${variant}` : '',\n className,\n className,\n );\n\n return (\n <Wrapper className={labelClass} {...rest}>\n {text || children}\n </Wrapper>\n );\n};\n","import {\n Label as BaseLabel,\n type LabelProps as BaseLabelProps,\n} from '../../Label';\n\ninterface LabelProps extends Omit<BaseLabelProps, 'textWrapper'> {\n htmlFor: string;\n isOptional?: boolean;\n}\n\nconst Label = ({ children, isOptional, ...props }: LabelProps) => {\n return (\n <BaseLabel textWrapper=\"label\" {...props}>\n {children}\n {isOptional && (\n <span className=\"kern-label__optional\">&ndash; Optional</span>\n )}\n </BaseLabel>\n );\n};\n\nexport { Label, type LabelProps };\n","import { forwardRef } from 'react';\n\nimport { cn } from '@lib/cn';\n\ninterface PasswordInputProps\n extends Omit<React.ComponentPropsWithoutRef<'input'>, 'type'> {\n erroneous?: boolean;\n}\n\nconst PasswordInput = forwardRef<HTMLInputElement, PasswordInputProps>(\n (\n { erroneous = false, required, autoComplete = 'password', ...rest },\n ref,\n ) => {\n return (\n <input\n {...rest}\n ref={ref}\n type=\"password\"\n required={required}\n autoComplete={autoComplete}\n className={cn(\n 'kern-form-input__input',\n erroneous && 'kern-form-input__input--error',\n rest.className,\n )}\n />\n );\n },\n);\n\nexport { PasswordInput, type PasswordInputProps };\n","import { forwardRef } from 'react';\n\nimport { cn } from '@lib/cn';\n\ninterface RadioInputProps\n extends Omit<\n React.ComponentPropsWithoutRef<'input'>,\n 'type' | 'aria-describedby'\n > {\n erroneous?: boolean;\n}\n\nconst RadioInput = forwardRef<HTMLInputElement, RadioInputProps>(\n ({ erroneous = false, required, autoComplete, ...rest }, ref) => {\n return (\n <input\n {...rest}\n ref={ref}\n type=\"radio\"\n required={required}\n autoComplete={autoComplete}\n className={cn(\n 'kern-form-check__radio',\n erroneous && 'kern-form-check__radio--error',\n rest.className,\n )}\n />\n );\n },\n);\n\nexport { RadioInput, type RadioInputProps };\n","import { cn } from '@lib/cn';\n\ninterface RootProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n erroneous?: boolean;\n}\n\nconst Root = ({ className, erroneous, ...props }: RootProps) => {\n return (\n <div\n className={cn(\n 'kern-form-input',\n erroneous && 'kern-form-input--error',\n className,\n )}\n {...props}\n />\n );\n};\n\nexport { Root, type RootProps };\n","import { forwardRef } from 'react';\n\nimport { cn } from '@lib/cn';\n\ninterface SelectInputProps extends React.ComponentPropsWithoutRef<'select'> {\n erroneous?: boolean;\n options?: Array<{ value: string; label: string }>;\n}\n\nconst SelectInput = forwardRef<HTMLSelectElement, SelectInputProps>(\n ({ erroneous = false, required, autoComplete = '', options = [], ...rest }, ref) => {\n return (\n <div className=\"kern-form-input__select-wrapper\">\n <select\n {...rest}\n ref={ref}\n className={cn(\n 'kern-form-input__select',\n erroneous && 'kern-form-input__select--error',\n rest.className,\n )}\n required={required}\n autoComplete={autoComplete}\n >\n {options.map((option) => (\n <option key={option.value} value={option.value}>\n {option.label}\n </option>\n ))}\n </select>\n </div>\n );\n },\n);\n\nexport { SelectInput, type SelectInputProps };\n","import { forwardRef } from 'react';\n\nimport { cn } from '@lib/cn';\n\ninterface TelInputProps\n extends Omit<\n React.ComponentPropsWithoutRef<'input'>,\n 'type' | 'autoComplete'\n > {\n erroneous?: boolean;\n}\n\nconst TelInput = forwardRef<HTMLInputElement, TelInputProps>(\n ({ erroneous = false, required, ...rest }: TelInputProps, ref) => {\n return (\n <input\n {...rest}\n ref={ref}\n required={required}\n type=\"tel\"\n autoComplete=\"tel\"\n aria-describedby={rest['aria-describedby']}\n className={cn(\n 'kern-form-input__input',\n erroneous && 'kern-form-input__input--error',\n rest.className,\n )}\n />\n );\n },\n);\n\nexport { TelInput, type TelInputProps };\n","import { forwardRef } from 'react';\n\nimport { cn } from '@lib/cn';\n\ninterface TextInputProps\n extends Omit<React.ComponentPropsWithoutRef<'input'>, 'type'> {\n erroneous?: boolean;\n}\n\nconst TextInput = forwardRef<HTMLInputElement, TextInputProps>(\n ({ erroneous = false, required, autoComplete, ...rest }, ref) => {\n return (\n <input\n {...rest}\n ref={ref}\n type=\"text\"\n className={cn(\n 'kern-form-input__input',\n erroneous && 'kern-form-input__input--error',\n rest.className,\n )}\n required={required}\n autoComplete={autoComplete}\n />\n );\n },\n);\n\nexport { TextInput, type TextInputProps };\n","import { forwardRef } from 'react';\n\nimport { cn } from '@lib/cn';\n\ninterface TextareaInputProps\n extends React.ComponentPropsWithoutRef<'textarea'> {\n erroneous?: boolean;\n}\n\nconst TextareaInput = forwardRef<HTMLTextAreaElement, TextareaInputProps>(\n ({ erroneous = false, required, autoComplete, ...rest }, ref) => {\n return (\n <textarea\n {...rest}\n ref={ref}\n required={required}\n autoComplete={autoComplete}\n className={cn(\n 'kern-form-input__input',\n erroneous && 'kern-form-input__input--error',\n rest.className,\n )}\n />\n );\n },\n);\n\nexport { TextareaInput, type TextareaInputProps };\n","import { forwardRef } from 'react';\n\nimport { cn } from '@lib/cn';\n\ninterface UrlInputProps\n extends Omit<React.ComponentPropsWithoutRef<'input'>, 'type'> {\n erroneous?: boolean;\n}\n\nconst UrlInput = forwardRef<HTMLInputElement, UrlInputProps>(\n (\n {\n erroneous = false,\n required,\n autoComplete = 'url',\n ...rest\n }: UrlInputProps,\n ref,\n ) => {\n return (\n <input\n {...rest}\n required={required}\n autoComplete={autoComplete}\n ref={ref}\n type=\"url\"\n aria-describedby={rest['aria-describedby']}\n className={cn(\n 'kern-form-input__input',\n erroneous && 'kern-form-input__input--error',\n rest.className,\n )}\n />\n );\n },\n);\n\nexport { UrlInput, type UrlInputProps };\n","import {\n CheckboxInput as Checkbox,\n type CheckboxInputProps,\n} from './Checkbox/CheckboxInput';\nimport { EmailInput as Email, type EmailInputProps } from './Email/EmailInput';\nimport { InputError as Error, type InputErrorProps } from './Error';\nimport { FileInput as File, type FileInputProps } from './File/FileInput';\nimport { Hint, type HintProps as InputHintProps } from './Hint';\nimport { Label, type LabelProps as InputLabelProps } from './Label';\nimport {\n PasswordInput as Password,\n type PasswordInputProps as InputPasswordProps,\n} from './Password/PasswordInput';\nimport { RadioInput as Radio, type RadioInputProps } from './Radio/RadioInput';\nimport { Root, type RootProps as InputRootProps } from './Root';\nimport {\n SelectInput as Select,\n type SelectInputProps as InputSelectProps,\n} from './Select/SelectInput';\nimport { TelInput as Tel, type TelInputProps } from './Tel/TelInput';\nimport {\n TextInput as Text,\n type TextInputProps as InputTextProps,\n} from './Text/TextInput';\nimport {\n TextareaInput as Textarea,\n type TextareaInputProps as InputTextareaProps,\n} from './Textarea/TextareaInput';\nimport { UrlInput as Url, type UrlInputProps } from './Url/UrlInput';\n\nexport {\n Checkbox,\n type CheckboxInputProps,\n Error,\n type InputErrorProps,\n File,\n type FileInputProps,\n Hint,\n type InputHintProps,\n Label,\n type InputLabelProps,\n Password,\n type InputPasswordProps,\n Root,\n type InputRootProps,\n Select,\n type InputSelectProps,\n Text,\n type InputTextProps,\n Textarea,\n type InputTextareaProps,\n Radio,\n type RadioInputProps,\n Tel,\n type TelInputProps,\n Url,\n type UrlInputProps,\n Email,\n type EmailInputProps,\n};\n","import { InteractiveFC } from '@common/interactive-component';\nimport { cn } from '@lib/cn';\n\nimport * as Input from '../Primitives';\n\ninterface CheckboxInputProps extends React.ComponentPropsWithoutRef<'input'> {\n id: string;\n label?: string;\n error?: boolean | string;\n disabled?: boolean;\n hasOptionalLabel?: boolean;\n}\n\nconst CheckboxInput: InteractiveFC<CheckboxInputProps> = ({\n id,\n error = false,\n disabled = false,\n hasOptionalLabel = false,\n label,\n className,\n style,\n ...rest\n}: CheckboxInputProps) => {\n const isErrorString = typeof error === 'string';\n const errorId = `${id}-error`;\n const describedBy = rest['aria-describedby']\n ? [rest['aria-describedby']]\n : [];\n\n if (isErrorString) {\n describedBy.push(errorId);\n }\n\n return (\n <div\n className={cn(\n 'kern-form-check',\n isErrorString && 'kern-form-check--error',\n className,\n )}\n style={style}\n >\n <Input.Checkbox\n {...rest}\n id={id}\n aria-describedby={\n describedBy.length > 0 ? describedBy.join(' ') : undefined\n }\n erroneous={isErrorString ? true : error}\n disabled={disabled}\n />\n <Input.Label htmlFor={id} isOptional={hasOptionalLabel}>\n {label}\n </Input.Label>\n {isErrorString && <Input.Error id={errorId} message={error} />}\n </div>\n );\n};\n\nCheckboxInput.isInteractive = true;\n\nexport { CheckboxInput, type CheckboxInputProps };\n","import React from 'react';\n\nimport { CheckboxInput as Checkbox } from '@components/Input/Checkbox';\nimport { cn } from '@lib/cn';\n\ninterface FieldsetRootProps extends React.ComponentPropsWithoutRef<'fieldset'> {\n error?: boolean;\n}\n\nconst FieldsetRoot: React.FC<FieldsetRootProps> = ({\n children,\n id,\n className,\n style,\n error = false,\n}) => {\n // Recursive function to count Checkbox components\n const countCheckboxes = (children: React.ReactNode): number => {\n return React.Children.toArray(children).reduce(\n (count: number, child: React.ReactNode) => {\n if (React.isValidElement(child)) {\n if (child.type === Checkbox) {\n return count + 1;\n }\n if (child.props && child.props.children) {\n return count + countCheckboxes(child.props.children);\n }\n }\n return count;\n },\n 0,\n );\n };\n\n const checkboxCount = countCheckboxes(children);\n\n const hintText = checkboxCount\n ? `${checkboxCount} Optionen verfügbar.`\n : 'hint-text kern-input-error';\n\n return (\n <fieldset\n className={cn(\n `kern-fieldset`,\n error && 'kern-fieldset--error',\n className,\n )}\n style={style}\n id={id}\n role=\"group\"\n aria-describedby={hintText}\n >\n {children}\n </fieldset>\n );\n};\n\nFieldsetRoot.displayName = 'Fieldset.Root';\n\nexport { FieldsetRoot, type FieldsetRootProps };\n","export { FieldsetContent as Content } from './Content';\nexport { FieldsetError as Error } from './Error';\nexport { FieldsetHint as Hint } from './Hint';\nexport { FieldsetLegend as Legend } from './Legend';\nexport { FieldsetRoot as Root } from './Root';\n\nexport type { FieldsetRootProps } from './Root';\nexport type { FieldsetLegendProps } from './Legend';\nexport type { FieldsetHintProps } from './Hint';\nexport type { FieldsetContentProps } from './Content';\nexport type { FieldsetErrorProps } from './Error';\n","import { cn } from '@lib/cn';\n\nexport type Breakpoint = 'sm' | 'md' | 'lg' | 'xl';\nexport type AlignItems = 'start' | 'center' | 'end';\n\ninterface GridColumnProps extends React.ComponentPropsWithoutRef<'div'> {\n breakpoint?: Breakpoint;\n width?: number;\n isOffset?: boolean;\n offsetWidth?: number;\n isSelfAlignment?: boolean;\n alignItem?: AlignItems;\n children: React.ReactNode;\n}\n\nconst GridColumn: React.FC<GridColumnProps> = ({\n children,\n breakpoint,\n width,\n isOffset,\n offsetWidth,\n alignItem,\n className,\n ...rest\n}: GridColumnProps) => {\n const classes = cn(\n ...[\n isOffset && offsetWidth && breakpoint && width\n ? `kern-col-${width + offsetWidth} kern-col-${breakpoint}-${width} kern-col-${breakpoint}-offset-${offsetWidth}`\n : breakpoint && width\n ? `kern-col-${breakpoint}-${width}`\n : width\n ? `kern-col-${width}`\n : 'kern-col',\n alignItem ? `kern-align-self-${alignItem}` : '',\n className,\n ],\n );\n\n return (\n <div {...rest} className={classes}>\n {children}\n </div>\n );\n};\n\nGridColumn.displayName = 'Grid.Column';\n\nexport { GridColumn, type GridColumnProps };\n","import { cn } from '@lib/cn';\n\ninterface GridRootProps extends React.ComponentPropsWithoutRef<'div'> {\n type?: 'fluid';\n}\n\nconst GridRoot: React.FC<GridRootProps> = ({\n type,\n className,\n children,\n ...rest\n}: GridRootProps) => {\n return (\n <div\n {...rest}\n className={cn(\n type ? `kern-container-${type}` : 'kern-container',\n className,\n )}\n >\n {children}\n </div>\n );\n};\n\nGridRoot.displayName = 'Grid.Root';\n\nexport { GridRoot, type GridRootProps };\n","import React from 'react';\n\nimport { cn } from '@lib/cn';\n\nexport type AlignItems = 'start' | 'center' | 'end';\nexport type HorizontalAlignment =\n | 'start'\n | 'center'\n | 'end'\n | 'around'\n | 'between'\n | 'evenly';\n\nexport interface GridRowProps extends React.ComponentPropsWithoutRef<'div'> {\n alignItems?: AlignItems;\n horizontalAlignment?: HorizontalAlignment;\n}\n\nconst GridRow: React.FC<GridRowProps> = ({\n children,\n alignItems,\n horizontalAlignment,\n className,\n ...rest\n}: GridRowProps) => {\n const rowClasses = cn(\n 'kern-row',\n alignItems && `kern-align-items-${alignItems}`,\n horizontalAlignment && `kern-justify-content-${horizontalAlignment}`,\n className,\n );\n\n return (\n <div {...rest} className={rowClasses}>\n {children}\n </div>\n );\n};\n\nGridRow.displayName = 'Grid.Row';\n\nexport { GridRow };\n","export { GridColumn as Column } from './Column';\nexport { GridRoot as Root } from './Root';\nexport { GridRow as Row } from './Row';\n\nexport { type GridColumnProps } from './Column';\nexport { type GridRootProps } from './Root';\nexport { type GridRowProps } from './Row';\n","import { cn } from '@lib/cn';\n\nexport interface ListsRootProps\n extends Omit<React.ComponentPropsWithoutRef<'ol' | 'ul'>, 'type'> {\n children: React.ReactNode;\n className?: string;\n style?: React.CSSProperties;\n size?: 'default' | 'large' | 'small';\n type?: 'bullet' | 'number' | 'link';\n}\n\nexport const ListsRoot: React.FC<ListsRootProps> = ({\n children,\n className,\n size = 'default',\n type = 'bullet',\n ...rest\n}: ListsRootProps) => {\n const Component = type === 'number' ? 'ol' : 'ul';\n\n const listClasses = cn(\n 'kern-list',\n size !== 'default' && `kern-list--${size}`,\n type && `kern-list--${type}`,\n className,\n );\n\n return (\n <Component {...rest} className={listClasses}>\n {children}\n </Component>\n );\n};\n\nListsRoot.displayName = 'Lists.Root';\n","import React from 'react';\n\nexport interface ListsItemProps extends React.ComponentPropsWithoutRef<'li'> {\n children?: React.ReactNode;\n className?: string;\n style?: React.CSSProperties;\n text?: string;\n}\n\nexport const ListsItem: React.FC<ListsItemProps> = ({\n children,\n text,\n className,\n style,\n}) => (\n <li className={className} style={style}>\n {React.Children.map(children, (child) =>\n React.isValidElement(child)\n ? React.cloneElement(child as React.ReactElement, {\n style: { ...style, ...(child.props && child.props.style) },\n })\n : child,\n )}\n {text && <span>{text}</span>}\n </li>\n);\n\nListsItem.displayName = 'Lists.Item';\n","import { cn } from '@lib/cn';\n\nexport interface ListsBulletProps\n extends React.ComponentPropsWithoutRef<'div'> {\n title: string;\n items: string[];\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport const ListsBullet: React.FC<ListsBulletProps> = ({\n title,\n items,\n className,\n ...rest\n}) => (\n <div {...rest} className={cn(className)}>\n <div className=\"kern-body kern-body--bold\">{title}</div>\n <ul className=\"kern-list kern-list--bullet\">\n {items.map((item, index) => (\n <li key={index}>{item}</li>\n ))}\n </ul>\n </div>\n);\n\nListsBullet.displayName = 'Lists.Bullet';\n","import { cn } from '@lib/cn';\n\nexport interface ListsNumberProps\n extends Omit<React.ComponentPropsWithoutRef<'ol'>, 'type'> {\n children: React.ReactNode;\n size?: 'default' | 'large' | 'small';\n type?: 'bullet' | 'number' | 'link';\n}\n\nexport const ListsNumber: React.FC<ListsNumberProps> = ({\n children,\n className,\n size = 'default',\n type,\n ...rest\n}) => (\n <ol\n {...rest}\n className={cn(\n 'kern-list',\n size && `kern-list--${size}`,\n type && `kern-list--${type}`,\n className,\n )}\n >\n {children}\n </ol>\n);\n\nListsNumber.displayName = 'Lists.Number';\n","export { ListsRoot as Root, type ListsRootProps } from './Root';\nexport { ListsItem as Item, type ListsItemProps } from './Item';\nexport { ListsBullet as Bullet, type ListsBulletProps } from './Bullet';\nexport { ListsNumber as Number, type ListsNumberProps } from './Number';\n","'use client';\n\nimport React from 'react';\n\nimport { cn } from '@lib/cn';\n\nexport interface ProgressRootProps\n extends React.HTMLAttributes<HTMLDivElement> {\n value: number;\n max?: number;\n progressId?: string;\n}\n\nexport interface ProgressContextValue {\n value: number;\n max: number;\n percentage: number;\n progressId: string;\n}\n\nexport const ProgressContext = React.createContext<ProgressContextValue | null>(\n null,\n);\n\nexport const useProgressContext = () => {\n const context = React.useContext(ProgressContext);\n if (!context) {\n throw new Error('Progress subcomponents must be used within Progress.Root');\n }\n return context;\n};\n\nconst ProgressRoot: React.FC<ProgressRootProps> = ({\n value = 0,\n max = 100,\n className,\n children,\n progressId: propProgressId,\n ...rest\n}: ProgressRootProps) => {\n const percentage = Math.round((value / max) * 100);\n const progressId = React.useMemo(\n () =>\n propProgressId || `progress-${Math.random().toString(36).slice(2, 11)}`,\n [propProgressId],\n );\n\n const contextValue: ProgressContextValue = {\n value,\n max,\n percentage,\n progressId,\n };\n\n return (\n <ProgressContext.Provider value={contextValue}>\n <div {...rest} className={cn('kern-progress', className)}>\n {children}\n </div>\n </ProgressContext.Provider>\n );\n};\n\nProgressRoot.displayName = 'Progress.Root';\n\nexport { ProgressRoot };\n","'use client';\n\nimport { useProgressContext } from './Root';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface ProgressBarProps\n extends React.ComponentPropsWithoutRef<'progress'> {}\n\nconst ProgressBar: React.FC<ProgressBarProps> = ({\n className,\n ...rest\n}: ProgressBarProps) => {\n const { value, max, progressId } = useProgressContext();\n\n return (\n <progress\n {...rest}\n id={progressId}\n className={className}\n value={value}\n max={max}\n />\n );\n};\n\nProgressBar.displayName = 'Progress.Bar';\n\nexport { ProgressBar };\n","import { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface ProgressHeaderProps\n extends React.HTMLAttributes<HTMLDivElement> {}\n\nconst ProgressHeader: React.FC<ProgressHeaderProps> = ({\n className,\n style,\n children,\n}: ProgressHeaderProps) => {\n return (\n <div\n className={cn('kern-progress__header', className)}\n style={{\n display: 'flex',\n width: '100%',\n justifyContent: 'space-between',\n alignItems: 'center',\n ...style,\n }}\n >\n {children}\n </div>\n );\n};\n\nProgressHeader.displayName = 'Progress.Header';\n\nexport { ProgressHeader };\n","'use client';\n\nimport { cn } from '@lib/cn';\n\nimport { useProgressContext } from './Root';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface ProgressLabelProps\n extends React.LabelHTMLAttributes<HTMLLabelElement> {}\n\nconst ProgressLabel: React.FC<ProgressLabelProps> = ({\n className,\n children,\n ...rest\n}: ProgressLabelProps) => {\n const { progressId } = useProgressContext();\n\n return (\n <label\n {...rest}\n className={cn('kern-label', className)}\n htmlFor={progressId}\n >\n {children}\n </label>\n );\n};\n\nProgressLabel.displayName = 'Progress.Label';\n\nexport { ProgressLabel };\n","export { ProgressBar as Bar } from './Bar';\nexport { ProgressHeader as Header } from './Header';\nexport { ProgressLabel as Label } from './Label';\nexport { ProgressRoot as Root } from './Root';\n\nexport type { ProgressRootProps, ProgressContextValue } from './Root';\nexport type { ProgressLabelProps } from './Label';\nexport type { ProgressBarProps } from './Bar';\nexport type { ProgressHeaderProps } from './Header';\n","import { useContext } from 'react';\n\nimport { SummaryContext } from '@components/Summary/Root';\nimport { Title, TitleProps } from '@components/Title';\nimport { cn } from '@lib/cn';\n\n\nexport interface SummaryHeadingProps\n extends Omit<React.ComponentPropsWithoutRef<'div'>, 'title'> {\n number?: number | string;\n title?: TitleProps;\n}\n\nexport const SummaryHeading: React.FC<SummaryHeadingProps> = ({\n title,\n number,\n className,\n ...rest\n}) => {\n const headingID = useContext(SummaryContext)?.headingID;\n return (\n <div {...rest} className={cn('kern-summary__header', className)}>\n {number && <span className=\"kern-number\">{number}</span>}\n {title && <Title {...title} id={headingID} />}\n </div>\n );\n};\n\nSummaryHeading.displayName = 'Summary.Heading';\n","import React from 'react';\n\nimport { SummaryHeading } from '@components/Summary/Heading';\nimport { cn } from '@lib/cn';\n\nexport interface SummaryProps extends React.ComponentPropsWithoutRef<'div'> {\n variant?: 'row' | 'column';\n headingID: string;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport interface SummaryContextValue {\n headingID: string;\n}\n\nexport const SummaryContext = React.createContext<SummaryContextValue | null>(\n null,\n);\n\nexport const useSummaryContext = () => {\n const context = React.useContext(SummaryContext);\n if (!context) {\n throw new Error('Summary subcomponents must be used within Summary.Root');\n }\n return context;\n};\n\nexport const SummaryRoot: React.FC<SummaryProps> = ({\n variant = 'row',\n headingID,\n children,\n className = '',\n style = {},\n ...rest\n}: SummaryProps) => {\n\n const hasHeading = React.Children.toArray(children).some(\n child =>\n React.isValidElement(child) &&\n child.type === SummaryHeading\n );\n\n if (!hasHeading) {\n throw new Error('Summary requires a Summary.Heading subcomponent.');\n }\n\n const contextValue: SummaryContextValue = {\n headingID: headingID,\n };\n const summaryClass = cn(\n 'kern-summary',\n variant === 'column' && 'kern-description-list--col',\n className,\n );\n return (\n <SummaryContext.Provider value={contextValue}>\n <div {...rest} className={summaryClass} style={style}>\n {children}\n </div>\n </SummaryContext.Provider>\n );\n};\n\nSummaryRoot.displayName = 'Summary.Root';\n","import React from 'react';\n\nimport { useSummaryContext } from '@components/Summary/Root';\nimport { cn } from '@lib/cn';\n\nexport interface SummaryActionsProps\n extends React.ComponentPropsWithoutRef<'div'> {\n children: React.ReactNode;\n}\n\nexport const SummaryActions: React.FC<SummaryActionsProps> = ({\n children,\n className,\n ...rest\n}) => {\n\n const headingID = useSummaryContext().headingID;\n return (\n <div {...rest} className={cn('kern-summary__actions', className)}>\n {React.Children.map(children, child =>\n React.isValidElement(child)\n ? React.cloneElement(child, { 'aria-describedBy': headingID } as Record<string,unknown>)\n : child\n )}\n </div>\n );\n};\n\nSummaryActions.displayName = 'Summary.Actions';\n","import { cn } from '@lib/cn';\n\nexport interface SummaryBodyProps\n extends React.ComponentPropsWithoutRef<'div'> {\n children: React.ReactNode;\n}\n\nexport const SummaryBody: React.FC<SummaryBodyProps> = ({\n children,\n className,\n ...rest\n}) => {\n return (\n <div {...rest} className={cn('kern-summary__body', className)}>\n {children}\n </div>\n );\n};\n\nSummaryBody.displayName = 'Summary.Body';\n","import { cn } from '@lib/cn';\n\nexport interface SummaryGroupProps\n extends React.ComponentPropsWithoutRef<'div'> {\n children: React.ReactNode;\n}\n\nexport const SummaryGroup: React.FC<SummaryGroupProps> = ({\n children,\n className,\n ...rest\n}) => {\n return (\n <div {...rest} className={cn('kern-summary-group', className)}>\n {children}\n </div>\n );\n};\n\nSummaryGroup.displayName = 'Summary.Group';\n","import { cn } from '@lib/cn';\n\nexport interface HeadingProps extends React.HTMLAttributes<HTMLHeadingElement> {\n type: 'display' | 'x-large' | 'large' | 'medium' | 'small';\n headerElement: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'span';\n title: string;\n}\n\nexport const Heading: React.FC<HeadingProps> = ({\n className,\n headerElement = 'h1',\n type,\n title,\n children,\n ...rest\n}: HeadingProps) => {\n const Wrapper = headerElement;\n\n const headingClass = cn(`kern-heading-${type}`, className);\n\n return (\n <Wrapper {...rest} className={headingClass}>\n {children || title}\n </Wrapper>\n );\n};\n","import { Heading, HeadingProps } from '@components/Heading';\nimport { cn } from '@lib/cn';\n\nexport interface SummaryGroupHeadingProps\n extends Omit<React.ComponentPropsWithoutRef<'div'>, 'title'> {\n heading: HeadingProps;\n}\n\nexport const SummaryGroupHeading: React.FC<SummaryGroupHeadingProps> = ({\n heading,\n className,\n ...rest\n}) => {\n return (\n <div {...rest} className={cn('kern-summary-group__header', className)}>\n <Heading {...heading} />\n </div>\n );\n};\n\nSummaryGroupHeading.displayName = 'Summary.GroupHeading';\n","export { SummaryActions as Actions, type SummaryActionsProps } from './Actions';\nexport { SummaryBody as Body, type SummaryBodyProps } from './Body';\nexport { SummaryGroup as Group, type SummaryGroupProps } from './Group';\nexport {\n SummaryGroupHeading as GroupHeading,\n type SummaryGroupHeadingProps,\n} from './GroupHeading';\nexport { SummaryHeading as Heading, type SummaryHeadingProps } from './Heading';\nexport { SummaryRoot as Root, type SummaryProps } from './Root';\n","import { cn } from '@lib/cn';\n\nexport interface TableBodyProps\n extends React.ComponentPropsWithoutRef<'tbody'> {\n children: React.ReactNode;\n}\n\nexport const TableBody: React.FC<TableBodyProps> = ({\n children,\n className,\n ...rest\n}: TableBodyProps) => (\n <tbody {...rest} className={cn('kern-table__body', className)}>\n {children}\n </tbody>\n);\n\nTableBody.displayName = 'Table.Body';\n","import { cn } from '@lib/cn';\n\nexport interface TableCellProps extends React.ComponentPropsWithoutRef<'td'> {\n numeric?: boolean;\n children: React.ReactNode;\n}\n\nexport const TableCell: React.FC<TableCellProps> = ({\n numeric,\n children,\n className,\n ...rest\n}: TableCellProps) => {\n const cellClasses = cn(\n 'kern-table__cell',\n numeric ? 'kern-table__cell--numeric' : '',\n className,\n );\n return (\n <td {...rest} className={cellClasses}>\n {children}\n </td>\n );\n};\n\nTableCell.displayName = 'Table.Cell';\n","import { cn } from '@lib/cn';\n\nexport interface TableColumnProps extends React.ComponentPropsWithoutRef<'th'> {\n numeric?: boolean;\n scope: 'col' | 'row';\n children: React.ReactNode;\n}\n\nexport const TableColumn: React.FC<TableColumnProps> = ({\n numeric,\n scope,\n children,\n className,\n ...rest\n}: TableColumnProps) => {\n const columnClasses = cn(\n 'kern-table__header',\n numeric ? 'kern-table__header--numeric' : '',\n className,\n );\n return (\n <th {...rest} scope={scope} className={columnClasses}>\n {children}\n </th>\n );\n};\n\nTableColumn.displayName = 'Table.Column';\n","import { cn } from '@lib/cn';\n\nexport interface TableFooterProps\n extends React.ComponentPropsWithoutRef<'tfoot'> {\n children: React.ReactNode;\n}\n\nexport const TableFooter: React.FC<TableFooterProps> = ({\n children,\n className,\n ...rest\n}: TableFooterProps) => (\n <tfoot {...rest} className={cn('kern-table__footer', className)}>\n {children}\n </tfoot>\n);\n\nTableFooter.displayName = 'Table.Footer';\n","import { cn } from '@lib/cn';\n\nexport interface TableHeaderProps\n extends React.ComponentPropsWithoutRef<'thead'> {\n children: React.ReactNode;\n}\n\nexport const TableHeader: React.FC<TableHeaderProps> = ({\n children,\n className,\n ...rest\n}: TableHeaderProps) => (\n <thead {...rest} className={cn('kern-table__head', className)}>\n {children}\n </thead>\n);\n\nTableHeader.displayName = 'Table.Header';\n","import { useId } from 'react';\n\nimport { cn } from '@lib/cn';\n\nexport interface TableRootProps\n extends React.ComponentPropsWithoutRef<'table'> {\n variant?: 'default' | 'small';\n caption?: string;\n striped?: boolean;\n responsive?: boolean;\n children: React.ReactNode;\n}\n\nexport const TableRoot: React.FC<TableRootProps> = ({\n caption = '',\n striped = false,\n responsive = false,\n variant = 'default',\n children,\n className,\n ...rest\n}: TableRootProps) => {\n const captionId = useId();\n\n const tableClasses = cn(\n 'kern-table',\n striped ? 'kern-table--striped' : '',\n variant === 'small' ? 'kern-table--small' : '',\n className,\n );\n const table = (\n <table\n {...rest}\n className={tableClasses}\n aria-describedby={caption ? captionId : undefined}\n >\n {caption && (\n <caption id={captionId} className=\"kern-title\">\n {caption}\n </caption>\n )}\n {children}\n </table>\n );\n return responsive ? (\n <div className=\"kern-table-responsive\" tabIndex={0}>\n {table}\n </div>\n ) : (\n table\n );\n};\n\nTableRoot.displayName = 'Table.Root';\n","import { cn } from '@lib/cn';\n\nexport interface TableRowProps extends React.ComponentPropsWithoutRef<'tr'> {\n children: React.ReactNode;\n}\n\nexport const TableRow: React.FC<TableRowProps> = ({\n children,\n className,\n ...rest\n}: TableRowProps) => (\n <tr {...rest} className={cn('kern-table__row', className)}>\n {children}\n </tr>\n);\n\nTableRow.displayName = 'Table.Row';\n","export { TableBody as Body } from './Body';\nexport { TableCell as Cell } from './Cell';\nexport { TableColumn as Column } from './Column';\nexport { TableFooter as Footer } from './Footer';\nexport { TableHeader as Header } from './Header';\nexport { TableRoot as Root } from './Root';\nexport { TableRow as Row } from './Row';\n\nexport type { TableBodyProps } from './Body';\nexport type { TableCellProps } from './Cell';\nexport type { TableColumnProps } from './Column';\nexport type { TableFooterProps } from './Footer';\nexport type { TableHeaderProps } from './Header';\nexport type { TableRootProps } from './Root';\nexport type { TableRowProps } from './Row';\n","import { cn } from '@lib/cn';\n\nexport interface TaskListItemProps\n extends React.ComponentPropsWithoutRef<'li'> {\n className?: string;\n style?: React.CSSProperties;\n number?: number | string;\n title: string;\n href?: string;\n asParagraph?: boolean;\n status?: 'success' | 'warning' | 'error' | 'info' | 'neutral';\n statusLabel?: string;\n titleId?: string;\n statusId?: string;\n stretchedLink?: boolean;\n}\n\nexport const TaskListItem: React.FC<TaskListItemProps> = ({\n number,\n title,\n href,\n asParagraph = false,\n status,\n statusLabel,\n titleId,\n statusId,\n stretchedLink = true,\n className = '',\n style = {},\n}) => {\n const linkClasses = cn('kern-link', stretchedLink && 'kern-link--stretched');\n const isInteractive = !!href && !asParagraph;\n const isNonInteractive = asParagraph || !href;\n const describedBy = status && statusId ? statusId : undefined;\n\n return (\n <li\n className={cn('kern-task-list__item', className)}\n style={style}\n tabIndex={isNonInteractive ? -1 : undefined}\n data-noninteractive={isNonInteractive ? 'true' : undefined}\n onMouseDown={\n isNonInteractive\n ? (e) => (e.currentTarget as HTMLElement).focus()\n : undefined\n }\n >\n {number !== undefined && number !== null ? (\n <span className=\"kern-number\">{number}</span>\n ) : null}\n\n <div className=\"kern-task-list__title\" id={titleId}>\n {asParagraph ? (\n <p\n className=\"kern-body\"\n aria-describedby={describedBy}\n onMouseDown={(e) => (e.currentTarget as HTMLElement).focus()}\n >\n {title}\n </p>\n ) : isInteractive ? (\n <a href={href} className={linkClasses} aria-describedby={describedBy}>\n {title}\n </a>\n ) : (\n <span\n className=\"kern-link\"\n aria-describedby={describedBy}\n tabIndex={-1}\n data-noninteractive=\"true\"\n onMouseDown={(e) => (e.currentTarget as HTMLElement).focus()}\n >\n {title}\n </span>\n )}\n\n {status && statusLabel ? (\n <div className=\"kern-task-list__status\" id={statusId}>\n <span className={cn('kern-badge', `kern-badge--${status}`)}>\n {status === 'success' && (\n <span\n className={cn(\n 'kern-icon',\n 'kern-icon--success',\n 'kern-icon--sm',\n )}\n aria-hidden=\"true\"\n />\n )}\n <span className=\"kern-label kern-label--small\">\n {statusLabel}\n </span>\n </span>\n </div>\n ) : null}\n </div>\n </li>\n );\n};\n\nTaskListItem.displayName = 'TaskList.Item';\n","import React, { useRef, useCallback } from 'react';\n\nimport { cn } from '@lib/cn';\n\nimport { TaskListItem, TaskListItemProps } from './Item';\n\nexport interface TaskListProps extends React.ComponentPropsWithoutRef<'ul'> {\n items?: TaskListItemProps[];\n}\n\nexport const TaskList: React.FC<TaskListProps> = ({\n children,\n items,\n className,\n style,\n ...rest\n}) => {\n const listRef = useRef<HTMLUListElement>(null);\n\n const onKeyDown = useCallback((e: React.KeyboardEvent<HTMLUListElement>) => {\n const list = listRef.current;\n if (!list) return;\n\n const boundary =\n list.closest<HTMLElement>('[data-tasklist-group]') ??\n list.closest<HTMLElement>('[data-tasklist-root]') ??\n list;\n\n // Arrow navigation for NON-interactive titles\n if (e.key === 'ArrowDown' || e.key === 'ArrowUp') {\n const nonInteractive = Array.from(\n boundary.querySelectorAll<HTMLElement>(\n 'li[data-noninteractive=\"true\"]',\n ),\n );\n if (!nonInteractive.length) return;\n\n const target =\n (document.activeElement as HTMLElement) || (e.target as HTMLElement);\n const currentIndex = nonInteractive.findIndex(\n (el) => el === target || el.contains(target),\n );\n\n // If coming from an INTERACTIVE element, jump to the nearest non-interactive\n // in DOM order (after for ArrowDown, before for ArrowUp), instead of the first.\n if (currentIndex === -1) {\n e.preventDefault();\n\n if (e.key === 'ArrowDown') {\n const nextEl = nonInteractive.find(\n (el) =>\n !!(\n target.compareDocumentPosition(el) &\n Node.DOCUMENT_POSITION_FOLLOWING\n ),\n );\n (nextEl ?? nonInteractive[0]).focus();\n } else {\n let prevEl: HTMLElement | undefined;\n for (let i = nonInteractive.length - 1; i >= 0; i--) {\n const el = nonInteractive[i];\n if (\n target.compareDocumentPosition(el) &\n Node.DOCUMENT_POSITION_PRECEDING\n ) {\n prevEl = el;\n break;\n }\n }\n (prevEl ?? nonInteractive[nonInteractive.length - 1]).focus();\n }\n return;\n }\n\n e.preventDefault();\n const dir = e.key === 'ArrowDown' ? 1 : -1;\n const nextIndex =\n (currentIndex + dir + nonInteractive.length) % nonInteractive.length;\n nonInteractive[nextIndex].focus();\n return;\n }\n }, []);\n\n return (\n <ul\n {...rest}\n ref={listRef}\n onKeyDown={onKeyDown}\n className={cn('kern-task-list__list', className)}\n style={style}\n >\n {items\n ? items.map((rest, i) => <TaskListItem key={i} {...rest} />)\n : children}\n </ul>\n );\n};\n\nTaskList.displayName = 'TaskList.List';\n","import { cn } from '@lib/cn';\n\nexport interface TaskListGroupProps\n extends React.ComponentPropsWithoutRef<'div'> {\n children: React.ReactNode;\n}\nexport const TaskListGroup: React.FC<TaskListGroupProps> = ({\n children,\n className,\n style,\n ...rest\n}) => {\n return (\n <div\n {...rest}\n data-tasklist-group\n className={cn('kern-task-list-group', className)}\n style={style}\n >\n {children}\n </div>\n );\n};\n\nTaskListGroup.displayName = 'TaskList.Group';\n","import { Heading, HeadingProps } from '@components/Heading/Heading';\nimport { cn } from '@lib/cn';\n\nexport interface TaskListHeadingProps\n extends React.ComponentPropsWithoutRef<'div'> {\n title: string;\n type?: HeadingProps['type'];\n headerElement?: HeadingProps['headerElement'];\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport const TaskListHeading: React.FC<TaskListHeadingProps> = ({\n title,\n type = 'medium',\n headerElement = 'h2',\n className = '',\n style = {},\n}) => (\n <div className={cn('kern-task-list__header', className)} style={style}>\n <Heading headerElement={headerElement} type={type} title={title} />\n </div>\n);\n\nTaskListHeading.displayName = 'TaskList.Heading';\n","import { cn } from '@lib/cn';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface TaskListRootProps\n extends React.ComponentPropsWithoutRef<'div'> {}\n\nexport const TaskListRoot: React.FC<TaskListRootProps> = ({\n children,\n className,\n ...rest\n}) => (\n <div {...rest} className={cn('kern-task-list', className)}>\n {children}\n </div>\n);\n\nTaskListRoot.displayName = 'TaskList.Root';\n","export { TaskListItem as Item, type TaskListItemProps } from './Item';\nexport { TaskList as List, type TaskListProps } from './List';\nexport { TaskListGroup as Group, type TaskListGroupProps } from './Group';\nexport {\n TaskListHeading as Heading,\n type TaskListHeadingProps,\n} from './Heading';\nexport { TaskListRoot as Root, type TaskListRootProps } from './Root';\n","import { Icon, type IconProps } from '@components/Icon';\nimport { cn } from '@lib/cn';\n\nexport interface BadgeProps extends React.ComponentPropsWithoutRef<'span'> {\n variant: 'info' | 'success' | 'warning' | 'danger';\n title: string;\n icon?: Omit<IconProps, 'name' | 'aria-hidden'>;\n showIcon?: boolean;\n}\n\nexport const Badge: React.FC<BadgeProps> = ({\n title,\n variant,\n className,\n icon,\n showIcon = false,\n ...rest\n}: BadgeProps) => {\n return (\n <span\n {...rest}\n role=\"status\"\n className={cn(`kern-badge kern-badge--${variant}`, className)}\n >\n {showIcon && <Icon {...icon} aria-hidden={true} name={variant} />}\n <span className=\"kern-label kern-label-small\">\n <span className=\"kern-label kern-sr-only\">\n {variant.replace(/^./, (c) => c.toUpperCase())}\n </span>\n {title}\n </span>\n </span>\n );\n};\n\n","import { cn } from '@lib/cn';\n\nexport interface BodyProps\n extends Omit<React.ComponentPropsWithoutRef<'p'>, 'text'> {\n isBold?: boolean;\n isMuted?: boolean;\n size?: 'large' | 'small';\n text?: React.ReactNode;\n children?: React.ReactNode;\n}\nexport const Body: React.FC<BodyProps> = ({\n isBold,\n isMuted,\n size,\n children,\n text,\n className,\n ...restProps\n}: BodyProps) => {\n const textClasses = cn(\n 'kern-body',\n size && `kern-body--${size}`,\n isBold && 'kern-body--bold',\n isMuted && 'kern-body--muted',\n className,\n );\n\n return (\n <p className={textClasses} {...restProps}>\n {children || text}\n </p>\n );\n};\n\n\n","import { cn } from '@lib/cn';\n\nexport const Divider: React.FC<React.ComponentPropsWithoutRef<'hr'>> = ({\n className,\n ...rest\n}) => {\n return (\n <hr\n {...rest}\n className={cn('kern-divider', className)}\n aria-hidden=\"true\"\n />\n );\n};\n","import { InteractiveFC } from '@common/interactive-component';\n\nimport * as Input from '../Primitives';\n\ninterface DateInputProps extends React.ComponentPropsWithoutRef<'input'> {\n id: string;\n label?: string;\n error?: boolean;\n dateType: 'day' | 'month' | 'year';\n hasOptionalLabel?: boolean;\n}\n\nconst dateInputClassNames: Record<DateInputProps['dateType'], string> = {\n day: 'kern-form-input__input--width-2',\n month: 'kern-form-input__input--width-2',\n year: 'kern-form-input__input--width-4',\n};\n\nconst DateInput: InteractiveFC<DateInputProps> = ({\n id,\n error = false,\n label,\n dateType,\n hasOptionalLabel = false,\n ...rest\n}: DateInputProps) => {\n const describedBy = rest['aria-describedby']\n ? [rest['aria-describedby']]\n : [];\n\n return (\n <Input.Root erroneous={false}>\n <Input.Label htmlFor={id} isOptional={hasOptionalLabel}>\n {label}\n </Input.Label>\n <Input.Text\n {...rest}\n className={dateInputClassNames[dateType]}\n id={id}\n inputMode=\"numeric\"\n aria-describedby={\n describedBy.length > 0 ? describedBy.join(' ') : undefined\n }\n erroneous={error}\n />\n </Input.Root>\n );\n};\n\nDateInput.isInteractive = true;\n\nexport { DateInput, type DateInputProps };\n","import { InteractiveFC } from '@common/interactive-component';\n\nimport * as Input from '../Primitives';\n\ninterface EmailInputProps extends React.ComponentPropsWithoutRef<'input'> {\n id: string;\n label?: string;\n hintText?: string;\n error?: string | boolean;\n hasOptionalLabel?: boolean;\n}\n\nconst EmailInput: InteractiveFC<EmailInputProps> = ({\n id,\n error = false,\n hintText,\n label,\n hasOptionalLabel = false,\n\n ...rest\n}: EmailInputProps) => {\n const errorId = `${id}-error`;\n const hintId = `${id}-hint`;\n\n const isErrorString = typeof error === 'string';\n const hasHint = Boolean(hintText);\n\n const describedBy = rest['aria-describedby']\n ? [rest['aria-describedby']]\n : [];\n\n if (isErrorString) {\n describedBy.push(errorId);\n }\n if (hasHint) {\n describedBy.push(hintId);\n }\n\n return (\n <Input.Root erroneous={isErrorString}>\n <Input.Label htmlFor={id} isOptional={hasOptionalLabel}>\n {label}\n </Input.Label>\n {hasHint && <Input.Hint id={hintId}>{hintText}</Input.Hint>}\n <Input.Email\n {...rest}\n id={id}\n aria-describedby={\n describedBy.length > 0 ? describedBy.join(' ') : undefined\n }\n erroneous={isErrorString ? true : error}\n />\n {isErrorString && <Input.Error id={errorId} message={error} />}\n </Input.Root>\n );\n};\n\nEmailInput.isInteractive = true;\n\nexport { EmailInput, type EmailInputProps };\n","import { InteractiveFC } from '@common/interactive-component';\n\nimport * as Input from '../Primitives';\n\ninterface FileInputProps extends React.ComponentPropsWithoutRef<'input'> {\n id: string;\n title?: string;\n hintText?: string;\n errorMessage?: string;\n supportedFormats?: React.ComponentPropsWithoutRef<\n typeof Input.File\n >['supportedFormats'];\n hasOptionalLabel?: boolean;\n}\n\nconst FileInput: InteractiveFC<FileInputProps> = ({\n id,\n errorMessage,\n hintText,\n title,\n supportedFormats,\n hasOptionalLabel = false,\n ...rest\n}: FileInputProps) => {\n const errorId = `${id}-error`;\n const hintId = `${id}-hint`;\n\n const erroneous = Boolean(errorMessage);\n const hasHint =\n Boolean(hintText) || (supportedFormats && supportedFormats.length > 0);\n\n const describedBy = rest['aria-describedby']\n ? [rest['aria-describedby']]\n : [];\n\n if (errorMessage) {\n describedBy.push(errorId);\n }\n if (hasHint) {\n describedBy.push(hintId);\n }\n\n return (\n <Input.Root erroneous={erroneous}>\n <Input.Label htmlFor={id} isOptional={hasOptionalLabel}>\n {title}\n </Input.Label>\n {hasHint && (\n <Input.Hint id={hintId}>\n {hintText || `Erlaubte Formate: ${supportedFormats!.join(', ')}`}\n </Input.Hint>\n )}\n <Input.File\n {...rest}\n aria-describedby={\n describedBy.length > 0 ? describedBy.join(' ') : undefined\n }\n erroneous={erroneous}\n supportedFormats={supportedFormats}\n />\n {errorMessage && <Input.Error id={errorId} message={errorMessage} />}\n </Input.Root>\n );\n};\n\nFileInput.isInteractive = true;\n\nexport { FileInput, type FileInputProps };\n","import { InteractiveFC } from '@common/interactive-component';\n\nimport * as Input from '../Primitives';\n\ninterface NumberInputProps extends React.ComponentPropsWithoutRef<'input'> {\n id: string;\n label?: string;\n hintText?: string;\n error?: string | boolean;\n hasOptionalLabel?: boolean;\n}\nconst NumberInput: InteractiveFC<NumberInputProps> = ({\n id,\n error = false,\n hintText,\n label,\n hasOptionalLabel = false,\n ...rest\n}: NumberInputProps) => {\n const errorId = `${id}-error`;\n const hintId = `${id}-hint`;\n const isErrorString = typeof error === 'string';\n\n const hasHint = Boolean(hintText);\n\n const describedBy = rest['aria-describedby']\n ? [rest['aria-describedby']]\n : [];\n\n if (isErrorString) {\n describedBy.push(errorId);\n }\n if (hasHint) {\n describedBy.push(hintId);\n }\n\n return (\n <Input.Root erroneous={isErrorString}>\n <Input.Label htmlFor={id} isOptional={hasOptionalLabel}>\n {label}\n </Input.Label>\n {hasHint && <Input.Hint id={hintId}>{hintText}</Input.Hint>}\n <Input.Text\n {...rest}\n id={id}\n inputMode=\"numeric\"\n aria-describedby={\n describedBy.length > 0 ? describedBy.join(' ') : undefined\n }\n erroneous={isErrorString ? true : error}\n />\n {isErrorString && <Input.Error id={errorId} message={error} />}\n </Input.Root>\n );\n};\n\nNumberInput.isInteractive = true;\n\nexport { NumberInput, type NumberInputProps };\n","import { InteractiveFC } from '@common/interactive-component';\n\nimport * as Input from '../Primitives';\n\ninterface PasswordInputProps extends React.ComponentPropsWithoutRef<'input'> {\n id: string;\n label?: string;\n hintText?: string;\n error?: string | boolean;\n ariaRequired?: boolean;\n hasOptionalLabel?: boolean;\n}\nconst PasswordInput: InteractiveFC<PasswordInputProps> = ({\n id,\n error = false,\n hintText,\n label,\n hasOptionalLabel = false,\n ...rest\n}: PasswordInputProps) => {\n const errorId = `${id}-error`;\n const hintId = `${id}-hint`;\n\n const isErrorString = typeof error === 'string';\n const hasHint = Boolean(hintText);\n\n const describedBy = rest['aria-describedby']\n ? [rest['aria-describedby']]\n : [];\n\n if (isErrorString) {\n describedBy.push(errorId);\n }\n if (hasHint) {\n describedBy.push(hintId);\n }\n\n return (\n <Input.Root erroneous={isErrorString}>\n <Input.Label htmlFor={id} isOptional={hasOptionalLabel}>\n {label}\n </Input.Label>\n {hasHint && <Input.Hint id={hintId}>{hintText}</Input.Hint>}\n <Input.Password\n {...rest}\n id={id}\n aria-describedby={\n describedBy.length > 0 ? describedBy.join(' ') : undefined\n }\n erroneous={isErrorString ? true : error}\n />\n {isErrorString && <Input.Error id={errorId} message={error} />}\n </Input.Root>\n );\n};\n\nPasswordInput.isInteractive = true;\n\nexport { PasswordInput, type PasswordInputProps };\n","import { InteractiveFC } from '@common/interactive-component';\nimport { cn } from '@lib/cn';\n\nimport * as Input from '../Primitives';\n\ninterface RadioInputProps extends React.ComponentPropsWithoutRef<'input'> {\n id: string;\n label?: string;\n error?: boolean;\n disabled?: boolean;\n className?: string;\n hasOptionalLabel?: boolean;\n}\nconst RadioInput: InteractiveFC<RadioInputProps> = ({\n id,\n error = false,\n disabled = false,\n label,\n className = '',\n hasOptionalLabel = false,\n ...rest\n}: RadioInputProps) => {\n return (\n <div className={cn('kern-form-check', className)}>\n <Input.Radio {...rest} id={id} erroneous={error} disabled={disabled} />\n <Input.Label htmlFor={id} isOptional={hasOptionalLabel}>\n {label}\n </Input.Label>\n </div>\n );\n};\n\nRadioInput.isInteractive = true;\n\nexport { RadioInput, type RadioInputProps };\n","import { InteractiveFC } from '@common/interactive-component';\n\nimport * as Input from '../Primitives';\n\ninterface SelectInputProps extends React.ComponentPropsWithoutRef<'select'> {\n id: string;\n label?: string;\n hintText?: string;\n errorMessage?: string;\n options?: Array<{ value: string; label: string }>;\n hasOptionalLabel?: boolean;\n}\nconst SelectInput: InteractiveFC<SelectInputProps> = ({\n id,\n errorMessage,\n hintText,\n label,\n hasOptionalLabel = false,\n options = [],\n ...props\n}: SelectInputProps) => {\n const errorId = `${id}-error`;\n const hintId = `${id}-hint`;\n\n const erroneous = Boolean(errorMessage);\n const hasHint = Boolean(hintText);\n\n const describedBy = props['aria-describedby']\n ? [props['aria-describedby']]\n : [];\n\n if (errorMessage) {\n describedBy.push(errorId);\n }\n if (hasHint) {\n describedBy.push(hintId);\n }\n\n return (\n <Input.Root erroneous={erroneous}>\n <Input.Label htmlFor={id} isOptional={hasOptionalLabel}>\n {label}\n </Input.Label>\n {hasHint && <Input.Hint id={hintId}>{hintText}</Input.Hint>}\n <Input.Select\n {...props}\n id={id}\n aria-describedby={\n describedBy.length > 0 ? describedBy.join(' ') : undefined\n }\n erroneous={erroneous}\n options={options}\n />\n {errorMessage && <Input.Error id={errorId} message={errorMessage} />}\n </Input.Root>\n );\n};\n\nSelectInput.isInteractive = true;\n\nexport { SelectInput, type SelectInputProps };\n","import { InteractiveFC } from '@common/interactive-component';\n\nimport * as Input from '../Primitives';\n\ninterface TelInputProps extends React.ComponentPropsWithoutRef<'input'> {\n id: string;\n label?: string;\n hintText?: string;\n error?: string | boolean;\n hasOptionalLabel?: boolean;\n}\nconst TelInput: InteractiveFC<TelInputProps> = ({\n id,\n error = false,\n hintText,\n label,\n hasOptionalLabel = false,\n ...rest\n}: TelInputProps) => {\n const errorId = `${id}-error`;\n const hintId = `${id}-hint`;\n\n const isErrorString = typeof error === 'string';\n const hasHint = Boolean(hintText);\n\n const describedBy = rest['aria-describedby']\n ? [rest['aria-describedby']]\n : [];\n\n if (isErrorString) {\n describedBy.push(errorId);\n }\n if (hasHint) {\n describedBy.push(hintId);\n }\n\n return (\n <Input.Root erroneous={isErrorString}>\n <Input.Label htmlFor={id} isOptional={hasOptionalLabel}>\n {label}\n </Input.Label>\n {hasHint && <Input.Hint id={hintId}>{hintText}</Input.Hint>}\n <Input.Tel\n {...rest}\n id={id}\n aria-describedby={\n describedBy.length > 0 ? describedBy.join(' ') : undefined\n }\n erroneous={isErrorString ? true : error}\n />\n {isErrorString && <Input.Error id={errorId} message={error} />}\n </Input.Root>\n );\n};\n\nTelInput.isInteractive = true;\n\nexport { TelInput, type TelInputProps };\n","import { InteractiveFC } from '@common/interactive-component';\n\nimport * as Input from '../Primitives';\n\ninterface TextInputProps extends React.ComponentPropsWithoutRef<'input'> {\n id: string;\n label?: string;\n hintText?: string;\n error?: boolean | string;\n hasOptionalLabel?: boolean;\n}\nconst TextInput: InteractiveFC<TextInputProps> = ({\n id,\n hintText,\n label,\n error = false,\n hasOptionalLabel = false,\n ...rest\n}: TextInputProps) => {\n const isErrorString = typeof error === 'string';\n const errorId = `${id}-error`;\n const hintId = `${id}-hint`;\n\n const hasHint = Boolean(hintText);\n\n const describedBy = rest['aria-describedby']\n ? [rest['aria-describedby']]\n : [];\n\n if (isErrorString) {\n describedBy.push(errorId);\n }\n if (hasHint) {\n describedBy.push(hintId);\n }\n\n return (\n <Input.Root erroneous={isErrorString}>\n <Input.Label htmlFor={id} isOptional={hasOptionalLabel}>\n {label}\n </Input.Label>\n {hasHint && <Input.Hint id={hintId}>{hintText}</Input.Hint>}\n <Input.Text\n {...rest}\n id={id}\n aria-describedby={\n describedBy.length > 0 ? describedBy.join(' ') : undefined\n }\n erroneous={isErrorString ? true : error}\n />\n {isErrorString && <Input.Error id={errorId} message={error} />}\n </Input.Root>\n );\n};\n\nTextInput.isInteractive = true;\n\nexport { TextInput, type TextInputProps };\n","import { InteractiveFC } from '@common/interactive-component';\n\nimport * as Input from '../Primitives';\n\ninterface TextareaInputProps\n extends React.ComponentPropsWithoutRef<'textarea'> {\n id: string;\n label?: string;\n hintText?: string;\n error?: string | boolean;\n hasOptionalLabel?: boolean;\n}\nconst TextareaInput: InteractiveFC<TextareaInputProps> = ({\n id,\n error = false,\n hintText,\n label,\n hasOptionalLabel = false,\n ...rest\n}: TextareaInputProps) => {\n const errorId = `${id}-error`;\n const hintId = `${id}-hint`;\n\n const isErrorString = typeof error === 'string';\n const hasHint = Boolean(hintText);\n\n const describedBy = rest['aria-describedby']\n ? [rest['aria-describedby']]\n : [];\n\n if (isErrorString) {\n describedBy.push(errorId);\n }\n if (hasHint) {\n describedBy.push(hintId);\n }\n\n return (\n <Input.Root erroneous={isErrorString}>\n <Input.Label htmlFor={id} isOptional={hasOptionalLabel}>\n {label}\n </Input.Label>\n {hasHint && <Input.Hint id={hintId}>{hintText}</Input.Hint>}\n <Input.Textarea\n {...rest}\n id={id}\n aria-describedby={\n describedBy.length > 0 ? describedBy.join(' ') : undefined\n }\n erroneous={isErrorString ? true : error}\n />\n {isErrorString && <Input.Error id={errorId} message={error} />}\n </Input.Root>\n );\n};\n\nTextareaInput.isInteractive = true;\n\nexport { TextareaInput, type TextareaInputProps };\n","import { InteractiveFC } from '@common/interactive-component';\n\nimport * as Input from '../Primitives';\n\ninterface UrlInputProps extends React.ComponentPropsWithoutRef<'input'> {\n id: string;\n label?: string;\n hintText?: string;\n error?: boolean | string;\n hasOptionalLabel?: boolean;\n}\nconst UrlInput: InteractiveFC<UrlInputProps> = ({\n id,\n error = false,\n hintText,\n label,\n hasOptionalLabel = false,\n ...rest\n}: UrlInputProps) => {\n const errorId = `${id}-error`;\n const hintId = `${id}-hint`;\n\n const isErrorString = typeof error === 'string';\n const hasHint = Boolean(hintText);\n\n const describedBy = rest['aria-describedby']\n ? [rest['aria-describedby']]\n : [];\n\n if (isErrorString) {\n describedBy.push(errorId);\n }\n if (hasHint) {\n describedBy.push(hintId);\n }\n\n return (\n <Input.Root erroneous={isErrorString}>\n <Input.Label htmlFor={id} isOptional={hasOptionalLabel}>\n {label}\n </Input.Label>\n {hasHint && <Input.Hint id={hintId}>{hintText}</Input.Hint>}\n <Input.Url\n {...rest}\n id={id}\n aria-describedby={\n describedBy.length > 0 ? describedBy.join(' ') : undefined\n }\n erroneous={isErrorString ? true : error}\n />\n {isErrorString && <Input.Error id={errorId} message={error} />}\n </Input.Root>\n );\n};\n\nUrlInput.isInteractive = true;\n\nexport { UrlInput, type UrlInputProps };\n","import { cn } from '@lib/cn';\n\nexport interface KopfzeileProps extends React.ComponentPropsWithoutRef<'div'> {\n label?: string;\n fluid?: boolean;\n flag?: boolean;\n breakpoints?: string; // e.g. \"768px:720px, 1200px:1140px\"\n}\n\nexport const Kopfzeile: React.FC<KopfzeileProps> = ({\n label = 'Offizielle Website - Bundesrepublik Deutschland',\n fluid = false,\n flag = true,\n breakpoints,\n className,\n ...rest\n}) => {\n const kopfzeileClass = cn('kern-kopfzeile', className);\n\n // Parse breakpoints string and generate CSS\n let customStyle = null;\n if (breakpoints) {\n const rules = breakpoints\n .split(',')\n .map((bp) => {\n const [minWidth, maxWidth] = bp.split(':').map((s) => s.trim());\n return `@media (min-width: ${minWidth}) { .kern-container { max-width: ${maxWidth} !important; } }`;\n })\n .join('\\n');\n customStyle = <style>{rules}</style>;\n }\n\n return (\n <>\n <div {...rest} className={kopfzeileClass} role=\"banner\">\n <div className={`kern-container${fluid ? '-fluid' : ''}`}>\n <div className=\"kern-kopfzeile__content\">\n {flag && (\n <span className=\"kern-kopfzeile__flagge\" aria-hidden=\"true\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 16\"\n style={{ maxWidth: 24 }}\n >\n <path fill=\"#000\" d=\"M0 .5h24v5.333H0z\" />\n <path fill=\"red\" d=\"M0 5.833h24v5.333H0z\" />\n <path fill=\"#FACA2C\" d=\"M0 11.167h24V16.5H0z\" />\n </svg>\n </span>\n )}\n <span className=\"kern-kopfzeile__label\">{label}</span>\n </div>\n </div>\n </div>\n {customStyle}\n </>\n );\n};\n","import { cn } from '@lib/cn';\n\nexport interface LoaderProps\n extends Omit<React.ComponentPropsWithoutRef<'div'>, 'role' | 'aria-atomic'> {\n visible?: boolean;\n srDescription?: string;\n}\n\nexport const Loader: React.FC<LoaderProps> = ({\n visible = false,\n srDescription = 'Wird geladen...',\n className,\n ...rest\n}: LoaderProps) => {\n return (\n <div\n {...rest}\n className={cn(\n 'kern-loader',\n visible && 'kern-loader--visible',\n className,\n )}\n role=\"status\"\n aria-atomic=\"true\"\n >\n <span className=\"kern-sr-only\">{srDescription}</span>\n </div>\n );\n};\n","import { cn } from '@lib/cn';\n\nexport interface PrelineProps extends React.ComponentPropsWithoutRef<'p'> {\n variant?: 'small' | 'default' | 'large';\n text?: string;\n}\n\nexport const Preline: React.FC<PrelineProps> = ({\n variant = 'default',\n text,\n children,\n className,\n ...rest\n}: PrelineProps) => {\n const prelineClass = cn(\n 'kern-preline',\n `kern-preline--${variant}`,\n className,\n );\n\n return (\n <p {...rest} className={prelineClass}>\n {children || text}\n </p>\n );\n};\n","import { cn } from '@lib/cn';\n\nexport interface SublineProps extends React.ComponentPropsWithoutRef<'p'> {\n text?: string;\n variant?: 'small' | 'default' | 'large';\n}\n\nexport const Subline: React.FC<SublineProps> = ({\n text,\n children,\n className,\n variant = 'default',\n ...rest\n}: SublineProps) => {\n const sublineClass = cn(\n 'kern-subline',\n `kern-subline--${variant}`,\n className,\n );\n\n return (\n <p {...rest} className={sublineClass}>\n {children || text}\n </p>\n );\n};\n","'use client';\n\nimport { useId, useMemo } from 'react';\n\nexport interface ThemeColors {\n action?: {\n default?: string;\n onDefault?: string;\n visited?: string;\n focus?: {\n background?: string;\n borderInside?: string;\n borderOutside?: string;\n };\n state?: {\n indicator?: {\n default?: string;\n shade?: string;\n tint?: string;\n shadeHover?: string;\n shadeActive?: string;\n tintHover?: string;\n tintActive?: string;\n tintHoverOpacity?: string;\n tintActiveOpacity?: string;\n };\n opacity?: {\n hover?: number;\n pressed?: number;\n selected?: number;\n disabled?: number;\n active?: number;\n overlay?: number;\n };\n };\n };\n feedback?: {\n danger?: string;\n dangerBackground?: string;\n info?: string;\n infoBackground?: string;\n success?: string;\n successBackground?: string;\n warning?: string;\n warningBackground?: string;\n loader?: string;\n loaderBackground?: string;\n };\n form?: {\n input?: {\n background?: string;\n backgroundInverted?: string;\n border?: string;\n };\n };\n layout?: {\n border?: string;\n text?: {\n default?: string;\n inverse?: string;\n muted?: string;\n };\n background?: {\n default?: string;\n hued?: string;\n overlay?: string;\n };\n };\n}\n\nexport interface ThemeMetric {\n border?: {\n width?: {\n none?: string;\n light?: string;\n default?: string;\n bold?: string;\n heavy?: string;\n };\n radius?: {\n none?: string;\n small?: string;\n default?: string;\n large?: string;\n circle?: string;\n };\n };\n dimension?: {\n '2xSmall'?: string;\n xSmall?: string;\n small?: string;\n default?: string;\n large?: string;\n xLarge?: string;\n '2xLarge'?: string;\n '3xLarge'?: string;\n '4xLarge'?: string;\n '5xLarge'?: string;\n media?: {\n small?: string;\n default?: string;\n large?: string;\n };\n };\n space?: {\n none?: string;\n '2xSmall'?: string;\n xSmall?: string;\n small?: string;\n default?: string;\n large?: string;\n xLarge?: string;\n };\n screenSize?: string;\n baseline?: {\n body?: {\n default?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n large?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n small?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n };\n heading?: {\n display?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n xLarge?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n large?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n medium?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n small?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n };\n title?: {\n large?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n default?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n small?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n };\n preline?: {\n large?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n default?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n small?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n };\n subline?: {\n large?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n default?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n small?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n };\n label?: {\n large?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n default?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n small?: {\n paddingTop?: string;\n paddingBottom?: string;\n };\n };\n };\n}\n\nexport interface ThemeTypography {\n fontFamily?: {\n default?: string;\n };\n fontSize?: {\n static?: {\n small?: string;\n medium?: string;\n large?: string;\n };\n adaptive?: {\n medium?: string;\n large?: string;\n xLarge?: string;\n '2xLarge'?: string;\n };\n };\n lineHeight?: {\n static?: {\n medium?: string;\n large?: string;\n };\n adaptive?: {\n medium?: string;\n large?: string;\n xLarge?: string;\n '2xLarge'?: string;\n };\n };\n fontWeight?: {\n regular?: number;\n medium?: number;\n semiBold?: number;\n };\n}\n\nexport interface ThemeComponent {\n badge?: {\n spaceLeft?: string;\n };\n descriptionList?: {\n termMaxWidth?: string;\n };\n alert?: {\n iconSize?: string;\n };\n kopfzeile?: {\n fontFamily?: string;\n fontSize?: string;\n lineHeight?: string;\n padding?: string;\n };\n}\n\nexport interface Theme {\n light?: {\n color?: ThemeColors;\n metric?: ThemeMetric;\n typography?: ThemeTypography;\n component?: ThemeComponent;\n };\n dark?: {\n color?: ThemeColors;\n metric?: ThemeMetric;\n typography?: ThemeTypography;\n component?: ThemeComponent;\n };\n color?: ThemeColors;\n metric?: ThemeMetric;\n typography?: ThemeTypography;\n component?: ThemeComponent;\n}\n\n// Recursively flatten nested theme object into CSS variables\nconst flattenThemeToVariables = (\n obj: object,\n prefix = '--kern',\n): Record<string, string> => {\n const variables: Record<string, string> = {};\n\n // Convert camelCase to kebab-case\n const toKebabCase = (str: string) => {\n return str.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n };\n\n const traverse = (current: unknown, path: string[]) => {\n if (current && typeof current === 'object' && !Array.isArray(current)) {\n Object.entries(current as Record<string, unknown>).forEach(\n ([key, value]) => {\n if (typeof value === 'string' || typeof value === 'number') {\n const kebabKey = toKebabCase(key);\n const variableName = [...path, kebabKey].join('-');\n variables[variableName] = String(value);\n } else if (\n typeof value === 'object' &&\n value !== null &&\n !Array.isArray(value)\n ) {\n const kebabKey = toKebabCase(key);\n traverse(value, [...path, kebabKey]);\n }\n },\n );\n }\n };\n\n traverse(obj, [prefix]);\n return variables;\n};\n\n// Generate CSS for light/dark mode specific variables\nconst generateModeCSS = (\n theme: {\n color?: ThemeColors;\n metric?: ThemeMetric;\n typography?: ThemeTypography;\n component?: ThemeComponent;\n },\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _mode: 'light' | 'dark',\n): string => {\n const variables = flattenThemeToVariables(theme);\n return Object.entries(variables)\n .map(([key, value]) => ` ${key}: ${value};`)\n .join('\\n');\n};\n\nexport interface ThemeProviderProps {\n theme?: Theme;\n children?: React.ReactNode;\n global?: boolean; // Default true - applies CSS variables globally\n style?: React.CSSProperties;\n className?: string;\n}\n\nexport const ThemeProvider = ({\n theme = {},\n children,\n global = true,\n className = '',\n style = {},\n ...props\n}: ThemeProviderProps) => {\n const { light, dark, color, metric, typography, component } = theme;\n const id = useId();\n const uniqueId = useMemo(() => id.replace(/:/g, '-'), [id]); // Memoize the processed ID\n\n // Base style from generic properties (applies to both modes)\n const baseTheme = { color, metric, typography, component };\n const baseStyle = Object.keys(baseTheme).some(\n (key) => baseTheme[key as keyof typeof baseTheme],\n )\n ? flattenThemeToVariables(baseTheme)\n : {};\n\n // Generate CSS for light and dark modes\n const lightCSS = light ? generateModeCSS(light, 'light') : '';\n const darkCSS = dark ? generateModeCSS(dark, 'dark') : '';\n\n // Create CSS based on global prop\n const modeCSS = global\n ? // Global CSS - applies to :root\n `\n ${lightCSS ? `[data-kern-theme=\"light\"] { ${lightCSS} }` : ''}\n ${darkCSS ? `[data-kern-theme=\"dark\"] { ${darkCSS} }` : ''}\n `.trim()\n : // Scoped CSS - applies only to this ThemeProvider instance\n `\n ${lightCSS ? `.kern-theme-provider-${uniqueId}[data-kern-theme=\"light\"], .kern-theme-provider-${uniqueId} [data-kern-theme=\"light\"], .kern-theme-provider-${uniqueId}[data-kern-theme=\"light\"] *, .kern-theme-provider-${uniqueId} [data-kern-theme=\"light\"] * { ${lightCSS} }` : ''}\n ${darkCSS ? `.kern-theme-provider-${uniqueId}[data-kern-theme=\"dark\"], .kern-theme-provider-${uniqueId} [data-kern-theme=\"dark\"], .kern-theme-provider-${uniqueId}[data-kern-theme=\"dark\"] *, .kern-theme-provider-${uniqueId} [data-kern-theme=\"dark\"] * { ${darkCSS} }` : ''}\n `.trim();\n\n // Base CSS based on global prop\n const baseCSS =\n Object.keys(baseStyle).length > 0\n ? global\n ? // Global base CSS\n `\n :root {\n ${Object.entries(baseStyle)\n .map(([key, value]) => `${key}: ${value};`)\n .join('\\n ')}\n }\n `\n : // Scoped base CSS\n `\n .kern-theme-provider-${uniqueId}, .kern-theme-provider-${uniqueId} * {\n ${Object.entries(baseStyle)\n .map(([key, value]) => `${key}: ${value};`)\n .join('\\n ')}\n }\n `\n : '';\n\n return (\n <>\n {modeCSS && <style dangerouslySetInnerHTML={{ __html: modeCSS }} />}\n {baseCSS && <style dangerouslySetInnerHTML={{ __html: baseCSS }} />}\n <div\n {...props}\n className={`kern-theme-provider-${uniqueId} ${className || ''}`}\n style={{ ...style, ...baseStyle }}\n >\n {children}\n </div>\n </>\n );\n};\n","import * as AccordionNamespace from '@components/Accordion';\nimport * as AlertNamespace from '@components/Alert';\nimport * as CardNamespace from '@components/Card';\nimport * as DescriptionListNamespace from '@components/DescriptionList';\nimport * as DialogNamespace from '@components/Dialog';\nimport * as FieldsetNamespace from '@components/Fieldset';\nimport * as GridNamespace from '@components/Grid';\nimport * as InputPrimitivesNamespace from '@components/Input/Primitives';\nimport * as ListsNamespace from '@components/Lists';\nimport * as ProgressNamespace from '@components/Progress';\nimport * as SummaryNamespace from '@components/Summary';\nimport * as TableNamespace from '@components/Table';\nimport * as TaskListNamespace from '@components/TaskList';\n\nexport const Accordion = Object.assign(\n AccordionNamespace.Root,\n AccordionNamespace,\n);\nexport type {\n AccordionContentProps,\n AccordionGroupProps,\n AccordionRootProps,\n AccordionSummaryProps,\n} from '@components/Accordion';\n\nexport const Alert = Object.assign(AlertNamespace.Root, AlertNamespace);\nexport type {\n AlertBodyProps,\n AlertHeaderProps,\n AlertRootProps,\n} from '@components/Alert';\n\nexport { Badge } from '@components/Badge';\nexport type { BadgeProps } from '@components/Badge';\n\nexport { Body } from '@components/Body';\n\nexport { Button } from '@components/Button';\nexport type { ButtonProps } from '@components/Button';\n\nexport const Card = Object.assign(CardNamespace.Root, CardNamespace);\nexport type {\n CardRootProps,\n CardMediaProps,\n CardContainerProps,\n CardHeaderProps,\n CardPrelineProps,\n CardTitleProps,\n CardSublineProps,\n CardBodyProps,\n CardFooterProps,\n} from '@components/Card';\n\nexport const DescriptionList = Object.assign(\n DescriptionListNamespace.Root,\n DescriptionListNamespace,\n);\nexport type {\n DescriptionListRootProps,\n DescriptionListItemProps,\n DescriptionListKeyProps,\n DescriptionListValueProps,\n} from '@components/DescriptionList';\n\nexport const Dialog = Object.assign(DialogNamespace.Root, DialogNamespace);\nexport type {\n DialogRootProps,\n DialogHeaderProps,\n DialogContentProps,\n DialogFooterProps,\n DialogButtonProps,\n DialogTriggerProps,\n DialogModalProps,\n} from '@components/Dialog';\n\nexport { Divider } from '@components/Divider';\n\nexport const Fieldset = Object.assign(\n FieldsetNamespace.Root,\n FieldsetNamespace,\n);\nexport type {\n FieldsetRootProps,\n FieldsetLegendProps,\n FieldsetHintProps,\n FieldsetContentProps,\n FieldsetErrorProps,\n} from '@components/Fieldset';\n\nexport const Grid = Object.assign(GridNamespace.Root, GridNamespace);\nexport type {\n GridRootProps,\n GridRowProps,\n GridColumnProps,\n} from '@components/Grid';\n\nexport { Heading } from '@components/Heading';\n\nexport { Icon } from '@components/Icon';\nexport type { IconProps } from '@components/Icon';\n\nexport const InputPrimitive = Object.assign(\n InputPrimitivesNamespace.Root,\n InputPrimitivesNamespace,\n);\nexport type {\n InputRootProps,\n InputErrorProps,\n InputHintProps,\n InputLabelProps,\n} from '@components/Input/Primitives';\nexport {\n CheckboxInput,\n type CheckboxInputProps,\n DateInput,\n type DateInputProps,\n EmailInput,\n type EmailInputProps,\n FileInput,\n type FileInputProps,\n NumberInput,\n type NumberInputProps,\n PasswordInput,\n type PasswordInputProps,\n RadioInput,\n type RadioInputProps,\n SelectInput,\n type SelectInputProps,\n TelInput,\n type TelInputProps,\n TextInput,\n type TextInputProps,\n TextareaInput,\n type TextareaInputProps,\n UrlInput,\n type UrlInputProps,\n} from '@components/Input';\n\nexport { Kopfzeile } from '@components/Kopfzeile';\nexport type { KopfzeileProps } from '@components/Kopfzeile';\n\nexport { Label } from '@components/Label';\nexport type { LabelProps } from '@components/Label';\n\nexport { Link } from '@components/Link';\nexport type { LinkProps } from '@components/Link';\n\nexport const Lists = Object.assign(ListsNamespace.Root, ListsNamespace);\nexport type {\n ListsRootProps,\n ListsItemProps,\n ListsBulletProps,\n ListsNumberProps,\n} from '@components/Lists';\n\nexport { Loader } from '@components/Loader';\nexport type { LoaderProps } from '@components/Loader';\n\nexport const Table = Object.assign(TableNamespace.Root, TableNamespace);\nexport type {\n TableRootProps,\n TableHeaderProps,\n TableBodyProps,\n TableFooterProps,\n TableRowProps,\n TableColumnProps,\n TableCellProps,\n} from '@components/Table';\n\nexport { Preline } from '@components/Preline';\nexport type { PrelineProps } from '@components/Preline';\n\nexport const Progress = Object.assign(\n ProgressNamespace.Root,\n ProgressNamespace,\n);\nexport type {\n ProgressRootProps,\n ProgressLabelProps,\n ProgressBarProps,\n ProgressHeaderProps,\n} from '@components/Progress';\n\nexport { Subline } from '@components/Subline';\nexport type { SublineProps } from '@components/Subline';\n\nexport const Summary = Object.assign(SummaryNamespace.Root, SummaryNamespace);\nexport type {\n SummaryProps,\n SummaryHeadingProps,\n SummaryBodyProps,\n SummaryActionsProps,\n SummaryGroupProps,\n SummaryGroupHeadingProps,\n} from '@components/Summary';\n\nexport { ThemeProvider } from '@components/ThemeProvider';\nexport type { Theme, ThemeProviderProps } from '@components/ThemeProvider';\n\nexport { Title } from '@components/Title';\nexport type { TitleProps } from '@components/Title';\n\nexport const TaskList = Object.assign(\n TaskListNamespace.Root,\n TaskListNamespace,\n);\nexport type {\n TaskListItemProps,\n TaskListProps,\n TaskListRootProps,\n TaskListHeadingProps,\n} from '@components/TaskList';\n"],"mappings":"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"}