{"version":3,"sources":["jsdelivr-header.js","/npm/react-textarea-code-editor-2@1.4.17/src/index.tsx"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,kkBCNA,OAAA,wBAAA,QAAA,UAEA,OAAA,QAAA,WACA,WAAA,uBAAA,QAAA,gBACA,OAAA,wBAAA,QAAA,a,yCAGA,eAAA,QAAA,mBAAA,OAAA,KAAA,gBAAA,SAAA,SAAA,GAAA,YAAA,GAAA,eAAA,IAAA,OAAA,UAAA,eAAA,KAAA,aAAA,SAAA,iBAAA,KAAA,eAAA,IAAA,OAAA,eAAA,QAAA,EAAA,CAAA,YAAA,EAAA,IAAA,kBAAA,eAAA,EAAA,Q,oIAsBe,eAAM,YAAyD,SAAC,EAAO,GACpF,IAAA,EAYI,EAXF,iBADF,IAAA,EACc,cADd,EAAA,GAYI,EAVF,MAUE,EATF,gBAHF,IAAA,EAGY,GAHZ,EAAA,EAYI,EARF,iBAJF,IAAA,EAIc,GAJd,EAAA,EAYI,EAPF,cALF,IAAA,OAKW,EALX,EAME,EAME,EANF,YACA,EAKE,EALF,SACA,EAIE,EAJF,UACA,EAGE,EAHF,MACA,EAEE,EAFF,SACG,GAXL,EAAA,0BAAA,SAYI,EAZJ,WAcA,GAA0B,EAAA,OAAA,UAAS,EAAM,OAAS,IAAlD,GAAA,EAAA,gBAAA,SAAA,EAAA,GAAO,EAAP,EAAA,GAAc,EAAd,EAAA,IACA,EAAA,OAAA,YAAU,kBAAM,EAAS,EAAM,OAAS,GAA9B,GAAmC,CAAC,EAAM,QACpD,IAAM,GAAU,EAAA,OAAA,QAA4B,OAC5C,EAAA,OAAA,qBAA8D,GAAK,kBAAM,EAAQ,OAAd,IAEnE,IAAM,EAAe,CACnB,WAAY,EACZ,aAAc,EACd,cAAe,EACf,YAAa,GAGT,GAAU,EAAA,OAAA,UACd,kBACE,EAAA,OAAA,aAAA,+BAAA,OACiC,EAAQ,mBAAA,OAAsB,EAAtB,KAAoC,GAD7E,MAAA,QACoF,EAAA,OAAA,YAChF,OAAO,GAAS,KAFpB,uBAIE,EALJ,GAOA,CAAC,EAAO,IAEJ,GAAU,EAAA,OAAA,UACd,kBACE,EAAA,YAAA,KAAA,OACE,OAAK,EAAA,eAAA,UAAA,EAAA,eAAA,UAAA,EAAA,eAAA,SAAA,GAAO,OAAO,QAAW,GAAzB,IAAuC,cAC5C,UAAS,GAAA,OAAK,EAAL,aAAA,OAA0B,EAAQ,YAAA,OAAe,GAAa,IACvE,wBAAyB,CACvB,OAAQ,IALd,GAUA,CAAC,EAAW,EAAU,IAGxB,OACE,EAAA,YAAA,MAAA,OAAK,OAAK,EAAA,eAAA,UAAA,EAAA,eAAA,SAAA,GAAO,OAAO,WAAc,GAAS,UAAS,GAAA,OAAK,EAAL,KAAA,OAAkB,GAAa,IAAvF,SAAA,EACE,EAAA,YAAA,KAAA,cAAA,eAAA,UAAA,EAAA,eAAA,SAAA,CACE,aAAa,MACb,YAAY,MACZ,WAAW,QACX,eAAe,OACX,GALN,IAME,YAAa,EACb,UAAW,SAAC,IACV,EAAA,WAAA,SAAU,GACV,EAAM,WAAa,EAAM,UAAU,EACpC,EACD,OAAK,EAAA,eAAA,UAAA,EAAA,eAAA,UAAA,EAAA,eAAA,UAAA,EAAA,eAAA,SAAA,GACA,OAAO,QACP,OAAO,UACP,GAHA,IAIH,aACI,IAAgB,EAAQ,CAAE,oBAAqB,WAAc,IAEnE,IAAK,EACL,SAAU,SAAC,GACT,EAAS,EAAI,OAAO,OACpB,GAAY,EAAS,EACtB,EACD,UAAS,GAAA,OAAK,EAAL,SACT,MAAO,KAER,IAGN,I","file":"/npm/react-textarea-code-editor-2@1.4.17/cjs/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/react-textarea-code-editor-2@1.4.17/cjs/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","import React, { useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';\nimport refractor from 'refractor';\nimport { processHtml, htmlEncode } from './utils';\nimport shortcuts from './shortcuts';\nimport * as styles from './styles';\nimport './style/index.less';\n\nexport * from './SelectionText';\n\nexport interface TextareaCodeEditorProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {\n  prefixCls?: string;\n  /**\n   * Set what programming language the code belongs to.\n   */\n  language?: string;\n  /**\n   * Optional padding for code. Default: `10`.\n   */\n  padding?: number;\n  /**\n   * The minimum height of the editor. Default: `16`.\n   */\n  minHeight?: number;\n  /**\n   * A refractor syntax (Prism language definition) to be registered by refractor. Default: `undefined`.\n   */\n  syntax?: refractor.RefractorSyntax;\n}\n\nexport default React.forwardRef<HTMLTextAreaElement, TextareaCodeEditorProps>((props, ref) => {\n  const {\n    prefixCls = 'w-tc-editor',\n    value: _,\n    padding = 10,\n    minHeight = 16,\n    syntax = undefined,\n    placeholder,\n    language,\n    className,\n    style,\n    onChange,\n    ...other\n  } = props;\n\n  const [value, setValue] = useState(props.value || '');\n  useEffect(() => setValue(props.value || ''), [props.value]);\n  const textRef = useRef<HTMLTextAreaElement>(null);\n  useImperativeHandle<HTMLTextAreaElement, HTMLTextAreaElement>(ref, () => textRef.current!);\n\n  const contentStyle = {\n    paddingTop: padding,\n    paddingRight: padding,\n    paddingBottom: padding,\n    paddingLeft: padding,\n  };\n\n  const htmlStr = useMemo(\n    () =>\n      processHtml(\n        `<pre aria-hidden=true><code ${language ? `class=\"language-${language}\"` : ''} >${htmlEncode(\n          String(value || ''),\n        )}</code><br /></pre>`,\n        syntax,\n      ),\n    [value, language],\n  );\n  const preView = useMemo(\n    () => (\n      <div\n        style={{ ...styles.editor, ...contentStyle, minHeight }}\n        className={`${prefixCls}-preview ${language ? `language-${language}` : ''}`}\n        dangerouslySetInnerHTML={{\n          __html: htmlStr,\n        }}\n      />\n    ),\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    [prefixCls, language, htmlStr],\n  );\n\n  return (\n    <div style={{ ...styles.container, ...style }} className={`${prefixCls} ${className || ''}`}>\n      <textarea\n        autoComplete=\"off\"\n        autoCorrect=\"off\"\n        spellCheck=\"false\"\n        autoCapitalize=\"off\"\n        {...other}\n        placeholder={placeholder}\n        onKeyDown={(evn) => {\n          shortcuts(evn);\n          other.onKeyDown && other.onKeyDown(evn);\n        }}\n        style={{\n          ...styles.editor,\n          ...styles.textarea,\n          ...contentStyle,\n          minHeight,\n          ...(placeholder && !value ? { WebkitTextFillColor: 'inherit' } : {}),\n        }}\n        ref={textRef}\n        onChange={(evn) => {\n          setValue(evn.target.value);\n          onChange && onChange(evn);\n        }}\n        className={`${prefixCls}-text`}\n        value={value}\n      />\n      {preView}\n    </div>\n  );\n});\n"]}