{"version":3,"file":"Link.chunk.8d03ad715377f9212ec9.js","mappings":"6PACA,GAAgB,KAAO,uBAAuB,kBAAkB,uBAAuB,MAAQ,uBAAuB,mBAAmB,uBAAuB,iBAAiB,uBAAuB,aAAe,uBAAuB,0BAA0B,uBAAuB,4BAA4B,uBAAuB,6BAA6B,wB,yxBC+CxW,MAAMA,EAAOC,EAAAA,YAAwE,CAACC,EAAOC,KAChG,MAAM,SAAEC,EAAQ,MAAEC,GAA+BH,EAArBI,EAAgBC,EAAKL,EAAKM,IAChD,KAAEC,EAAI,WAAEC,GAAeJ,EAEvBK,EAAgB,UAAWL,GAAmBM,EAAAA,EAAAA,IAAaN,EAAkB,SAAWA,EAExFO,EAAkBT,QAAAA,EAAa,UAAWF,GAASA,EAAMY,MAE/D,OAAIL,IAASM,EAAAA,EAASC,QAAUN,IAAeO,EAAAA,EAAWC,MAC/CjB,EAAAA,cAACkB,EAAgBC,EAAA,GAAKT,EAAa,CAAEN,MAAOA,EAAOQ,gBAAiBA,EAAiBV,IAAKA,KAG9FF,EAAAA,cAACoB,EAAOD,EAAA,GAAKT,EAAa,CAAEE,gBAAiBA,EAAiBV,IAAKA,IAAO,IAO/EkB,EAAUpB,EAAAA,YAAkD,CAACC,EAAOC,KACtE,MAAM,gBACFU,EAAe,UACfS,EAAS,eACTC,EAAc,KACdd,EAAOM,EAAAA,EAASS,QAAO,QACvBC,EAAUC,EAAAA,EAAYF,QAAO,WAC7Bd,EAAaO,EAAAA,EAAWU,MAAK,WAC7BC,EAAaC,EAAAA,EAAWC,cAAa,WACrCC,EAAaC,EAAAA,EAAWC,MAAK,SAC7BC,GAAW,EAAK,eAChBC,GAAiB,GAEjBjC,EADGkC,EAAe7B,EAClBL,EAAKmC,GAsBT,OACIpC,EAAAA,cAAA,IAAAmB,EAAA,GACQgB,EAAe,CACnBd,UAtBAb,IAASM,EAAAA,EAASC,OACXsB,IACHC,EAAOvC,KACPuC,EAAO,mBACPC,EAAAA,EAAa,YAADC,OAAa/B,IACzB8B,EAAAA,EAAa,YAADC,OAAab,IACzBY,EAAAA,EAAa,YAADC,OAAaV,IACzBT,GAIDgB,IACHC,EAAOvC,KACPuC,EAAO,YAADE,OAAahC,IACP,YAAZgB,GAAyBc,EAAO,YAADE,OAAahB,EAAO,YACnDH,IAQKY,EAAW,CAAEQ,OAAQ,SAAUC,IAAK,uBAA0B,CAAC,EAAC,CACrExC,IAAKA,EACL,aAAW,KAEXF,EAAAA,cAAA,OAAKqB,UAAWgB,IAAWC,EAAOK,MAAOrB,IAAkBV,GAC1DqB,GAAYC,GAAkBlC,EAAAA,cAAC4C,EAAAA,EAAO,CAACC,SAAS,gBAAgBxB,UAAWiB,EAAOQ,eACnF,IAQN5B,EAAmBlB,EAAAA,YAA2D,CAACC,EAAOC,KACxF,MAAM6C,GAAkBC,EAAAA,EAAAA,MAClB,UAAE3B,EAAS,MAAEjB,EAAQ2C,GAAwC9C,EAApBkC,EAAe7B,EAAKL,EAAKgD,IAElE,cAAEC,EAAa,mBAAEC,GAAuB/C,EAE9C,OACIJ,EAAAA,cAACoB,EAAOD,EAAA,GACAgB,EAAe,CACnBd,UAAWgB,IACPc,GAAsBZ,EAAAA,EAAa,oBACnCW,GAAiBX,EAAAA,EAAa,qBAC9BlB,GAEJnB,IAAKA,IACP,G,wDCnIH,IAAKY,EAAQ,SAARA,GAAQ,OAARA,EAAQ,kBAARA,EAAQ,gBAARA,EAAQ,cAARA,CAAQ,K,wDCAb,IAAKW,EAAW,SAAXA,GAAW,OAAXA,EAAW,kBAAXA,EAAW,kBAAXA,EAAW,sBAAXA,EAAW,wBAAXA,CAAW,K","sources":["webpack://Kristiania.Web/./Features/Partials/Link/Link.module.css?85a8","webpack://Kristiania.Web/./Features/Partials/Link/Link.tsx","webpack://Kristiania.Web/./Features/Partials/Link/LinkType.csharp.ts","webpack://Kristiania.Web/./Features/Partials/Link/LinkVariant.csharp.ts"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"Link\":\"XezMfDvRba8HKhHr79wm\",\"Variant--button\":\"UssovIOXlEuxxbOHY4c4\",\"Label\":\"DdPYOTimBd1c8zDeoFgi\",\"Variant--default\":\"BaRcrU5NpyAMFJiitXyJ\",\"Variant--clear\":\"B5Z4_vbRcPt248iwmQXi\",\"ExternalIcon\":\"STANzowJsaT4J9r68lKO\",\"Variant--primaryVariant\":\"Ao72_5IgozgF9TjFNNMg\",\"Variant--secondaryVariant\":\"LJeoDEcvQBM1fqdwcmyQ\",\"Variant--lightBlackVariant\":\"acIUmsBFtHkURrDJnial\"};","import classNames from 'classnames';\nimport * as React from 'react';\nimport type { ReactNode } from 'react';\nimport buttonStyles from '../Button/Button.module.css';\nimport { ButtonSize } from '../Button/ButtonSize.csharp';\nimport { ButtonTier } from '../Button/ButtonTier.csharp';\nimport { ButtonType } from '../Button/ButtonType.csharp';\nimport { SvgIcon } from '../SvgIcon/SvgIcon';\nimport { useTheme } from '~/Features/Layouts/Theme/Context/ThemeContextProvider';\nimport type { StrictOmit } from '~/Partials/Utils/typeUtils';\nimport { omitProperty } from '~/Partials/Utils/utils';\nimport type { Theme } from '~/Utils/Theme';\nimport styles from './Link.module.css';\nimport { LinkType } from './LinkType.csharp';\nimport { LinkVariant } from './LinkVariant.csharp';\nimport type { StyledLinkViewModel } from './StyledLinkViewModel.csharp';\n\nexport interface BaseLinkProps extends StrictOmit {\n theme?: Theme;\n labelClassName?: string;\n}\n\ninterface LinkWithLabel extends BaseLinkProps {\n label: string;\n}\n\ninterface LinkWithChildren extends BaseLinkProps {\n children: ReactNode;\n}\n\ntype NativeLinkAttributes = Pick<\n React.AnchorHTMLAttributes,\n | 'aria-selected'\n | 'aria-controls'\n | 'aria-expanded'\n | 'role'\n | 'aria-haspopup'\n | 'aria-describedby'\n | 'aria-label'\n | 'tabIndex'\n | 'onClick'\n | 'lang'\n | 'download'\n | 'title'\n>;\n\nexport type LinkProps = (LinkWithChildren | LinkWithLabel) & NativeLinkAttributes;\n\nexport const Link = React.forwardRef>((props, ref) => {\n const { children, theme, ...passThroughProps } = props;\n const { type, buttonType } = passThroughProps;\n\n const filteredProps = 'label' in passThroughProps ? omitProperty(passThroughProps, 'label') : passThroughProps;\n\n const elementToRender = children ?? ('label' in props && props.label);\n\n if (type === LinkType.Button && buttonType !== ButtonType.Clear) {\n return ;\n }\n\n return ;\n});\n\ninterface RawLinkProps extends StrictOmit, NativeLinkAttributes {\n elementToRender: ReactNode;\n}\n\nconst RawLink = React.forwardRef((props, ref) => {\n const {\n elementToRender,\n className,\n labelClassName,\n type = LinkType.Default,\n variant = LinkVariant.Default,\n buttonType = ButtonType.Solid,\n buttonTier = ButtonTier.LegacyPrimary,\n buttonSize = ButtonSize.Large,\n external = false,\n showIsExternal = true,\n ...additionalProps\n } = props;\n\n const getLinkClassName = () => {\n if (type === LinkType.Button) {\n return classNames(\n styles.Link,\n styles['Variant--button'],\n buttonStyles[`Variant--${buttonType}`],\n buttonStyles[`Variant--${buttonTier}`],\n buttonStyles[`Variant--${buttonSize}`],\n className\n );\n }\n\n return classNames(\n styles.Link,\n styles[`Variant--${type}`],\n variant !== 'default' && styles[`Variant--${variant}Variant`],\n className\n );\n };\n\n return (\n \n
{elementToRender}
\n {external && showIsExternal && }\n \n );\n});\n\ninterface ThemedButtonLinkProps extends RawLinkProps {\n theme?: Theme;\n}\n\nconst ThemedButtonLink = React.forwardRef((props, ref) => {\n const contextualTheme = useTheme();\n const { className, theme = contextualTheme, ...additionalProps } = props;\n\n const { withBoxShadow, withRoundedCorners } = theme;\n\n return (\n \n );\n});\n","// This code was generated by a Reinforced.Typings tool.\n// Changes to this file may cause incorrect behavior and will be lost if\n// the code is regenerated.\n\nexport enum LinkType {\n\tDefault = \"default\",\n\tButton = \"button\",\n\tClear = \"clear\"\n}\n","// This code was generated by a Reinforced.Typings tool.\n// Changes to this file may cause incorrect behavior and will be lost if\n// the code is regenerated.\n\nexport enum LinkVariant {\n\tDefault = \"default\",\n\tPrimary = \"primary\",\n\tSecondary = \"secondary\",\n\tLightBlack = \"lightBlack\"\n}\n"],"names":["Link","React","props","ref","children","theme","passThroughProps","_objectWithoutProperties","_excluded","type","buttonType","filteredProps","omitProperty","elementToRender","label","LinkType","Button","ButtonType","Clear","ThemedButtonLink","_extends","RawLink","className","labelClassName","Default","variant","LinkVariant","Solid","buttonTier","ButtonTier","LegacyPrimary","buttonSize","ButtonSize","Large","external","showIsExternal","additionalProps","_excluded2","classNames","styles","buttonStyles","concat","target","rel","Label","SvgIcon","iconName","ExternalIcon","contextualTheme","useTheme","_excluded3","withBoxShadow","withRoundedCorners"],"sourceRoot":""}