{"version":3,"file":"Label.cjs","names":["React","_interopRequireWildcard","require","_styles","_types","_styledComponents","_typography","_icons","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Label","styled","label","props","COLORS","generateToken","componentType","defaultVariant","theme","ComponentXXSStyling","BREAKPOINTS","MEDIUM","ComponentXSStyling","LabelRow","div","CopyContainer","TypographyBase","state","LabelRowInner","CopyState","InputLabel","_ref","inputId","text","size","margin","required","requiredProp","showCopyButton","useTheme","setRequired","useState","copyState","setCopyState","Available","useEffect","undefined","document","getElementById","getAttribute","Boolean","onTriggerClick","id","click","copyInputClick","preventDefault","Copied","val","value","window","navigator","clipboard","writeText","setTimeout","jsx","$margin","children","jsxs","$size","htmlFor","onClick","className","SystemIcons","Asterisk","color","Size","Medium","ComponentXS","ComponentXXS","propTypes","_propTypes","string","isRequired","bool","_default","exports"],"sources":["../../src/InputFields/Label.tsx"],"sourcesContent":["/**\r\n * Import React libraries.\r\n */\r\nimport * as React from 'react';\r\n\r\n/**\r\n * Import custom styles.\r\n */\r\nimport { BREAKPOINTS, COLORS } from '../styles';\r\nimport { Size } from '../types';\r\n\r\n/**\r\n * Import third-party libraries.\r\n */\r\nimport styled, { useTheme } from 'styled-components';\r\nimport { ComponentXS, ComponentXSStyling, ComponentXXS, ComponentXXSStyling, TypographyBase } from '../styles/typography';\r\nimport { SystemIcons } from '../icons';\r\n\r\n// Add component-specific styles.\r\nconst Label = styled.label`\r\n  color: ${props => COLORS.generateToken({ componentType: 'text', defaultVariant: 'subtle' }, props.theme)};\r\n  ${props => ComponentXXSStyling(1, null)}\r\n\r\n  ${BREAKPOINTS.MEDIUM} {\r\n    ${props => ComponentXSStyling(1, null)}\r\n  }\r\n\r\n  &.small {\r\n    ${props => ComponentXXSStyling(1, null)}\r\n  }\r\n  &.medium {\r\n    ${props => ComponentXSStyling(1, null)}\r\n  }\r\n\r\n  pointer-events: none;\r\n`;\r\n\r\nconst LabelRow = styled.div<{ $margin?: string }>`\r\n  display: flex;\r\n  align-items: flex-start;\r\n  height: 16px;\r\n  margin-bottom: 4px;\r\n`;\r\n\r\nconst CopyContainer = styled.div`\r\n  margin-left: auto;\r\n\r\n  &:visited:not(.disabled) {\r\n    ${TypographyBase}\r\n    {\r\n      color: ${props => COLORS.generateToken({componentType:'text-link', defaultVariant: 'primary', state: 'active' }, props.theme)};\r\n    }\r\n  }\r\n\r\n  &:hover:not(.disabled),\r\n  &.hover-state:not(.disabled) {\r\n    ${TypographyBase}\r\n    {\r\n      color: ${props => COLORS.generateToken({componentType:'text-link', defaultVariant: 'primary' }, props.theme)};\r\n      text-decoration-line: underline;\r\n    }\r\n  }\r\n\r\n  &:focus:not(.disabled),\r\n  &.focus-state:not(.disabled) {\r\n    ${TypographyBase}\r\n    {\r\n      color: ${props => COLORS.generateToken({componentType:'text-link', defaultVariant: 'primary' }, props.theme)};\r\n      background-color: white;\r\n      text-decoration-line: underline;\r\n    }\r\n  }\r\n\r\n  &:active:not(.disabled),\r\n  &.active-state:not(.disabled) {\r\n    ${TypographyBase}\r\n    {\r\n      color: ${props => COLORS.generateToken({componentType:'text-link', defaultVariant: 'primary' }, props.theme)};\r\n      background-color: white;\r\n      text-decoration-line: underline;\r\n    }\r\n  }\r\n\r\n  &:not(.disabled)\r\n  {\r\n    ${TypographyBase}\r\n    {\r\n      outline: none;\r\n      padding: 2px 0;\r\n      text-decoration-style: solid;\r\n      text-decoration-line: none;\r\n      font-weight: 700;\r\n      color: ${props => COLORS.generateToken({componentType:'text-link', defaultVariant: 'primary' }, props.theme)};\r\n    }\r\n  }\r\n\r\n  &.disabled\r\n  {\r\n    ${TypographyBase}\r\n    {\r\n      outline: none;\r\n      padding: 2px 0;\r\n      text-decoration-style: solid;\r\n      text-decoration-line: none;\r\n      font-weight: 700;\r\n      color: ${props => COLORS.generateToken({componentType:'text-link', defaultVariant: 'primary', state: 'disabled' }, props.theme)};\r\n    }\r\n  }\r\n  cursor: pointer;\r\n`;\r\n\r\nconst LabelRowInner = styled.div<{ $size: Size.Small | Size.Medium | undefined }>`\r\n  display: flex;\r\n  flex-direction: row;\r\n  width: 100%;\r\n  height: 100%;\r\n  align-items: center;\r\n`;\r\n\r\n// Add component-specific types\r\nexport type LabelProps = {\r\n  inputId: string;\r\n  text: string;\r\n  size?: Size.Small | Size.Medium;\r\n  margin?: string;\r\n  required?: boolean;\r\n  showCopyButton?: boolean;\r\n};\r\n\r\nenum CopyState {\r\n  Disabled = 0,\r\n  Available = 1,\r\n  Copied = 2\r\n}\r\n\r\nconst InputLabel: React.FunctionComponent<LabelProps> = ({ inputId, text, size, margin, required: requiredProp, showCopyButton }: LabelProps) => {\r\n  // Globally used variables within the component\r\n  const theme = useTheme();\r\n  const [required, setRequired] = React.useState<boolean>(false);\r\n  const [copyState, setCopyState] = React.useState<CopyState>(CopyState.Available);\r\n\r\n  /**\r\n   * Checks if field is set as required and we have to mark it accordingly.\r\n   */\r\n  React.useEffect(() => {\r\n    if(requiredProp === undefined)\r\n    {\r\n      if (document.getElementById(inputId)?.getAttribute('required') === '') {\r\n        setRequired(true);\r\n      } else {\r\n        setRequired(false);\r\n      }\r\n    }\r\n    else\r\n      setRequired(Boolean(requiredProp));\r\n  }, []);\r\n  /**\r\n   * Triggers a click element on a specific element.\r\n   * @param id - ID of the element which needs to be clicked.\r\n   */\r\n  const onTriggerClick = (id: string): void => {\r\n    document.getElementById(id)?.click();\r\n  };\r\n\r\n  const copyInputClick = (e: any) => {\r\n    e.preventDefault();\r\n    if(copyState == CopyState.Copied)\r\n      return;\r\n    \r\n    const val = (document.getElementById(inputId) as HTMLInputElement)?.value;\r\n    if(val)\r\n    {\r\n      window.navigator.clipboard.writeText(val);\r\n      setCopyState(CopyState.Copied);\r\n      setTimeout(() => {\r\n        setCopyState(CopyState.Available);\r\n      }, 1000);\r\n    }\r\n  };\r\n\r\n  return (\r\n    <LabelRow $margin={margin}>\r\n      <LabelRowInner $size={size}>\r\n        <Label htmlFor={inputId} onClick={() => onTriggerClick(inputId)} className={size || ''}>\r\n          {text}\r\n        </Label>\r\n        {required && <SystemIcons.Asterisk size=\"16px\" color={COLORS.generateToken({ componentType:'icon', defaultVariant:'critical' }, theme)} />}\r\n        {showCopyButton && \r\n        <CopyContainer className={copyState != CopyState.Available ? \"disabled\" : \"\"} onClick={copyInputClick}>\r\n          { size == Size.Medium ? <ComponentXS>{copyState == CopyState.Copied ? 'Copied' : 'Copy'}</ComponentXS> :\r\n          <ComponentXXS>{copyState == CopyState.Copied ? 'Copied' : 'Copy'}</ComponentXXS> }\r\n        </CopyContainer> }\r\n      </LabelRowInner>\r\n    </LabelRow>\r\n  );\r\n};\r\n\r\nexport default InputLabel;\r\n"],"mappings":"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","ignoreList":[]}