@fellesdatakatalog/ui 1.0.20 → 1.0.24

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.
@@ -1 +1 @@
1
- {"version":3,"file":"shared-ui.cjs","sources":["../node_modules/@navikt/aksel-icons/dist/react/esm/util/useId.js","../node_modules/@navikt/aksel-icons/dist/react/esm/Buildings3.js","../node_modules/@navikt/aksel-icons/dist/react/esm/CheckmarkCircleFill.js","../node_modules/@navikt/aksel-icons/dist/react/esm/Files.js","../src/components/org-logo/index.tsx","../src/components/hstack/index.tsx","../src/components/helptext/index.tsx","../src/components/app-bar/index.tsx","../src/components/checkbox-group/index.tsx","../src/components/copy-button/index.tsx","../src/components/radio-group/index.tsx","../src/components/tag-list/index.tsx","../src/components/vstack/index.tsx"],"sourcesContent":["//https://github.com/mui/material-ui/blob/master/packages/mui-utils/src/useId.ts\n/** biome-ignore-all lint/correctness/useHookAtTopLevel: `useId` is invariant at runtime. */\nimport React, { useEffect, useState } from \"react\";\nlet globalId = 0;\nfunction useGlobalId(idOverride) {\n const [defaultId, setDefaultId] = useState(idOverride);\n const id = idOverride || defaultId;\n useEffect(() => {\n if (defaultId == null) {\n // Fallback to this default id when possible.\n // Use the incrementing value for client-side rendering only.\n // We can't use it server-side.\n // If you want to use random values please consider the Birthday Problem: https://en.wikipedia.org/wiki/Birthday_problem\n globalId += 1;\n setDefaultId(`aksel-icon-${globalId}`);\n }\n }, [defaultId]);\n return id;\n}\nconst maybeReactUseId = React[\"useId\" + \"\" // Workaround for https://github.com/webpack/webpack/issues/14814\n];\n/**\n *\n * @example <div id={useId()} />\n * @param idOverride\n * @returns {string}\n */\nexport function useId(idOverride) {\n var _a;\n if (maybeReactUseId !== undefined) {\n const reactId = maybeReactUseId();\n return idOverride !== null && idOverride !== void 0 ? idOverride : reactId.replace(/(:)/g, \"\");\n }\n // eslint-disable-next-line react-hooks/rules-of-hooks -- `useId` is invariant at runtime.\n return (_a = useGlobalId(idOverride)) !== null && _a !== void 0 ? _a : \"\";\n}\n//# sourceMappingURL=useId.js.map","\"use client\";\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React, { forwardRef } from \"react\";\nimport { useId } from \"./util/useId.js\";\nconst SvgBuildings3 = forwardRef((_a, ref) => {\n var { title, titleId: _titleId } = _a, props = __rest(_a, [\"title\", \"titleId\"]);\n let titleId = useId();\n titleId = title ? _titleId ? _titleId : \"title-\" + titleId : undefined;\n return React.createElement(\"svg\", Object.assign({ xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", fill: \"none\", viewBox: \"0 0 24 24\", focusable: false, role: \"img\", ref: ref, \"aria-labelledby\": titleId }, props),\n title ? React.createElement(\"title\", { id: titleId }, title) : null,\n React.createElement(\"path\", { fill: \"currentColor\", fillRule: \"evenodd\", d: \"M6.25 3A.75.75 0 0 1 7 2.25h10a.75.75 0 0 1 .75.75v6.25H21a.75.75 0 0 1 .75.75v11a.75.75 0 0 1-.75.75H3a.75.75 0 0 1-.75-.75V10A.75.75 0 0 1 3 9.25h3.25zm11.5 17.25v-9.5h2.5v9.5zm-1.5-16.5v16.5h-8.5V3.75zm-10 7v9.5h-2.5v-9.5zm3.75-5a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75m3 0a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75m-2.25 6.75a.75.75 0 0 0-1.5 0v2a.75.75 0 0 0 1.5 0zm2.25-.75a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75\", clipRule: \"evenodd\" }));\n});\nexport default SvgBuildings3;\n//# sourceMappingURL=Buildings3.js.map","\"use client\";\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React, { forwardRef } from \"react\";\nimport { useId } from \"./util/useId.js\";\nconst SvgCheckmarkCircleFill = forwardRef((_a, ref) => {\n var { title, titleId: _titleId } = _a, props = __rest(_a, [\"title\", \"titleId\"]);\n let titleId = useId();\n titleId = title ? _titleId ? _titleId : \"title-\" + titleId : undefined;\n return React.createElement(\"svg\", Object.assign({ xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", fill: \"none\", viewBox: \"0 0 24 24\", focusable: false, role: \"img\", ref: ref, \"aria-labelledby\": titleId }, props),\n title ? React.createElement(\"title\", { id: titleId }, title) : null,\n React.createElement(\"path\", { fill: \"currentColor\", fillRule: \"evenodd\", d: \"M12 21.75c5.385 0 9.75-4.365 9.75-9.75S17.385 2.25 12 2.25 2.25 6.615 2.25 12s4.365 9.75 9.75 9.75m4.954-12.475a.813.813 0 0 0-1.24-1.05l-5.389 6.368L7.7 11.967a.812.812 0 0 0-1.15 1.15l3.25 3.25a.81.81 0 0 0 1.195-.05z\", clipRule: \"evenodd\" }));\n});\nexport default SvgCheckmarkCircleFill;\n//# sourceMappingURL=CheckmarkCircleFill.js.map","\"use client\";\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React, { forwardRef } from \"react\";\nimport { useId } from \"./util/useId.js\";\nconst SvgFiles = forwardRef((_a, ref) => {\n var { title, titleId: _titleId } = _a, props = __rest(_a, [\"title\", \"titleId\"]);\n let titleId = useId();\n titleId = title ? _titleId ? _titleId : \"title-\" + titleId : undefined;\n return React.createElement(\"svg\", Object.assign({ xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", fill: \"none\", viewBox: \"0 0 24 24\", focusable: false, role: \"img\", ref: ref, \"aria-labelledby\": titleId }, props),\n title ? React.createElement(\"title\", { id: titleId }, title) : null,\n React.createElement(\"path\", { fill: \"currentColor\", fillRule: \"evenodd\", d: \"M8.25 3.5c0-.69.56-1.25 1.25-1.25H14a.75.75 0 0 1 .53.22l5 5c.141.14.22.331.22.53v8.5c0 .69-.56 1.25-1.25 1.25h-9c-.69 0-1.25-.56-1.25-1.25zm6.25 5.25c-.69 0-1.25-.56-1.25-1.25V3.75h-3.5v12.5h8.5v-7.5zm.25-3.94 2.44 2.44h-2.44zM6.502 7.75H5.75v12.5h8.5v-.748a.75.75 0 0 1 1.5 0v.998c0 .69-.56 1.25-1.25 1.25h-9c-.69 0-1.25-.56-1.25-1.25v-13c0-.69.56-1.25 1.25-1.25h1.002a.75.75 0 1 1 0 1.5\", clipRule: \"evenodd\" }));\n});\nexport default SvgFiles;\n//# sourceMappingURL=Files.js.map","import React from 'react';\nimport cn from 'classnames';\nimport { Buildings3Icon } from '@navikt/aksel-icons';\nimport styles from './styles.module.scss';\n\nexport type OrgLogoProps = {\n orgLogoSrc?: string | null;\n className?: string;\n} & React.HTMLAttributes<HTMLDivElement>;\n\nconst OrgLogo = ({ className, orgLogoSrc, ...props }: OrgLogoProps) => {\n return (\n <div className={cn(styles.orgLogo, className)} {...props}>\n {orgLogoSrc ? (\n <img\n aria-hidden\n src={orgLogoSrc}\n alt=''\n />\n ) : (\n <Buildings3Icon aria-hidden />\n )}\n </div>\n );\n};\n\nexport { OrgLogo };\n","import React from 'react';\nimport cn from 'classnames';\n\nimport styles from './hstack.module.scss';\n\nconst HStack = ({ children, className, ...props }: React.HTMLAttributes<HTMLDivElement>) => {\n return (\n <div\n className={cn(styles.wrapper, className)}\n {...props}\n >\n {children}\n </div>\n );\n};\n\nexport default HStack;\n","import React from 'react';\nimport { Popover } from '@digdir/designsystemet-react';\nimport styles from './helptext.module.scss';\n\nexport type HelpTextProps = {\n /**\n * Required descriptive label for screen readers.\n **/\n \"aria-label\": string;\n /**\n * Placement of the Popover.\n * @default 'right'\n */\n placement?: \"right\" | \"bottom\" | \"left\" | \"top\";\n } & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"color\">;\n \n export const HelpText = React.forwardRef<HTMLButtonElement, HelpTextProps>(\n function HelpText(\n { placement = \"right\", children, ...rest },\n ref\n ) {\n return (\n <Popover.TriggerContext>\n <Popover.Trigger\n className={styles.helptext}\n ref={ref}\n variant=\"tertiary\"\n data-color=\"info\"\n {...rest}\n />\n <Popover placement={placement} data-color=\"info\">\n {children}\n </Popover>\n </Popover.TriggerContext>\n );\n }\n );","import { OrgLogo } from '../org-logo';\nimport styles from './styles.module.scss';\n\nconst AppBar = () => {\n return (\n <div className={styles.appBar}>\n <OrgLogo />\n </div>\n );\n};\n\nexport { AppBar };","import React, { type ReactNode } from 'react';\nimport {\n Fieldset,\n Checkbox,\n ValidationMessage,\n type UseCheckboxGroupProps,\n useCheckboxGroup,\n} from '@digdir/designsystemet-react';\n\nexport interface CheckboxGroupProps extends Omit<UseCheckboxGroupProps, 'value' | 'onChange'> {\n /**\n * The legend text for the fieldset\n */\n legend?: ReactNode;\n /**\n * Optional description text for the fieldset\n */\n description?: ReactNode;\n /**\n * Array of checkbox options\n */\n options: Array<{\n value: string;\n label: string;\n description?: string;\n disabled?: boolean;\n allowIndeterminate?: boolean;\n }>;\n /**\n * Controlled value - array of selected checkbox values\n */\n value?: string[];\n /**\n * Callback when the selected values change\n */\n onChange?: (value: string[]) => void;\n /**\n * Optional className for the fieldset\n */\n className?: string;\n}\n\n/**\n * CheckboxGroup component that wraps multiple Checkbox components in a Fieldset.\n * Handles state management, onChange, and value automatically.\n *\n * @example\n * <CheckboxGroup\n * legend=\"Hvordan vil du kontaktes?\"\n * description=\"Velg alle relevante alternativer\"\n * options={[\n * { value: 'epost', label: 'E-post' },\n * { value: 'telefon', label: 'Telefon' },\n * { value: 'sms', label: 'SMS' },\n * ]}\n * value={selectedValues}\n * onChange={(values) => setSelectedValues(values)}\n * />\n */\nexport const CheckboxGroup = ({\n legend,\n description,\n options,\n value,\n onChange,\n error,\n disabled,\n readOnly,\n required,\n name,\n className,\n}: CheckboxGroupProps) => {\n const { getCheckboxProps, validationMessageProps } = useCheckboxGroup({\n value,\n onChange: onChange ? (nextValue) => onChange(nextValue) : undefined,\n error,\n disabled,\n readOnly,\n required,\n name,\n });\n\n return (\n <Fieldset className={className}>\n {legend && <Fieldset.Legend>{legend}</Fieldset.Legend>}\n {description && <Fieldset.Description>{description}</Fieldset.Description>}\n {options.map((option) => (\n <Checkbox\n key={option.value}\n label={option.label}\n description={option.description}\n disabled={option.disabled}\n {...getCheckboxProps({\n value: option.value,\n allowIndeterminate: option.allowIndeterminate,\n })}\n />\n ))}\n {error && <ValidationMessage {...validationMessageProps} />}\n </Fieldset>\n );\n};\n\nexport default CheckboxGroup;\n\n","'use client';\n\nimport { useState } from 'react';\nimport { Button, type ButtonProps, Tooltip } from '@digdir/designsystemet-react';\nimport { FilesIcon, CheckmarkCircleFillIcon } from '@navikt/aksel-icons';\nimport HStack from '../hstack';\n\ntype CopyButtonProps = {\n copyLabel: string;\n copiedLabel: string;\n copyOnClick: string;\n} & ButtonProps & React.HTMLAttributes<HTMLButtonElement>;\n\nconst CopyButton = ({ copyLabel, copiedLabel, copyOnClick, ...props }: CopyButtonProps) => {\n const [clicked, setClicked] = useState(false);\n\n const copyToClipboard = (text: string) => {\n setClicked(true);\n navigator.clipboard.writeText(text);\n };\n\n return (\n <Tooltip\n // @ts-expect-error: ignore complaint that Element cannot be set as content\n content={\n clicked ? (\n <HStack>\n <CheckmarkCircleFillIcon\n color='#D1F4E1'\n fontSize='1.2em'\n />\n {copiedLabel}\n </HStack>\n ) : (\n copyLabel\n )\n }\n placement='top'\n >\n <Button\n data-size='sm'\n variant='secondary'\n onClick={() => copyToClipboard(copyOnClick)}\n onMouseOver={() => setClicked(false)}\n {...props}\n >\n <FilesIcon aria-hidden />\n <span className={'sr-only'}>{copyLabel}</span>\n </Button>\n </Tooltip>\n );\n};\n\nexport default CopyButton;\n","import React, { type ReactNode } from 'react';\nimport {\n Fieldset,\n Radio,\n ValidationMessage,\n type UseRadioGroupProps,\n useRadioGroup,\n} from '@digdir/designsystemet-react';\n\nexport interface RadioGroupProps extends Omit<UseRadioGroupProps, 'value' | 'onChange'> {\n /**\n * The legend text for the fieldset\n */\n legend?: ReactNode;\n /**\n * Optional description text for the fieldset\n */\n description?: ReactNode;\n /**\n * Array of radio options\n */\n options: Array<{\n value: string;\n label: string;\n description?: string;\n disabled?: boolean;\n }>;\n /**\n * Controlled value - the selected radio value\n */\n value?: string;\n /**\n * Callback when the selected value changes\n */\n onChange?: (value: string) => void;\n /**\n * Optional className for the fieldset\n */\n className?: string;\n}\n\n/**\n * RadioGroup component that wraps multiple Radio components in a Fieldset.\n * Handles state management, onChange, and value automatically.\n *\n * @example\n * <RadioGroup\n * legend=\"Hvilken iskremsmak er best?\"\n * description=\"Velg din favorittsmak\"\n * options={[\n * { value: 'vanilje', label: 'Vanilje' },\n * { value: 'jordbær', label: 'Jordbær' },\n * { value: 'sjokolade', label: 'Sjokolade' },\n * ]}\n * value={selectedValue}\n * onChange={(value) => setSelectedValue(value)}\n * />\n */\nexport const RadioGroup = ({\n legend,\n description,\n options,\n value,\n onChange,\n error,\n disabled,\n readOnly,\n required,\n name,\n className,\n}: RadioGroupProps) => {\n const { getRadioProps, validationMessageProps } = useRadioGroup({\n value,\n onChange: onChange ? (nextValue) => onChange(nextValue) : undefined,\n error,\n disabled,\n readOnly,\n required,\n name,\n });\n\n return (\n <Fieldset className={className}>\n {legend && <Fieldset.Legend>{legend}</Fieldset.Legend>}\n {description && <Fieldset.Description>{description}</Fieldset.Description>}\n {options.map((option) => (\n <Radio\n key={option.value}\n label={option.label}\n description={option.description}\n disabled={option.disabled}\n {...getRadioProps(option.value)}\n />\n ))}\n {error && <ValidationMessage {...validationMessageProps} />}\n </Fieldset>\n );\n};\n\nexport default RadioGroup;\n\n","import React from 'react';\nimport cn from 'classnames';\nimport { Tag } from '@digdir/designsystemet-react';\nimport styles from './styles.module.scss';\n\nexport type TagListProps = {\n maxTags?: number;\n 'data-size'?: string;\n};\n\nconst TagList = ({ children, className, maxTags, 'data-size': dataSize, ...props }: TagListProps & React.HTMLAttributes<HTMLUListElement>) => {\n const childArray = React.Children.toArray(children);\n if (!childArray.length) return null;\n return (\n <ul\n className={cn(styles.tagList, className)}\n {...props}\n >\n {childArray\n .filter((child) => Boolean(child))\n .slice(0, maxTags ?? childArray.length)\n .map((child, i) => {\n const key = React.isValidElement(child) && child.key != null \n ? child.key \n : i;\n return <li key={key}>{child}</li>;\n })}\n {maxTags && maxTags < childArray.length && (\n <li>\n <Tag data-size={dataSize || 'sm'}>\n <span>+{childArray.length - maxTags}</span>\n </Tag>\n </li>\n )}\n </ul>\n );\n};\n\nexport default TagList;\n","import React from 'react';\nimport cn from 'classnames';\n\nimport styles from './vstack.module.scss';\n\nconst VStack = ({ children, className, ...props }: React.HTMLAttributes<HTMLDivElement>) => {\n return (\n <div\n className={cn(styles.wrapper, className)}\n {...props}\n >\n {children}\n </div>\n );\n};\n\nexport default VStack;\n"],"names":["globalId","maybeReactUseId","React","useId","idOverride","_a","replace","defaultId","setDefaultId","useState","id","useEffect","useGlobalId","SvgBuildings3","forwardRef","ref","title","titleId","_titleId","props","s","e","t","p","Object","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","i","length","propertyIsEnumerable","__rest","createElement","assign","xmlns","width","height","fill","viewBox","focusable","role","fillRule","d","clipRule","SvgCheckmarkCircleFill","SvgFiles","OrgLogo","className","orgLogoSrc","jsx","cn","styles","children","src","alt","Buildings3Icon","HStack","HelpText","placement","rest","Popover","TriggerContext","Trigger","variant","legend","description","options","value","onChange","error","disabled","readOnly","required","name","getCheckboxProps","validationMessageProps","useCheckboxGroup","nextValue","Fieldset","Legend","Description","map","option","Checkbox","label","allowIndeterminate","ValidationMessage","copyLabel","copiedLabel","copyOnClick","clicked","setClicked","Tooltip","content","jsxs","CheckmarkCircleFillIcon","color","fontSize","Button","onClick","copyToClipboard","text","navigator","clipboard","writeText","onMouseOver","FilesIcon","getRadioProps","useRadioGroup","Radio","maxTags","dataSize","childArray","Children","toArray","filter","child","Boolean","slice","key","isValidElement","Tag"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
1
+ {"version":3,"file":"shared-ui.cjs","sources":["../node_modules/@navikt/aksel-icons/dist/react/esm/util/useId.js","../node_modules/@navikt/aksel-icons/dist/react/esm/Buildings3.js","../node_modules/@navikt/aksel-icons/dist/react/esm/CheckmarkCircleFill.js","../node_modules/@navikt/aksel-icons/dist/react/esm/Files.js","../src/components/org-logo/index.tsx","../src/components/hstack/index.tsx","../src/components/helptext/index.tsx","../src/components/app-bar/index.tsx","../src/components/checkbox-group/index.tsx","../src/components/copy-button/index.tsx","../src/components/radio-group/index.tsx","../src/components/tag-list/index.tsx","../src/components/vstack/index.tsx"],"sourcesContent":["//https://github.com/mui/material-ui/blob/master/packages/mui-utils/src/useId.ts\n/** biome-ignore-all lint/correctness/useHookAtTopLevel: `useId` is invariant at runtime. */\nimport React, { useEffect, useState } from \"react\";\nlet globalId = 0;\nfunction useGlobalId(idOverride) {\n const [defaultId, setDefaultId] = useState(idOverride);\n const id = idOverride || defaultId;\n useEffect(() => {\n if (defaultId == null) {\n // Fallback to this default id when possible.\n // Use the incrementing value for client-side rendering only.\n // We can't use it server-side.\n // If you want to use random values please consider the Birthday Problem: https://en.wikipedia.org/wiki/Birthday_problem\n globalId += 1;\n setDefaultId(`aksel-icon-${globalId}`);\n }\n }, [defaultId]);\n return id;\n}\nconst maybeReactUseId = React[\"useId\" + \"\" // Workaround for https://github.com/webpack/webpack/issues/14814\n];\n/**\n *\n * @example <div id={useId()} />\n * @param idOverride\n * @returns {string}\n */\nexport function useId(idOverride) {\n var _a;\n if (maybeReactUseId !== undefined) {\n const reactId = maybeReactUseId();\n return idOverride !== null && idOverride !== void 0 ? idOverride : reactId.replace(/(:)/g, \"\");\n }\n // eslint-disable-next-line react-hooks/rules-of-hooks -- `useId` is invariant at runtime.\n return (_a = useGlobalId(idOverride)) !== null && _a !== void 0 ? _a : \"\";\n}\n//# sourceMappingURL=useId.js.map","\"use client\";\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React, { forwardRef } from \"react\";\nimport { useId } from \"./util/useId.js\";\nconst SvgBuildings3 = forwardRef((_a, ref) => {\n var { title, titleId: _titleId } = _a, props = __rest(_a, [\"title\", \"titleId\"]);\n let titleId = useId();\n titleId = title ? _titleId ? _titleId : \"title-\" + titleId : undefined;\n return React.createElement(\"svg\", Object.assign({ xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", fill: \"none\", viewBox: \"0 0 24 24\", focusable: false, role: \"img\", ref: ref, \"aria-labelledby\": titleId }, props),\n title ? React.createElement(\"title\", { id: titleId }, title) : null,\n React.createElement(\"path\", { fill: \"currentColor\", fillRule: \"evenodd\", d: \"M6.25 3A.75.75 0 0 1 7 2.25h10a.75.75 0 0 1 .75.75v6.25H21a.75.75 0 0 1 .75.75v11a.75.75 0 0 1-.75.75H3a.75.75 0 0 1-.75-.75V10A.75.75 0 0 1 3 9.25h3.25zm11.5 17.25v-9.5h2.5v9.5zm-1.5-16.5v16.5h-8.5V3.75zm-10 7v9.5h-2.5v-9.5zm3.75-5a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75m3 0a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75m-2.25 6.75a.75.75 0 0 0-1.5 0v2a.75.75 0 0 0 1.5 0zm2.25-.75a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75\", clipRule: \"evenodd\" }));\n});\nexport default SvgBuildings3;\n//# sourceMappingURL=Buildings3.js.map","\"use client\";\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React, { forwardRef } from \"react\";\nimport { useId } from \"./util/useId.js\";\nconst SvgCheckmarkCircleFill = forwardRef((_a, ref) => {\n var { title, titleId: _titleId } = _a, props = __rest(_a, [\"title\", \"titleId\"]);\n let titleId = useId();\n titleId = title ? _titleId ? _titleId : \"title-\" + titleId : undefined;\n return React.createElement(\"svg\", Object.assign({ xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", fill: \"none\", viewBox: \"0 0 24 24\", focusable: false, role: \"img\", ref: ref, \"aria-labelledby\": titleId }, props),\n title ? React.createElement(\"title\", { id: titleId }, title) : null,\n React.createElement(\"path\", { fill: \"currentColor\", fillRule: \"evenodd\", d: \"M12 21.75c5.385 0 9.75-4.365 9.75-9.75S17.385 2.25 12 2.25 2.25 6.615 2.25 12s4.365 9.75 9.75 9.75m4.954-12.475a.813.813 0 0 0-1.24-1.05l-5.389 6.368L7.7 11.967a.812.812 0 0 0-1.15 1.15l3.25 3.25a.81.81 0 0 0 1.195-.05z\", clipRule: \"evenodd\" }));\n});\nexport default SvgCheckmarkCircleFill;\n//# sourceMappingURL=CheckmarkCircleFill.js.map","\"use client\";\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React, { forwardRef } from \"react\";\nimport { useId } from \"./util/useId.js\";\nconst SvgFiles = forwardRef((_a, ref) => {\n var { title, titleId: _titleId } = _a, props = __rest(_a, [\"title\", \"titleId\"]);\n let titleId = useId();\n titleId = title ? _titleId ? _titleId : \"title-\" + titleId : undefined;\n return React.createElement(\"svg\", Object.assign({ xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", fill: \"none\", viewBox: \"0 0 24 24\", focusable: false, role: \"img\", ref: ref, \"aria-labelledby\": titleId }, props),\n title ? React.createElement(\"title\", { id: titleId }, title) : null,\n React.createElement(\"path\", { fill: \"currentColor\", fillRule: \"evenodd\", d: \"M8.25 3.5c0-.69.56-1.25 1.25-1.25H14a.75.75 0 0 1 .53.22l5 5c.141.14.22.331.22.53v8.5c0 .69-.56 1.25-1.25 1.25h-9c-.69 0-1.25-.56-1.25-1.25zm6.25 5.25c-.69 0-1.25-.56-1.25-1.25V3.75h-3.5v12.5h8.5v-7.5zm.25-3.94 2.44 2.44h-2.44zM6.502 7.75H5.75v12.5h8.5v-.748a.75.75 0 0 1 1.5 0v.998c0 .69-.56 1.25-1.25 1.25h-9c-.69 0-1.25-.56-1.25-1.25v-13c0-.69.56-1.25 1.25-1.25h1.002a.75.75 0 1 1 0 1.5\", clipRule: \"evenodd\" }));\n});\nexport default SvgFiles;\n//# sourceMappingURL=Files.js.map","import React from 'react';\nimport cn from 'classnames';\nimport { Buildings3Icon } from '@navikt/aksel-icons';\nimport styles from './styles.module.scss';\n\nexport type OrgLogoProps = {\n orgLogoSrc?: string | null;\n className?: string;\n} & React.HTMLAttributes<HTMLDivElement>;\n\nconst OrgLogo = ({ className, orgLogoSrc, ...props }: OrgLogoProps) => {\n return (\n <div className={cn(styles.orgLogo, className)} {...props}>\n {orgLogoSrc ? (\n <img\n aria-hidden\n src={orgLogoSrc}\n alt=''\n />\n ) : (\n <Buildings3Icon aria-hidden />\n )}\n </div>\n );\n};\n\nexport { OrgLogo };\n","import React from 'react';\nimport cn from 'classnames';\n\nimport styles from './hstack.module.scss';\n\nconst HStack = ({ children, className, ...props }: React.HTMLAttributes<HTMLDivElement>) => {\n return (\n <div\n className={cn(styles.wrapper, className)}\n {...props}\n >\n {children}\n </div>\n );\n};\n\nexport default HStack;\n","import React from 'react';\nimport { Popover } from '@digdir/designsystemet-react';\nimport styles from './helptext.module.scss';\n\nexport type HelpTextProps = {\n /**\n * Required descriptive label for screen readers.\n **/\n \"aria-label\": string;\n /**\n * Placement of the Popover.\n * @default 'right'\n */\n placement?: \"right\" | \"bottom\" | \"left\" | \"top\";\n } & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"color\">;\n \n export const HelpText = React.forwardRef<HTMLButtonElement, HelpTextProps>(\n function HelpText(\n { placement = \"right\", children, ...rest },\n ref\n ) {\n return (\n <Popover.TriggerContext>\n <Popover.Trigger\n className={styles.helptext}\n ref={ref}\n variant=\"tertiary\"\n data-color=\"info\"\n {...rest}\n />\n <Popover placement={placement} data-color=\"info\">\n {children}\n </Popover>\n </Popover.TriggerContext>\n );\n }\n );","import { OrgLogo } from '../org-logo';\nimport styles from './styles.module.scss';\n\nconst AppBar = () => {\n return (\n <div className={styles.appBar}>\n <OrgLogo />\n </div>\n );\n};\n\nexport { AppBar };","import React, { type ReactNode } from 'react';\nimport {\n Fieldset,\n Checkbox,\n ValidationMessage,\n type UseCheckboxGroupProps,\n useCheckboxGroup,\n} from '@digdir/designsystemet-react';\n\nexport interface CheckboxGroupProps extends Omit<UseCheckboxGroupProps, 'value' | 'onChange'> {\n /**\n * The legend text for the fieldset\n */\n legend?: ReactNode;\n /**\n * Optional description text for the fieldset\n */\n description?: ReactNode;\n /**\n * Array of checkbox options\n */\n options: Array<{\n value: string;\n label: string;\n description?: string;\n disabled?: boolean;\n allowIndeterminate?: boolean;\n }>;\n /**\n * Controlled value - array of selected checkbox values\n */\n value?: string[];\n /**\n * Callback when the selected values change\n */\n onChange?: (value: string[]) => void;\n /**\n * Optional className for the fieldset\n */\n className?: string;\n}\n\n/**\n * CheckboxGroup component that wraps multiple Checkbox components in a Fieldset.\n * Handles state management, onChange, and value automatically.\n *\n * @example\n * <CheckboxGroup\n * legend=\"Hvordan vil du kontaktes?\"\n * description=\"Velg alle relevante alternativer\"\n * options={[\n * { value: 'epost', label: 'E-post' },\n * { value: 'telefon', label: 'Telefon' },\n * { value: 'sms', label: 'SMS' },\n * ]}\n * value={selectedValues}\n * onChange={(values) => setSelectedValues(values)}\n * />\n */\nexport const CheckboxGroup = ({\n legend,\n description,\n options,\n value,\n onChange,\n error,\n disabled,\n readOnly,\n required,\n name,\n className,\n}: CheckboxGroupProps) => {\n const { getCheckboxProps, validationMessageProps } = useCheckboxGroup({\n value,\n onChange: onChange ? (nextValue) => onChange(nextValue) : undefined,\n error,\n disabled,\n readOnly,\n required,\n name,\n });\n\n return (\n <Fieldset className={className}>\n {legend && <Fieldset.Legend>{legend}</Fieldset.Legend>}\n {description && <Fieldset.Description>{description}</Fieldset.Description>}\n {options.map((option) => (\n <Checkbox\n key={option.value}\n label={option.label}\n description={option.description}\n disabled={option.disabled}\n {...getCheckboxProps({\n value: option.value,\n allowIndeterminate: option.allowIndeterminate,\n })}\n />\n ))}\n {error && <ValidationMessage {...validationMessageProps} />}\n </Fieldset>\n );\n};\n\nexport default CheckboxGroup;\n\n","'use client';\n\nimport { useState } from 'react';\nimport { Button, type ButtonProps, Tooltip } from '@digdir/designsystemet-react';\nimport { FilesIcon, CheckmarkCircleFillIcon } from '@navikt/aksel-icons';\nimport HStack from '../hstack';\n\ntype CopyButtonProps = {\n copyLabel: string;\n copiedLabel: string;\n copyOnClick: string;\n} & ButtonProps & React.HTMLAttributes<HTMLButtonElement>;\n\nconst CopyButton = ({ copyLabel, copiedLabel, copyOnClick, ...props }: CopyButtonProps) => {\n const [clicked, setClicked] = useState(false);\n\n const copyToClipboard = (text: string) => {\n setClicked(true);\n navigator.clipboard.writeText(text);\n };\n\n return (\n <Tooltip\n // @ts-expect-error: ignore complaint that Element cannot be set as content\n content={\n clicked ? (\n <HStack>\n <CheckmarkCircleFillIcon\n color='#D1F4E1'\n fontSize='1.2em'\n />\n {copiedLabel}\n </HStack>\n ) : (\n copyLabel\n )\n }\n placement='top'\n >\n <Button\n data-size='sm'\n variant='secondary'\n onClick={() => copyToClipboard(copyOnClick)}\n onMouseOver={() => setClicked(false)}\n {...props}\n >\n <FilesIcon aria-hidden />\n <span className={'sr-only'}>{copyLabel}</span>\n </Button>\n </Tooltip>\n );\n};\n\nexport default CopyButton;\n","import React, { type ReactNode } from 'react';\nimport {\n Fieldset,\n Radio,\n ValidationMessage,\n type UseRadioGroupProps,\n useRadioGroup,\n} from '@digdir/designsystemet-react';\n\nexport interface RadioGroupProps extends Omit<UseRadioGroupProps, 'value' | 'onChange'> {\n /**\n * The legend text for the fieldset\n */\n legend?: ReactNode;\n /**\n * Optional description text for the fieldset\n */\n description?: ReactNode;\n /**\n * Array of radio options\n */\n options: Array<{\n value: string;\n label: string;\n description?: string;\n disabled?: boolean;\n }>;\n /**\n * Controlled value - the selected radio value\n */\n value?: string;\n /**\n * Callback when the selected value changes\n */\n onChange?: (value: string) => void;\n /**\n * Optional className for the fieldset\n */\n className?: string;\n}\n\n/**\n * RadioGroup component that wraps multiple Radio components in a Fieldset.\n * Handles state management, onChange, and value automatically.\n *\n * @example\n * <RadioGroup\n * legend=\"Hvilken iskremsmak er best?\"\n * description=\"Velg din favorittsmak\"\n * options={[\n * { value: 'vanilje', label: 'Vanilje' },\n * { value: 'jordbær', label: 'Jordbær' },\n * { value: 'sjokolade', label: 'Sjokolade' },\n * ]}\n * value={selectedValue}\n * onChange={(value) => setSelectedValue(value)}\n * />\n */\nexport const RadioGroup = ({\n legend,\n description,\n options,\n value,\n onChange,\n error,\n disabled,\n readOnly,\n required,\n name,\n className,\n}: RadioGroupProps) => {\n const { getRadioProps, validationMessageProps } = useRadioGroup({\n value,\n onChange: onChange ? (nextValue) => onChange(nextValue) : undefined,\n error,\n disabled,\n readOnly,\n required,\n name,\n });\n\n return (\n <Fieldset className={className}>\n {legend && <Fieldset.Legend>{legend}</Fieldset.Legend>}\n {description && <Fieldset.Description>{description}</Fieldset.Description>}\n {options.map((option) => (\n <Radio\n key={option.value}\n label={option.label}\n description={option.description}\n disabled={option.disabled}\n {...getRadioProps(option.value)}\n />\n ))}\n {error && <ValidationMessage {...validationMessageProps} />}\n </Fieldset>\n );\n};\n\nexport default RadioGroup;\n\n","import React from 'react';\nimport cn from 'classnames';\nimport type { Size } from '@digdir/designsystemet-types';\nimport { Tag } from '@digdir/designsystemet-react';\nimport styles from './styles.module.scss';\n\nexport type TagListProps = {\n maxTags?: number;\n 'data-size'?: Size;\n};\n\nconst TagList = ({ children, className, maxTags, 'data-size': dataSize, ...props }: TagListProps & React.HTMLAttributes<HTMLUListElement>) => {\n const childArray = React.Children.toArray(children);\n if (!childArray.length) return null;\n return (\n <ul\n className={cn(styles.tagList, className)}\n {...props}\n >\n {childArray\n .filter((child) => Boolean(child))\n .slice(0, maxTags ?? childArray.length)\n .map((child, i) => {\n const key = React.isValidElement(child) && child.key != null \n ? child.key \n : i;\n return <li key={key}>{child}</li>;\n })}\n {maxTags && maxTags < childArray.length && (\n <li>\n <Tag data-size={dataSize || 'sm'}>\n <span>+{childArray.length - maxTags}</span>\n </Tag>\n </li>\n )}\n </ul>\n );\n};\n\nexport default TagList;\n","import React from 'react';\nimport cn from 'classnames';\n\nimport styles from './vstack.module.scss';\n\nconst VStack = ({ children, className, ...props }: React.HTMLAttributes<HTMLDivElement>) => {\n return (\n <div\n className={cn(styles.wrapper, className)}\n {...props}\n >\n {children}\n </div>\n );\n};\n\nexport default VStack;\n"],"names":["globalId","maybeReactUseId","React","useId","idOverride","_a","replace","defaultId","setDefaultId","useState","id","useEffect","useGlobalId","SvgBuildings3","forwardRef","ref","title","titleId","_titleId","props","s","e","t","p","Object","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","i","length","propertyIsEnumerable","__rest","createElement","assign","xmlns","width","height","fill","viewBox","focusable","role","fillRule","d","clipRule","SvgCheckmarkCircleFill","SvgFiles","OrgLogo","className","orgLogoSrc","jsx","cn","styles","children","src","alt","Buildings3Icon","HStack","HelpText","placement","rest","Popover","TriggerContext","Trigger","variant","legend","description","options","value","onChange","error","disabled","readOnly","required","name","getCheckboxProps","validationMessageProps","useCheckboxGroup","nextValue","Fieldset","Legend","Description","map","option","Checkbox","label","allowIndeterminate","ValidationMessage","copyLabel","copiedLabel","copyOnClick","clicked","setClicked","Tooltip","content","jsxs","CheckmarkCircleFillIcon","color","fontSize","Button","onClick","copyToClipboard","text","navigator","clipboard","writeText","onMouseOver","FilesIcon","getRadioProps","useRadioGroup","Radio","maxTags","dataSize","childArray","Children","toArray","filter","child","Boolean","slice","key","isValidElement","Tag"],"mappings":"0MAGA,IAAIA,EAAW,EAgBf,MAAMC,EAAkBC,EACxB,MAOO,SAASC,EAAMC,GAClB,IAAIC,EACJ,QAAwB,IAApBJ,EAA+B,CAE/B,OADgBA,IAC2DK,QAAQ,OAAQ,GAC/F,CAEA,OAA0C,QAAlCD,EA9BZ,SAAqBD,GACjB,MAAOG,EAAWC,GAAgBC,EAAAA,SAASL,GACrCM,EAAKN,GAAcG,EAWzB,OAVAI,EAAAA,UAAU,KACW,MAAbJ,IAKAP,GAAY,EACZQ,EAAa,cAAcR,OAEhC,CAACO,IACGG,CACX,CAgBiBE,CAAYR,cAAyBC,EAAgBA,EAAK,EAC3E,CCrBA,MAAMQ,EAAgBC,EAAAA,WAAW,CAACT,EAAIU,KAClC,IAAIC,MAAEA,EAAOC,QAASC,GAAab,EAAIc,EAdL,SAAUC,EAAGC,GAC/C,IAAIC,EAAI,CAAA,EACR,IAAA,IAASC,KAAKH,EAAOI,OAAOC,UAAUC,eAAeC,KAAKP,EAAGG,IAAMF,EAAEO,QAAQL,GAAK,IAC9ED,EAAEC,GAAKH,EAAEG,IACb,GAAS,MAALH,GAAqD,mBAAjCI,OAAOK,sBAC3B,KAASC,EAAI,EAAb,IAAgBP,EAAIC,OAAOK,sBAAsBT,GAAIU,EAAIP,EAAEQ,OAAQD,IAC3DT,EAAEO,QAAQL,EAAEO,IAAM,GAAKN,OAAOC,UAAUO,qBAAqBL,KAAKP,EAAGG,EAAEO,MACvER,EAAEC,EAAEO,IAAMV,EAAEG,EAAEO,IAF4B,CAItD,OAAOR,CACX,CAImDW,CAAO5B,EAAI,CAAC,QAAS,YACpE,IAAIY,EAAUd,IAEd,OADAc,EAAUD,EAAQE,GAAsB,SAAWD,OAAU,EACtDf,EAAMgC,cAAc,MAAOV,OAAOW,OAAO,CAAEC,MAAO,6BAA8BC,MAAO,MAAOC,OAAQ,MAAOC,KAAM,OAAQC,QAAS,YAAaC,WAAW,EAAOC,KAAM,MAAO3B,MAAU,kBAAmBE,GAAWE,GAC3NH,EAAQd,EAAMgC,cAAc,QAAS,CAAExB,GAAIO,GAAWD,GAAS,KAC/Dd,EAAMgC,cAAc,OAAQ,CAAEK,KAAM,eAAgBI,SAAU,UAAWC,EAAG,+eAAgfC,SAAU,eCN9kB,MAAMC,EAAyBhC,EAAAA,WAAW,CAACT,EAAIU,KAC3C,IAAIC,MAAEA,EAAOC,QAASC,GAAab,EAAIc,EAdL,SAAUC,EAAGC,GAC/C,IAAIC,EAAI,CAAA,EACR,IAAA,IAASC,KAAKH,EAAOI,OAAOC,UAAUC,eAAeC,KAAKP,EAAGG,IAAMF,EAAEO,QAAQL,GAAK,IAC9ED,EAAEC,GAAKH,EAAEG,IACb,GAAS,MAALH,GAAqD,mBAAjCI,OAAOK,sBAC3B,KAASC,EAAI,EAAb,IAAgBP,EAAIC,OAAOK,sBAAsBT,GAAIU,EAAIP,EAAEQ,OAAQD,IAC3DT,EAAEO,QAAQL,EAAEO,IAAM,GAAKN,OAAOC,UAAUO,qBAAqBL,KAAKP,EAAGG,EAAEO,MACvER,EAAEC,EAAEO,IAAMV,EAAEG,EAAEO,IAF4B,CAItD,OAAOR,CACX,CAImDW,CAAO5B,EAAI,CAAC,QAAS,YACpE,IAAIY,EAAUd,IAEd,OADAc,EAAUD,EAAQE,GAAsB,SAAWD,OAAU,EACtDf,EAAMgC,cAAc,MAAOV,OAAOW,OAAO,CAAEC,MAAO,6BAA8BC,MAAO,MAAOC,OAAQ,MAAOC,KAAM,OAAQC,QAAS,YAAaC,WAAW,EAAOC,KAAM,MAAO3B,MAAU,kBAAmBE,GAAWE,GAC3NH,EAAQd,EAAMgC,cAAc,QAAS,CAAExB,GAAIO,GAAWD,GAAS,KAC/Dd,EAAMgC,cAAc,OAAQ,CAAEK,KAAM,eAAgBI,SAAU,UAAWC,EAAG,8NAA+NC,SAAU,eCN7T,MAAME,EAAWjC,EAAAA,WAAW,CAACT,EAAIU,KAC7B,IAAIC,MAAEA,EAAOC,QAASC,GAAab,EAAIc,EAdL,SAAUC,EAAGC,GAC/C,IAAIC,EAAI,CAAA,EACR,IAAA,IAASC,KAAKH,EAAOI,OAAOC,UAAUC,eAAeC,KAAKP,EAAGG,IAAMF,EAAEO,QAAQL,GAAK,IAC9ED,EAAEC,GAAKH,EAAEG,IACb,GAAS,MAALH,GAAqD,mBAAjCI,OAAOK,sBAC3B,KAASC,EAAI,EAAb,IAAgBP,EAAIC,OAAOK,sBAAsBT,GAAIU,EAAIP,EAAEQ,OAAQD,IAC3DT,EAAEO,QAAQL,EAAEO,IAAM,GAAKN,OAAOC,UAAUO,qBAAqBL,KAAKP,EAAGG,EAAEO,MACvER,EAAEC,EAAEO,IAAMV,EAAEG,EAAEO,IAF4B,CAItD,OAAOR,CACX,CAImDW,CAAO5B,EAAI,CAAC,QAAS,YACpE,IAAIY,EAAUd,IAEd,OADAc,EAAUD,EAAQE,GAAsB,SAAWD,OAAU,EACtDf,EAAMgC,cAAc,MAAOV,OAAOW,OAAO,CAAEC,MAAO,6BAA8BC,MAAO,MAAOC,OAAQ,MAAOC,KAAM,OAAQC,QAAS,YAAaC,WAAW,EAAOC,KAAM,MAAO3B,MAAU,kBAAmBE,GAAWE,GAC3NH,EAAQd,EAAMgC,cAAc,QAAS,CAAExB,GAAIO,GAAWD,GAAS,KAC/Dd,EAAMgC,cAAc,OAAQ,CAAEK,KAAM,eAAgBI,SAAU,UAAWC,EAAG,wYAAyYC,SAAU,oCCVjeG,EAAU,EAAGC,YAAWC,gBAAe/B,KAErCgC,EAAAA,IAAC,MAAA,CAAIF,UAAWG,EAAGC,EAAgBJ,MAAgB9B,EAC9CmC,SAAAJ,EACGC,EAAAA,IAAC,MAAA,CACG,eAAW,EACXI,IAAKL,EACLM,IAAI,OAGRL,IAACM,EAAA,CAAe,eAAW,+CCfrCC,EAAS,EAAGJ,WAAUL,eAAc9B,KAElCgC,EAAAA,IAAC,MAAA,CACGF,UAAWG,EAAGC,EAAgBJ,MAC1B9B,EAEHmC,wDCKEK,EAAWzD,EAAMY,WAC5B,UACE8C,UAAEA,EAAY,iBAASN,KAAaO,GACpC9C,GAEA,cACG+C,EAAAA,QAAQC,eAAR,CACCT,SAAA,CAAAH,EAAAA,IAACW,EAAAA,QAAQE,QAAR,CACCf,UAAWI,EACXtC,MACAkD,QAAQ,WACR,aAAW,UACPJ,IAENV,EAAAA,IAACW,EAAAA,QAAA,CAAQF,YAAsB,aAAW,OACvCN,eAIT,uCChCW,UAEN,MAAA,CAAIL,UAAWI,EACZC,SAAAH,EAAAA,IAACH,8BCqDgB,EAC3BkB,SACAC,cACAC,UACAC,QACAC,WACAC,QACAC,WACAC,WACAC,WACAC,OACA1B,gBAEA,MAAM2B,iBAAEA,EAAAC,uBAAkBA,GAA2BC,mBAAiB,CACpET,QACAC,SAAUA,EAAYS,GAAcT,EAASS,QAAa,EAC1DR,QACAC,WACAC,WACAC,WACAC,SAGF,cACGK,EAAAA,UAAS/B,YACPK,SAAA,CAAAY,KAAUf,IAAC6B,EAAAA,SAASC,OAAT,CAAiB3B,SAAAY,IAC5BC,KAAehB,IAAC6B,EAAAA,SAASE,YAAT,CAAsB5B,SAAAa,IACtCC,EAAQe,IAAKC,GACZjC,EAAAA,IAACkC,EAAAA,SAAA,CAECC,MAAOF,EAAOE,MACdnB,YAAaiB,EAAOjB,YACpBK,SAAUY,EAAOZ,YACbI,EAAiB,CACnBP,MAAOe,EAAOf,MACdkB,mBAAoBH,EAAOG,sBANxBH,EAAOf,QAUfE,KAASpB,IAACqC,oBAAA,IAAsBX,2BCrFpB,EAAGY,YAAWC,cAAaC,iBAAgBxE,MAC1D,MAAOyE,EAASC,GAAcpF,EAAAA,UAAS,GAOvC,OACI0C,EAAAA,IAAC2C,EAAAA,QAAA,CAEGC,QACIH,EACII,EAAAA,KAACtC,EAAA,CACGJ,SAAA,CAAAH,EAAAA,IAAC8C,EAAA,CACGC,MAAM,UACNC,SAAS,UAEZT,KAGLD,EAGR7B,UAAU,MAEVN,SAAA0C,EAAAA,KAACI,EAAAA,OAAA,CACG,YAAU,KACVnC,QAAQ,YACRoC,QAAS,KAAMC,OA1BFC,EA0BkBZ,EAzBvCE,GAAW,QACXW,UAAUC,UAAUC,UAAUH,GAFV,IAACA,GA2BbI,YAAa,IAAMd,GAAW,MAC1B1E,EAEJmC,SAAA,GAAAH,IAACyD,EAAA,CAAU,eAAW,IACtBzD,EAAAA,IAAC,OAAA,CAAKF,UAAW,UAAYK,SAAAmC,mFCWnB,EACxBvB,SACAC,cACAC,UACAC,QACAC,WACAC,QACAC,WACAC,WACAC,WACAC,OACA1B,gBAEA,MAAM4D,cAAEA,EAAAhC,uBAAeA,GAA2BiC,gBAAc,CAC9DzC,QACAC,SAAUA,EAAYS,GAAcT,EAASS,QAAa,EAC1DR,QACAC,WACAC,WACAC,WACAC,SAGF,cACGK,EAAAA,UAAS/B,YACPK,SAAA,CAAAY,KAAUf,IAAC6B,EAAAA,SAASC,OAAT,CAAiB3B,SAAAY,IAC5BC,KAAehB,IAAC6B,EAAAA,SAASE,YAAT,CAAsB5B,SAAAa,IACtCC,EAAQe,IAAKC,GACZjC,EAAAA,IAAC4D,EAAAA,MAAA,CAECzB,MAAOF,EAAOE,MACdnB,YAAaiB,EAAOjB,YACpBK,SAAUY,EAAOZ,YACbqC,EAAczB,EAAOf,QAJpBe,EAAOf,QAOfE,KAASpB,IAACqC,oBAAA,IAAsBX,wBCnFvB,EAAGvB,WAAUL,YAAW+D,UAAS,YAAaC,KAAa9F,MACvE,MAAM+F,EAAahH,EAAMiH,SAASC,QAAQ9D,GAC1C,OAAK4D,EAAWnF,OAEZiE,EAAAA,KAAC,KAAA,CACG/C,UAAWG,EAAGC,EAAgBJ,MAC1B9B,EAEHmC,SAAA,CAAA4D,EACIG,OAAQC,GAAUC,QAAQD,IAC1BE,MAAM,EAAGR,GAAWE,EAAWnF,QAC/BoD,IAAI,CAACmC,EAAOxF,KACT,MAAM2F,EAAMvH,EAAMwH,eAAeJ,IAAuB,MAAbA,EAAMG,IAC3CH,EAAMG,IACN3F,EACN,SAAOqB,IAAC,KAAA,CAAcG,SAAAgE,GAANG,KAEvBT,GAAWA,EAAUE,EAAWnF,UAC7BoB,IAAC,KAAA,CACGG,SAAAH,EAAAA,IAACwE,EAAAA,IAAA,CAAI,YAAWV,GAAY,KACxB3D,SAAA0C,OAAC,OAAA,CAAK1C,SAAA,CAAA,IAAE4D,EAAWnF,OAASiF,YAlBjB,qBCRpB,EAAG1D,WAAUL,eAAc9B,KAElCgC,EAAAA,IAAC,MAAA,CACGF,UAAWG,EAAGC,EAAgBJ,MAC1B9B,EAEHmC","x_google_ignoreList":[0,1,2,3]}
@@ -1 +1 @@
1
- {"version":3,"file":"shared-ui.es.js","sources":["../node_modules/@navikt/aksel-icons/dist/react/esm/util/useId.js","../node_modules/@navikt/aksel-icons/dist/react/esm/Buildings3.js","../node_modules/@navikt/aksel-icons/dist/react/esm/CheckmarkCircleFill.js","../node_modules/@navikt/aksel-icons/dist/react/esm/Files.js","../src/components/org-logo/index.tsx","../src/components/app-bar/index.tsx","../src/components/hstack/index.tsx","../src/components/copy-button/index.tsx","../src/components/vstack/index.tsx","../src/components/helptext/index.tsx","../src/components/tag-list/index.tsx","../src/components/radio-group/index.tsx","../src/components/checkbox-group/index.tsx"],"sourcesContent":["//https://github.com/mui/material-ui/blob/master/packages/mui-utils/src/useId.ts\n/** biome-ignore-all lint/correctness/useHookAtTopLevel: `useId` is invariant at runtime. */\nimport React, { useEffect, useState } from \"react\";\nlet globalId = 0;\nfunction useGlobalId(idOverride) {\n const [defaultId, setDefaultId] = useState(idOverride);\n const id = idOverride || defaultId;\n useEffect(() => {\n if (defaultId == null) {\n // Fallback to this default id when possible.\n // Use the incrementing value for client-side rendering only.\n // We can't use it server-side.\n // If you want to use random values please consider the Birthday Problem: https://en.wikipedia.org/wiki/Birthday_problem\n globalId += 1;\n setDefaultId(`aksel-icon-${globalId}`);\n }\n }, [defaultId]);\n return id;\n}\nconst maybeReactUseId = React[\"useId\" + \"\" // Workaround for https://github.com/webpack/webpack/issues/14814\n];\n/**\n *\n * @example <div id={useId()} />\n * @param idOverride\n * @returns {string}\n */\nexport function useId(idOverride) {\n var _a;\n if (maybeReactUseId !== undefined) {\n const reactId = maybeReactUseId();\n return idOverride !== null && idOverride !== void 0 ? idOverride : reactId.replace(/(:)/g, \"\");\n }\n // eslint-disable-next-line react-hooks/rules-of-hooks -- `useId` is invariant at runtime.\n return (_a = useGlobalId(idOverride)) !== null && _a !== void 0 ? _a : \"\";\n}\n//# sourceMappingURL=useId.js.map","\"use client\";\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React, { forwardRef } from \"react\";\nimport { useId } from \"./util/useId.js\";\nconst SvgBuildings3 = forwardRef((_a, ref) => {\n var { title, titleId: _titleId } = _a, props = __rest(_a, [\"title\", \"titleId\"]);\n let titleId = useId();\n titleId = title ? _titleId ? _titleId : \"title-\" + titleId : undefined;\n return React.createElement(\"svg\", Object.assign({ xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", fill: \"none\", viewBox: \"0 0 24 24\", focusable: false, role: \"img\", ref: ref, \"aria-labelledby\": titleId }, props),\n title ? React.createElement(\"title\", { id: titleId }, title) : null,\n React.createElement(\"path\", { fill: \"currentColor\", fillRule: \"evenodd\", d: \"M6.25 3A.75.75 0 0 1 7 2.25h10a.75.75 0 0 1 .75.75v6.25H21a.75.75 0 0 1 .75.75v11a.75.75 0 0 1-.75.75H3a.75.75 0 0 1-.75-.75V10A.75.75 0 0 1 3 9.25h3.25zm11.5 17.25v-9.5h2.5v9.5zm-1.5-16.5v16.5h-8.5V3.75zm-10 7v9.5h-2.5v-9.5zm3.75-5a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75m3 0a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75m-2.25 6.75a.75.75 0 0 0-1.5 0v2a.75.75 0 0 0 1.5 0zm2.25-.75a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75\", clipRule: \"evenodd\" }));\n});\nexport default SvgBuildings3;\n//# sourceMappingURL=Buildings3.js.map","\"use client\";\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React, { forwardRef } from \"react\";\nimport { useId } from \"./util/useId.js\";\nconst SvgCheckmarkCircleFill = forwardRef((_a, ref) => {\n var { title, titleId: _titleId } = _a, props = __rest(_a, [\"title\", \"titleId\"]);\n let titleId = useId();\n titleId = title ? _titleId ? _titleId : \"title-\" + titleId : undefined;\n return React.createElement(\"svg\", Object.assign({ xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", fill: \"none\", viewBox: \"0 0 24 24\", focusable: false, role: \"img\", ref: ref, \"aria-labelledby\": titleId }, props),\n title ? React.createElement(\"title\", { id: titleId }, title) : null,\n React.createElement(\"path\", { fill: \"currentColor\", fillRule: \"evenodd\", d: \"M12 21.75c5.385 0 9.75-4.365 9.75-9.75S17.385 2.25 12 2.25 2.25 6.615 2.25 12s4.365 9.75 9.75 9.75m4.954-12.475a.813.813 0 0 0-1.24-1.05l-5.389 6.368L7.7 11.967a.812.812 0 0 0-1.15 1.15l3.25 3.25a.81.81 0 0 0 1.195-.05z\", clipRule: \"evenodd\" }));\n});\nexport default SvgCheckmarkCircleFill;\n//# sourceMappingURL=CheckmarkCircleFill.js.map","\"use client\";\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React, { forwardRef } from \"react\";\nimport { useId } from \"./util/useId.js\";\nconst SvgFiles = forwardRef((_a, ref) => {\n var { title, titleId: _titleId } = _a, props = __rest(_a, [\"title\", \"titleId\"]);\n let titleId = useId();\n titleId = title ? _titleId ? _titleId : \"title-\" + titleId : undefined;\n return React.createElement(\"svg\", Object.assign({ xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", fill: \"none\", viewBox: \"0 0 24 24\", focusable: false, role: \"img\", ref: ref, \"aria-labelledby\": titleId }, props),\n title ? React.createElement(\"title\", { id: titleId }, title) : null,\n React.createElement(\"path\", { fill: \"currentColor\", fillRule: \"evenodd\", d: \"M8.25 3.5c0-.69.56-1.25 1.25-1.25H14a.75.75 0 0 1 .53.22l5 5c.141.14.22.331.22.53v8.5c0 .69-.56 1.25-1.25 1.25h-9c-.69 0-1.25-.56-1.25-1.25zm6.25 5.25c-.69 0-1.25-.56-1.25-1.25V3.75h-3.5v12.5h8.5v-7.5zm.25-3.94 2.44 2.44h-2.44zM6.502 7.75H5.75v12.5h8.5v-.748a.75.75 0 0 1 1.5 0v.998c0 .69-.56 1.25-1.25 1.25h-9c-.69 0-1.25-.56-1.25-1.25v-13c0-.69.56-1.25 1.25-1.25h1.002a.75.75 0 1 1 0 1.5\", clipRule: \"evenodd\" }));\n});\nexport default SvgFiles;\n//# sourceMappingURL=Files.js.map","import React from 'react';\nimport cn from 'classnames';\nimport { Buildings3Icon } from '@navikt/aksel-icons';\nimport styles from './styles.module.scss';\n\nexport type OrgLogoProps = {\n orgLogoSrc?: string | null;\n className?: string;\n} & React.HTMLAttributes<HTMLDivElement>;\n\nconst OrgLogo = ({ className, orgLogoSrc, ...props }: OrgLogoProps) => {\n return (\n <div className={cn(styles.orgLogo, className)} {...props}>\n {orgLogoSrc ? (\n <img\n aria-hidden\n src={orgLogoSrc}\n alt=''\n />\n ) : (\n <Buildings3Icon aria-hidden />\n )}\n </div>\n );\n};\n\nexport { OrgLogo };\n","import { OrgLogo } from '../org-logo';\nimport styles from './styles.module.scss';\n\nconst AppBar = () => {\n return (\n <div className={styles.appBar}>\n <OrgLogo />\n </div>\n );\n};\n\nexport { AppBar };","import React from 'react';\nimport cn from 'classnames';\n\nimport styles from './hstack.module.scss';\n\nconst HStack = ({ children, className, ...props }: React.HTMLAttributes<HTMLDivElement>) => {\n return (\n <div\n className={cn(styles.wrapper, className)}\n {...props}\n >\n {children}\n </div>\n );\n};\n\nexport default HStack;\n","'use client';\n\nimport { useState } from 'react';\nimport { Button, type ButtonProps, Tooltip } from '@digdir/designsystemet-react';\nimport { FilesIcon, CheckmarkCircleFillIcon } from '@navikt/aksel-icons';\nimport HStack from '../hstack';\n\ntype CopyButtonProps = {\n copyLabel: string;\n copiedLabel: string;\n copyOnClick: string;\n} & ButtonProps & React.HTMLAttributes<HTMLButtonElement>;\n\nconst CopyButton = ({ copyLabel, copiedLabel, copyOnClick, ...props }: CopyButtonProps) => {\n const [clicked, setClicked] = useState(false);\n\n const copyToClipboard = (text: string) => {\n setClicked(true);\n navigator.clipboard.writeText(text);\n };\n\n return (\n <Tooltip\n // @ts-expect-error: ignore complaint that Element cannot be set as content\n content={\n clicked ? (\n <HStack>\n <CheckmarkCircleFillIcon\n color='#D1F4E1'\n fontSize='1.2em'\n />\n {copiedLabel}\n </HStack>\n ) : (\n copyLabel\n )\n }\n placement='top'\n >\n <Button\n data-size='sm'\n variant='secondary'\n onClick={() => copyToClipboard(copyOnClick)}\n onMouseOver={() => setClicked(false)}\n {...props}\n >\n <FilesIcon aria-hidden />\n <span className={'sr-only'}>{copyLabel}</span>\n </Button>\n </Tooltip>\n );\n};\n\nexport default CopyButton;\n","import React from 'react';\nimport cn from 'classnames';\n\nimport styles from './vstack.module.scss';\n\nconst VStack = ({ children, className, ...props }: React.HTMLAttributes<HTMLDivElement>) => {\n return (\n <div\n className={cn(styles.wrapper, className)}\n {...props}\n >\n {children}\n </div>\n );\n};\n\nexport default VStack;\n","import React from 'react';\nimport { Popover } from '@digdir/designsystemet-react';\nimport styles from './helptext.module.scss';\n\nexport type HelpTextProps = {\n /**\n * Required descriptive label for screen readers.\n **/\n \"aria-label\": string;\n /**\n * Placement of the Popover.\n * @default 'right'\n */\n placement?: \"right\" | \"bottom\" | \"left\" | \"top\";\n } & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"color\">;\n \n export const HelpText = React.forwardRef<HTMLButtonElement, HelpTextProps>(\n function HelpText(\n { placement = \"right\", children, ...rest },\n ref\n ) {\n return (\n <Popover.TriggerContext>\n <Popover.Trigger\n className={styles.helptext}\n ref={ref}\n variant=\"tertiary\"\n data-color=\"info\"\n {...rest}\n />\n <Popover placement={placement} data-color=\"info\">\n {children}\n </Popover>\n </Popover.TriggerContext>\n );\n }\n );","import React from 'react';\nimport cn from 'classnames';\nimport { Tag } from '@digdir/designsystemet-react';\nimport styles from './styles.module.scss';\n\nexport type TagListProps = {\n maxTags?: number;\n 'data-size'?: string;\n};\n\nconst TagList = ({ children, className, maxTags, 'data-size': dataSize, ...props }: TagListProps & React.HTMLAttributes<HTMLUListElement>) => {\n const childArray = React.Children.toArray(children);\n if (!childArray.length) return null;\n return (\n <ul\n className={cn(styles.tagList, className)}\n {...props}\n >\n {childArray\n .filter((child) => Boolean(child))\n .slice(0, maxTags ?? childArray.length)\n .map((child, i) => {\n const key = React.isValidElement(child) && child.key != null \n ? child.key \n : i;\n return <li key={key}>{child}</li>;\n })}\n {maxTags && maxTags < childArray.length && (\n <li>\n <Tag data-size={dataSize || 'sm'}>\n <span>+{childArray.length - maxTags}</span>\n </Tag>\n </li>\n )}\n </ul>\n );\n};\n\nexport default TagList;\n","import React, { type ReactNode } from 'react';\nimport {\n Fieldset,\n Radio,\n ValidationMessage,\n type UseRadioGroupProps,\n useRadioGroup,\n} from '@digdir/designsystemet-react';\n\nexport interface RadioGroupProps extends Omit<UseRadioGroupProps, 'value' | 'onChange'> {\n /**\n * The legend text for the fieldset\n */\n legend?: ReactNode;\n /**\n * Optional description text for the fieldset\n */\n description?: ReactNode;\n /**\n * Array of radio options\n */\n options: Array<{\n value: string;\n label: string;\n description?: string;\n disabled?: boolean;\n }>;\n /**\n * Controlled value - the selected radio value\n */\n value?: string;\n /**\n * Callback when the selected value changes\n */\n onChange?: (value: string) => void;\n /**\n * Optional className for the fieldset\n */\n className?: string;\n}\n\n/**\n * RadioGroup component that wraps multiple Radio components in a Fieldset.\n * Handles state management, onChange, and value automatically.\n *\n * @example\n * <RadioGroup\n * legend=\"Hvilken iskremsmak er best?\"\n * description=\"Velg din favorittsmak\"\n * options={[\n * { value: 'vanilje', label: 'Vanilje' },\n * { value: 'jordbær', label: 'Jordbær' },\n * { value: 'sjokolade', label: 'Sjokolade' },\n * ]}\n * value={selectedValue}\n * onChange={(value) => setSelectedValue(value)}\n * />\n */\nexport const RadioGroup = ({\n legend,\n description,\n options,\n value,\n onChange,\n error,\n disabled,\n readOnly,\n required,\n name,\n className,\n}: RadioGroupProps) => {\n const { getRadioProps, validationMessageProps } = useRadioGroup({\n value,\n onChange: onChange ? (nextValue) => onChange(nextValue) : undefined,\n error,\n disabled,\n readOnly,\n required,\n name,\n });\n\n return (\n <Fieldset className={className}>\n {legend && <Fieldset.Legend>{legend}</Fieldset.Legend>}\n {description && <Fieldset.Description>{description}</Fieldset.Description>}\n {options.map((option) => (\n <Radio\n key={option.value}\n label={option.label}\n description={option.description}\n disabled={option.disabled}\n {...getRadioProps(option.value)}\n />\n ))}\n {error && <ValidationMessage {...validationMessageProps} />}\n </Fieldset>\n );\n};\n\nexport default RadioGroup;\n\n","import React, { type ReactNode } from 'react';\nimport {\n Fieldset,\n Checkbox,\n ValidationMessage,\n type UseCheckboxGroupProps,\n useCheckboxGroup,\n} from '@digdir/designsystemet-react';\n\nexport interface CheckboxGroupProps extends Omit<UseCheckboxGroupProps, 'value' | 'onChange'> {\n /**\n * The legend text for the fieldset\n */\n legend?: ReactNode;\n /**\n * Optional description text for the fieldset\n */\n description?: ReactNode;\n /**\n * Array of checkbox options\n */\n options: Array<{\n value: string;\n label: string;\n description?: string;\n disabled?: boolean;\n allowIndeterminate?: boolean;\n }>;\n /**\n * Controlled value - array of selected checkbox values\n */\n value?: string[];\n /**\n * Callback when the selected values change\n */\n onChange?: (value: string[]) => void;\n /**\n * Optional className for the fieldset\n */\n className?: string;\n}\n\n/**\n * CheckboxGroup component that wraps multiple Checkbox components in a Fieldset.\n * Handles state management, onChange, and value automatically.\n *\n * @example\n * <CheckboxGroup\n * legend=\"Hvordan vil du kontaktes?\"\n * description=\"Velg alle relevante alternativer\"\n * options={[\n * { value: 'epost', label: 'E-post' },\n * { value: 'telefon', label: 'Telefon' },\n * { value: 'sms', label: 'SMS' },\n * ]}\n * value={selectedValues}\n * onChange={(values) => setSelectedValues(values)}\n * />\n */\nexport const CheckboxGroup = ({\n legend,\n description,\n options,\n value,\n onChange,\n error,\n disabled,\n readOnly,\n required,\n name,\n className,\n}: CheckboxGroupProps) => {\n const { getCheckboxProps, validationMessageProps } = useCheckboxGroup({\n value,\n onChange: onChange ? (nextValue) => onChange(nextValue) : undefined,\n error,\n disabled,\n readOnly,\n required,\n name,\n });\n\n return (\n <Fieldset className={className}>\n {legend && <Fieldset.Legend>{legend}</Fieldset.Legend>}\n {description && <Fieldset.Description>{description}</Fieldset.Description>}\n {options.map((option) => (\n <Checkbox\n key={option.value}\n label={option.label}\n description={option.description}\n disabled={option.disabled}\n {...getCheckboxProps({\n value: option.value,\n allowIndeterminate: option.allowIndeterminate,\n })}\n />\n ))}\n {error && <ValidationMessage {...validationMessageProps} />}\n </Fieldset>\n );\n};\n\nexport default CheckboxGroup;\n\n"],"names":["globalId","maybeReactUseId","React","useId","idOverride","_a","replace","defaultId","setDefaultId","useState","id","useEffect","useGlobalId","SvgBuildings3","forwardRef","ref","title","titleId","_titleId","props","s","e","t","p","Object","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","i","length","propertyIsEnumerable","__rest","createElement","assign","xmlns","width","height","fill","viewBox","focusable","role","fillRule","d","clipRule","SvgCheckmarkCircleFill","SvgFiles","OrgLogo","className","orgLogoSrc","jsx","cn","styles","children","src","alt","Buildings3Icon","AppBar","HStack","CopyButton","copyLabel","copiedLabel","copyOnClick","clicked","setClicked","Tooltip","content","jsxs","CheckmarkCircleFillIcon","color","fontSize","placement","Button","variant","onClick","copyToClipboard","text","navigator","clipboard","writeText","onMouseOver","FilesIcon","VStack","HelpText","rest","Popover","TriggerContext","Trigger","TagList","maxTags","dataSize","childArray","Children","toArray","filter","child","Boolean","slice","map","key","isValidElement","Tag","RadioGroup","legend","description","options","value","onChange","error","disabled","readOnly","required","name","getRadioProps","validationMessageProps","useRadioGroup","nextValue","Fieldset","Legend","Description","option","Radio","label","ValidationMessage","CheckboxGroup","getCheckboxProps","useCheckboxGroup","Checkbox","allowIndeterminate"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
1
+ {"version":3,"file":"shared-ui.es.js","sources":["../node_modules/@navikt/aksel-icons/dist/react/esm/util/useId.js","../node_modules/@navikt/aksel-icons/dist/react/esm/Buildings3.js","../node_modules/@navikt/aksel-icons/dist/react/esm/CheckmarkCircleFill.js","../node_modules/@navikt/aksel-icons/dist/react/esm/Files.js","../src/components/org-logo/index.tsx","../src/components/app-bar/index.tsx","../src/components/hstack/index.tsx","../src/components/copy-button/index.tsx","../src/components/vstack/index.tsx","../src/components/helptext/index.tsx","../src/components/tag-list/index.tsx","../src/components/radio-group/index.tsx","../src/components/checkbox-group/index.tsx"],"sourcesContent":["//https://github.com/mui/material-ui/blob/master/packages/mui-utils/src/useId.ts\n/** biome-ignore-all lint/correctness/useHookAtTopLevel: `useId` is invariant at runtime. */\nimport React, { useEffect, useState } from \"react\";\nlet globalId = 0;\nfunction useGlobalId(idOverride) {\n const [defaultId, setDefaultId] = useState(idOverride);\n const id = idOverride || defaultId;\n useEffect(() => {\n if (defaultId == null) {\n // Fallback to this default id when possible.\n // Use the incrementing value for client-side rendering only.\n // We can't use it server-side.\n // If you want to use random values please consider the Birthday Problem: https://en.wikipedia.org/wiki/Birthday_problem\n globalId += 1;\n setDefaultId(`aksel-icon-${globalId}`);\n }\n }, [defaultId]);\n return id;\n}\nconst maybeReactUseId = React[\"useId\" + \"\" // Workaround for https://github.com/webpack/webpack/issues/14814\n];\n/**\n *\n * @example <div id={useId()} />\n * @param idOverride\n * @returns {string}\n */\nexport function useId(idOverride) {\n var _a;\n if (maybeReactUseId !== undefined) {\n const reactId = maybeReactUseId();\n return idOverride !== null && idOverride !== void 0 ? idOverride : reactId.replace(/(:)/g, \"\");\n }\n // eslint-disable-next-line react-hooks/rules-of-hooks -- `useId` is invariant at runtime.\n return (_a = useGlobalId(idOverride)) !== null && _a !== void 0 ? _a : \"\";\n}\n//# sourceMappingURL=useId.js.map","\"use client\";\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React, { forwardRef } from \"react\";\nimport { useId } from \"./util/useId.js\";\nconst SvgBuildings3 = forwardRef((_a, ref) => {\n var { title, titleId: _titleId } = _a, props = __rest(_a, [\"title\", \"titleId\"]);\n let titleId = useId();\n titleId = title ? _titleId ? _titleId : \"title-\" + titleId : undefined;\n return React.createElement(\"svg\", Object.assign({ xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", fill: \"none\", viewBox: \"0 0 24 24\", focusable: false, role: \"img\", ref: ref, \"aria-labelledby\": titleId }, props),\n title ? React.createElement(\"title\", { id: titleId }, title) : null,\n React.createElement(\"path\", { fill: \"currentColor\", fillRule: \"evenodd\", d: \"M6.25 3A.75.75 0 0 1 7 2.25h10a.75.75 0 0 1 .75.75v6.25H21a.75.75 0 0 1 .75.75v11a.75.75 0 0 1-.75.75H3a.75.75 0 0 1-.75-.75V10A.75.75 0 0 1 3 9.25h3.25zm11.5 17.25v-9.5h2.5v9.5zm-1.5-16.5v16.5h-8.5V3.75zm-10 7v9.5h-2.5v-9.5zm3.75-5a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75m3 0a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75m-2.25 6.75a.75.75 0 0 0-1.5 0v2a.75.75 0 0 0 1.5 0zm2.25-.75a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75\", clipRule: \"evenodd\" }));\n});\nexport default SvgBuildings3;\n//# sourceMappingURL=Buildings3.js.map","\"use client\";\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React, { forwardRef } from \"react\";\nimport { useId } from \"./util/useId.js\";\nconst SvgCheckmarkCircleFill = forwardRef((_a, ref) => {\n var { title, titleId: _titleId } = _a, props = __rest(_a, [\"title\", \"titleId\"]);\n let titleId = useId();\n titleId = title ? _titleId ? _titleId : \"title-\" + titleId : undefined;\n return React.createElement(\"svg\", Object.assign({ xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", fill: \"none\", viewBox: \"0 0 24 24\", focusable: false, role: \"img\", ref: ref, \"aria-labelledby\": titleId }, props),\n title ? React.createElement(\"title\", { id: titleId }, title) : null,\n React.createElement(\"path\", { fill: \"currentColor\", fillRule: \"evenodd\", d: \"M12 21.75c5.385 0 9.75-4.365 9.75-9.75S17.385 2.25 12 2.25 2.25 6.615 2.25 12s4.365 9.75 9.75 9.75m4.954-12.475a.813.813 0 0 0-1.24-1.05l-5.389 6.368L7.7 11.967a.812.812 0 0 0-1.15 1.15l3.25 3.25a.81.81 0 0 0 1.195-.05z\", clipRule: \"evenodd\" }));\n});\nexport default SvgCheckmarkCircleFill;\n//# sourceMappingURL=CheckmarkCircleFill.js.map","\"use client\";\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React, { forwardRef } from \"react\";\nimport { useId } from \"./util/useId.js\";\nconst SvgFiles = forwardRef((_a, ref) => {\n var { title, titleId: _titleId } = _a, props = __rest(_a, [\"title\", \"titleId\"]);\n let titleId = useId();\n titleId = title ? _titleId ? _titleId : \"title-\" + titleId : undefined;\n return React.createElement(\"svg\", Object.assign({ xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", fill: \"none\", viewBox: \"0 0 24 24\", focusable: false, role: \"img\", ref: ref, \"aria-labelledby\": titleId }, props),\n title ? React.createElement(\"title\", { id: titleId }, title) : null,\n React.createElement(\"path\", { fill: \"currentColor\", fillRule: \"evenodd\", d: \"M8.25 3.5c0-.69.56-1.25 1.25-1.25H14a.75.75 0 0 1 .53.22l5 5c.141.14.22.331.22.53v8.5c0 .69-.56 1.25-1.25 1.25h-9c-.69 0-1.25-.56-1.25-1.25zm6.25 5.25c-.69 0-1.25-.56-1.25-1.25V3.75h-3.5v12.5h8.5v-7.5zm.25-3.94 2.44 2.44h-2.44zM6.502 7.75H5.75v12.5h8.5v-.748a.75.75 0 0 1 1.5 0v.998c0 .69-.56 1.25-1.25 1.25h-9c-.69 0-1.25-.56-1.25-1.25v-13c0-.69.56-1.25 1.25-1.25h1.002a.75.75 0 1 1 0 1.5\", clipRule: \"evenodd\" }));\n});\nexport default SvgFiles;\n//# sourceMappingURL=Files.js.map","import React from 'react';\nimport cn from 'classnames';\nimport { Buildings3Icon } from '@navikt/aksel-icons';\nimport styles from './styles.module.scss';\n\nexport type OrgLogoProps = {\n orgLogoSrc?: string | null;\n className?: string;\n} & React.HTMLAttributes<HTMLDivElement>;\n\nconst OrgLogo = ({ className, orgLogoSrc, ...props }: OrgLogoProps) => {\n return (\n <div className={cn(styles.orgLogo, className)} {...props}>\n {orgLogoSrc ? (\n <img\n aria-hidden\n src={orgLogoSrc}\n alt=''\n />\n ) : (\n <Buildings3Icon aria-hidden />\n )}\n </div>\n );\n};\n\nexport { OrgLogo };\n","import { OrgLogo } from '../org-logo';\nimport styles from './styles.module.scss';\n\nconst AppBar = () => {\n return (\n <div className={styles.appBar}>\n <OrgLogo />\n </div>\n );\n};\n\nexport { AppBar };","import React from 'react';\nimport cn from 'classnames';\n\nimport styles from './hstack.module.scss';\n\nconst HStack = ({ children, className, ...props }: React.HTMLAttributes<HTMLDivElement>) => {\n return (\n <div\n className={cn(styles.wrapper, className)}\n {...props}\n >\n {children}\n </div>\n );\n};\n\nexport default HStack;\n","'use client';\n\nimport { useState } from 'react';\nimport { Button, type ButtonProps, Tooltip } from '@digdir/designsystemet-react';\nimport { FilesIcon, CheckmarkCircleFillIcon } from '@navikt/aksel-icons';\nimport HStack from '../hstack';\n\ntype CopyButtonProps = {\n copyLabel: string;\n copiedLabel: string;\n copyOnClick: string;\n} & ButtonProps & React.HTMLAttributes<HTMLButtonElement>;\n\nconst CopyButton = ({ copyLabel, copiedLabel, copyOnClick, ...props }: CopyButtonProps) => {\n const [clicked, setClicked] = useState(false);\n\n const copyToClipboard = (text: string) => {\n setClicked(true);\n navigator.clipboard.writeText(text);\n };\n\n return (\n <Tooltip\n // @ts-expect-error: ignore complaint that Element cannot be set as content\n content={\n clicked ? (\n <HStack>\n <CheckmarkCircleFillIcon\n color='#D1F4E1'\n fontSize='1.2em'\n />\n {copiedLabel}\n </HStack>\n ) : (\n copyLabel\n )\n }\n placement='top'\n >\n <Button\n data-size='sm'\n variant='secondary'\n onClick={() => copyToClipboard(copyOnClick)}\n onMouseOver={() => setClicked(false)}\n {...props}\n >\n <FilesIcon aria-hidden />\n <span className={'sr-only'}>{copyLabel}</span>\n </Button>\n </Tooltip>\n );\n};\n\nexport default CopyButton;\n","import React from 'react';\nimport cn from 'classnames';\n\nimport styles from './vstack.module.scss';\n\nconst VStack = ({ children, className, ...props }: React.HTMLAttributes<HTMLDivElement>) => {\n return (\n <div\n className={cn(styles.wrapper, className)}\n {...props}\n >\n {children}\n </div>\n );\n};\n\nexport default VStack;\n","import React from 'react';\nimport { Popover } from '@digdir/designsystemet-react';\nimport styles from './helptext.module.scss';\n\nexport type HelpTextProps = {\n /**\n * Required descriptive label for screen readers.\n **/\n \"aria-label\": string;\n /**\n * Placement of the Popover.\n * @default 'right'\n */\n placement?: \"right\" | \"bottom\" | \"left\" | \"top\";\n } & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"color\">;\n \n export const HelpText = React.forwardRef<HTMLButtonElement, HelpTextProps>(\n function HelpText(\n { placement = \"right\", children, ...rest },\n ref\n ) {\n return (\n <Popover.TriggerContext>\n <Popover.Trigger\n className={styles.helptext}\n ref={ref}\n variant=\"tertiary\"\n data-color=\"info\"\n {...rest}\n />\n <Popover placement={placement} data-color=\"info\">\n {children}\n </Popover>\n </Popover.TriggerContext>\n );\n }\n );","import React from 'react';\nimport cn from 'classnames';\nimport type { Size } from '@digdir/designsystemet-types';\nimport { Tag } from '@digdir/designsystemet-react';\nimport styles from './styles.module.scss';\n\nexport type TagListProps = {\n maxTags?: number;\n 'data-size'?: Size;\n};\n\nconst TagList = ({ children, className, maxTags, 'data-size': dataSize, ...props }: TagListProps & React.HTMLAttributes<HTMLUListElement>) => {\n const childArray = React.Children.toArray(children);\n if (!childArray.length) return null;\n return (\n <ul\n className={cn(styles.tagList, className)}\n {...props}\n >\n {childArray\n .filter((child) => Boolean(child))\n .slice(0, maxTags ?? childArray.length)\n .map((child, i) => {\n const key = React.isValidElement(child) && child.key != null \n ? child.key \n : i;\n return <li key={key}>{child}</li>;\n })}\n {maxTags && maxTags < childArray.length && (\n <li>\n <Tag data-size={dataSize || 'sm'}>\n <span>+{childArray.length - maxTags}</span>\n </Tag>\n </li>\n )}\n </ul>\n );\n};\n\nexport default TagList;\n","import React, { type ReactNode } from 'react';\nimport {\n Fieldset,\n Radio,\n ValidationMessage,\n type UseRadioGroupProps,\n useRadioGroup,\n} from '@digdir/designsystemet-react';\n\nexport interface RadioGroupProps extends Omit<UseRadioGroupProps, 'value' | 'onChange'> {\n /**\n * The legend text for the fieldset\n */\n legend?: ReactNode;\n /**\n * Optional description text for the fieldset\n */\n description?: ReactNode;\n /**\n * Array of radio options\n */\n options: Array<{\n value: string;\n label: string;\n description?: string;\n disabled?: boolean;\n }>;\n /**\n * Controlled value - the selected radio value\n */\n value?: string;\n /**\n * Callback when the selected value changes\n */\n onChange?: (value: string) => void;\n /**\n * Optional className for the fieldset\n */\n className?: string;\n}\n\n/**\n * RadioGroup component that wraps multiple Radio components in a Fieldset.\n * Handles state management, onChange, and value automatically.\n *\n * @example\n * <RadioGroup\n * legend=\"Hvilken iskremsmak er best?\"\n * description=\"Velg din favorittsmak\"\n * options={[\n * { value: 'vanilje', label: 'Vanilje' },\n * { value: 'jordbær', label: 'Jordbær' },\n * { value: 'sjokolade', label: 'Sjokolade' },\n * ]}\n * value={selectedValue}\n * onChange={(value) => setSelectedValue(value)}\n * />\n */\nexport const RadioGroup = ({\n legend,\n description,\n options,\n value,\n onChange,\n error,\n disabled,\n readOnly,\n required,\n name,\n className,\n}: RadioGroupProps) => {\n const { getRadioProps, validationMessageProps } = useRadioGroup({\n value,\n onChange: onChange ? (nextValue) => onChange(nextValue) : undefined,\n error,\n disabled,\n readOnly,\n required,\n name,\n });\n\n return (\n <Fieldset className={className}>\n {legend && <Fieldset.Legend>{legend}</Fieldset.Legend>}\n {description && <Fieldset.Description>{description}</Fieldset.Description>}\n {options.map((option) => (\n <Radio\n key={option.value}\n label={option.label}\n description={option.description}\n disabled={option.disabled}\n {...getRadioProps(option.value)}\n />\n ))}\n {error && <ValidationMessage {...validationMessageProps} />}\n </Fieldset>\n );\n};\n\nexport default RadioGroup;\n\n","import React, { type ReactNode } from 'react';\nimport {\n Fieldset,\n Checkbox,\n ValidationMessage,\n type UseCheckboxGroupProps,\n useCheckboxGroup,\n} from '@digdir/designsystemet-react';\n\nexport interface CheckboxGroupProps extends Omit<UseCheckboxGroupProps, 'value' | 'onChange'> {\n /**\n * The legend text for the fieldset\n */\n legend?: ReactNode;\n /**\n * Optional description text for the fieldset\n */\n description?: ReactNode;\n /**\n * Array of checkbox options\n */\n options: Array<{\n value: string;\n label: string;\n description?: string;\n disabled?: boolean;\n allowIndeterminate?: boolean;\n }>;\n /**\n * Controlled value - array of selected checkbox values\n */\n value?: string[];\n /**\n * Callback when the selected values change\n */\n onChange?: (value: string[]) => void;\n /**\n * Optional className for the fieldset\n */\n className?: string;\n}\n\n/**\n * CheckboxGroup component that wraps multiple Checkbox components in a Fieldset.\n * Handles state management, onChange, and value automatically.\n *\n * @example\n * <CheckboxGroup\n * legend=\"Hvordan vil du kontaktes?\"\n * description=\"Velg alle relevante alternativer\"\n * options={[\n * { value: 'epost', label: 'E-post' },\n * { value: 'telefon', label: 'Telefon' },\n * { value: 'sms', label: 'SMS' },\n * ]}\n * value={selectedValues}\n * onChange={(values) => setSelectedValues(values)}\n * />\n */\nexport const CheckboxGroup = ({\n legend,\n description,\n options,\n value,\n onChange,\n error,\n disabled,\n readOnly,\n required,\n name,\n className,\n}: CheckboxGroupProps) => {\n const { getCheckboxProps, validationMessageProps } = useCheckboxGroup({\n value,\n onChange: onChange ? (nextValue) => onChange(nextValue) : undefined,\n error,\n disabled,\n readOnly,\n required,\n name,\n });\n\n return (\n <Fieldset className={className}>\n {legend && <Fieldset.Legend>{legend}</Fieldset.Legend>}\n {description && <Fieldset.Description>{description}</Fieldset.Description>}\n {options.map((option) => (\n <Checkbox\n key={option.value}\n label={option.label}\n description={option.description}\n disabled={option.disabled}\n {...getCheckboxProps({\n value: option.value,\n allowIndeterminate: option.allowIndeterminate,\n })}\n />\n ))}\n {error && <ValidationMessage {...validationMessageProps} />}\n </Fieldset>\n );\n};\n\nexport default CheckboxGroup;\n\n"],"names":["globalId","maybeReactUseId","React","useId","idOverride","_a","replace","defaultId","setDefaultId","useState","id","useEffect","useGlobalId","SvgBuildings3","forwardRef","ref","title","titleId","_titleId","props","s","e","t","p","Object","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","i","length","propertyIsEnumerable","__rest","createElement","assign","xmlns","width","height","fill","viewBox","focusable","role","fillRule","d","clipRule","SvgCheckmarkCircleFill","SvgFiles","OrgLogo","className","orgLogoSrc","jsx","cn","styles","children","src","alt","Buildings3Icon","AppBar","HStack","CopyButton","copyLabel","copiedLabel","copyOnClick","clicked","setClicked","Tooltip","content","jsxs","CheckmarkCircleFillIcon","color","fontSize","placement","Button","variant","onClick","copyToClipboard","text","navigator","clipboard","writeText","onMouseOver","FilesIcon","VStack","HelpText","rest","Popover","TriggerContext","Trigger","TagList","maxTags","dataSize","childArray","Children","toArray","filter","child","Boolean","slice","map","key","isValidElement","Tag","RadioGroup","legend","description","options","value","onChange","error","disabled","readOnly","required","name","getRadioProps","validationMessageProps","useRadioGroup","nextValue","Fieldset","Legend","Description","option","Radio","label","ValidationMessage","CheckboxGroup","getCheckboxProps","useCheckboxGroup","Checkbox","allowIndeterminate"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
  import { AppBar } from '.';
3
3
  declare const meta: Meta<typeof AppBar>;
4
4
  export default meta;
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
  import CheckboxGroup from '.';
3
3
  declare const meta: Meta<typeof CheckboxGroup>;
4
4
  export default meta;
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
  import CopyButton from '.';
3
3
  declare const meta: Meta<typeof CopyButton>;
4
4
  export default meta;
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
  import { HelpText } from '.';
3
3
  declare const meta: Meta<typeof HelpText>;
4
4
  export default meta;
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
  import HStack from '.';
3
3
  declare const meta: Meta<typeof HStack>;
4
4
  export default meta;
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
  import { OrgLogo } from '.';
3
3
  declare const meta: Meta<typeof OrgLogo>;
4
4
  export default meta;
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
  import RadioGroup from '.';
3
3
  declare const meta: Meta<typeof RadioGroup>;
4
4
  export default meta;
@@ -1,7 +1,8 @@
1
1
  import React from 'react';
2
+ import type { Size } from '@digdir/designsystemet-types';
2
3
  export type TagListProps = {
3
4
  maxTags?: number;
4
- 'data-size'?: string;
5
+ 'data-size'?: Size;
5
6
  };
6
7
  declare const TagList: ({ children, className, maxTags, "data-size": dataSize, ...props }: TagListProps & React.HTMLAttributes<HTMLUListElement>) => import("react/jsx-runtime").JSX.Element | null;
7
8
  export default TagList;
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
  import TagList from '.';
3
3
  declare const meta: Meta<typeof TagList>;
4
4
  export default meta;
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
  import VStack from '.';
3
3
  declare const meta: Meta<typeof VStack>;
4
4
  export default meta;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fellesdatakatalog/ui",
3
- "version": "1.0.20",
3
+ "version": "1.0.24",
4
4
  "description": "React UI components for Felles Datakatalog",
5
5
  "main": "dist/shared-ui.cjs",
6
6
  "module": "dist/shared-ui.es.js",
@@ -53,33 +53,28 @@
53
53
  "react-dom": "^19.1.1"
54
54
  },
55
55
  "devDependencies": {
56
- "@chromatic-com/storybook": "^3.2.7",
56
+ "@chromatic-com/storybook": "^5.0.1",
57
57
  "@digdir/designsystemet-css": "^1.9.0",
58
58
  "@digdir/designsystemet-react": "^1.9.0",
59
59
  "@digdir/designsystemet-theme": "^1.10.0",
60
- "@storybook/addon-essentials": "^8.6.15",
61
- "@storybook/addon-interactions": "^8.6.15",
62
- "@storybook/addon-onboarding": "^8.6.15",
63
- "@storybook/blocks": "^8.6.15",
64
- "@storybook/experimental-addon-test": "^8.6.15",
65
- "@storybook/react": "^8.6.15",
66
- "@storybook/react-vite": "^8.6.15",
67
- "@storybook/test": "^8.6.15",
68
- "@storybook/testing-library": "^0.2.2",
69
- "@types/react": "^19.2.8",
60
+ "@storybook/addon-docs": "^10.2.14",
61
+ "@storybook/addon-onboarding": "^10.2.14",
62
+ "@storybook/addon-vitest": "^10.2.14",
63
+ "@storybook/react-vite": "^10.2.14",
64
+ "@types/react": "^19.2.14",
70
65
  "@types/react-dom": "^19.2.3",
71
66
  "@vitejs/plugin-react": "^4.7.0",
72
67
  "@vitest/browser": "^3.2.4",
73
68
  "@vitest/coverage-v8": "^3.2.4",
74
69
  "concurrently": "^9.2.1",
75
- "playwright": "^1.57.0",
76
- "react": "^19.2.3",
77
- "react-dom": "^19.2.3",
78
- "sass-embedded": "^1.97.2",
79
- "storybook": "^8.6.15",
80
- "terser": "^5.44.1",
70
+ "playwright": "^1.58.2",
71
+ "react": "^19.2.4",
72
+ "react-dom": "^19.2.4",
73
+ "sass-embedded": "^1.97.3",
74
+ "storybook": "^10.2.14",
75
+ "terser": "^5.46.0",
81
76
  "typescript": "^5.9.3",
82
- "vite": "^6.4.1",
77
+ "vite": "^7.3.1",
83
78
  "vite-plugin-dts": "^4.5.4",
84
79
  "vitest": "^3.2.4"
85
80
  },
@@ -88,7 +83,7 @@
88
83
  "classnames": "^2.5.1"
89
84
  },
90
85
  "resolutions": {
91
- "tar": "^7.5.4",
86
+ "tar": ">=7.5.8",
92
87
  "vite": "^7.1.11",
93
88
  "glob": "^10.5.0",
94
89
  "lodash": "^4.17.23"
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
 
3
3
  import { AppBar } from '.';
4
4
 
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
  import { useState } from 'react';
3
3
  import CheckboxGroup from '.';
4
4
 
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
 
3
3
  import CopyButton from '.';
4
4
 
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
 
3
3
  import { HelpText } from '.';
4
4
 
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
 
3
3
  import HStack from '.';
4
4
 
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
 
3
3
  import { OrgLogo } from '.';
4
4
 
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
  import { useState } from 'react';
3
3
  import RadioGroup from '.';
4
4
 
@@ -1,11 +1,12 @@
1
1
  import React from 'react';
2
2
  import cn from 'classnames';
3
+ import type { Size } from '@digdir/designsystemet-types';
3
4
  import { Tag } from '@digdir/designsystemet-react';
4
5
  import styles from './styles.module.scss';
5
6
 
6
7
  export type TagListProps = {
7
8
  maxTags?: number;
8
- 'data-size'?: string;
9
+ 'data-size'?: Size;
9
10
  };
10
11
 
11
12
  const TagList = ({ children, className, maxTags, 'data-size': dataSize, ...props }: TagListProps & React.HTMLAttributes<HTMLUListElement>) => {
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
 
3
3
  import { Tag } from '@digdir/designsystemet-react';
4
4
  import TagList from '.';
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
 
3
3
  import VStack from '.';
4
4