{"version":3,"file":"ToggleSwitch.cjs","names":["React","_interopRequireWildcard","require","_TogglerStyles","_","_common","_styledComponents","_jsxRuntime","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","CheckmarkContainer","styled","div","ToggleSwitch","forwardRef","_ref","ref","id","disabled","selected","label","isSemantic","size","onToggle","className","rest","_objectWithoutProperties2","toggle","theme","useTheme","focusVisibleRef","useFocusVisibleRef","useImperativeHandle","current","Size","Medium","jsxs","StyledSwitch","onClick","onKeyDown","key","toString","toLowerCase","concat","$selected","role","tabIndex","children","jsx","ToggleSwitchContainer","SystemIcons","CheckMark","color","COLORS","getColor","htmlFor","_default","exports"],"sources":["../../src/Toggles/ToggleSwitch.tsx"],"sourcesContent":["/**\r\n * Import React libraries.\r\n */\r\nimport * as React from 'react';\r\n\r\n/**\r\n * Import custom types.\r\n */\r\nimport {ToggleSwitchProps} from './TogglerTypes';\r\n\r\n/**\r\n * Import custom styles.\r\n */\r\nimport {ToggleSwitchContainer, ToggleSwitch as Switch, StyledSwitch} from './TogglerStyles';\r\nimport {COLORS, Size, SystemIcons} from '..';\r\nimport {useFocusVisibleRef} from '../common';\r\nimport styled, { useTheme } from \"styled-components\";\r\n\r\nconst CheckmarkContainer =  styled.div`\r\n  position: absolute;\r\n  width: 14px;\r\n  height: 14px;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  left: 2px;\r\n`;\r\n\r\nconst ToggleSwitch = React.forwardRef(({\r\n                                         id,\r\n                                         disabled,\r\n                                         selected,\r\n                                         label,\r\n                                         isSemantic,\r\n                                         size,\r\n                                         onToggle,\r\n                                         className,\r\n                                         ...rest\r\n                                       }: ToggleSwitchProps, ref) => {\r\n  /**\r\n   * Does all required pre-requisites and toggles the switcher state.\r\n   */\r\n  const toggle = () => {\r\n    // If disabled, don't do anything\r\n    if (disabled) return;\r\n\r\n    // Toggle state change\r\n    onToggle(!selected);\r\n  };\r\n\r\n  const theme = useTheme();\r\n\r\n  const focusVisibleRef = useFocusVisibleRef([]);\r\n\r\n  React.useImperativeHandle(ref, () => focusVisibleRef.current, [focusVisibleRef]);\r\n\r\n  size = size ?? Size.Medium;\r\n\r\n  return (\r\n    <StyledSwitch\r\n      ref={focusVisibleRef}\r\n      onClick={(e) => toggle()}\r\n      onKeyDown={e => (e.key === 'Enter' || e.key === ' ') && toggle()}\r\n      className={size\r\n        .toString()\r\n        .toLowerCase()\r\n        .concat(disabled ? ' disabled' : '')\r\n        .concat(className ? ` ${className}` : '')}\r\n      $selected={selected}\r\n      id={id}\r\n      role=\"switch\"\r\n      aria-pressed={selected}\r\n      tabIndex={disabled ? -1 : 0}\r\n      {...rest}>\r\n      <ToggleSwitchContainer id=\"switchContainer\">\r\n        <Switch className={isSemantic ? 'semantic' : ''} >\r\n          {selected && <CheckmarkContainer><SystemIcons.CheckMark size={'14px'} color={COLORS.getColor('white', theme)}/></CheckmarkContainer>}\r\n        </Switch>\r\n      </ToggleSwitchContainer>\r\n      {label && (\r\n        <label className={'label'} htmlFor={id}>\r\n          {label}\r\n        </label>\r\n      )}\r\n    </StyledSwitch>\r\n  );\r\n});\r\n\r\nexport default ToggleSwitch;\r\n"],"mappings":";;;;;;;;;AAGA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAUA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,CAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,iBAAA,GAAAL,uBAAA,CAAAC,OAAA;AAAqD,IAAAK,WAAA,GAAAL,OAAA;AAAA,MAAAM,SAAA;AAhBrD;AACA;AACA;AAGA;AACA;AACA;AAGA;AACA;AACA;AAFA,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAT,wBAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAW,QAAAnB,CAAA,EAAAE,CAAA,QAAAC,CAAA,GAAAQ,MAAA,CAAAS,IAAA,CAAApB,CAAA,OAAAW,MAAA,CAAAU,qBAAA,QAAAC,CAAA,GAAAX,MAAA,CAAAU,qBAAA,CAAArB,CAAA,GAAAE,CAAA,KAAAoB,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAArB,CAAA,WAAAS,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAE,CAAA,EAAAsB,UAAA,OAAArB,CAAA,CAAAsB,IAAA,CAAAC,KAAA,CAAAvB,CAAA,EAAAmB,CAAA,YAAAnB,CAAA;AAAA,SAAAwB,cAAA3B,CAAA,aAAAE,CAAA,MAAAA,CAAA,GAAA0B,SAAA,CAAAC,MAAA,EAAA3B,CAAA,UAAAC,CAAA,WAAAyB,SAAA,CAAA1B,CAAA,IAAA0B,SAAA,CAAA1B,CAAA,QAAAA,CAAA,OAAAiB,OAAA,CAAAR,MAAA,CAAAR,CAAA,OAAA2B,OAAA,WAAA5B,CAAA,QAAA6B,gBAAA,CAAA1B,OAAA,EAAAL,CAAA,EAAAE,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAS,MAAA,CAAAqB,yBAAA,GAAArB,MAAA,CAAAsB,gBAAA,CAAAjC,CAAA,EAAAW,MAAA,CAAAqB,yBAAA,CAAA7B,CAAA,KAAAgB,OAAA,CAAAR,MAAA,CAAAR,CAAA,GAAA2B,OAAA,WAAA5B,CAAA,IAAAS,MAAA,CAAAC,cAAA,CAAAZ,CAAA,EAAAE,CAAA,EAAAS,MAAA,CAAAE,wBAAA,CAAAV,CAAA,EAAAD,CAAA,iBAAAF,CAAA;AAQA,MAAMkC,kBAAkB,GAAIC,yBAAM,CAACC,GAAG;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,YAAY,gBAAG/C,KAAK,CAACgD,UAAU,CAAC,CAAAC,IAAA,EAUuBC,GAAG,KAAK;EAAA,IAV9B;MACEC,EAAE;MACFC,QAAQ;MACRC,QAAQ;MACRC,KAAK;MACLC,UAAU;MACVC,IAAI;MACJC,QAAQ;MACRC;IAEiB,CAAC,GAAAT,IAAA;IADfU,IAAI,OAAAC,yBAAA,CAAA7C,OAAA,EAAAkC,IAAA,EAAAzC,SAAA;EAE9C;AACF;AACA;EACE,MAAMqD,MAAM,GAAGA,CAAA,KAAM;IACnB;IACA,IAAIT,QAAQ,EAAE;;IAEd;IACAK,QAAQ,CAAC,CAACJ,QAAQ,CAAC;EACrB,CAAC;EAED,MAAMS,KAAK,GAAG,IAAAC,0BAAQ,EAAC,CAAC;EAExB,MAAMC,eAAe,GAAG,IAAAC,0BAAkB,EAAC,EAAE,CAAC;EAE9CjE,KAAK,CAACkE,mBAAmB,CAAChB,GAAG,EAAE,MAAMc,eAAe,CAACG,OAAO,EAAE,CAACH,eAAe,CAAC,CAAC;EAEhFR,IAAI,GAAGA,IAAI,IAAIY,MAAI,CAACC,MAAM;EAE1B,oBACE,IAAA9D,WAAA,CAAA+D,IAAA,EAACnE,cAAA,CAAAoE,YAAY,EAAAlC,aAAA,CAAAA,aAAA;IACXa,GAAG,EAAEc,eAAgB;IACrBQ,OAAO,EAAG9D,CAAC,IAAKmD,MAAM,CAAC,CAAE;IACzBY,SAAS,EAAE/D,CAAC,IAAI,CAACA,CAAC,CAACgE,GAAG,KAAK,OAAO,IAAIhE,CAAC,CAACgE,GAAG,KAAK,GAAG,KAAKb,MAAM,CAAC,CAAE;IACjEH,SAAS,EAAEF,IAAI,CACZmB,QAAQ,CAAC,CAAC,CACVC,WAAW,CAAC,CAAC,CACbC,MAAM,CAACzB,QAAQ,GAAG,WAAW,GAAG,EAAE,CAAC,CACnCyB,MAAM,CAACnB,SAAS,GAAG,IAAIA,SAAS,EAAE,GAAG,EAAE,CAAE;IAC5CoB,SAAS,EAAEzB,QAAS;IACpBF,EAAE,EAAEA,EAAG;IACP4B,IAAI,EAAC,QAAQ;IACb,gBAAc1B,QAAS;IACvB2B,QAAQ,EAAE5B,QAAQ,GAAG,CAAC,CAAC,GAAG;EAAE,GACxBO,IAAI;IAAAsB,QAAA,gBACR,IAAA1E,WAAA,CAAA2E,GAAA,EAAC/E,cAAA,CAAAgF,qBAAqB;MAAChC,EAAE,EAAC,iBAAiB;MAAA8B,QAAA,eACzC,IAAA1E,WAAA,CAAA2E,GAAA,EAAC/E,cAAA,CAAA4C,YAAM;QAACW,SAAS,EAAEH,UAAU,GAAG,UAAU,GAAG,EAAG;QAAA0B,QAAA,EAC7C5B,QAAQ,iBAAI,IAAA9C,WAAA,CAAA2E,GAAA,EAACtC,kBAAkB;UAAAqC,QAAA,eAAC,IAAA1E,WAAA,CAAA2E,GAAA,EAAC9E,CAAA,CAAAgF,WAAW,CAACC,SAAS;YAAC7B,IAAI,EAAE,MAAO;YAAC8B,KAAK,EAAEC,QAAM,CAACC,QAAQ,CAAC,OAAO,EAAE1B,KAAK;UAAE,CAAC;QAAC,CAAoB;MAAC,CAC9H;IAAC,CACY,CAAC,EACvBR,KAAK,iBACJ,IAAA/C,WAAA,CAAA2E,GAAA;MAAOxB,SAAS,EAAE,OAAQ;MAAC+B,OAAO,EAAEtC,EAAG;MAAA8B,QAAA,EACpC3B;IAAK,CACD,CACR;EAAA,EACW,CAAC;AAEnB,CAAC,CAAC;AAAC,IAAAoC,QAAA,GAAAC,OAAA,CAAA5E,OAAA,GAEYgC,YAAY","ignoreList":[]}