@chayns-components/code-highlighter 5.0.0-beta.997 → 5.0.0

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.
@@ -14,8 +14,7 @@ var _codeHighlighter2 = require("../../utils/codeHighlighter");
14
14
  var _CodeHighlighter = require("./CodeHighlighter.styles");
15
15
  var _CopyToClipboard = _interopRequireDefault(require("./copy-to-clipboard/CopyToClipboard"));
16
16
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
18
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
19
18
  const CodeHighlighter = ({
20
19
  theme = _codeHighlighter.CodeHighlighterTheme.Dark,
21
20
  code,
@@ -33,17 +32,24 @@ const CodeHighlighter = ({
33
32
  browser
34
33
  } = (0, _chaynsApi.useDevice)();
35
34
  (0, _react.useEffect)(() => {
36
- if (ref.current) {
37
- const {
38
- children
39
- } = ref.current;
40
- const preElement = Array.from(children).find(({
41
- tagName
42
- }) => tagName.toLowerCase() === 'pre');
43
- if (preElement) {
44
- setWidth(preElement.scrollWidth);
35
+ const handleResize = () => {
36
+ if (ref.current) {
37
+ const {
38
+ children
39
+ } = ref.current;
40
+ const preElement = Array.from(children).find(({
41
+ tagName
42
+ }) => tagName.toLowerCase() === 'pre');
43
+ if (preElement) {
44
+ setWidth(preElement.scrollWidth);
45
+ }
45
46
  }
46
- }
47
+ };
48
+ handleResize();
49
+ window.addEventListener('resize', handleResize);
50
+ return () => {
51
+ window.removeEventListener('resize', handleResize);
52
+ };
47
53
  }, []);
48
54
 
49
55
  // function to style highlighted code
@@ -92,7 +98,7 @@ const CodeHighlighter = ({
92
98
  (0, _react.useEffect)(() => {
93
99
  const elements = document.getElementsByClassName('linenumber');
94
100
  Array.from(elements).forEach(element => {
95
- const wrapper = document.createElement('twIgnore');
101
+ const wrapper = document.createElement('tw-ignore');
96
102
  while (element.firstChild) {
97
103
  wrapper.appendChild(element.firstChild);
98
104
  }
@@ -108,7 +114,7 @@ const CodeHighlighter = ({
108
114
  $codeTheme: theme
109
115
  }, /*#__PURE__*/_react.default.createElement(_CodeHighlighter.StyledCodeHighlighterFileName, {
110
116
  $codeTheme: theme
111
- }, /*#__PURE__*/_react.default.createElement("twIgnore", null, (0, _codeHighlighter2.formatLanguage)(language))), /*#__PURE__*/_react.default.createElement(_CopyToClipboard.default, {
117
+ }, /*#__PURE__*/_react.default.createElement("tw-ignore", null, (0, _codeHighlighter2.formatLanguage)(language))), /*#__PURE__*/_react.default.createElement(_CopyToClipboard.default, {
112
118
  text: code,
113
119
  theme: theme,
114
120
  copyButtonText: copyButtonText
@@ -1 +1 @@
1
- {"version":3,"file":"CodeHighlighter.js","names":["_chaynsApi","require","_standalone","_react","_interopRequireWildcard","_reactSyntaxHighlighter","_prism","_codeHighlighter","_codeHighlighter2","_CodeHighlighter","_CopyToClipboard","_interopRequireDefault","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","CodeHighlighter","theme","CodeHighlighterTheme","Dark","code","copyButtonText","language","highlightedLines","shouldFormatCode","onFormatError","shouldShowLineNumbers","shouldWrapLines","width","setWidth","useState","ref","useRef","browser","useDevice","useEffect","current","children","preElement","Array","from","find","tagName","toLowerCase","scrollWidth","lineWrapper","useCallback","lineNumber","style","backgroundColor","display","borderRadius","added","includes","removed","marked","formattedCode","useMemo","getParserForLanguage","then","config","format","error","elements","document","getElementsByClassName","forEach","element","wrapper","createElement","firstChild","appendChild","StyledCodeHighlighter","$browser","name","$shouldWrapLines","$codeTheme","StyledCodeHighlighterHeader","StyledCodeHighlighterFileName","formatLanguage","text","PrismAsyncLight","showLineNumbers","oneDark","oneLight","wrapLines","wrapLongLines","lineProps","displayName","_default","exports"],"sources":["../../../../src/components/code-highlighter/CodeHighlighter.tsx"],"sourcesContent":["import { BrowserName } from '@chayns-components/core';\nimport { useDevice } from 'chayns-api';\nimport { format } from 'prettier/standalone';\nimport React, { FC, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { PrismAsyncLight as SyntaxHighlighter } from 'react-syntax-highlighter';\nimport { oneDark, oneLight } from 'react-syntax-highlighter/dist/esm/styles/prism';\nimport {\n CodeHighlighterLanguage,\n CodeHighlighterTheme,\n HighlightedLines,\n} from '../../types/codeHighlighter';\nimport { formatLanguage, getParserForLanguage } from '../../utils/codeHighlighter';\nimport {\n StyledCodeHighlighter,\n StyledCodeHighlighterFileName,\n StyledCodeHighlighterHeader,\n} from './CodeHighlighter.styles';\nimport CopyToClipboard from './copy-to-clipboard/CopyToClipboard';\n\nexport type CodeHighlighterProps = {\n /**\n * The code that should be displayed.\n */\n code: string;\n /**\n * The text that should be displayed after the copy button.\n * If not set, just the button is displayed without text.\n */\n copyButtonText?: string;\n /**\n * The lines of code that should be highlighted.\n * Following lines can be highlighted: added, removed and just marked.\n */\n highlightedLines?: HighlightedLines;\n /**\n * The language of the displayed code.\n */\n language: CodeHighlighterLanguage;\n /**\n * Function to be executed when the formatting of the code fails.\n */\n onFormatError?: (error: unknown) => void;\n /**\n * Whether the code should be formatted with prettier.\n */\n shouldFormatCode?: boolean;\n /**\n * Whether the line numbers should be displayed.\n */\n shouldShowLineNumbers?: boolean;\n /**\n * Whether long lines should be wrapped.\n */\n shouldWrapLines?: boolean;\n /**\n * The theme of the code block. Decide between dark and light.\n */\n theme?: CodeHighlighterTheme;\n};\n\nconst CodeHighlighter: FC<CodeHighlighterProps> = ({\n theme = CodeHighlighterTheme.Dark,\n code,\n copyButtonText,\n language,\n highlightedLines,\n shouldFormatCode = false,\n onFormatError,\n shouldShowLineNumbers = false,\n shouldWrapLines,\n}) => {\n const [width, setWidth] = useState(0);\n\n const ref = useRef<HTMLDivElement>(null);\n\n const { browser } = useDevice();\n\n useEffect(() => {\n if (ref.current) {\n const { children } = ref.current;\n\n const preElement = Array.from(children).find(\n ({ tagName }) => tagName.toLowerCase() === 'pre',\n );\n\n if (preElement) {\n setWidth(preElement.scrollWidth);\n }\n }\n }, []);\n\n // function to style highlighted code\n const lineWrapper = useCallback(\n (lineNumber: number) => {\n let style = {\n backgroundColor: 'none',\n display: 'block',\n borderRadius: '2px',\n width: width - 15,\n };\n\n if (highlightedLines?.added && highlightedLines.added.includes(lineNumber)) {\n style = { ...style, backgroundColor: '#2EF29930' };\n } else if (highlightedLines?.removed && highlightedLines.removed.includes(lineNumber)) {\n style = { ...style, backgroundColor: '#F22E5B30' };\n } else if (highlightedLines?.marked && highlightedLines.marked.includes(lineNumber)) {\n style = { ...style, backgroundColor: '#cccccc40' };\n }\n\n return { style };\n },\n [highlightedLines, width],\n );\n\n const formattedCode = useMemo(() => {\n if (language) {\n void getParserForLanguage(language).then((config) => {\n if (shouldFormatCode && config) {\n try {\n return format(code, config) as unknown as string;\n } catch (error) {\n if (typeof onFormatError !== 'undefined') onFormatError(error);\n }\n }\n\n return code;\n });\n }\n\n return code;\n }, [code, language, shouldFormatCode, onFormatError]);\n\n useEffect(() => {\n const elements = document.getElementsByClassName('linenumber');\n\n Array.from(elements).forEach((element) => {\n const wrapper = document.createElement('twIgnore');\n\n while (element.firstChild) {\n wrapper.appendChild(element.firstChild);\n }\n\n element.appendChild(wrapper);\n });\n }, []);\n\n return useMemo(\n () => (\n <StyledCodeHighlighter\n $browser={browser?.name as BrowserName}\n $shouldWrapLines={shouldWrapLines}\n $codeTheme={theme}\n ref={ref}\n >\n <StyledCodeHighlighterHeader $codeTheme={theme}>\n <StyledCodeHighlighterFileName $codeTheme={theme}>\n {/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n {/* @ts-ignore */}\n <twIgnore>{formatLanguage(language)}</twIgnore>\n </StyledCodeHighlighterFileName>\n <CopyToClipboard text={code} theme={theme} copyButtonText={copyButtonText} />\n </StyledCodeHighlighterHeader>\n <SyntaxHighlighter\n language={language ?? ''}\n showLineNumbers={shouldShowLineNumbers}\n style={theme === CodeHighlighterTheme.Dark ? oneDark : oneLight}\n wrapLines\n wrapLongLines={shouldWrapLines}\n lineProps={lineWrapper}\n >\n {formattedCode}\n </SyntaxHighlighter>\n </StyledCodeHighlighter>\n ),\n [\n browser?.name,\n theme,\n language,\n code,\n copyButtonText,\n shouldShowLineNumbers,\n shouldWrapLines,\n lineWrapper,\n formattedCode,\n ],\n );\n};\n\nCodeHighlighter.displayName = 'CodeHighlighter';\n\nexport default CodeHighlighter;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"CodeHighlighter.js","names":["_chaynsApi","require","_standalone","_react","_interopRequireWildcard","_reactSyntaxHighlighter","_prism","_codeHighlighter","_codeHighlighter2","_CodeHighlighter","_CopyToClipboard","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CodeHighlighter","theme","CodeHighlighterTheme","Dark","code","copyButtonText","language","highlightedLines","shouldFormatCode","onFormatError","shouldShowLineNumbers","shouldWrapLines","width","setWidth","useState","ref","useRef","browser","useDevice","useEffect","handleResize","current","children","preElement","Array","from","find","tagName","toLowerCase","scrollWidth","window","addEventListener","removeEventListener","lineWrapper","useCallback","lineNumber","style","backgroundColor","display","borderRadius","added","includes","removed","marked","formattedCode","useMemo","getParserForLanguage","then","config","format","error","elements","document","getElementsByClassName","forEach","element","wrapper","createElement","firstChild","appendChild","StyledCodeHighlighter","$browser","name","$shouldWrapLines","$codeTheme","StyledCodeHighlighterHeader","StyledCodeHighlighterFileName","formatLanguage","text","PrismAsyncLight","showLineNumbers","oneDark","oneLight","wrapLines","wrapLongLines","lineProps","displayName","_default","exports"],"sources":["../../../../src/components/code-highlighter/CodeHighlighter.tsx"],"sourcesContent":["import { BrowserName } from '@chayns-components/core';\nimport { useDevice } from 'chayns-api';\nimport { format } from 'prettier/standalone';\nimport React, { FC, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { PrismAsyncLight as SyntaxHighlighter } from 'react-syntax-highlighter';\nimport { oneDark, oneLight } from 'react-syntax-highlighter/dist/esm/styles/prism';\nimport {\n CodeHighlighterLanguage,\n CodeHighlighterTheme,\n HighlightedLines,\n} from '../../types/codeHighlighter';\nimport { formatLanguage, getParserForLanguage } from '../../utils/codeHighlighter';\nimport {\n StyledCodeHighlighter,\n StyledCodeHighlighterFileName,\n StyledCodeHighlighterHeader,\n} from './CodeHighlighter.styles';\nimport CopyToClipboard from './copy-to-clipboard/CopyToClipboard';\n\nexport type CodeHighlighterProps = {\n /**\n * The code that should be displayed.\n */\n code: string;\n /**\n * The text that should be displayed after the copy button.\n * If not set, just the button is displayed without text.\n */\n copyButtonText?: string;\n /**\n * The lines of code that should be highlighted.\n * Following lines can be highlighted: added, removed and just marked.\n */\n highlightedLines?: HighlightedLines;\n /**\n * The language of the displayed code.\n */\n language: CodeHighlighterLanguage;\n /**\n * Function to be executed when the formatting of the code fails.\n */\n onFormatError?: (error: unknown) => void;\n /**\n * Whether the code should be formatted with prettier.\n */\n shouldFormatCode?: boolean;\n /**\n * Whether the line numbers should be displayed.\n */\n shouldShowLineNumbers?: boolean;\n /**\n * Whether long lines should be wrapped.\n */\n shouldWrapLines?: boolean;\n /**\n * The theme of the code block. Decide between dark and light.\n */\n theme?: CodeHighlighterTheme;\n};\n\nconst CodeHighlighter: FC<CodeHighlighterProps> = ({\n theme = CodeHighlighterTheme.Dark,\n code,\n copyButtonText,\n language,\n highlightedLines,\n shouldFormatCode = false,\n onFormatError,\n shouldShowLineNumbers = false,\n shouldWrapLines,\n}) => {\n const [width, setWidth] = useState(0);\n\n const ref = useRef<HTMLDivElement>(null);\n\n const { browser } = useDevice();\n\n useEffect(() => {\n const handleResize = () => {\n if (ref.current) {\n const { children } = ref.current;\n\n const preElement = Array.from(children).find(\n ({ tagName }) => tagName.toLowerCase() === 'pre',\n );\n\n if (preElement) {\n setWidth(preElement.scrollWidth);\n }\n }\n };\n\n handleResize();\n\n window.addEventListener('resize', handleResize);\n\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, []);\n\n // function to style highlighted code\n const lineWrapper = useCallback(\n (lineNumber: number) => {\n let style = {\n backgroundColor: 'none',\n display: 'block',\n borderRadius: '2px',\n width: width - 15,\n };\n\n if (highlightedLines?.added && highlightedLines.added.includes(lineNumber)) {\n style = { ...style, backgroundColor: '#2EF29930' };\n } else if (highlightedLines?.removed && highlightedLines.removed.includes(lineNumber)) {\n style = { ...style, backgroundColor: '#F22E5B30' };\n } else if (highlightedLines?.marked && highlightedLines.marked.includes(lineNumber)) {\n style = { ...style, backgroundColor: '#cccccc40' };\n }\n\n return { style };\n },\n [highlightedLines, width],\n );\n\n const formattedCode = useMemo(() => {\n if (language) {\n void getParserForLanguage(language).then((config) => {\n if (shouldFormatCode && config) {\n try {\n return format(code, config) as unknown as string;\n } catch (error) {\n if (typeof onFormatError !== 'undefined') onFormatError(error);\n }\n }\n\n return code;\n });\n }\n\n return code;\n }, [code, language, shouldFormatCode, onFormatError]);\n\n useEffect(() => {\n const elements = document.getElementsByClassName('linenumber');\n\n Array.from(elements).forEach((element) => {\n const wrapper = document.createElement('tw-ignore');\n\n while (element.firstChild) {\n wrapper.appendChild(element.firstChild);\n }\n\n element.appendChild(wrapper);\n });\n }, []);\n\n return useMemo(\n () => (\n <StyledCodeHighlighter\n $browser={browser?.name as BrowserName}\n $shouldWrapLines={shouldWrapLines}\n $codeTheme={theme}\n ref={ref}\n >\n <StyledCodeHighlighterHeader $codeTheme={theme}>\n <StyledCodeHighlighterFileName $codeTheme={theme}>\n {/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n {/* @ts-ignore */}\n <tw-ignore>{formatLanguage(language)}</tw-ignore>\n </StyledCodeHighlighterFileName>\n <CopyToClipboard text={code} theme={theme} copyButtonText={copyButtonText} />\n </StyledCodeHighlighterHeader>\n <SyntaxHighlighter\n language={language ?? ''}\n showLineNumbers={shouldShowLineNumbers}\n style={theme === CodeHighlighterTheme.Dark ? oneDark : oneLight}\n wrapLines\n wrapLongLines={shouldWrapLines}\n lineProps={lineWrapper}\n >\n {formattedCode}\n </SyntaxHighlighter>\n </StyledCodeHighlighter>\n ),\n [\n browser?.name,\n theme,\n language,\n code,\n copyButtonText,\n shouldShowLineNumbers,\n shouldWrapLines,\n lineWrapper,\n formattedCode,\n ],\n );\n};\n\nCodeHighlighter.displayName = 'CodeHighlighter';\n\nexport default CodeHighlighter;\n"],"mappings":"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","ignoreList":[]}
@@ -6,8 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.StyledCodeHighlighterHeader = exports.StyledCodeHighlighterFileName = exports.StyledCodeHighlighter = void 0;
7
7
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
8
8
  var _codeHighlighter = require("../../types/codeHighlighter");
9
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
10
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
9
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
11
10
  const StyledCodeHighlighter = exports.StyledCodeHighlighter = _styledComponents.default.div`
12
11
  margin: 4px 0;
13
12
  background-color: ${({
@@ -1 +1 @@
1
- {"version":3,"file":"CodeHighlighter.styles.js","names":["_styledComponents","_interopRequireWildcard","require","_codeHighlighter","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","StyledCodeHighlighter","exports","styled","div","$codeTheme","CodeHighlighterTheme","Dark","$browser","theme","css","$shouldWrapLines","StyledCodeHighlighterHeader","StyledCodeHighlighterFileName","span"],"sources":["../../../../src/components/code-highlighter/CodeHighlighter.styles.ts"],"sourcesContent":["import type { BrowserName, WithTheme } from '@chayns-components/core';\nimport styled, { css } from 'styled-components';\nimport { CodeHighlighterTheme } from '../../types/codeHighlighter';\n\ntype StyledCodeHighlighterProps = WithTheme<{\n $codeTheme: CodeHighlighterTheme;\n $browser: BrowserName;\n $shouldWrapLines?: boolean;\n}>;\n\nexport const StyledCodeHighlighter = styled.div<StyledCodeHighlighterProps>`\n margin: 4px 0;\n background-color: ${({ $codeTheme }) =>\n $codeTheme === CodeHighlighterTheme.Dark ? '#282c34' : '#fafafa'};\n border-radius: 8px;\n padding-bottom: 6px;\n\n pre {\n margin: 0 !important;\n overflow: auto;\n padding: 15px;\n line-height: 1.5;\n\n // Styles for custom scrollbar\n ${({ $browser, theme }: StyledCodeHighlighterProps) =>\n $browser === 'firefox'\n ? css`\n scrollbar-color: rgba(${theme['text-rgb']}, 0.15) transparent;\n scrollbar-width: thin;\n `\n : css`\n &::-webkit-scrollbar {\n height: 5px;\n }\n\n &::-webkit-scrollbar-track {\n background-color: transparent;\n }\n\n &::-webkit-scrollbar-button {\n background-color: transparent;\n height: 5px;\n }\n\n &::-webkit-scrollbar-thumb {\n background-color: rgba(${theme['text-rgb']}, 0.15);\n border-radius: 20px;\n }\n `}\n\n code {\n white-space: ${({ $shouldWrapLines }) =>\n $shouldWrapLines ? 'pre-wrap' : 'pre'} !important;\n }\n }\n\n // Fixes display of tables in code highlighter for markdown.\n .language-markdown .token.table {\n display: inline;\n }\n`;\n\ntype StyledCodeHighlighterHeaderProps = WithTheme<{\n $codeTheme: CodeHighlighterTheme;\n}>;\n\nexport const StyledCodeHighlighterHeader = styled.div<StyledCodeHighlighterHeaderProps>`\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-bottom: 1px solid\n ${({ $codeTheme }) => ($codeTheme === CodeHighlighterTheme.Dark ? '#e5e5e5' : '#999999')};\n padding: 4px 12px;\n`;\n\ntype StyledCodeHighlighterFileNameProps = WithTheme<{\n $codeTheme: CodeHighlighterTheme;\n}>;\n\nexport const StyledCodeHighlighterFileName = styled.span<StyledCodeHighlighterFileNameProps>`\n color: ${({ $codeTheme }) =>\n $codeTheme === CodeHighlighterTheme.Dark ? '#e5e5e5' : '#999999'};\n`;\n"],"mappings":";;;;;;AACA,IAAAA,iBAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AAAmE,SAAAE,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,SAAAJ,wBAAAI,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;AAQ5D,MAAMW,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAGE,yBAAM,CAACC,GAA+B;AAC3E;AACA,wBAAwB,CAAC;EAAEC;AAAW,CAAC,KAC/BA,UAAU,KAAKC,qCAAoB,CAACC,IAAI,GAAG,SAAS,GAAG,SAAS;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,CAAC;EAAEC,QAAQ;EAAEC;AAAkC,CAAC,KAC9CD,QAAQ,KAAK,SAAS,GAChB,IAAAE,qBAAG;AACrB,8CAA8CD,KAAK,CAAC,UAAU,CAAC;AAC/D;AACA,mBAAmB,GACD,IAAAC,qBAAG;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmDD,KAAK,CAAC,UAAU,CAAC;AACpE;AACA;AACA,mBAAmB;AACnB;AACA;AACA,2BAA2B,CAAC;EAAEE;AAAiB,CAAC,KAChCA,gBAAgB,GAAG,UAAU,GAAG,KAAK;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAMM,MAAMC,2BAA2B,GAAAV,OAAA,CAAAU,2BAAA,GAAGT,yBAAM,CAACC,GAAqC;AACvF;AACA;AACA;AACA;AACA,UAAU,CAAC;EAAEC;AAAW,CAAC,KAAMA,UAAU,KAAKC,qCAAoB,CAACC,IAAI,GAAG,SAAS,GAAG,SAAU;AAChG;AACA,CAAC;AAMM,MAAMM,6BAA6B,GAAAX,OAAA,CAAAW,6BAAA,GAAGV,yBAAM,CAACW,IAAwC;AAC5F,aAAa,CAAC;EAAET;AAAW,CAAC,KACpBA,UAAU,KAAKC,qCAAoB,CAACC,IAAI,GAAG,SAAS,GAAG,SAAS;AACxE,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"CodeHighlighter.styles.js","names":["_styledComponents","_interopRequireWildcard","require","_codeHighlighter","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","StyledCodeHighlighter","exports","styled","div","$codeTheme","CodeHighlighterTheme","Dark","$browser","theme","css","$shouldWrapLines","StyledCodeHighlighterHeader","StyledCodeHighlighterFileName","span"],"sources":["../../../../src/components/code-highlighter/CodeHighlighter.styles.ts"],"sourcesContent":["import type { BrowserName, WithTheme } from '@chayns-components/core';\nimport styled, { css } from 'styled-components';\nimport { CodeHighlighterTheme } from '../../types/codeHighlighter';\n\ntype StyledCodeHighlighterProps = WithTheme<{\n $codeTheme: CodeHighlighterTheme;\n $browser: BrowserName;\n $shouldWrapLines?: boolean;\n}>;\n\nexport const StyledCodeHighlighter = styled.div<StyledCodeHighlighterProps>`\n margin: 4px 0;\n background-color: ${({ $codeTheme }) =>\n $codeTheme === CodeHighlighterTheme.Dark ? '#282c34' : '#fafafa'};\n border-radius: 8px;\n padding-bottom: 6px;\n\n pre {\n margin: 0 !important;\n overflow: auto;\n padding: 15px;\n line-height: 1.5;\n\n // Styles for custom scrollbar\n ${({ $browser, theme }: StyledCodeHighlighterProps) =>\n $browser === 'firefox'\n ? css`\n scrollbar-color: rgba(${theme['text-rgb']}, 0.15) transparent;\n scrollbar-width: thin;\n `\n : css`\n &::-webkit-scrollbar {\n height: 5px;\n }\n\n &::-webkit-scrollbar-track {\n background-color: transparent;\n }\n\n &::-webkit-scrollbar-button {\n background-color: transparent;\n height: 5px;\n }\n\n &::-webkit-scrollbar-thumb {\n background-color: rgba(${theme['text-rgb']}, 0.15);\n border-radius: 20px;\n }\n `}\n\n code {\n white-space: ${({ $shouldWrapLines }) =>\n $shouldWrapLines ? 'pre-wrap' : 'pre'} !important;\n }\n }\n\n // Fixes display of tables in code highlighter for markdown.\n .language-markdown .token.table {\n display: inline;\n }\n`;\n\ntype StyledCodeHighlighterHeaderProps = WithTheme<{\n $codeTheme: CodeHighlighterTheme;\n}>;\n\nexport const StyledCodeHighlighterHeader = styled.div<StyledCodeHighlighterHeaderProps>`\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-bottom: 1px solid\n ${({ $codeTheme }) => ($codeTheme === CodeHighlighterTheme.Dark ? '#e5e5e5' : '#999999')};\n padding: 4px 12px;\n`;\n\ntype StyledCodeHighlighterFileNameProps = WithTheme<{\n $codeTheme: CodeHighlighterTheme;\n}>;\n\nexport const StyledCodeHighlighterFileName = styled.span<StyledCodeHighlighterFileNameProps>`\n color: ${({ $codeTheme }) =>\n $codeTheme === CodeHighlighterTheme.Dark ? '#e5e5e5' : '#999999'};\n`;\n"],"mappings":";;;;;;AACA,IAAAA,iBAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AAAmE,SAAAD,wBAAAG,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAL,uBAAA,YAAAA,CAAAG,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAQ5D,MAAMkB,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAGE,yBAAM,CAACC,GAA+B;AAC3E;AACA,wBAAwB,CAAC;EAAEC;AAAW,CAAC,KAC/BA,UAAU,KAAKC,qCAAoB,CAACC,IAAI,GAAG,SAAS,GAAG,SAAS;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,CAAC;EAAEC,QAAQ;EAAEC;AAAkC,CAAC,KAC9CD,QAAQ,KAAK,SAAS,GAChB,IAAAE,qBAAG;AACrB,8CAA8CD,KAAK,CAAC,UAAU,CAAC;AAC/D;AACA,mBAAmB,GACD,IAAAC,qBAAG;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmDD,KAAK,CAAC,UAAU,CAAC;AACpE;AACA;AACA,mBAAmB;AACnB;AACA;AACA,2BAA2B,CAAC;EAAEE;AAAiB,CAAC,KAChCA,gBAAgB,GAAG,UAAU,GAAG,KAAK;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAMM,MAAMC,2BAA2B,GAAAV,OAAA,CAAAU,2BAAA,GAAGT,yBAAM,CAACC,GAAqC;AACvF;AACA;AACA;AACA;AACA,UAAU,CAAC;EAAEC;AAAW,CAAC,KAAMA,UAAU,KAAKC,qCAAoB,CAACC,IAAI,GAAG,SAAS,GAAG,SAAU;AAChG;AACA,CAAC;AAMM,MAAMM,6BAA6B,GAAAX,OAAA,CAAAW,6BAAA,GAAGV,yBAAM,CAACW,IAAwC;AAC5F,aAAa,CAAC;EAAET;AAAW,CAAC,KACpBA,UAAU,KAAKC,qCAAoB,CAACC,IAAI,GAAG,SAAS,GAAG,SAAS;AACxE,CAAC","ignoreList":[]}
@@ -32,7 +32,7 @@ const CopyToClipboard = ({
32
32
  color: theme === _codeHighlighter.CodeHighlighterTheme.Dark ? '#e5e5e5' : '#999999'
33
33
  }), copyButtonText && /*#__PURE__*/_react.default.createElement(_CopyToClipboard.StyledCopyToClipboardText, {
34
34
  $codeTheme: theme
35
- }, /*#__PURE__*/_react.default.createElement("twIgnore", null, copyButtonText))));
35
+ }, /*#__PURE__*/_react.default.createElement("tw-ignore", null, copyButtonText))));
36
36
  };
37
37
  CopyToClipboard.displayName = 'CopyToClipboard';
38
38
  var _default = exports.default = CopyToClipboard;
@@ -1 +1 @@
1
- {"version":3,"file":"CopyToClipboard.js","names":["_core","require","_react","_interopRequireDefault","_codeHighlighter","_CopyToClipboard","e","__esModule","default","CopyToClipboard","copyButtonText","text","theme","handleClick","navigator","clipboard","writeText","popupContent","createElement","style","display","padding","Popup","content","StyledCopyToClipboard","onClick","Icon","icons","color","CodeHighlighterTheme","Dark","StyledCopyToClipboardText","$codeTheme","displayName","_default","exports"],"sources":["../../../../../src/components/code-highlighter/copy-to-clipboard/CopyToClipboard.tsx"],"sourcesContent":["import { Icon, Popup } from '@chayns-components/core';\nimport React, { FC } from 'react';\nimport { CodeHighlighterTheme } from '../../../types/codeHighlighter';\nimport { StyledCopyToClipboard, StyledCopyToClipboardText } from './CopyToClipboard.styles';\n\nexport type CopyToClipboardProps = {\n copyButtonText?: string;\n text: string;\n theme: CodeHighlighterTheme;\n};\n\nconst CopyToClipboard: FC<CopyToClipboardProps> = ({ copyButtonText, text, theme }) => {\n const handleClick = () => {\n void navigator.clipboard.writeText(text);\n };\n\n const popupContent = (\n <span style={{ display: 'block', padding: '5px' }}>\n <p>Kopiert!</p>\n </span>\n );\n\n return (\n <Popup content={popupContent}>\n <StyledCopyToClipboard onClick={handleClick}>\n <Icon\n icons={['fa-light fa-clipboard']}\n color={theme === CodeHighlighterTheme.Dark ? '#e5e5e5' : '#999999'}\n />\n {copyButtonText && (\n <StyledCopyToClipboardText $codeTheme={theme}>\n {/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n {/* @ts-ignore */}\n <twIgnore>{copyButtonText}</twIgnore>\n </StyledCopyToClipboardText>\n )}\n </StyledCopyToClipboard>\n </Popup>\n );\n};\n\nCopyToClipboard.displayName = 'CopyToClipboard';\n\nexport default CopyToClipboard;\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AACA,IAAAI,gBAAA,GAAAJ,OAAA;AAA4F,SAAAE,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAQ5F,MAAMG,eAAyC,GAAGA,CAAC;EAAEC,cAAc;EAAEC,IAAI;EAAEC;AAAM,CAAC,KAAK;EACnF,MAAMC,WAAW,GAAGA,CAAA,KAAM;IACtB,KAAKC,SAAS,CAACC,SAAS,CAACC,SAAS,CAACL,IAAI,CAAC;EAC5C,CAAC;EAED,MAAMM,YAAY,gBACdf,MAAA,CAAAM,OAAA,CAAAU,aAAA;IAAMC,KAAK,EAAE;MAAEC,OAAO,EAAE,OAAO;MAAEC,OAAO,EAAE;IAAM;EAAE,gBAC9CnB,MAAA,CAAAM,OAAA,CAAAU,aAAA,YAAG,UAAW,CACZ,CACT;EAED,oBACIhB,MAAA,CAAAM,OAAA,CAAAU,aAAA,CAAClB,KAAA,CAAAsB,KAAK;IAACC,OAAO,EAAEN;EAAa,gBACzBf,MAAA,CAAAM,OAAA,CAAAU,aAAA,CAACb,gBAAA,CAAAmB,qBAAqB;IAACC,OAAO,EAAEZ;EAAY,gBACxCX,MAAA,CAAAM,OAAA,CAAAU,aAAA,CAAClB,KAAA,CAAA0B,IAAI;IACDC,KAAK,EAAE,CAAC,uBAAuB,CAAE;IACjCC,KAAK,EAAEhB,KAAK,KAAKiB,qCAAoB,CAACC,IAAI,GAAG,SAAS,GAAG;EAAU,CACtE,CAAC,EACDpB,cAAc,iBACXR,MAAA,CAAAM,OAAA,CAAAU,aAAA,CAACb,gBAAA,CAAA0B,yBAAyB;IAACC,UAAU,EAAEpB;EAAM,gBAGzCV,MAAA,CAAAM,OAAA,CAAAU,aAAA,mBAAWR,cAAyB,CACb,CAEZ,CACpB,CAAC;AAEhB,CAAC;AAEDD,eAAe,CAACwB,WAAW,GAAG,iBAAiB;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAA3B,OAAA,GAEjCC,eAAe","ignoreList":[]}
1
+ {"version":3,"file":"CopyToClipboard.js","names":["_core","require","_react","_interopRequireDefault","_codeHighlighter","_CopyToClipboard","e","__esModule","default","CopyToClipboard","copyButtonText","text","theme","handleClick","navigator","clipboard","writeText","popupContent","createElement","style","display","padding","Popup","content","StyledCopyToClipboard","onClick","Icon","icons","color","CodeHighlighterTheme","Dark","StyledCopyToClipboardText","$codeTheme","displayName","_default","exports"],"sources":["../../../../../src/components/code-highlighter/copy-to-clipboard/CopyToClipboard.tsx"],"sourcesContent":["import { Icon, Popup } from '@chayns-components/core';\nimport React, { FC } from 'react';\nimport { CodeHighlighterTheme } from '../../../types/codeHighlighter';\nimport { StyledCopyToClipboard, StyledCopyToClipboardText } from './CopyToClipboard.styles';\n\nexport type CopyToClipboardProps = {\n copyButtonText?: string;\n text: string;\n theme: CodeHighlighterTheme;\n};\n\nconst CopyToClipboard: FC<CopyToClipboardProps> = ({ copyButtonText, text, theme }) => {\n const handleClick = () => {\n void navigator.clipboard.writeText(text);\n };\n\n const popupContent = (\n <span style={{ display: 'block', padding: '5px' }}>\n <p>Kopiert!</p>\n </span>\n );\n\n return (\n <Popup content={popupContent}>\n <StyledCopyToClipboard onClick={handleClick}>\n <Icon\n icons={['fa-light fa-clipboard']}\n color={theme === CodeHighlighterTheme.Dark ? '#e5e5e5' : '#999999'}\n />\n {copyButtonText && (\n <StyledCopyToClipboardText $codeTheme={theme}>\n {/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n {/* @ts-ignore */}\n <tw-ignore>{copyButtonText}</tw-ignore>\n </StyledCopyToClipboardText>\n )}\n </StyledCopyToClipboard>\n </Popup>\n );\n};\n\nCopyToClipboard.displayName = 'CopyToClipboard';\n\nexport default CopyToClipboard;\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AACA,IAAAI,gBAAA,GAAAJ,OAAA;AAA4F,SAAAE,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAQ5F,MAAMG,eAAyC,GAAGA,CAAC;EAAEC,cAAc;EAAEC,IAAI;EAAEC;AAAM,CAAC,KAAK;EACnF,MAAMC,WAAW,GAAGA,CAAA,KAAM;IACtB,KAAKC,SAAS,CAACC,SAAS,CAACC,SAAS,CAACL,IAAI,CAAC;EAC5C,CAAC;EAED,MAAMM,YAAY,gBACdf,MAAA,CAAAM,OAAA,CAAAU,aAAA;IAAMC,KAAK,EAAE;MAAEC,OAAO,EAAE,OAAO;MAAEC,OAAO,EAAE;IAAM;EAAE,gBAC9CnB,MAAA,CAAAM,OAAA,CAAAU,aAAA,YAAG,UAAW,CACZ,CACT;EAED,oBACIhB,MAAA,CAAAM,OAAA,CAAAU,aAAA,CAAClB,KAAA,CAAAsB,KAAK;IAACC,OAAO,EAAEN;EAAa,gBACzBf,MAAA,CAAAM,OAAA,CAAAU,aAAA,CAACb,gBAAA,CAAAmB,qBAAqB;IAACC,OAAO,EAAEZ;EAAY,gBACxCX,MAAA,CAAAM,OAAA,CAAAU,aAAA,CAAClB,KAAA,CAAA0B,IAAI;IACDC,KAAK,EAAE,CAAC,uBAAuB,CAAE;IACjCC,KAAK,EAAEhB,KAAK,KAAKiB,qCAAoB,CAACC,IAAI,GAAG,SAAS,GAAG;EAAU,CACtE,CAAC,EACDpB,cAAc,iBACXR,MAAA,CAAAM,OAAA,CAAAU,aAAA,CAACb,gBAAA,CAAA0B,yBAAyB;IAACC,UAAU,EAAEpB;EAAM,gBAGzCV,MAAA,CAAAM,OAAA,CAAAU,aAAA,oBAAYR,cAA0B,CACf,CAEZ,CACpB,CAAC;AAEhB,CAAC;AAEDD,eAAe,CAACwB,WAAW,GAAG,iBAAiB;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAA3B,OAAA,GAEjCC,eAAe","ignoreList":[]}
@@ -4,8 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getParserForLanguage = exports.formatLanguage = void 0;
7
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
8
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
7
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
9
8
  const PARSER_MAP = {
10
9
  'babel-ts': () => Promise.resolve().then(() => _interopRequireWildcard(require('prettier/parser-babel'))),
11
10
  html: () => Promise.resolve().then(() => _interopRequireWildcard(require('prettier/parser-html'))),
@@ -1 +1 @@
1
- {"version":3,"file":"codeHighlighter.js","names":["PARSER_MAP","babel-ts","Promise","resolve","then","_interopRequireWildcard","require","html","css","markdown","graphql","yaml","getParserForLanguage","language","parser","includes","plugin","default","trailingComma","bracketSpacing","singleQuote","jsxSingleQuote","bracketSameLine","arrowParens","proseWrap","plugins","undefined","exports","formatLanguage","formattedLanguage","abap","abnf","actionscript","ada","agda","al","antlr4","apacheconf","apex","apl","applescript","aql","arduino","arff","asciidoc","asm6502","asmatmel","aspnet","autohotkey","autoit","avisynth","avroIdl","bash","basic","batch","bbcode","bicep","birb","bison","bnf","brainfuck","brightscript","bro","bsl","c","cfscript","chaiscript","cil","clike","clojure","cmake","cobol","coffeescript","concurnas","coq","cpp","crystal","csharp","cshtml","csp","cssExtras","csv","cypher","d","dart","dataweave","dax","dhall","diff","django","dnsZoneFile","docker","dot","ebnf","editorconfig","eiffel","ejs","elixir","elm","erb","erlang","etlua","excelFormula","factor","falselang","firestoreSecurityRules","flow","fortran","fsharp","ftl","gap","gcode","gdscript","gedcom","gherkin","git","glsl","gml","gn","goModule","go","groovy","haml","handlebars","haskell","haxe","hcl","hlsl","hoon","hpkp","hsts","http","ichigojam","icon","icuMessageFormat","idris","iecst","ignore","inform7","ini","io","j","java","javadoc","javadoclike","javascript","javastacktrace","jexl","jolie","jq","jsExtras","jsTemplates","jsdoc","json","json5","jsonp","jsstacktrace","jsx","julia","keepalived","keyman","kotlin","kumir","kusto","latex","latte","less","lilypond","liquid","lisp","livescript","llvm","log","lolcode","lua","magma","makefile","markupTemplating","markup","matlab","maxscript","mel","mermaid","mizar","mongodb","monkey","moonscript","n1ql","n4js","nand2tetrisHdl","naniscript","nasm","neon","nevod","nginx","nim","nix","nsis","objectivec","ocaml","opencl","openqasm","oz","parigp","pascal","pascaligo","pcaxis","peoplecode","perl","phpExtras","php","phpdoc","plsql","powerquery","powershell","processing","prolog","promql","properties","protobuf","psl","pug","puppet","pure","purebasic","purescript","python","q","qml","qore","qsharp","r","racket","reason","regex","rego","renpy","rest","rip","roboconf","robotframework","ruby","rust","sas","sass","scala","scheme","scss","shellSession","smali","smalltalk","smarty","sml","solidity","solutionFile","soy","sparql","splunkSpl","sqf","sql","squirrel","stan","stylus","swift","systemd","t4Cs","t4Templating","t4Vb","tap","tcl","textile","toml","tremor","tsx","tt2","turtle","twig","typescript","typoscript","unrealscript","uorazor","uri","v","vala","vbnet","velocity","verilog","vhdl","vim","visualBasic","warpscript","wasm","webIdl","wiki","wolfram","wren","xeora","xmlDoc","xojo","xquery","yang","zig"],"sources":["../../../src/utils/codeHighlighter.ts"],"sourcesContent":["import type { Options } from 'prettier';\nimport { CodeHighlighterLanguage } from '../types/codeHighlighter';\n\ntype ParserType = 'babel-ts' | 'html' | 'css' | 'markdown' | 'graphql' | 'yaml';\n\ntype ParserMap = Record<ParserType, () => Promise<{ default: unknown }>>;\n\nconst PARSER_MAP: ParserMap = {\n 'babel-ts': () => import('prettier/parser-babel'),\n html: () => import('prettier/parser-html'),\n css: () => import('prettier/parser-postcss'),\n markdown: () => import('prettier/parser-markdown'),\n graphql: () => import('prettier/parser-graphql'),\n yaml: () => import('prettier/parser-yaml'),\n};\n\nexport const getParserForLanguage = async (\n language: CodeHighlighterLanguage = ''\n): Promise<Options | undefined> => {\n let parser: ParserType | undefined;\n\n if (['tsx', 'jsx', 'typescript', 'javascript'].includes(language)) {\n parser = 'babel-ts';\n } else if (['html'].includes(language)) {\n parser = 'html';\n } else if (['css', 'less', 'scss'].includes(language)) {\n parser = 'css';\n } else if (['markdown'].includes(language)) {\n parser = 'markdown';\n } else if (['graphql'].includes(language)) {\n parser = 'graphql';\n } else if (['yaml'].includes(language)) {\n parser = 'yaml';\n }\n\n if (parser && PARSER_MAP[parser]) {\n const plugin = (await PARSER_MAP[parser]()).default;\n\n return {\n trailingComma: 'all',\n bracketSpacing: true,\n singleQuote: true,\n jsxSingleQuote: true,\n bracketSameLine: false,\n arrowParens: 'always',\n proseWrap: 'always',\n parser,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n plugins: [plugin],\n };\n }\n\n return undefined;\n};\n\nexport const formatLanguage = (language: CodeHighlighterLanguage): string => {\n if (!language) {\n return '';\n }\n\n const formattedLanguage: { [key: string]: string } = {\n abap: 'ABAP',\n abnf: 'ABNF',\n actionscript: 'ActionScript',\n ada: 'Ada',\n agda: 'Agda',\n al: 'AL',\n antlr4: 'ANTLR4',\n apacheconf: 'ApacheConf',\n apex: 'Apex',\n apl: 'APL',\n applescript: 'AppleScript',\n aql: 'AQL',\n arduino: 'Arduino',\n arff: 'ARFF',\n asciidoc: 'AsciiDoc',\n asm6502: 'ASM6502',\n asmatmel: 'ASMatmel',\n aspnet: 'ASP.NET',\n autohotkey: 'AutoHotKey',\n autoit: 'AutoIt',\n avisynth: 'AviSynth',\n avroIdl: 'Avro IDL',\n bash: 'Bash',\n basic: 'Basic',\n batch: 'Batch',\n bbcode: 'BBCode',\n bicep: 'Bicep',\n birb: 'Birb',\n bison: 'Bison',\n bnf: 'BNF',\n brainfuck: 'Brainfuck',\n brightscript: 'BrightScript',\n bro: 'Bro',\n bsl: 'BSL',\n c: 'C',\n cfscript: 'CFScript',\n chaiscript: 'ChaiScript',\n cil: 'CIL',\n clike: 'C-like',\n clojure: 'Clojure',\n cmake: 'CMake',\n cobol: 'COBOL',\n coffeescript: 'CoffeeScript',\n concurnas: 'Concurnas',\n coq: 'Coq',\n cpp: 'C++',\n crystal: 'Crystal',\n csharp: 'C#',\n cshtml: 'CSHTML',\n csp: 'CSP',\n cssExtras: 'CSS Extras',\n css: 'CSS',\n csv: 'CSV',\n cypher: 'Cypher',\n d: 'D',\n dart: 'Dart',\n dataweave: 'DataWeave',\n dax: 'DAX',\n dhall: 'Dhall',\n diff: 'Diff',\n django: 'Django',\n dnsZoneFile: 'DNS Zone File',\n docker: 'Docker',\n dot: 'DOT',\n ebnf: 'EBNF',\n editorconfig: 'EditorConfig',\n eiffel: 'Eiffel',\n ejs: 'EJS',\n elixir: 'Elixir',\n elm: 'Elm',\n erb: 'ERB',\n erlang: 'Erlang',\n etlua: 'ETLua',\n excelFormula: 'Excel Formula',\n factor: 'Factor',\n falselang: 'Falselang',\n firestoreSecurityRules: 'Firestore Security Rules',\n flow: 'Flow',\n fortran: 'Fortran',\n fsharp: 'F#',\n ftl: 'FTL',\n gap: 'GAP',\n gcode: 'G-code',\n gdscript: 'GDScript',\n gedcom: 'GEDCOM',\n gherkin: 'Gherkin',\n git: 'Git',\n glsl: 'GLSL',\n gml: 'GML',\n gn: 'GN',\n goModule: 'Go Module',\n go: 'Go',\n graphql: 'GraphQL',\n groovy: 'Groovy',\n haml: 'Haml',\n handlebars: 'Handlebars',\n haskell: 'Haskell',\n haxe: 'Haxe',\n hcl: 'HCL',\n hlsl: 'HLSL',\n hoon: 'Hoon',\n hpkp: 'HPKP',\n hsts: 'HSTS',\n html: 'HTML',\n http: 'HTTP',\n ichigojam: 'IchigoJam',\n icon: 'Icon',\n icuMessageFormat: 'ICU Message Format',\n idris: 'Idris',\n iecst: 'IECST',\n ignore: 'Ignore',\n inform7: 'Inform7',\n ini: 'INI',\n io: 'Io',\n j: 'J',\n java: 'Java',\n javadoc: 'Javadoc',\n javadoclike: 'Javadoc-like',\n javascript: 'JavaScript',\n javastacktrace: 'Java Stack Trace',\n jexl: 'JEXL',\n jolie: 'Jolie',\n jq: 'jq',\n jsExtras: 'JS Extras',\n jsTemplates: 'JS Templates',\n jsdoc: 'JSDoc',\n json: 'JSON',\n json5: 'JSON5',\n jsonp: 'JSONP',\n jsstacktrace: 'JS Stack Trace',\n jsx: 'JSX',\n julia: 'Julia',\n keepalived: 'Keepalived',\n keyman: 'Keyman',\n kotlin: 'Kotlin',\n kumir: 'KuMir',\n kusto: 'Kusto',\n latex: 'LaTeX',\n latte: 'Latte',\n less: 'Less',\n lilypond: 'LilyPond',\n liquid: 'Liquid',\n lisp: 'Lisp',\n livescript: 'LiveScript',\n llvm: 'LLVM',\n log: 'Log',\n lolcode: 'LOLCODE',\n lua: 'Lua',\n magma: 'Magma',\n makefile: 'Makefile',\n markdown: 'Markdown',\n markupTemplating: 'Markup Templating',\n markup: 'Markup',\n matlab: 'MATLAB',\n maxscript: 'MAXScript',\n mel: 'MEL',\n mermaid: 'Mermaid',\n mizar: 'Mizar',\n mongodb: 'MongoDB',\n monkey: 'Monkey',\n moonscript: 'MoonScript',\n n1ql: 'N1QL',\n n4js: 'N4JS',\n nand2tetrisHdl: 'Nand2Tetris HDL',\n naniscript: 'NaninScript',\n nasm: 'NASM',\n neon: 'NEON',\n nevod: 'NevoD',\n nginx: 'Nginx',\n nim: 'Nim',\n nix: 'Nix',\n nsis: 'NSIS',\n objectivec: 'Objective-C',\n ocaml: 'OCaml',\n opencl: 'OpenCL',\n openqasm: 'OpenQasm',\n oz: 'Oz',\n parigp: 'PARI/GP',\n parser: 'Parser',\n pascal: 'Pascal',\n pascaligo: 'Pascaligo',\n pcaxis: 'PC-Axis',\n peoplecode: 'PeopleCode',\n perl: 'Perl',\n phpExtras: 'PHP Extras',\n php: 'PHP',\n phpdoc: 'PHPDoc',\n plsql: 'PL/SQL',\n powerquery: 'PowerQuery',\n powershell: 'PowerShell',\n processing: 'Processing',\n prolog: 'Prolog',\n promql: 'PromQL',\n properties: 'Properties',\n protobuf: 'Protocol Buffers',\n psl: 'PSL',\n pug: 'Pug',\n puppet: 'Puppet',\n pure: 'Pure',\n purebasic: 'PureBasic',\n purescript: 'PureScript',\n python: 'Python',\n q: 'Q',\n qml: 'QML',\n qore: 'Qore',\n qsharp: 'Q#',\n r: 'R',\n racket: 'Racket',\n reason: 'Reason',\n regex: 'RegExp',\n rego: 'Rego',\n renpy: 'RenPy',\n rest: 'reST',\n rip: 'Rip',\n roboconf: 'Roboconf',\n robotframework: 'Robot Framework',\n ruby: 'Ruby',\n rust: 'Rust',\n sas: 'SAS',\n sass: 'Sass',\n scala: 'Scala',\n scheme: 'Scheme',\n scss: 'SCSS',\n shellSession: 'Shell Session',\n smali: 'Smali',\n smalltalk: 'Smalltalk',\n smarty: 'Smarty',\n sml: 'SML',\n solidity: 'Solidity',\n solutionFile: 'Solution File',\n soy: 'Soy',\n sparql: 'SPARQL',\n splunkSpl: 'Splunk SPL',\n sqf: 'SQF',\n sql: 'SQL',\n squirrel: 'Squirrel',\n stan: 'Stan',\n stylus: 'Stylus',\n swift: 'Swift',\n systemd: 'systemd',\n t4Cs: 'T4CS',\n t4Templating: 'T4 Templating',\n t4Vb: 'T4VB',\n tap: 'TAP',\n tcl: 'Tcl',\n textile: 'Textile',\n toml: 'TOML',\n tremor: 'Tremor',\n tsx: 'TSX',\n tt2: 'TT2',\n turtle: 'Turtle',\n twig: 'Twig',\n typescript: 'TypeScript',\n typoscript: 'TypoScript',\n unrealscript: 'UnrealScript',\n uorazor: 'Uorazor',\n uri: 'URI',\n v: 'V',\n vala: 'Vala',\n vbnet: 'VB.NET',\n velocity: 'Velocity',\n verilog: 'Verilog',\n vhdl: 'VHDL',\n vim: 'Vim',\n visualBasic: 'Visual Basic',\n warpscript: 'WarpScript',\n wasm: 'WebAssembly',\n webIdl: 'WebIDL',\n wiki: 'Wiki',\n wolfram: 'Wolfram',\n wren: 'Wren',\n xeora: 'Xeora',\n xmlDoc: 'XML Doc',\n xojo: 'Xojo',\n xquery: 'XQuery',\n yaml: 'YAML',\n yang: 'YANG',\n zig: 'Zig',\n };\n\n return formattedLanguage[language] || language;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"codeHighlighter.js","names":["PARSER_MAP","babel-ts","Promise","resolve","then","_interopRequireWildcard","require","html","css","markdown","graphql","yaml","getParserForLanguage","language","parser","includes","plugin","default","trailingComma","bracketSpacing","singleQuote","jsxSingleQuote","bracketSameLine","arrowParens","proseWrap","plugins","undefined","exports","formatLanguage","formattedLanguage","abap","abnf","actionscript","ada","agda","al","antlr4","apacheconf","apex","apl","applescript","aql","arduino","arff","asciidoc","asm6502","asmatmel","aspnet","autohotkey","autoit","avisynth","avroIdl","bash","basic","batch","bbcode","bicep","birb","bison","bnf","brainfuck","brightscript","bro","bsl","c","cfscript","chaiscript","cil","clike","clojure","cmake","cobol","coffeescript","concurnas","coq","cpp","crystal","csharp","cshtml","csp","cssExtras","csv","cypher","d","dart","dataweave","dax","dhall","diff","django","dnsZoneFile","docker","dot","ebnf","editorconfig","eiffel","ejs","elixir","elm","erb","erlang","etlua","excelFormula","factor","falselang","firestoreSecurityRules","flow","fortran","fsharp","ftl","gap","gcode","gdscript","gedcom","gherkin","git","glsl","gml","gn","goModule","go","groovy","haml","handlebars","haskell","haxe","hcl","hlsl","hoon","hpkp","hsts","http","ichigojam","icon","icuMessageFormat","idris","iecst","ignore","inform7","ini","io","j","java","javadoc","javadoclike","javascript","javastacktrace","jexl","jolie","jq","jsExtras","jsTemplates","jsdoc","json","json5","jsonp","jsstacktrace","jsx","julia","keepalived","keyman","kotlin","kumir","kusto","latex","latte","less","lilypond","liquid","lisp","livescript","llvm","log","lolcode","lua","magma","makefile","markupTemplating","markup","matlab","maxscript","mel","mermaid","mizar","mongodb","monkey","moonscript","n1ql","n4js","nand2tetrisHdl","naniscript","nasm","neon","nevod","nginx","nim","nix","nsis","objectivec","ocaml","opencl","openqasm","oz","parigp","pascal","pascaligo","pcaxis","peoplecode","perl","phpExtras","php","phpdoc","plsql","powerquery","powershell","processing","prolog","promql","properties","protobuf","psl","pug","puppet","pure","purebasic","purescript","python","q","qml","qore","qsharp","r","racket","reason","regex","rego","renpy","rest","rip","roboconf","robotframework","ruby","rust","sas","sass","scala","scheme","scss","shellSession","smali","smalltalk","smarty","sml","solidity","solutionFile","soy","sparql","splunkSpl","sqf","sql","squirrel","stan","stylus","swift","systemd","t4Cs","t4Templating","t4Vb","tap","tcl","textile","toml","tremor","tsx","tt2","turtle","twig","typescript","typoscript","unrealscript","uorazor","uri","v","vala","vbnet","velocity","verilog","vhdl","vim","visualBasic","warpscript","wasm","webIdl","wiki","wolfram","wren","xeora","xmlDoc","xojo","xquery","yang","zig"],"sources":["../../../src/utils/codeHighlighter.ts"],"sourcesContent":["import type { Options } from 'prettier';\nimport { CodeHighlighterLanguage } from '../types/codeHighlighter';\n\ntype ParserType = 'babel-ts' | 'html' | 'css' | 'markdown' | 'graphql' | 'yaml';\n\ntype ParserMap = Record<ParserType, () => Promise<{ default: unknown }>>;\n\nconst PARSER_MAP: ParserMap = {\n 'babel-ts': () => import('prettier/parser-babel'),\n html: () => import('prettier/parser-html'),\n css: () => import('prettier/parser-postcss'),\n markdown: () => import('prettier/parser-markdown'),\n graphql: () => import('prettier/parser-graphql'),\n yaml: () => import('prettier/parser-yaml'),\n};\n\nexport const getParserForLanguage = async (\n language: CodeHighlighterLanguage = '',\n): Promise<Options | undefined> => {\n let parser: ParserType | undefined;\n\n if (['tsx', 'jsx', 'typescript', 'javascript'].includes(language)) {\n parser = 'babel-ts';\n } else if (['html'].includes(language)) {\n parser = 'html';\n } else if (['css', 'less', 'scss'].includes(language)) {\n parser = 'css';\n } else if (['markdown'].includes(language)) {\n parser = 'markdown';\n } else if (['graphql'].includes(language)) {\n parser = 'graphql';\n } else if (['yaml'].includes(language)) {\n parser = 'yaml';\n }\n\n if (parser && PARSER_MAP[parser]) {\n const plugin = (await PARSER_MAP[parser]()).default;\n\n return {\n trailingComma: 'all',\n bracketSpacing: true,\n singleQuote: true,\n jsxSingleQuote: true,\n bracketSameLine: false,\n arrowParens: 'always',\n proseWrap: 'always',\n parser,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n plugins: [plugin],\n };\n }\n\n return undefined;\n};\n\nexport const formatLanguage = (language: CodeHighlighterLanguage): string => {\n if (!language) {\n return '';\n }\n\n const formattedLanguage: { [key: string]: string } = {\n abap: 'ABAP',\n abnf: 'ABNF',\n actionscript: 'ActionScript',\n ada: 'Ada',\n agda: 'Agda',\n al: 'AL',\n antlr4: 'ANTLR4',\n apacheconf: 'ApacheConf',\n apex: 'Apex',\n apl: 'APL',\n applescript: 'AppleScript',\n aql: 'AQL',\n arduino: 'Arduino',\n arff: 'ARFF',\n asciidoc: 'AsciiDoc',\n asm6502: 'ASM6502',\n asmatmel: 'ASMatmel',\n aspnet: 'ASP.NET',\n autohotkey: 'AutoHotKey',\n autoit: 'AutoIt',\n avisynth: 'AviSynth',\n avroIdl: 'Avro IDL',\n bash: 'Bash',\n basic: 'Basic',\n batch: 'Batch',\n bbcode: 'BBCode',\n bicep: 'Bicep',\n birb: 'Birb',\n bison: 'Bison',\n bnf: 'BNF',\n brainfuck: 'Brainfuck',\n brightscript: 'BrightScript',\n bro: 'Bro',\n bsl: 'BSL',\n c: 'C',\n cfscript: 'CFScript',\n chaiscript: 'ChaiScript',\n cil: 'CIL',\n clike: 'C-like',\n clojure: 'Clojure',\n cmake: 'CMake',\n cobol: 'COBOL',\n coffeescript: 'CoffeeScript',\n concurnas: 'Concurnas',\n coq: 'Coq',\n cpp: 'C++',\n crystal: 'Crystal',\n csharp: 'C#',\n cshtml: 'CSHTML',\n csp: 'CSP',\n cssExtras: 'CSS Extras',\n css: 'CSS',\n csv: 'CSV',\n cypher: 'Cypher',\n d: 'D',\n dart: 'Dart',\n dataweave: 'DataWeave',\n dax: 'DAX',\n dhall: 'Dhall',\n diff: 'Diff',\n django: 'Django',\n dnsZoneFile: 'DNS Zone File',\n docker: 'Docker',\n dot: 'DOT',\n ebnf: 'EBNF',\n editorconfig: 'EditorConfig',\n eiffel: 'Eiffel',\n ejs: 'EJS',\n elixir: 'Elixir',\n elm: 'Elm',\n erb: 'ERB',\n erlang: 'Erlang',\n etlua: 'ETLua',\n excelFormula: 'Excel Formula',\n factor: 'Factor',\n falselang: 'Falselang',\n firestoreSecurityRules: 'Firestore Security Rules',\n flow: 'Flow',\n fortran: 'Fortran',\n fsharp: 'F#',\n ftl: 'FTL',\n gap: 'GAP',\n gcode: 'G-code',\n gdscript: 'GDScript',\n gedcom: 'GEDCOM',\n gherkin: 'Gherkin',\n git: 'Git',\n glsl: 'GLSL',\n gml: 'GML',\n gn: 'GN',\n goModule: 'Go Module',\n go: 'Go',\n graphql: 'GraphQL',\n groovy: 'Groovy',\n haml: 'Haml',\n handlebars: 'Handlebars',\n haskell: 'Haskell',\n haxe: 'Haxe',\n hcl: 'HCL',\n hlsl: 'HLSL',\n hoon: 'Hoon',\n hpkp: 'HPKP',\n hsts: 'HSTS',\n html: 'HTML',\n http: 'HTTP',\n ichigojam: 'IchigoJam',\n icon: 'Icon',\n icuMessageFormat: 'ICU Message Format',\n idris: 'Idris',\n iecst: 'IECST',\n ignore: 'Ignore',\n inform7: 'Inform7',\n ini: 'INI',\n io: 'Io',\n j: 'J',\n java: 'Java',\n javadoc: 'Javadoc',\n javadoclike: 'Javadoc-like',\n javascript: 'JavaScript',\n javastacktrace: 'Java Stack Trace',\n jexl: 'JEXL',\n jolie: 'Jolie',\n jq: 'jq',\n jsExtras: 'JS Extras',\n jsTemplates: 'JS Templates',\n jsdoc: 'JSDoc',\n json: 'JSON',\n json5: 'JSON5',\n jsonp: 'JSONP',\n jsstacktrace: 'JS Stack Trace',\n jsx: 'JSX',\n julia: 'Julia',\n keepalived: 'Keepalived',\n keyman: 'Keyman',\n kotlin: 'Kotlin',\n kumir: 'KuMir',\n kusto: 'Kusto',\n latex: 'LaTeX',\n latte: 'Latte',\n less: 'Less',\n lilypond: 'LilyPond',\n liquid: 'Liquid',\n lisp: 'Lisp',\n livescript: 'LiveScript',\n llvm: 'LLVM',\n log: 'Log',\n lolcode: 'LOLCODE',\n lua: 'Lua',\n magma: 'Magma',\n makefile: 'Makefile',\n markdown: 'Markdown',\n markupTemplating: 'Markup Templating',\n markup: 'Markup',\n matlab: 'MATLAB',\n maxscript: 'MAXScript',\n mel: 'MEL',\n mermaid: 'Mermaid',\n mizar: 'Mizar',\n mongodb: 'MongoDB',\n monkey: 'Monkey',\n moonscript: 'MoonScript',\n n1ql: 'N1QL',\n n4js: 'N4JS',\n nand2tetrisHdl: 'Nand2Tetris HDL',\n naniscript: 'NaninScript',\n nasm: 'NASM',\n neon: 'NEON',\n nevod: 'NevoD',\n nginx: 'Nginx',\n nim: 'Nim',\n nix: 'Nix',\n nsis: 'NSIS',\n objectivec: 'Objective-C',\n ocaml: 'OCaml',\n opencl: 'OpenCL',\n openqasm: 'OpenQasm',\n oz: 'Oz',\n parigp: 'PARI/GP',\n parser: 'Parser',\n pascal: 'Pascal',\n pascaligo: 'Pascaligo',\n pcaxis: 'PC-Axis',\n peoplecode: 'PeopleCode',\n perl: 'Perl',\n phpExtras: 'PHP Extras',\n php: 'PHP',\n phpdoc: 'PHPDoc',\n plsql: 'PL/SQL',\n powerquery: 'PowerQuery',\n powershell: 'PowerShell',\n processing: 'Processing',\n prolog: 'Prolog',\n promql: 'PromQL',\n properties: 'Properties',\n protobuf: 'Protocol Buffers',\n psl: 'PSL',\n pug: 'Pug',\n puppet: 'Puppet',\n pure: 'Pure',\n purebasic: 'PureBasic',\n purescript: 'PureScript',\n python: 'Python',\n q: 'Q',\n qml: 'QML',\n qore: 'Qore',\n qsharp: 'Q#',\n r: 'R',\n racket: 'Racket',\n reason: 'Reason',\n regex: 'RegExp',\n rego: 'Rego',\n renpy: 'RenPy',\n rest: 'reST',\n rip: 'Rip',\n roboconf: 'Roboconf',\n robotframework: 'Robot Framework',\n ruby: 'Ruby',\n rust: 'Rust',\n sas: 'SAS',\n sass: 'Sass',\n scala: 'Scala',\n scheme: 'Scheme',\n scss: 'SCSS',\n shellSession: 'Shell Session',\n smali: 'Smali',\n smalltalk: 'Smalltalk',\n smarty: 'Smarty',\n sml: 'SML',\n solidity: 'Solidity',\n solutionFile: 'Solution File',\n soy: 'Soy',\n sparql: 'SPARQL',\n splunkSpl: 'Splunk SPL',\n sqf: 'SQF',\n sql: 'SQL',\n squirrel: 'Squirrel',\n stan: 'Stan',\n stylus: 'Stylus',\n swift: 'Swift',\n systemd: 'systemd',\n t4Cs: 'T4CS',\n t4Templating: 'T4 Templating',\n t4Vb: 'T4VB',\n tap: 'TAP',\n tcl: 'Tcl',\n textile: 'Textile',\n toml: 'TOML',\n tremor: 'Tremor',\n tsx: 'TSX',\n tt2: 'TT2',\n turtle: 'Turtle',\n twig: 'Twig',\n typescript: 'TypeScript',\n typoscript: 'TypoScript',\n unrealscript: 'UnrealScript',\n uorazor: 'Uorazor',\n uri: 'URI',\n v: 'V',\n vala: 'Vala',\n vbnet: 'VB.NET',\n velocity: 'Velocity',\n verilog: 'Verilog',\n vhdl: 'VHDL',\n vim: 'Vim',\n visualBasic: 'Visual Basic',\n warpscript: 'WarpScript',\n wasm: 'WebAssembly',\n webIdl: 'WebIDL',\n wiki: 'Wiki',\n wolfram: 'Wolfram',\n wren: 'Wren',\n xeora: 'Xeora',\n xmlDoc: 'XML Doc',\n xojo: 'Xojo',\n xquery: 'XQuery',\n yaml: 'YAML',\n yang: 'YANG',\n zig: 'Zig',\n };\n\n return formattedLanguage[language] || language;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -7,38 +7,41 @@ import { CodeHighlighterTheme } from '../../types/codeHighlighter';
7
7
  import { formatLanguage, getParserForLanguage } from '../../utils/codeHighlighter';
8
8
  import { StyledCodeHighlighter, StyledCodeHighlighterFileName, StyledCodeHighlighterHeader } from './CodeHighlighter.styles';
9
9
  import CopyToClipboard from './copy-to-clipboard/CopyToClipboard';
10
- const CodeHighlighter = _ref => {
11
- let {
12
- theme = CodeHighlighterTheme.Dark,
13
- code,
14
- copyButtonText,
15
- language,
16
- highlightedLines,
17
- shouldFormatCode = false,
18
- onFormatError,
19
- shouldShowLineNumbers = false,
20
- shouldWrapLines
21
- } = _ref;
10
+ const CodeHighlighter = ({
11
+ theme = CodeHighlighterTheme.Dark,
12
+ code,
13
+ copyButtonText,
14
+ language,
15
+ highlightedLines,
16
+ shouldFormatCode = false,
17
+ onFormatError,
18
+ shouldShowLineNumbers = false,
19
+ shouldWrapLines
20
+ }) => {
22
21
  const [width, setWidth] = useState(0);
23
22
  const ref = useRef(null);
24
23
  const {
25
24
  browser
26
25
  } = useDevice();
27
26
  useEffect(() => {
28
- if (ref.current) {
29
- const {
30
- children
31
- } = ref.current;
32
- const preElement = Array.from(children).find(_ref2 => {
33
- let {
27
+ const handleResize = () => {
28
+ if (ref.current) {
29
+ const {
30
+ children
31
+ } = ref.current;
32
+ const preElement = Array.from(children).find(({
34
33
  tagName
35
- } = _ref2;
36
- return tagName.toLowerCase() === 'pre';
37
- });
38
- if (preElement) {
39
- setWidth(preElement.scrollWidth);
34
+ }) => tagName.toLowerCase() === 'pre');
35
+ if (preElement) {
36
+ setWidth(preElement.scrollWidth);
37
+ }
40
38
  }
41
- }
39
+ };
40
+ handleResize();
41
+ window.addEventListener('resize', handleResize);
42
+ return () => {
43
+ window.removeEventListener('resize', handleResize);
44
+ };
42
45
  }, []);
43
46
 
44
47
  // function to style highlighted code
@@ -87,7 +90,7 @@ const CodeHighlighter = _ref => {
87
90
  useEffect(() => {
88
91
  const elements = document.getElementsByClassName('linenumber');
89
92
  Array.from(elements).forEach(element => {
90
- const wrapper = document.createElement('twIgnore');
93
+ const wrapper = document.createElement('tw-ignore');
91
94
  while (element.firstChild) {
92
95
  wrapper.appendChild(element.firstChild);
93
96
  }
@@ -103,7 +106,7 @@ const CodeHighlighter = _ref => {
103
106
  $codeTheme: theme
104
107
  }, /*#__PURE__*/React.createElement(StyledCodeHighlighterFileName, {
105
108
  $codeTheme: theme
106
- }, /*#__PURE__*/React.createElement("twIgnore", null, formatLanguage(language))), /*#__PURE__*/React.createElement(CopyToClipboard, {
109
+ }, /*#__PURE__*/React.createElement("tw-ignore", null, formatLanguage(language))), /*#__PURE__*/React.createElement(CopyToClipboard, {
107
110
  text: code,
108
111
  theme: theme,
109
112
  copyButtonText: copyButtonText
@@ -1 +1 @@
1
- {"version":3,"file":"CodeHighlighter.js","names":["useDevice","format","React","useCallback","useEffect","useMemo","useRef","useState","PrismAsyncLight","SyntaxHighlighter","oneDark","oneLight","CodeHighlighterTheme","formatLanguage","getParserForLanguage","StyledCodeHighlighter","StyledCodeHighlighterFileName","StyledCodeHighlighterHeader","CopyToClipboard","CodeHighlighter","_ref","theme","Dark","code","copyButtonText","language","highlightedLines","shouldFormatCode","onFormatError","shouldShowLineNumbers","shouldWrapLines","width","setWidth","ref","browser","current","children","preElement","Array","from","find","_ref2","tagName","toLowerCase","scrollWidth","lineWrapper","lineNumber","style","backgroundColor","display","borderRadius","added","includes","removed","marked","formattedCode","then","config","error","elements","document","getElementsByClassName","forEach","element","wrapper","createElement","firstChild","appendChild","$browser","name","$shouldWrapLines","$codeTheme","text","showLineNumbers","wrapLines","wrapLongLines","lineProps","displayName"],"sources":["../../../../src/components/code-highlighter/CodeHighlighter.tsx"],"sourcesContent":["import { BrowserName } from '@chayns-components/core';\nimport { useDevice } from 'chayns-api';\nimport { format } from 'prettier/standalone';\nimport React, { FC, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { PrismAsyncLight as SyntaxHighlighter } from 'react-syntax-highlighter';\nimport { oneDark, oneLight } from 'react-syntax-highlighter/dist/esm/styles/prism';\nimport {\n CodeHighlighterLanguage,\n CodeHighlighterTheme,\n HighlightedLines,\n} from '../../types/codeHighlighter';\nimport { formatLanguage, getParserForLanguage } from '../../utils/codeHighlighter';\nimport {\n StyledCodeHighlighter,\n StyledCodeHighlighterFileName,\n StyledCodeHighlighterHeader,\n} from './CodeHighlighter.styles';\nimport CopyToClipboard from './copy-to-clipboard/CopyToClipboard';\n\nexport type CodeHighlighterProps = {\n /**\n * The code that should be displayed.\n */\n code: string;\n /**\n * The text that should be displayed after the copy button.\n * If not set, just the button is displayed without text.\n */\n copyButtonText?: string;\n /**\n * The lines of code that should be highlighted.\n * Following lines can be highlighted: added, removed and just marked.\n */\n highlightedLines?: HighlightedLines;\n /**\n * The language of the displayed code.\n */\n language: CodeHighlighterLanguage;\n /**\n * Function to be executed when the formatting of the code fails.\n */\n onFormatError?: (error: unknown) => void;\n /**\n * Whether the code should be formatted with prettier.\n */\n shouldFormatCode?: boolean;\n /**\n * Whether the line numbers should be displayed.\n */\n shouldShowLineNumbers?: boolean;\n /**\n * Whether long lines should be wrapped.\n */\n shouldWrapLines?: boolean;\n /**\n * The theme of the code block. Decide between dark and light.\n */\n theme?: CodeHighlighterTheme;\n};\n\nconst CodeHighlighter: FC<CodeHighlighterProps> = ({\n theme = CodeHighlighterTheme.Dark,\n code,\n copyButtonText,\n language,\n highlightedLines,\n shouldFormatCode = false,\n onFormatError,\n shouldShowLineNumbers = false,\n shouldWrapLines,\n}) => {\n const [width, setWidth] = useState(0);\n\n const ref = useRef<HTMLDivElement>(null);\n\n const { browser } = useDevice();\n\n useEffect(() => {\n if (ref.current) {\n const { children } = ref.current;\n\n const preElement = Array.from(children).find(\n ({ tagName }) => tagName.toLowerCase() === 'pre',\n );\n\n if (preElement) {\n setWidth(preElement.scrollWidth);\n }\n }\n }, []);\n\n // function to style highlighted code\n const lineWrapper = useCallback(\n (lineNumber: number) => {\n let style = {\n backgroundColor: 'none',\n display: 'block',\n borderRadius: '2px',\n width: width - 15,\n };\n\n if (highlightedLines?.added && highlightedLines.added.includes(lineNumber)) {\n style = { ...style, backgroundColor: '#2EF29930' };\n } else if (highlightedLines?.removed && highlightedLines.removed.includes(lineNumber)) {\n style = { ...style, backgroundColor: '#F22E5B30' };\n } else if (highlightedLines?.marked && highlightedLines.marked.includes(lineNumber)) {\n style = { ...style, backgroundColor: '#cccccc40' };\n }\n\n return { style };\n },\n [highlightedLines, width],\n );\n\n const formattedCode = useMemo(() => {\n if (language) {\n void getParserForLanguage(language).then((config) => {\n if (shouldFormatCode && config) {\n try {\n return format(code, config) as unknown as string;\n } catch (error) {\n if (typeof onFormatError !== 'undefined') onFormatError(error);\n }\n }\n\n return code;\n });\n }\n\n return code;\n }, [code, language, shouldFormatCode, onFormatError]);\n\n useEffect(() => {\n const elements = document.getElementsByClassName('linenumber');\n\n Array.from(elements).forEach((element) => {\n const wrapper = document.createElement('twIgnore');\n\n while (element.firstChild) {\n wrapper.appendChild(element.firstChild);\n }\n\n element.appendChild(wrapper);\n });\n }, []);\n\n return useMemo(\n () => (\n <StyledCodeHighlighter\n $browser={browser?.name as BrowserName}\n $shouldWrapLines={shouldWrapLines}\n $codeTheme={theme}\n ref={ref}\n >\n <StyledCodeHighlighterHeader $codeTheme={theme}>\n <StyledCodeHighlighterFileName $codeTheme={theme}>\n {/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n {/* @ts-ignore */}\n <twIgnore>{formatLanguage(language)}</twIgnore>\n </StyledCodeHighlighterFileName>\n <CopyToClipboard text={code} theme={theme} copyButtonText={copyButtonText} />\n </StyledCodeHighlighterHeader>\n <SyntaxHighlighter\n language={language ?? ''}\n showLineNumbers={shouldShowLineNumbers}\n style={theme === CodeHighlighterTheme.Dark ? oneDark : oneLight}\n wrapLines\n wrapLongLines={shouldWrapLines}\n lineProps={lineWrapper}\n >\n {formattedCode}\n </SyntaxHighlighter>\n </StyledCodeHighlighter>\n ),\n [\n browser?.name,\n theme,\n language,\n code,\n copyButtonText,\n shouldShowLineNumbers,\n shouldWrapLines,\n lineWrapper,\n formattedCode,\n ],\n );\n};\n\nCodeHighlighter.displayName = 'CodeHighlighter';\n\nexport default CodeHighlighter;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"CodeHighlighter.js","names":["useDevice","format","React","useCallback","useEffect","useMemo","useRef","useState","PrismAsyncLight","SyntaxHighlighter","oneDark","oneLight","CodeHighlighterTheme","formatLanguage","getParserForLanguage","StyledCodeHighlighter","StyledCodeHighlighterFileName","StyledCodeHighlighterHeader","CopyToClipboard","CodeHighlighter","theme","Dark","code","copyButtonText","language","highlightedLines","shouldFormatCode","onFormatError","shouldShowLineNumbers","shouldWrapLines","width","setWidth","ref","browser","handleResize","current","children","preElement","Array","from","find","tagName","toLowerCase","scrollWidth","window","addEventListener","removeEventListener","lineWrapper","lineNumber","style","backgroundColor","display","borderRadius","added","includes","removed","marked","formattedCode","then","config","error","elements","document","getElementsByClassName","forEach","element","wrapper","createElement","firstChild","appendChild","$browser","name","$shouldWrapLines","$codeTheme","text","showLineNumbers","wrapLines","wrapLongLines","lineProps","displayName"],"sources":["../../../../src/components/code-highlighter/CodeHighlighter.tsx"],"sourcesContent":["import { BrowserName } from '@chayns-components/core';\nimport { useDevice } from 'chayns-api';\nimport { format } from 'prettier/standalone';\nimport React, { FC, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { PrismAsyncLight as SyntaxHighlighter } from 'react-syntax-highlighter';\nimport { oneDark, oneLight } from 'react-syntax-highlighter/dist/esm/styles/prism';\nimport {\n CodeHighlighterLanguage,\n CodeHighlighterTheme,\n HighlightedLines,\n} from '../../types/codeHighlighter';\nimport { formatLanguage, getParserForLanguage } from '../../utils/codeHighlighter';\nimport {\n StyledCodeHighlighter,\n StyledCodeHighlighterFileName,\n StyledCodeHighlighterHeader,\n} from './CodeHighlighter.styles';\nimport CopyToClipboard from './copy-to-clipboard/CopyToClipboard';\n\nexport type CodeHighlighterProps = {\n /**\n * The code that should be displayed.\n */\n code: string;\n /**\n * The text that should be displayed after the copy button.\n * If not set, just the button is displayed without text.\n */\n copyButtonText?: string;\n /**\n * The lines of code that should be highlighted.\n * Following lines can be highlighted: added, removed and just marked.\n */\n highlightedLines?: HighlightedLines;\n /**\n * The language of the displayed code.\n */\n language: CodeHighlighterLanguage;\n /**\n * Function to be executed when the formatting of the code fails.\n */\n onFormatError?: (error: unknown) => void;\n /**\n * Whether the code should be formatted with prettier.\n */\n shouldFormatCode?: boolean;\n /**\n * Whether the line numbers should be displayed.\n */\n shouldShowLineNumbers?: boolean;\n /**\n * Whether long lines should be wrapped.\n */\n shouldWrapLines?: boolean;\n /**\n * The theme of the code block. Decide between dark and light.\n */\n theme?: CodeHighlighterTheme;\n};\n\nconst CodeHighlighter: FC<CodeHighlighterProps> = ({\n theme = CodeHighlighterTheme.Dark,\n code,\n copyButtonText,\n language,\n highlightedLines,\n shouldFormatCode = false,\n onFormatError,\n shouldShowLineNumbers = false,\n shouldWrapLines,\n}) => {\n const [width, setWidth] = useState(0);\n\n const ref = useRef<HTMLDivElement>(null);\n\n const { browser } = useDevice();\n\n useEffect(() => {\n const handleResize = () => {\n if (ref.current) {\n const { children } = ref.current;\n\n const preElement = Array.from(children).find(\n ({ tagName }) => tagName.toLowerCase() === 'pre',\n );\n\n if (preElement) {\n setWidth(preElement.scrollWidth);\n }\n }\n };\n\n handleResize();\n\n window.addEventListener('resize', handleResize);\n\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, []);\n\n // function to style highlighted code\n const lineWrapper = useCallback(\n (lineNumber: number) => {\n let style = {\n backgroundColor: 'none',\n display: 'block',\n borderRadius: '2px',\n width: width - 15,\n };\n\n if (highlightedLines?.added && highlightedLines.added.includes(lineNumber)) {\n style = { ...style, backgroundColor: '#2EF29930' };\n } else if (highlightedLines?.removed && highlightedLines.removed.includes(lineNumber)) {\n style = { ...style, backgroundColor: '#F22E5B30' };\n } else if (highlightedLines?.marked && highlightedLines.marked.includes(lineNumber)) {\n style = { ...style, backgroundColor: '#cccccc40' };\n }\n\n return { style };\n },\n [highlightedLines, width],\n );\n\n const formattedCode = useMemo(() => {\n if (language) {\n void getParserForLanguage(language).then((config) => {\n if (shouldFormatCode && config) {\n try {\n return format(code, config) as unknown as string;\n } catch (error) {\n if (typeof onFormatError !== 'undefined') onFormatError(error);\n }\n }\n\n return code;\n });\n }\n\n return code;\n }, [code, language, shouldFormatCode, onFormatError]);\n\n useEffect(() => {\n const elements = document.getElementsByClassName('linenumber');\n\n Array.from(elements).forEach((element) => {\n const wrapper = document.createElement('tw-ignore');\n\n while (element.firstChild) {\n wrapper.appendChild(element.firstChild);\n }\n\n element.appendChild(wrapper);\n });\n }, []);\n\n return useMemo(\n () => (\n <StyledCodeHighlighter\n $browser={browser?.name as BrowserName}\n $shouldWrapLines={shouldWrapLines}\n $codeTheme={theme}\n ref={ref}\n >\n <StyledCodeHighlighterHeader $codeTheme={theme}>\n <StyledCodeHighlighterFileName $codeTheme={theme}>\n {/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n {/* @ts-ignore */}\n <tw-ignore>{formatLanguage(language)}</tw-ignore>\n </StyledCodeHighlighterFileName>\n <CopyToClipboard text={code} theme={theme} copyButtonText={copyButtonText} />\n </StyledCodeHighlighterHeader>\n <SyntaxHighlighter\n language={language ?? ''}\n showLineNumbers={shouldShowLineNumbers}\n style={theme === CodeHighlighterTheme.Dark ? oneDark : oneLight}\n wrapLines\n wrapLongLines={shouldWrapLines}\n lineProps={lineWrapper}\n >\n {formattedCode}\n </SyntaxHighlighter>\n </StyledCodeHighlighter>\n ),\n [\n browser?.name,\n theme,\n language,\n code,\n copyButtonText,\n shouldShowLineNumbers,\n shouldWrapLines,\n lineWrapper,\n formattedCode,\n ],\n );\n};\n\nCodeHighlighter.displayName = 'CodeHighlighter';\n\nexport default CodeHighlighter;\n"],"mappings":"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","ignoreList":[]}
@@ -2,12 +2,9 @@ import styled, { css } from 'styled-components';
2
2
  import { CodeHighlighterTheme } from '../../types/codeHighlighter';
3
3
  export const StyledCodeHighlighter = styled.div`
4
4
  margin: 4px 0;
5
- background-color: ${_ref => {
6
- let {
7
- $codeTheme
8
- } = _ref;
9
- return $codeTheme === CodeHighlighterTheme.Dark ? '#282c34' : '#fafafa';
10
- }};
5
+ background-color: ${({
6
+ $codeTheme
7
+ }) => $codeTheme === CodeHighlighterTheme.Dark ? '#282c34' : '#fafafa'};
11
8
  border-radius: 8px;
12
9
  padding-bottom: 6px;
13
10
 
@@ -18,12 +15,10 @@ export const StyledCodeHighlighter = styled.div`
18
15
  line-height: 1.5;
19
16
 
20
17
  // Styles for custom scrollbar
21
- ${_ref2 => {
22
- let {
23
- $browser,
24
- theme
25
- } = _ref2;
26
- return $browser === 'firefox' ? css`
18
+ ${({
19
+ $browser,
20
+ theme
21
+ }) => $browser === 'firefox' ? css`
27
22
  scrollbar-color: rgba(${theme['text-rgb']}, 0.15) transparent;
28
23
  scrollbar-width: thin;
29
24
  ` : css`
@@ -44,16 +39,12 @@ export const StyledCodeHighlighter = styled.div`
44
39
  background-color: rgba(${theme['text-rgb']}, 0.15);
45
40
  border-radius: 20px;
46
41
  }
47
- `;
48
- }}
42
+ `}
49
43
 
50
44
  code {
51
- white-space: ${_ref3 => {
52
- let {
53
- $shouldWrapLines
54
- } = _ref3;
55
- return $shouldWrapLines ? 'pre-wrap' : 'pre';
56
- }} !important;
45
+ white-space: ${({
46
+ $shouldWrapLines
47
+ }) => $shouldWrapLines ? 'pre-wrap' : 'pre'} !important;
57
48
  }
58
49
  }
59
50
 
@@ -67,20 +58,14 @@ export const StyledCodeHighlighterHeader = styled.div`
67
58
  align-items: center;
68
59
  justify-content: space-between;
69
60
  border-bottom: 1px solid
70
- ${_ref4 => {
71
- let {
72
- $codeTheme
73
- } = _ref4;
74
- return $codeTheme === CodeHighlighterTheme.Dark ? '#e5e5e5' : '#999999';
75
- }};
61
+ ${({
62
+ $codeTheme
63
+ }) => $codeTheme === CodeHighlighterTheme.Dark ? '#e5e5e5' : '#999999'};
76
64
  padding: 4px 12px;
77
65
  `;
78
66
  export const StyledCodeHighlighterFileName = styled.span`
79
- color: ${_ref5 => {
80
- let {
81
- $codeTheme
82
- } = _ref5;
83
- return $codeTheme === CodeHighlighterTheme.Dark ? '#e5e5e5' : '#999999';
84
- }};
67
+ color: ${({
68
+ $codeTheme
69
+ }) => $codeTheme === CodeHighlighterTheme.Dark ? '#e5e5e5' : '#999999'};
85
70
  `;
86
71
  //# sourceMappingURL=CodeHighlighter.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CodeHighlighter.styles.js","names":["styled","css","CodeHighlighterTheme","StyledCodeHighlighter","div","_ref","$codeTheme","Dark","_ref2","$browser","theme","_ref3","$shouldWrapLines","StyledCodeHighlighterHeader","_ref4","StyledCodeHighlighterFileName","span","_ref5"],"sources":["../../../../src/components/code-highlighter/CodeHighlighter.styles.ts"],"sourcesContent":["import type { BrowserName, WithTheme } from '@chayns-components/core';\nimport styled, { css } from 'styled-components';\nimport { CodeHighlighterTheme } from '../../types/codeHighlighter';\n\ntype StyledCodeHighlighterProps = WithTheme<{\n $codeTheme: CodeHighlighterTheme;\n $browser: BrowserName;\n $shouldWrapLines?: boolean;\n}>;\n\nexport const StyledCodeHighlighter = styled.div<StyledCodeHighlighterProps>`\n margin: 4px 0;\n background-color: ${({ $codeTheme }) =>\n $codeTheme === CodeHighlighterTheme.Dark ? '#282c34' : '#fafafa'};\n border-radius: 8px;\n padding-bottom: 6px;\n\n pre {\n margin: 0 !important;\n overflow: auto;\n padding: 15px;\n line-height: 1.5;\n\n // Styles for custom scrollbar\n ${({ $browser, theme }: StyledCodeHighlighterProps) =>\n $browser === 'firefox'\n ? css`\n scrollbar-color: rgba(${theme['text-rgb']}, 0.15) transparent;\n scrollbar-width: thin;\n `\n : css`\n &::-webkit-scrollbar {\n height: 5px;\n }\n\n &::-webkit-scrollbar-track {\n background-color: transparent;\n }\n\n &::-webkit-scrollbar-button {\n background-color: transparent;\n height: 5px;\n }\n\n &::-webkit-scrollbar-thumb {\n background-color: rgba(${theme['text-rgb']}, 0.15);\n border-radius: 20px;\n }\n `}\n\n code {\n white-space: ${({ $shouldWrapLines }) =>\n $shouldWrapLines ? 'pre-wrap' : 'pre'} !important;\n }\n }\n\n // Fixes display of tables in code highlighter for markdown.\n .language-markdown .token.table {\n display: inline;\n }\n`;\n\ntype StyledCodeHighlighterHeaderProps = WithTheme<{\n $codeTheme: CodeHighlighterTheme;\n}>;\n\nexport const StyledCodeHighlighterHeader = styled.div<StyledCodeHighlighterHeaderProps>`\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-bottom: 1px solid\n ${({ $codeTheme }) => ($codeTheme === CodeHighlighterTheme.Dark ? '#e5e5e5' : '#999999')};\n padding: 4px 12px;\n`;\n\ntype StyledCodeHighlighterFileNameProps = WithTheme<{\n $codeTheme: CodeHighlighterTheme;\n}>;\n\nexport const StyledCodeHighlighterFileName = styled.span<StyledCodeHighlighterFileNameProps>`\n color: ${({ $codeTheme }) =>\n $codeTheme === CodeHighlighterTheme.Dark ? '#e5e5e5' : '#999999'};\n`;\n"],"mappings":"AACA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAC/C,SAASC,oBAAoB,QAAQ,6BAA6B;AAQlE,OAAO,MAAMC,qBAAqB,GAAGH,MAAM,CAACI,GAA+B;AAC3E;AACA,wBAAwBC,IAAA;EAAA,IAAC;IAAEC;EAAW,CAAC,GAAAD,IAAA;EAAA,OAC/BC,UAAU,KAAKJ,oBAAoB,CAACK,IAAI,GAAG,SAAS,GAAG,SAAS;AAAA;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAUC,KAAA;EAAA,IAAC;IAAEC,QAAQ;IAAEC;EAAkC,CAAC,GAAAF,KAAA;EAAA,OAC9CC,QAAQ,KAAK,SAAS,GAChBR,GAAG;AACrB,8CAA8CS,KAAK,CAAC,UAAU,CAAC;AAC/D;AACA,mBAAmB,GACDT,GAAG;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmDS,KAAK,CAAC,UAAU,CAAC;AACpE;AACA;AACA,mBAAmB;AAAA;AACnB;AACA;AACA,2BAA2BC,KAAA;EAAA,IAAC;IAAEC;EAAiB,CAAC,GAAAD,KAAA;EAAA,OAChCC,gBAAgB,GAAG,UAAU,GAAG,KAAK;AAAA;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAMD,OAAO,MAAMC,2BAA2B,GAAGb,MAAM,CAACI,GAAqC;AACvF;AACA;AACA;AACA;AACA,UAAUU,KAAA;EAAA,IAAC;IAAER;EAAW,CAAC,GAAAQ,KAAA;EAAA,OAAMR,UAAU,KAAKJ,oBAAoB,CAACK,IAAI,GAAG,SAAS,GAAG,SAAS;AAAA,CAAC;AAChG;AACA,CAAC;AAMD,OAAO,MAAMQ,6BAA6B,GAAGf,MAAM,CAACgB,IAAwC;AAC5F,aAAaC,KAAA;EAAA,IAAC;IAAEX;EAAW,CAAC,GAAAW,KAAA;EAAA,OACpBX,UAAU,KAAKJ,oBAAoB,CAACK,IAAI,GAAG,SAAS,GAAG,SAAS;AAAA;AACxE,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"CodeHighlighter.styles.js","names":["styled","css","CodeHighlighterTheme","StyledCodeHighlighter","div","$codeTheme","Dark","$browser","theme","$shouldWrapLines","StyledCodeHighlighterHeader","StyledCodeHighlighterFileName","span"],"sources":["../../../../src/components/code-highlighter/CodeHighlighter.styles.ts"],"sourcesContent":["import type { BrowserName, WithTheme } from '@chayns-components/core';\nimport styled, { css } from 'styled-components';\nimport { CodeHighlighterTheme } from '../../types/codeHighlighter';\n\ntype StyledCodeHighlighterProps = WithTheme<{\n $codeTheme: CodeHighlighterTheme;\n $browser: BrowserName;\n $shouldWrapLines?: boolean;\n}>;\n\nexport const StyledCodeHighlighter = styled.div<StyledCodeHighlighterProps>`\n margin: 4px 0;\n background-color: ${({ $codeTheme }) =>\n $codeTheme === CodeHighlighterTheme.Dark ? '#282c34' : '#fafafa'};\n border-radius: 8px;\n padding-bottom: 6px;\n\n pre {\n margin: 0 !important;\n overflow: auto;\n padding: 15px;\n line-height: 1.5;\n\n // Styles for custom scrollbar\n ${({ $browser, theme }: StyledCodeHighlighterProps) =>\n $browser === 'firefox'\n ? css`\n scrollbar-color: rgba(${theme['text-rgb']}, 0.15) transparent;\n scrollbar-width: thin;\n `\n : css`\n &::-webkit-scrollbar {\n height: 5px;\n }\n\n &::-webkit-scrollbar-track {\n background-color: transparent;\n }\n\n &::-webkit-scrollbar-button {\n background-color: transparent;\n height: 5px;\n }\n\n &::-webkit-scrollbar-thumb {\n background-color: rgba(${theme['text-rgb']}, 0.15);\n border-radius: 20px;\n }\n `}\n\n code {\n white-space: ${({ $shouldWrapLines }) =>\n $shouldWrapLines ? 'pre-wrap' : 'pre'} !important;\n }\n }\n\n // Fixes display of tables in code highlighter for markdown.\n .language-markdown .token.table {\n display: inline;\n }\n`;\n\ntype StyledCodeHighlighterHeaderProps = WithTheme<{\n $codeTheme: CodeHighlighterTheme;\n}>;\n\nexport const StyledCodeHighlighterHeader = styled.div<StyledCodeHighlighterHeaderProps>`\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-bottom: 1px solid\n ${({ $codeTheme }) => ($codeTheme === CodeHighlighterTheme.Dark ? '#e5e5e5' : '#999999')};\n padding: 4px 12px;\n`;\n\ntype StyledCodeHighlighterFileNameProps = WithTheme<{\n $codeTheme: CodeHighlighterTheme;\n}>;\n\nexport const StyledCodeHighlighterFileName = styled.span<StyledCodeHighlighterFileNameProps>`\n color: ${({ $codeTheme }) =>\n $codeTheme === CodeHighlighterTheme.Dark ? '#e5e5e5' : '#999999'};\n`;\n"],"mappings":"AACA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAC/C,SAASC,oBAAoB,QAAQ,6BAA6B;AAQlE,OAAO,MAAMC,qBAAqB,GAAGH,MAAM,CAACI,GAA+B;AAC3E;AACA,wBAAwB,CAAC;EAAEC;AAAW,CAAC,KAC/BA,UAAU,KAAKH,oBAAoB,CAACI,IAAI,GAAG,SAAS,GAAG,SAAS;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,CAAC;EAAEC,QAAQ;EAAEC;AAAkC,CAAC,KAC9CD,QAAQ,KAAK,SAAS,GAChBN,GAAG;AACrB,8CAA8CO,KAAK,CAAC,UAAU,CAAC;AAC/D;AACA,mBAAmB,GACDP,GAAG;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmDO,KAAK,CAAC,UAAU,CAAC;AACpE;AACA;AACA,mBAAmB;AACnB;AACA;AACA,2BAA2B,CAAC;EAAEC;AAAiB,CAAC,KAChCA,gBAAgB,GAAG,UAAU,GAAG,KAAK;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAMD,OAAO,MAAMC,2BAA2B,GAAGV,MAAM,CAACI,GAAqC;AACvF;AACA;AACA;AACA;AACA,UAAU,CAAC;EAAEC;AAAW,CAAC,KAAMA,UAAU,KAAKH,oBAAoB,CAACI,IAAI,GAAG,SAAS,GAAG,SAAU;AAChG;AACA,CAAC;AAMD,OAAO,MAAMK,6BAA6B,GAAGX,MAAM,CAACY,IAAwC;AAC5F,aAAa,CAAC;EAAEP;AAAW,CAAC,KACpBA,UAAU,KAAKH,oBAAoB,CAACI,IAAI,GAAG,SAAS,GAAG,SAAS;AACxE,CAAC","ignoreList":[]}
@@ -2,12 +2,11 @@ import { Icon, Popup } from '@chayns-components/core';
2
2
  import React from 'react';
3
3
  import { CodeHighlighterTheme } from '../../../types/codeHighlighter';
4
4
  import { StyledCopyToClipboard, StyledCopyToClipboardText } from './CopyToClipboard.styles';
5
- const CopyToClipboard = _ref => {
6
- let {
7
- copyButtonText,
8
- text,
9
- theme
10
- } = _ref;
5
+ const CopyToClipboard = ({
6
+ copyButtonText,
7
+ text,
8
+ theme
9
+ }) => {
11
10
  const handleClick = () => {
12
11
  void navigator.clipboard.writeText(text);
13
12
  };
@@ -26,7 +25,7 @@ const CopyToClipboard = _ref => {
26
25
  color: theme === CodeHighlighterTheme.Dark ? '#e5e5e5' : '#999999'
27
26
  }), copyButtonText && /*#__PURE__*/React.createElement(StyledCopyToClipboardText, {
28
27
  $codeTheme: theme
29
- }, /*#__PURE__*/React.createElement("twIgnore", null, copyButtonText))));
28
+ }, /*#__PURE__*/React.createElement("tw-ignore", null, copyButtonText))));
30
29
  };
31
30
  CopyToClipboard.displayName = 'CopyToClipboard';
32
31
  export default CopyToClipboard;
@@ -1 +1 @@
1
- {"version":3,"file":"CopyToClipboard.js","names":["Icon","Popup","React","CodeHighlighterTheme","StyledCopyToClipboard","StyledCopyToClipboardText","CopyToClipboard","_ref","copyButtonText","text","theme","handleClick","navigator","clipboard","writeText","popupContent","createElement","style","display","padding","content","onClick","icons","color","Dark","$codeTheme","displayName"],"sources":["../../../../../src/components/code-highlighter/copy-to-clipboard/CopyToClipboard.tsx"],"sourcesContent":["import { Icon, Popup } from '@chayns-components/core';\nimport React, { FC } from 'react';\nimport { CodeHighlighterTheme } from '../../../types/codeHighlighter';\nimport { StyledCopyToClipboard, StyledCopyToClipboardText } from './CopyToClipboard.styles';\n\nexport type CopyToClipboardProps = {\n copyButtonText?: string;\n text: string;\n theme: CodeHighlighterTheme;\n};\n\nconst CopyToClipboard: FC<CopyToClipboardProps> = ({ copyButtonText, text, theme }) => {\n const handleClick = () => {\n void navigator.clipboard.writeText(text);\n };\n\n const popupContent = (\n <span style={{ display: 'block', padding: '5px' }}>\n <p>Kopiert!</p>\n </span>\n );\n\n return (\n <Popup content={popupContent}>\n <StyledCopyToClipboard onClick={handleClick}>\n <Icon\n icons={['fa-light fa-clipboard']}\n color={theme === CodeHighlighterTheme.Dark ? '#e5e5e5' : '#999999'}\n />\n {copyButtonText && (\n <StyledCopyToClipboardText $codeTheme={theme}>\n {/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n {/* @ts-ignore */}\n <twIgnore>{copyButtonText}</twIgnore>\n </StyledCopyToClipboardText>\n )}\n </StyledCopyToClipboard>\n </Popup>\n );\n};\n\nCopyToClipboard.displayName = 'CopyToClipboard';\n\nexport default CopyToClipboard;\n"],"mappings":"AAAA,SAASA,IAAI,EAAEC,KAAK,QAAQ,yBAAyB;AACrD,OAAOC,KAAK,MAAc,OAAO;AACjC,SAASC,oBAAoB,QAAQ,gCAAgC;AACrE,SAASC,qBAAqB,EAAEC,yBAAyB,QAAQ,0BAA0B;AAQ3F,MAAMC,eAAyC,GAAGC,IAAA,IAAqC;EAAA,IAApC;IAAEC,cAAc;IAAEC,IAAI;IAAEC;EAAM,CAAC,GAAAH,IAAA;EAC9E,MAAMI,WAAW,GAAGA,CAAA,KAAM;IACtB,KAAKC,SAAS,CAACC,SAAS,CAACC,SAAS,CAACL,IAAI,CAAC;EAC5C,CAAC;EAED,MAAMM,YAAY,gBACdb,KAAA,CAAAc,aAAA;IAAMC,KAAK,EAAE;MAAEC,OAAO,EAAE,OAAO;MAAEC,OAAO,EAAE;IAAM;EAAE,gBAC9CjB,KAAA,CAAAc,aAAA,YAAG,UAAW,CACZ,CACT;EAED,oBACId,KAAA,CAAAc,aAAA,CAACf,KAAK;IAACmB,OAAO,EAAEL;EAAa,gBACzBb,KAAA,CAAAc,aAAA,CAACZ,qBAAqB;IAACiB,OAAO,EAAEV;EAAY,gBACxCT,KAAA,CAAAc,aAAA,CAAChB,IAAI;IACDsB,KAAK,EAAE,CAAC,uBAAuB,CAAE;IACjCC,KAAK,EAAEb,KAAK,KAAKP,oBAAoB,CAACqB,IAAI,GAAG,SAAS,GAAG;EAAU,CACtE,CAAC,EACDhB,cAAc,iBACXN,KAAA,CAAAc,aAAA,CAACX,yBAAyB;IAACoB,UAAU,EAAEf;EAAM,gBAGzCR,KAAA,CAAAc,aAAA,mBAAWR,cAAyB,CACb,CAEZ,CACpB,CAAC;AAEhB,CAAC;AAEDF,eAAe,CAACoB,WAAW,GAAG,iBAAiB;AAE/C,eAAepB,eAAe","ignoreList":[]}
1
+ {"version":3,"file":"CopyToClipboard.js","names":["Icon","Popup","React","CodeHighlighterTheme","StyledCopyToClipboard","StyledCopyToClipboardText","CopyToClipboard","copyButtonText","text","theme","handleClick","navigator","clipboard","writeText","popupContent","createElement","style","display","padding","content","onClick","icons","color","Dark","$codeTheme","displayName"],"sources":["../../../../../src/components/code-highlighter/copy-to-clipboard/CopyToClipboard.tsx"],"sourcesContent":["import { Icon, Popup } from '@chayns-components/core';\nimport React, { FC } from 'react';\nimport { CodeHighlighterTheme } from '../../../types/codeHighlighter';\nimport { StyledCopyToClipboard, StyledCopyToClipboardText } from './CopyToClipboard.styles';\n\nexport type CopyToClipboardProps = {\n copyButtonText?: string;\n text: string;\n theme: CodeHighlighterTheme;\n};\n\nconst CopyToClipboard: FC<CopyToClipboardProps> = ({ copyButtonText, text, theme }) => {\n const handleClick = () => {\n void navigator.clipboard.writeText(text);\n };\n\n const popupContent = (\n <span style={{ display: 'block', padding: '5px' }}>\n <p>Kopiert!</p>\n </span>\n );\n\n return (\n <Popup content={popupContent}>\n <StyledCopyToClipboard onClick={handleClick}>\n <Icon\n icons={['fa-light fa-clipboard']}\n color={theme === CodeHighlighterTheme.Dark ? '#e5e5e5' : '#999999'}\n />\n {copyButtonText && (\n <StyledCopyToClipboardText $codeTheme={theme}>\n {/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n {/* @ts-ignore */}\n <tw-ignore>{copyButtonText}</tw-ignore>\n </StyledCopyToClipboardText>\n )}\n </StyledCopyToClipboard>\n </Popup>\n );\n};\n\nCopyToClipboard.displayName = 'CopyToClipboard';\n\nexport default CopyToClipboard;\n"],"mappings":"AAAA,SAASA,IAAI,EAAEC,KAAK,QAAQ,yBAAyB;AACrD,OAAOC,KAAK,MAAc,OAAO;AACjC,SAASC,oBAAoB,QAAQ,gCAAgC;AACrE,SAASC,qBAAqB,EAAEC,yBAAyB,QAAQ,0BAA0B;AAQ3F,MAAMC,eAAyC,GAAGA,CAAC;EAAEC,cAAc;EAAEC,IAAI;EAAEC;AAAM,CAAC,KAAK;EACnF,MAAMC,WAAW,GAAGA,CAAA,KAAM;IACtB,KAAKC,SAAS,CAACC,SAAS,CAACC,SAAS,CAACL,IAAI,CAAC;EAC5C,CAAC;EAED,MAAMM,YAAY,gBACdZ,KAAA,CAAAa,aAAA;IAAMC,KAAK,EAAE;MAAEC,OAAO,EAAE,OAAO;MAAEC,OAAO,EAAE;IAAM;EAAE,gBAC9ChB,KAAA,CAAAa,aAAA,YAAG,UAAW,CACZ,CACT;EAED,oBACIb,KAAA,CAAAa,aAAA,CAACd,KAAK;IAACkB,OAAO,EAAEL;EAAa,gBACzBZ,KAAA,CAAAa,aAAA,CAACX,qBAAqB;IAACgB,OAAO,EAAEV;EAAY,gBACxCR,KAAA,CAAAa,aAAA,CAACf,IAAI;IACDqB,KAAK,EAAE,CAAC,uBAAuB,CAAE;IACjCC,KAAK,EAAEb,KAAK,KAAKN,oBAAoB,CAACoB,IAAI,GAAG,SAAS,GAAG;EAAU,CACtE,CAAC,EACDhB,cAAc,iBACXL,KAAA,CAAAa,aAAA,CAACV,yBAAyB;IAACmB,UAAU,EAAEf;EAAM,gBAGzCP,KAAA,CAAAa,aAAA,oBAAYR,cAA0B,CACf,CAEZ,CACpB,CAAC;AAEhB,CAAC;AAEDD,eAAe,CAACmB,WAAW,GAAG,iBAAiB;AAE/C,eAAenB,eAAe","ignoreList":[]}
@@ -5,12 +5,9 @@ export const StyledCopyToClipboard = styled.div`
5
5
  align-items: center;
6
6
  `;
7
7
  export const StyledCopyToClipboardText = styled.span`
8
- color: ${_ref => {
9
- let {
10
- $codeTheme
11
- } = _ref;
12
- return $codeTheme === CodeHighlighterTheme.Dark ? '#e5e5e5' : '#999999';
13
- }};
8
+ color: ${({
9
+ $codeTheme
10
+ }) => $codeTheme === CodeHighlighterTheme.Dark ? '#e5e5e5' : '#999999'};
14
11
  font-size: small;
15
12
  margin-left: 4px;
16
13
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"CopyToClipboard.styles.js","names":["styled","CodeHighlighterTheme","StyledCopyToClipboard","div","StyledCopyToClipboardText","span","_ref","$codeTheme","Dark"],"sources":["../../../../../src/components/code-highlighter/copy-to-clipboard/CopyToClipboard.styles.ts"],"sourcesContent":["import type { WithTheme } from '@chayns-components/core';\nimport styled from 'styled-components';\nimport { CodeHighlighterTheme } from '../../../types/codeHighlighter';\n\nexport const StyledCopyToClipboard = styled.div`\n display: flex;\n align-items: center;\n`;\n\ntype StyledCopyToClipboardTextProps = WithTheme<{\n $codeTheme: CodeHighlighterTheme;\n}>;\nexport const StyledCopyToClipboardText = styled.span<StyledCopyToClipboardTextProps>`\n color: ${({ $codeTheme }) =>\n $codeTheme === CodeHighlighterTheme.Dark ? '#e5e5e5' : '#999999'};\n font-size: small;\n margin-left: 4px;\n`;\n"],"mappings":"AACA,OAAOA,MAAM,MAAM,mBAAmB;AACtC,SAASC,oBAAoB,QAAQ,gCAAgC;AAErE,OAAO,MAAMC,qBAAqB,GAAGF,MAAM,CAACG,GAAG;AAC/C;AACA;AACA,CAAC;AAKD,OAAO,MAAMC,yBAAyB,GAAGJ,MAAM,CAACK,IAAoC;AACpF,aAAaC,IAAA;EAAA,IAAC;IAAEC;EAAW,CAAC,GAAAD,IAAA;EAAA,OACpBC,UAAU,KAAKN,oBAAoB,CAACO,IAAI,GAAG,SAAS,GAAG,SAAS;AAAA;AACxE;AACA;AACA,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"CopyToClipboard.styles.js","names":["styled","CodeHighlighterTheme","StyledCopyToClipboard","div","StyledCopyToClipboardText","span","$codeTheme","Dark"],"sources":["../../../../../src/components/code-highlighter/copy-to-clipboard/CopyToClipboard.styles.ts"],"sourcesContent":["import type { WithTheme } from '@chayns-components/core';\nimport styled from 'styled-components';\nimport { CodeHighlighterTheme } from '../../../types/codeHighlighter';\n\nexport const StyledCopyToClipboard = styled.div`\n display: flex;\n align-items: center;\n`;\n\ntype StyledCopyToClipboardTextProps = WithTheme<{\n $codeTheme: CodeHighlighterTheme;\n}>;\nexport const StyledCopyToClipboardText = styled.span<StyledCopyToClipboardTextProps>`\n color: ${({ $codeTheme }) =>\n $codeTheme === CodeHighlighterTheme.Dark ? '#e5e5e5' : '#999999'};\n font-size: small;\n margin-left: 4px;\n`;\n"],"mappings":"AACA,OAAOA,MAAM,MAAM,mBAAmB;AACtC,SAASC,oBAAoB,QAAQ,gCAAgC;AAErE,OAAO,MAAMC,qBAAqB,GAAGF,MAAM,CAACG,GAAG;AAC/C;AACA;AACA,CAAC;AAKD,OAAO,MAAMC,yBAAyB,GAAGJ,MAAM,CAACK,IAAoC;AACpF,aAAa,CAAC;EAAEC;AAAW,CAAC,KACpBA,UAAU,KAAKL,oBAAoB,CAACM,IAAI,GAAG,SAAS,GAAG,SAAS;AACxE;AACA;AACA,CAAC","ignoreList":[]}
@@ -6,8 +6,7 @@ const PARSER_MAP = {
6
6
  graphql: () => import('prettier/parser-graphql'),
7
7
  yaml: () => import('prettier/parser-yaml')
8
8
  };
9
- export const getParserForLanguage = async function () {
10
- let language = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
9
+ export const getParserForLanguage = async (language = '') => {
11
10
  let parser;
12
11
  if (['tsx', 'jsx', 'typescript', 'javascript'].includes(language)) {
13
12
  parser = 'babel-ts';
@@ -1 +1 @@
1
- {"version":3,"file":"codeHighlighter.js","names":["PARSER_MAP","babel-ts","html","css","markdown","graphql","yaml","getParserForLanguage","language","arguments","length","undefined","parser","includes","plugin","default","trailingComma","bracketSpacing","singleQuote","jsxSingleQuote","bracketSameLine","arrowParens","proseWrap","plugins","formatLanguage","formattedLanguage","abap","abnf","actionscript","ada","agda","al","antlr4","apacheconf","apex","apl","applescript","aql","arduino","arff","asciidoc","asm6502","asmatmel","aspnet","autohotkey","autoit","avisynth","avroIdl","bash","basic","batch","bbcode","bicep","birb","bison","bnf","brainfuck","brightscript","bro","bsl","c","cfscript","chaiscript","cil","clike","clojure","cmake","cobol","coffeescript","concurnas","coq","cpp","crystal","csharp","cshtml","csp","cssExtras","csv","cypher","d","dart","dataweave","dax","dhall","diff","django","dnsZoneFile","docker","dot","ebnf","editorconfig","eiffel","ejs","elixir","elm","erb","erlang","etlua","excelFormula","factor","falselang","firestoreSecurityRules","flow","fortran","fsharp","ftl","gap","gcode","gdscript","gedcom","gherkin","git","glsl","gml","gn","goModule","go","groovy","haml","handlebars","haskell","haxe","hcl","hlsl","hoon","hpkp","hsts","http","ichigojam","icon","icuMessageFormat","idris","iecst","ignore","inform7","ini","io","j","java","javadoc","javadoclike","javascript","javastacktrace","jexl","jolie","jq","jsExtras","jsTemplates","jsdoc","json","json5","jsonp","jsstacktrace","jsx","julia","keepalived","keyman","kotlin","kumir","kusto","latex","latte","less","lilypond","liquid","lisp","livescript","llvm","log","lolcode","lua","magma","makefile","markupTemplating","markup","matlab","maxscript","mel","mermaid","mizar","mongodb","monkey","moonscript","n1ql","n4js","nand2tetrisHdl","naniscript","nasm","neon","nevod","nginx","nim","nix","nsis","objectivec","ocaml","opencl","openqasm","oz","parigp","pascal","pascaligo","pcaxis","peoplecode","perl","phpExtras","php","phpdoc","plsql","powerquery","powershell","processing","prolog","promql","properties","protobuf","psl","pug","puppet","pure","purebasic","purescript","python","q","qml","qore","qsharp","r","racket","reason","regex","rego","renpy","rest","rip","roboconf","robotframework","ruby","rust","sas","sass","scala","scheme","scss","shellSession","smali","smalltalk","smarty","sml","solidity","solutionFile","soy","sparql","splunkSpl","sqf","sql","squirrel","stan","stylus","swift","systemd","t4Cs","t4Templating","t4Vb","tap","tcl","textile","toml","tremor","tsx","tt2","turtle","twig","typescript","typoscript","unrealscript","uorazor","uri","v","vala","vbnet","velocity","verilog","vhdl","vim","visualBasic","warpscript","wasm","webIdl","wiki","wolfram","wren","xeora","xmlDoc","xojo","xquery","yang","zig"],"sources":["../../../src/utils/codeHighlighter.ts"],"sourcesContent":["import type { Options } from 'prettier';\nimport { CodeHighlighterLanguage } from '../types/codeHighlighter';\n\ntype ParserType = 'babel-ts' | 'html' | 'css' | 'markdown' | 'graphql' | 'yaml';\n\ntype ParserMap = Record<ParserType, () => Promise<{ default: unknown }>>;\n\nconst PARSER_MAP: ParserMap = {\n 'babel-ts': () => import('prettier/parser-babel'),\n html: () => import('prettier/parser-html'),\n css: () => import('prettier/parser-postcss'),\n markdown: () => import('prettier/parser-markdown'),\n graphql: () => import('prettier/parser-graphql'),\n yaml: () => import('prettier/parser-yaml'),\n};\n\nexport const getParserForLanguage = async (\n language: CodeHighlighterLanguage = ''\n): Promise<Options | undefined> => {\n let parser: ParserType | undefined;\n\n if (['tsx', 'jsx', 'typescript', 'javascript'].includes(language)) {\n parser = 'babel-ts';\n } else if (['html'].includes(language)) {\n parser = 'html';\n } else if (['css', 'less', 'scss'].includes(language)) {\n parser = 'css';\n } else if (['markdown'].includes(language)) {\n parser = 'markdown';\n } else if (['graphql'].includes(language)) {\n parser = 'graphql';\n } else if (['yaml'].includes(language)) {\n parser = 'yaml';\n }\n\n if (parser && PARSER_MAP[parser]) {\n const plugin = (await PARSER_MAP[parser]()).default;\n\n return {\n trailingComma: 'all',\n bracketSpacing: true,\n singleQuote: true,\n jsxSingleQuote: true,\n bracketSameLine: false,\n arrowParens: 'always',\n proseWrap: 'always',\n parser,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n plugins: [plugin],\n };\n }\n\n return undefined;\n};\n\nexport const formatLanguage = (language: CodeHighlighterLanguage): string => {\n if (!language) {\n return '';\n }\n\n const formattedLanguage: { [key: string]: string } = {\n abap: 'ABAP',\n abnf: 'ABNF',\n actionscript: 'ActionScript',\n ada: 'Ada',\n agda: 'Agda',\n al: 'AL',\n antlr4: 'ANTLR4',\n apacheconf: 'ApacheConf',\n apex: 'Apex',\n apl: 'APL',\n applescript: 'AppleScript',\n aql: 'AQL',\n arduino: 'Arduino',\n arff: 'ARFF',\n asciidoc: 'AsciiDoc',\n asm6502: 'ASM6502',\n asmatmel: 'ASMatmel',\n aspnet: 'ASP.NET',\n autohotkey: 'AutoHotKey',\n autoit: 'AutoIt',\n avisynth: 'AviSynth',\n avroIdl: 'Avro IDL',\n bash: 'Bash',\n basic: 'Basic',\n batch: 'Batch',\n bbcode: 'BBCode',\n bicep: 'Bicep',\n birb: 'Birb',\n bison: 'Bison',\n bnf: 'BNF',\n brainfuck: 'Brainfuck',\n brightscript: 'BrightScript',\n bro: 'Bro',\n bsl: 'BSL',\n c: 'C',\n cfscript: 'CFScript',\n chaiscript: 'ChaiScript',\n cil: 'CIL',\n clike: 'C-like',\n clojure: 'Clojure',\n cmake: 'CMake',\n cobol: 'COBOL',\n coffeescript: 'CoffeeScript',\n concurnas: 'Concurnas',\n coq: 'Coq',\n cpp: 'C++',\n crystal: 'Crystal',\n csharp: 'C#',\n cshtml: 'CSHTML',\n csp: 'CSP',\n cssExtras: 'CSS Extras',\n css: 'CSS',\n csv: 'CSV',\n cypher: 'Cypher',\n d: 'D',\n dart: 'Dart',\n dataweave: 'DataWeave',\n dax: 'DAX',\n dhall: 'Dhall',\n diff: 'Diff',\n django: 'Django',\n dnsZoneFile: 'DNS Zone File',\n docker: 'Docker',\n dot: 'DOT',\n ebnf: 'EBNF',\n editorconfig: 'EditorConfig',\n eiffel: 'Eiffel',\n ejs: 'EJS',\n elixir: 'Elixir',\n elm: 'Elm',\n erb: 'ERB',\n erlang: 'Erlang',\n etlua: 'ETLua',\n excelFormula: 'Excel Formula',\n factor: 'Factor',\n falselang: 'Falselang',\n firestoreSecurityRules: 'Firestore Security Rules',\n flow: 'Flow',\n fortran: 'Fortran',\n fsharp: 'F#',\n ftl: 'FTL',\n gap: 'GAP',\n gcode: 'G-code',\n gdscript: 'GDScript',\n gedcom: 'GEDCOM',\n gherkin: 'Gherkin',\n git: 'Git',\n glsl: 'GLSL',\n gml: 'GML',\n gn: 'GN',\n goModule: 'Go Module',\n go: 'Go',\n graphql: 'GraphQL',\n groovy: 'Groovy',\n haml: 'Haml',\n handlebars: 'Handlebars',\n haskell: 'Haskell',\n haxe: 'Haxe',\n hcl: 'HCL',\n hlsl: 'HLSL',\n hoon: 'Hoon',\n hpkp: 'HPKP',\n hsts: 'HSTS',\n html: 'HTML',\n http: 'HTTP',\n ichigojam: 'IchigoJam',\n icon: 'Icon',\n icuMessageFormat: 'ICU Message Format',\n idris: 'Idris',\n iecst: 'IECST',\n ignore: 'Ignore',\n inform7: 'Inform7',\n ini: 'INI',\n io: 'Io',\n j: 'J',\n java: 'Java',\n javadoc: 'Javadoc',\n javadoclike: 'Javadoc-like',\n javascript: 'JavaScript',\n javastacktrace: 'Java Stack Trace',\n jexl: 'JEXL',\n jolie: 'Jolie',\n jq: 'jq',\n jsExtras: 'JS Extras',\n jsTemplates: 'JS Templates',\n jsdoc: 'JSDoc',\n json: 'JSON',\n json5: 'JSON5',\n jsonp: 'JSONP',\n jsstacktrace: 'JS Stack Trace',\n jsx: 'JSX',\n julia: 'Julia',\n keepalived: 'Keepalived',\n keyman: 'Keyman',\n kotlin: 'Kotlin',\n kumir: 'KuMir',\n kusto: 'Kusto',\n latex: 'LaTeX',\n latte: 'Latte',\n less: 'Less',\n lilypond: 'LilyPond',\n liquid: 'Liquid',\n lisp: 'Lisp',\n livescript: 'LiveScript',\n llvm: 'LLVM',\n log: 'Log',\n lolcode: 'LOLCODE',\n lua: 'Lua',\n magma: 'Magma',\n makefile: 'Makefile',\n markdown: 'Markdown',\n markupTemplating: 'Markup Templating',\n markup: 'Markup',\n matlab: 'MATLAB',\n maxscript: 'MAXScript',\n mel: 'MEL',\n mermaid: 'Mermaid',\n mizar: 'Mizar',\n mongodb: 'MongoDB',\n monkey: 'Monkey',\n moonscript: 'MoonScript',\n n1ql: 'N1QL',\n n4js: 'N4JS',\n nand2tetrisHdl: 'Nand2Tetris HDL',\n naniscript: 'NaninScript',\n nasm: 'NASM',\n neon: 'NEON',\n nevod: 'NevoD',\n nginx: 'Nginx',\n nim: 'Nim',\n nix: 'Nix',\n nsis: 'NSIS',\n objectivec: 'Objective-C',\n ocaml: 'OCaml',\n opencl: 'OpenCL',\n openqasm: 'OpenQasm',\n oz: 'Oz',\n parigp: 'PARI/GP',\n parser: 'Parser',\n pascal: 'Pascal',\n pascaligo: 'Pascaligo',\n pcaxis: 'PC-Axis',\n peoplecode: 'PeopleCode',\n perl: 'Perl',\n phpExtras: 'PHP Extras',\n php: 'PHP',\n phpdoc: 'PHPDoc',\n plsql: 'PL/SQL',\n powerquery: 'PowerQuery',\n powershell: 'PowerShell',\n processing: 'Processing',\n prolog: 'Prolog',\n promql: 'PromQL',\n properties: 'Properties',\n protobuf: 'Protocol Buffers',\n psl: 'PSL',\n pug: 'Pug',\n puppet: 'Puppet',\n pure: 'Pure',\n purebasic: 'PureBasic',\n purescript: 'PureScript',\n python: 'Python',\n q: 'Q',\n qml: 'QML',\n qore: 'Qore',\n qsharp: 'Q#',\n r: 'R',\n racket: 'Racket',\n reason: 'Reason',\n regex: 'RegExp',\n rego: 'Rego',\n renpy: 'RenPy',\n rest: 'reST',\n rip: 'Rip',\n roboconf: 'Roboconf',\n robotframework: 'Robot Framework',\n ruby: 'Ruby',\n rust: 'Rust',\n sas: 'SAS',\n sass: 'Sass',\n scala: 'Scala',\n scheme: 'Scheme',\n scss: 'SCSS',\n shellSession: 'Shell Session',\n smali: 'Smali',\n smalltalk: 'Smalltalk',\n smarty: 'Smarty',\n sml: 'SML',\n solidity: 'Solidity',\n solutionFile: 'Solution File',\n soy: 'Soy',\n sparql: 'SPARQL',\n splunkSpl: 'Splunk SPL',\n sqf: 'SQF',\n sql: 'SQL',\n squirrel: 'Squirrel',\n stan: 'Stan',\n stylus: 'Stylus',\n swift: 'Swift',\n systemd: 'systemd',\n t4Cs: 'T4CS',\n t4Templating: 'T4 Templating',\n t4Vb: 'T4VB',\n tap: 'TAP',\n tcl: 'Tcl',\n textile: 'Textile',\n toml: 'TOML',\n tremor: 'Tremor',\n tsx: 'TSX',\n tt2: 'TT2',\n turtle: 'Turtle',\n twig: 'Twig',\n typescript: 'TypeScript',\n typoscript: 'TypoScript',\n unrealscript: 'UnrealScript',\n uorazor: 'Uorazor',\n uri: 'URI',\n v: 'V',\n vala: 'Vala',\n vbnet: 'VB.NET',\n velocity: 'Velocity',\n verilog: 'Verilog',\n vhdl: 'VHDL',\n vim: 'Vim',\n visualBasic: 'Visual Basic',\n warpscript: 'WarpScript',\n wasm: 'WebAssembly',\n webIdl: 'WebIDL',\n wiki: 'Wiki',\n wolfram: 'Wolfram',\n wren: 'Wren',\n xeora: 'Xeora',\n xmlDoc: 'XML Doc',\n xojo: 'Xojo',\n xquery: 'XQuery',\n yaml: 'YAML',\n yang: 'YANG',\n zig: 'Zig',\n };\n\n return formattedLanguage[language] || language;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"codeHighlighter.js","names":["PARSER_MAP","babel-ts","html","css","markdown","graphql","yaml","getParserForLanguage","language","parser","includes","plugin","default","trailingComma","bracketSpacing","singleQuote","jsxSingleQuote","bracketSameLine","arrowParens","proseWrap","plugins","undefined","formatLanguage","formattedLanguage","abap","abnf","actionscript","ada","agda","al","antlr4","apacheconf","apex","apl","applescript","aql","arduino","arff","asciidoc","asm6502","asmatmel","aspnet","autohotkey","autoit","avisynth","avroIdl","bash","basic","batch","bbcode","bicep","birb","bison","bnf","brainfuck","brightscript","bro","bsl","c","cfscript","chaiscript","cil","clike","clojure","cmake","cobol","coffeescript","concurnas","coq","cpp","crystal","csharp","cshtml","csp","cssExtras","csv","cypher","d","dart","dataweave","dax","dhall","diff","django","dnsZoneFile","docker","dot","ebnf","editorconfig","eiffel","ejs","elixir","elm","erb","erlang","etlua","excelFormula","factor","falselang","firestoreSecurityRules","flow","fortran","fsharp","ftl","gap","gcode","gdscript","gedcom","gherkin","git","glsl","gml","gn","goModule","go","groovy","haml","handlebars","haskell","haxe","hcl","hlsl","hoon","hpkp","hsts","http","ichigojam","icon","icuMessageFormat","idris","iecst","ignore","inform7","ini","io","j","java","javadoc","javadoclike","javascript","javastacktrace","jexl","jolie","jq","jsExtras","jsTemplates","jsdoc","json","json5","jsonp","jsstacktrace","jsx","julia","keepalived","keyman","kotlin","kumir","kusto","latex","latte","less","lilypond","liquid","lisp","livescript","llvm","log","lolcode","lua","magma","makefile","markupTemplating","markup","matlab","maxscript","mel","mermaid","mizar","mongodb","monkey","moonscript","n1ql","n4js","nand2tetrisHdl","naniscript","nasm","neon","nevod","nginx","nim","nix","nsis","objectivec","ocaml","opencl","openqasm","oz","parigp","pascal","pascaligo","pcaxis","peoplecode","perl","phpExtras","php","phpdoc","plsql","powerquery","powershell","processing","prolog","promql","properties","protobuf","psl","pug","puppet","pure","purebasic","purescript","python","q","qml","qore","qsharp","r","racket","reason","regex","rego","renpy","rest","rip","roboconf","robotframework","ruby","rust","sas","sass","scala","scheme","scss","shellSession","smali","smalltalk","smarty","sml","solidity","solutionFile","soy","sparql","splunkSpl","sqf","sql","squirrel","stan","stylus","swift","systemd","t4Cs","t4Templating","t4Vb","tap","tcl","textile","toml","tremor","tsx","tt2","turtle","twig","typescript","typoscript","unrealscript","uorazor","uri","v","vala","vbnet","velocity","verilog","vhdl","vim","visualBasic","warpscript","wasm","webIdl","wiki","wolfram","wren","xeora","xmlDoc","xojo","xquery","yang","zig"],"sources":["../../../src/utils/codeHighlighter.ts"],"sourcesContent":["import type { Options } from 'prettier';\nimport { CodeHighlighterLanguage } from '../types/codeHighlighter';\n\ntype ParserType = 'babel-ts' | 'html' | 'css' | 'markdown' | 'graphql' | 'yaml';\n\ntype ParserMap = Record<ParserType, () => Promise<{ default: unknown }>>;\n\nconst PARSER_MAP: ParserMap = {\n 'babel-ts': () => import('prettier/parser-babel'),\n html: () => import('prettier/parser-html'),\n css: () => import('prettier/parser-postcss'),\n markdown: () => import('prettier/parser-markdown'),\n graphql: () => import('prettier/parser-graphql'),\n yaml: () => import('prettier/parser-yaml'),\n};\n\nexport const getParserForLanguage = async (\n language: CodeHighlighterLanguage = '',\n): Promise<Options | undefined> => {\n let parser: ParserType | undefined;\n\n if (['tsx', 'jsx', 'typescript', 'javascript'].includes(language)) {\n parser = 'babel-ts';\n } else if (['html'].includes(language)) {\n parser = 'html';\n } else if (['css', 'less', 'scss'].includes(language)) {\n parser = 'css';\n } else if (['markdown'].includes(language)) {\n parser = 'markdown';\n } else if (['graphql'].includes(language)) {\n parser = 'graphql';\n } else if (['yaml'].includes(language)) {\n parser = 'yaml';\n }\n\n if (parser && PARSER_MAP[parser]) {\n const plugin = (await PARSER_MAP[parser]()).default;\n\n return {\n trailingComma: 'all',\n bracketSpacing: true,\n singleQuote: true,\n jsxSingleQuote: true,\n bracketSameLine: false,\n arrowParens: 'always',\n proseWrap: 'always',\n parser,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n plugins: [plugin],\n };\n }\n\n return undefined;\n};\n\nexport const formatLanguage = (language: CodeHighlighterLanguage): string => {\n if (!language) {\n return '';\n }\n\n const formattedLanguage: { [key: string]: string } = {\n abap: 'ABAP',\n abnf: 'ABNF',\n actionscript: 'ActionScript',\n ada: 'Ada',\n agda: 'Agda',\n al: 'AL',\n antlr4: 'ANTLR4',\n apacheconf: 'ApacheConf',\n apex: 'Apex',\n apl: 'APL',\n applescript: 'AppleScript',\n aql: 'AQL',\n arduino: 'Arduino',\n arff: 'ARFF',\n asciidoc: 'AsciiDoc',\n asm6502: 'ASM6502',\n asmatmel: 'ASMatmel',\n aspnet: 'ASP.NET',\n autohotkey: 'AutoHotKey',\n autoit: 'AutoIt',\n avisynth: 'AviSynth',\n avroIdl: 'Avro IDL',\n bash: 'Bash',\n basic: 'Basic',\n batch: 'Batch',\n bbcode: 'BBCode',\n bicep: 'Bicep',\n birb: 'Birb',\n bison: 'Bison',\n bnf: 'BNF',\n brainfuck: 'Brainfuck',\n brightscript: 'BrightScript',\n bro: 'Bro',\n bsl: 'BSL',\n c: 'C',\n cfscript: 'CFScript',\n chaiscript: 'ChaiScript',\n cil: 'CIL',\n clike: 'C-like',\n clojure: 'Clojure',\n cmake: 'CMake',\n cobol: 'COBOL',\n coffeescript: 'CoffeeScript',\n concurnas: 'Concurnas',\n coq: 'Coq',\n cpp: 'C++',\n crystal: 'Crystal',\n csharp: 'C#',\n cshtml: 'CSHTML',\n csp: 'CSP',\n cssExtras: 'CSS Extras',\n css: 'CSS',\n csv: 'CSV',\n cypher: 'Cypher',\n d: 'D',\n dart: 'Dart',\n dataweave: 'DataWeave',\n dax: 'DAX',\n dhall: 'Dhall',\n diff: 'Diff',\n django: 'Django',\n dnsZoneFile: 'DNS Zone File',\n docker: 'Docker',\n dot: 'DOT',\n ebnf: 'EBNF',\n editorconfig: 'EditorConfig',\n eiffel: 'Eiffel',\n ejs: 'EJS',\n elixir: 'Elixir',\n elm: 'Elm',\n erb: 'ERB',\n erlang: 'Erlang',\n etlua: 'ETLua',\n excelFormula: 'Excel Formula',\n factor: 'Factor',\n falselang: 'Falselang',\n firestoreSecurityRules: 'Firestore Security Rules',\n flow: 'Flow',\n fortran: 'Fortran',\n fsharp: 'F#',\n ftl: 'FTL',\n gap: 'GAP',\n gcode: 'G-code',\n gdscript: 'GDScript',\n gedcom: 'GEDCOM',\n gherkin: 'Gherkin',\n git: 'Git',\n glsl: 'GLSL',\n gml: 'GML',\n gn: 'GN',\n goModule: 'Go Module',\n go: 'Go',\n graphql: 'GraphQL',\n groovy: 'Groovy',\n haml: 'Haml',\n handlebars: 'Handlebars',\n haskell: 'Haskell',\n haxe: 'Haxe',\n hcl: 'HCL',\n hlsl: 'HLSL',\n hoon: 'Hoon',\n hpkp: 'HPKP',\n hsts: 'HSTS',\n html: 'HTML',\n http: 'HTTP',\n ichigojam: 'IchigoJam',\n icon: 'Icon',\n icuMessageFormat: 'ICU Message Format',\n idris: 'Idris',\n iecst: 'IECST',\n ignore: 'Ignore',\n inform7: 'Inform7',\n ini: 'INI',\n io: 'Io',\n j: 'J',\n java: 'Java',\n javadoc: 'Javadoc',\n javadoclike: 'Javadoc-like',\n javascript: 'JavaScript',\n javastacktrace: 'Java Stack Trace',\n jexl: 'JEXL',\n jolie: 'Jolie',\n jq: 'jq',\n jsExtras: 'JS Extras',\n jsTemplates: 'JS Templates',\n jsdoc: 'JSDoc',\n json: 'JSON',\n json5: 'JSON5',\n jsonp: 'JSONP',\n jsstacktrace: 'JS Stack Trace',\n jsx: 'JSX',\n julia: 'Julia',\n keepalived: 'Keepalived',\n keyman: 'Keyman',\n kotlin: 'Kotlin',\n kumir: 'KuMir',\n kusto: 'Kusto',\n latex: 'LaTeX',\n latte: 'Latte',\n less: 'Less',\n lilypond: 'LilyPond',\n liquid: 'Liquid',\n lisp: 'Lisp',\n livescript: 'LiveScript',\n llvm: 'LLVM',\n log: 'Log',\n lolcode: 'LOLCODE',\n lua: 'Lua',\n magma: 'Magma',\n makefile: 'Makefile',\n markdown: 'Markdown',\n markupTemplating: 'Markup Templating',\n markup: 'Markup',\n matlab: 'MATLAB',\n maxscript: 'MAXScript',\n mel: 'MEL',\n mermaid: 'Mermaid',\n mizar: 'Mizar',\n mongodb: 'MongoDB',\n monkey: 'Monkey',\n moonscript: 'MoonScript',\n n1ql: 'N1QL',\n n4js: 'N4JS',\n nand2tetrisHdl: 'Nand2Tetris HDL',\n naniscript: 'NaninScript',\n nasm: 'NASM',\n neon: 'NEON',\n nevod: 'NevoD',\n nginx: 'Nginx',\n nim: 'Nim',\n nix: 'Nix',\n nsis: 'NSIS',\n objectivec: 'Objective-C',\n ocaml: 'OCaml',\n opencl: 'OpenCL',\n openqasm: 'OpenQasm',\n oz: 'Oz',\n parigp: 'PARI/GP',\n parser: 'Parser',\n pascal: 'Pascal',\n pascaligo: 'Pascaligo',\n pcaxis: 'PC-Axis',\n peoplecode: 'PeopleCode',\n perl: 'Perl',\n phpExtras: 'PHP Extras',\n php: 'PHP',\n phpdoc: 'PHPDoc',\n plsql: 'PL/SQL',\n powerquery: 'PowerQuery',\n powershell: 'PowerShell',\n processing: 'Processing',\n prolog: 'Prolog',\n promql: 'PromQL',\n properties: 'Properties',\n protobuf: 'Protocol Buffers',\n psl: 'PSL',\n pug: 'Pug',\n puppet: 'Puppet',\n pure: 'Pure',\n purebasic: 'PureBasic',\n purescript: 'PureScript',\n python: 'Python',\n q: 'Q',\n qml: 'QML',\n qore: 'Qore',\n qsharp: 'Q#',\n r: 'R',\n racket: 'Racket',\n reason: 'Reason',\n regex: 'RegExp',\n rego: 'Rego',\n renpy: 'RenPy',\n rest: 'reST',\n rip: 'Rip',\n roboconf: 'Roboconf',\n robotframework: 'Robot Framework',\n ruby: 'Ruby',\n rust: 'Rust',\n sas: 'SAS',\n sass: 'Sass',\n scala: 'Scala',\n scheme: 'Scheme',\n scss: 'SCSS',\n shellSession: 'Shell Session',\n smali: 'Smali',\n smalltalk: 'Smalltalk',\n smarty: 'Smarty',\n sml: 'SML',\n solidity: 'Solidity',\n solutionFile: 'Solution File',\n soy: 'Soy',\n sparql: 'SPARQL',\n splunkSpl: 'Splunk SPL',\n sqf: 'SQF',\n sql: 'SQL',\n squirrel: 'Squirrel',\n stan: 'Stan',\n stylus: 'Stylus',\n swift: 'Swift',\n systemd: 'systemd',\n t4Cs: 'T4CS',\n t4Templating: 'T4 Templating',\n t4Vb: 'T4VB',\n tap: 'TAP',\n tcl: 'Tcl',\n textile: 'Textile',\n toml: 'TOML',\n tremor: 'Tremor',\n tsx: 'TSX',\n tt2: 'TT2',\n turtle: 'Turtle',\n twig: 'Twig',\n typescript: 'TypeScript',\n typoscript: 'TypoScript',\n unrealscript: 'UnrealScript',\n uorazor: 'Uorazor',\n uri: 'URI',\n v: 'V',\n vala: 'Vala',\n vbnet: 'VB.NET',\n velocity: 'Velocity',\n verilog: 'Verilog',\n vhdl: 'VHDL',\n vim: 'Vim',\n visualBasic: 'Visual Basic',\n warpscript: 'WarpScript',\n wasm: 'WebAssembly',\n webIdl: 'WebIDL',\n wiki: 'Wiki',\n wolfram: 'Wolfram',\n wren: 'Wren',\n xeora: 'Xeora',\n xmlDoc: 'XML Doc',\n xojo: 'Xojo',\n xquery: 'XQuery',\n yaml: 'YAML',\n yang: 'YANG',\n zig: 'Zig',\n };\n\n return formattedLanguage[language] || language;\n};\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chayns-components/code-highlighter",
3
- "version": "5.0.0-beta.997",
3
+ "version": "5.0.0",
4
4
  "description": "A set of beautiful React components for developing your own applications with chayns.",
5
5
  "sideEffects": false,
6
6
  "browserslist": [
@@ -23,8 +23,9 @@
23
23
  "exports": {
24
24
  ".": {
25
25
  "types": "./lib/types/index.d.ts",
26
+ "node": "./lib/cjs/index.js",
26
27
  "require": "./lib/cjs/index.js",
27
- "import": "./lib/esm/index.js"
28
+ "default": "./lib/esm/index.js"
28
29
  }
29
30
  },
30
31
  "directories": {
@@ -51,32 +52,32 @@
51
52
  "url": "https://github.com/TobitSoftware/chayns-components/issues"
52
53
  },
53
54
  "devDependencies": {
54
- "@babel/cli": "^7.26.4",
55
- "@babel/core": "^7.26.0",
56
- "@babel/preset-env": "^7.26.0",
57
- "@babel/preset-react": "^7.26.3",
58
- "@babel/preset-typescript": "^7.26.0",
59
- "@types/react": "^18.3.18",
60
- "@types/react-dom": "^18.3.5",
61
- "@types/styled-components": "^5.1.34",
55
+ "@babel/cli": "^7.28.6",
56
+ "@babel/core": "^7.29.0",
57
+ "@babel/preset-env": "^7.29.0",
58
+ "@babel/preset-react": "^7.28.5",
59
+ "@babel/preset-typescript": "^7.28.5",
60
+ "@types/react": "^18.3.28",
61
+ "@types/react-dom": "^18.3.7",
62
+ "@types/styled-components": "^5.1.36",
62
63
  "babel-loader": "^9.2.1",
63
64
  "cross-env": "^7.0.3",
64
- "lerna": "^8.1.9",
65
+ "lerna": "^8.2.4",
65
66
  "react": "^18.3.1",
66
67
  "react-dom": "^18.3.1",
67
- "styled-components": "^6.1.14",
68
- "typescript": "^5.7.3"
68
+ "styled-components": "^6.3.9",
69
+ "typescript": "^5.9.3"
69
70
  },
70
71
  "dependencies": {
71
- "@chayns-components/core": "^5.0.0-beta.997",
72
+ "@chayns-components/core": "^5.0.0",
72
73
  "@types/react-syntax-highlighter": "^15.5.13",
73
74
  "babel-prettier-parser": "^0.10.8",
74
75
  "prettier": "^2.8.8",
75
- "react-syntax-highlighter": "^15.6.1"
76
+ "react-syntax-highlighter": "^15.6.6"
76
77
  },
77
78
  "peerDependencies": {
78
- "chayns-api": ">=2.0.0",
79
- "framer-motion": ">=10.18.0",
79
+ "chayns-api": ">=2.2.0",
80
+ "motion": ">=12.4.1",
80
81
  "react": ">=18.0.0",
81
82
  "react-dom": ">=18.0.0",
82
83
  "styled-components": ">=5.3.11"
@@ -84,5 +85,5 @@
84
85
  "publishConfig": {
85
86
  "access": "public"
86
87
  },
87
- "gitHead": "88b9adc4186af824999d62f8a1a5e907fceebb06"
88
+ "gitHead": "3d554c67b058b3b25e2666a34ee543fea2cad6e2"
88
89
  }