<!-- API Report Version: 2.3 -->

## API Report File for "@atlaskit/code"

> Do not edit this file. This report is auto-generated using
> [API Extractor](https://api-extractor.com/).
> [Learn more about API reports](https://hello.atlassian.net/wiki/spaces/UR/pages/1825484529/Package+API+Reports)

### Table of contents

- [Main Entry Types](#main-entry-types)
- [Peer Dependencies](#peer-dependencies)

### Main Entry Types

<!--SECTION START: Main Entry Types-->

```ts
/// <reference types="react" />

import type { HTMLProps } from 'react';
import { NamedExoticComponent } from 'react';
import { default as React_2 } from 'react';
import type { ReactNode } from 'react';

// @public
export const Code: React_2.MemoExoticComponent<
	React_2.ForwardRefExoticComponent<
		Pick<
			CodeProps,
			| 'about'
			| 'accept'
			| 'acceptCharset'
			| 'accessKey'
			| 'action'
			| 'allowFullScreen'
			| 'allowTransparency'
			| 'alt'
			| 'aria-activedescendant'
			| 'aria-atomic'
			| 'aria-autocomplete'
			| 'aria-busy'
			| 'aria-checked'
			| 'aria-colcount'
			| 'aria-colindex'
			| 'aria-colspan'
			| 'aria-controls'
			| 'aria-current'
			| 'aria-describedby'
			| 'aria-details'
			| 'aria-disabled'
			| 'aria-dropeffect'
			| 'aria-errormessage'
			| 'aria-expanded'
			| 'aria-flowto'
			| 'aria-grabbed'
			| 'aria-haspopup'
			| 'aria-hidden'
			| 'aria-invalid'
			| 'aria-keyshortcuts'
			| 'aria-label'
			| 'aria-labelledby'
			| 'aria-level'
			| 'aria-live'
			| 'aria-modal'
			| 'aria-multiline'
			| 'aria-multiselectable'
			| 'aria-orientation'
			| 'aria-owns'
			| 'aria-placeholder'
			| 'aria-posinset'
			| 'aria-pressed'
			| 'aria-readonly'
			| 'aria-relevant'
			| 'aria-required'
			| 'aria-roledescription'
			| 'aria-rowcount'
			| 'aria-rowindex'
			| 'aria-rowspan'
			| 'aria-selected'
			| 'aria-setsize'
			| 'aria-sort'
			| 'aria-valuemax'
			| 'aria-valuemin'
			| 'aria-valuenow'
			| 'aria-valuetext'
			| 'as'
			| 'async'
			| 'autoCapitalize'
			| 'autoComplete'
			| 'autoCorrect'
			| 'autoFocus'
			| 'autoPlay'
			| 'autoSave'
			| 'capture'
			| 'cellPadding'
			| 'cellSpacing'
			| 'challenge'
			| 'charSet'
			| 'checked'
			| 'children'
			| 'cite'
			| 'classID'
			| 'className'
			| 'codeBidiWarningLabel'
			| 'codeBidiWarningTooltipEnabled'
			| 'codeBidiWarnings'
			| 'colSpan'
			| 'color'
			| 'cols'
			| 'content'
			| 'contentEditable'
			| 'contextMenu'
			| 'controls'
			| 'coords'
			| 'crossOrigin'
			| 'dangerouslySetInnerHTML'
			| 'data'
			| 'datatype'
			| 'dateTime'
			| 'default'
			| 'defaultChecked'
			| 'defaultValue'
			| 'defer'
			| 'dir'
			| 'disabled'
			| 'download'
			| 'draggable'
			| 'encType'
			| 'form'
			| 'formAction'
			| 'formEncType'
			| 'formMethod'
			| 'formNoValidate'
			| 'formTarget'
			| 'frameBorder'
			| 'headers'
			| 'height'
			| 'hidden'
			| 'high'
			| 'href'
			| 'hrefLang'
			| 'htmlFor'
			| 'httpEquiv'
			| 'id'
			| 'inlist'
			| 'inputMode'
			| 'integrity'
			| 'is'
			| 'itemID'
			| 'itemProp'
			| 'itemRef'
			| 'itemScope'
			| 'itemType'
			| 'key'
			| 'keyParams'
			| 'keyType'
			| 'kind'
			| 'label'
			| 'lang'
			| 'list'
			| 'loop'
			| 'low'
			| 'manifest'
			| 'marginHeight'
			| 'marginWidth'
			| 'max'
			| 'maxLength'
			| 'media'
			| 'mediaGroup'
			| 'method'
			| 'min'
			| 'minLength'
			| 'multiple'
			| 'muted'
			| 'name'
			| 'noValidate'
			| 'nonce'
			| 'onAbort'
			| 'onAbortCapture'
			| 'onAnimationEnd'
			| 'onAnimationEndCapture'
			| 'onAnimationIteration'
			| 'onAnimationIterationCapture'
			| 'onAnimationStart'
			| 'onAnimationStartCapture'
			| 'onAuxClick'
			| 'onAuxClickCapture'
			| 'onBeforeInput'
			| 'onBeforeInputCapture'
			| 'onBlur'
			| 'onBlurCapture'
			| 'onCanPlay'
			| 'onCanPlayCapture'
			| 'onCanPlayThrough'
			| 'onCanPlayThroughCapture'
			| 'onChange'
			| 'onChangeCapture'
			| 'onClick'
			| 'onClickCapture'
			| 'onCompositionEnd'
			| 'onCompositionEndCapture'
			| 'onCompositionStart'
			| 'onCompositionStartCapture'
			| 'onCompositionUpdate'
			| 'onCompositionUpdateCapture'
			| 'onContextMenu'
			| 'onContextMenuCapture'
			| 'onCopy'
			| 'onCopyCapture'
			| 'onCut'
			| 'onCutCapture'
			| 'onDoubleClick'
			| 'onDoubleClickCapture'
			| 'onDrag'
			| 'onDragCapture'
			| 'onDragEnd'
			| 'onDragEndCapture'
			| 'onDragEnter'
			| 'onDragEnterCapture'
			| 'onDragExit'
			| 'onDragExitCapture'
			| 'onDragLeave'
			| 'onDragLeaveCapture'
			| 'onDragOver'
			| 'onDragOverCapture'
			| 'onDragStart'
			| 'onDragStartCapture'
			| 'onDrop'
			| 'onDropCapture'
			| 'onDurationChange'
			| 'onDurationChangeCapture'
			| 'onEmptied'
			| 'onEmptiedCapture'
			| 'onEncrypted'
			| 'onEncryptedCapture'
			| 'onEnded'
			| 'onEndedCapture'
			| 'onError'
			| 'onErrorCapture'
			| 'onFocus'
			| 'onFocusCapture'
			| 'onGotPointerCapture'
			| 'onGotPointerCaptureCapture'
			| 'onInput'
			| 'onInputCapture'
			| 'onInvalid'
			| 'onInvalidCapture'
			| 'onKeyDown'
			| 'onKeyDownCapture'
			| 'onKeyPress'
			| 'onKeyPressCapture'
			| 'onKeyUp'
			| 'onKeyUpCapture'
			| 'onLoad'
			| 'onLoadCapture'
			| 'onLoadStart'
			| 'onLoadStartCapture'
			| 'onLoadedData'
			| 'onLoadedDataCapture'
			| 'onLoadedMetadata'
			| 'onLoadedMetadataCapture'
			| 'onLostPointerCapture'
			| 'onLostPointerCaptureCapture'
			| 'onMouseDown'
			| 'onMouseDownCapture'
			| 'onMouseEnter'
			| 'onMouseLeave'
			| 'onMouseMove'
			| 'onMouseMoveCapture'
			| 'onMouseOut'
			| 'onMouseOutCapture'
			| 'onMouseOver'
			| 'onMouseOverCapture'
			| 'onMouseUp'
			| 'onMouseUpCapture'
			| 'onPaste'
			| 'onPasteCapture'
			| 'onPause'
			| 'onPauseCapture'
			| 'onPlay'
			| 'onPlayCapture'
			| 'onPlaying'
			| 'onPlayingCapture'
			| 'onPointerCancel'
			| 'onPointerCancelCapture'
			| 'onPointerDown'
			| 'onPointerDownCapture'
			| 'onPointerEnter'
			| 'onPointerEnterCapture'
			| 'onPointerLeave'
			| 'onPointerLeaveCapture'
			| 'onPointerMove'
			| 'onPointerMoveCapture'
			| 'onPointerOut'
			| 'onPointerOutCapture'
			| 'onPointerOver'
			| 'onPointerOverCapture'
			| 'onPointerUp'
			| 'onPointerUpCapture'
			| 'onProgress'
			| 'onProgressCapture'
			| 'onRateChange'
			| 'onRateChangeCapture'
			| 'onReset'
			| 'onResetCapture'
			| 'onScroll'
			| 'onScrollCapture'
			| 'onSeeked'
			| 'onSeekedCapture'
			| 'onSeeking'
			| 'onSeekingCapture'
			| 'onSelect'
			| 'onSelectCapture'
			| 'onStalled'
			| 'onStalledCapture'
			| 'onSubmit'
			| 'onSubmitCapture'
			| 'onSuspend'
			| 'onSuspendCapture'
			| 'onTimeUpdate'
			| 'onTimeUpdateCapture'
			| 'onTouchCancel'
			| 'onTouchCancelCapture'
			| 'onTouchEnd'
			| 'onTouchEndCapture'
			| 'onTouchMove'
			| 'onTouchMoveCapture'
			| 'onTouchStart'
			| 'onTouchStartCapture'
			| 'onTransitionEnd'
			| 'onTransitionEndCapture'
			| 'onVolumeChange'
			| 'onVolumeChangeCapture'
			| 'onWaiting'
			| 'onWaitingCapture'
			| 'onWheel'
			| 'onWheelCapture'
			| 'open'
			| 'optimum'
			| 'pattern'
			| 'placeholder'
			| 'playsInline'
			| 'poster'
			| 'prefix'
			| 'preload'
			| 'property'
			| 'radioGroup'
			| 'readOnly'
			| 'rel'
			| 'required'
			| 'resource'
			| 'results'
			| 'reversed'
			| 'role'
			| 'rowSpan'
			| 'rows'
			| 'sandbox'
			| 'scope'
			| 'scoped'
			| 'scrolling'
			| 'seamless'
			| 'security'
			| 'selected'
			| 'shape'
			| 'size'
			| 'sizes'
			| 'slot'
			| 'span'
			| 'spellCheck'
			| 'src'
			| 'srcDoc'
			| 'srcLang'
			| 'srcSet'
			| 'start'
			| 'step'
			| 'style'
			| 'summary'
			| 'suppressContentEditableWarning'
			| 'suppressHydrationWarning'
			| 'tabIndex'
			| 'target'
			| 'testId'
			| 'title'
			| 'translate'
			| 'type'
			| 'typeof'
			| 'unselectable'
			| 'useMap'
			| 'value'
			| 'vocab'
			| 'width'
			| 'wmode'
			| 'wrap'
		> &
			React_2.RefAttributes<HTMLElement>
	>
>;

// @public
export const CodeBlock: NamedExoticComponent<CodeBlockProps>;

// @public (undocumented)
export interface CodeBlockProps {
	codeBidiWarningLabel?: string;
	codeBidiWarnings?: boolean;
	codeBidiWarningTooltipEnabled?: boolean;
	highlight?: string;
	highlightedEndText?: string;
	highlightedStartText?: string;
	language?: SupportedLanguages;
	shouldWrapLongLines?: boolean;
	showLineNumbers?: boolean;
	testId?: string;
	text: string;
}

// @public (undocumented)
export interface CodeProps extends HTMLProps<HTMLElement> {
	children?: ReactNode;
	codeBidiWarningLabel?: string;
	codeBidiWarnings?: boolean;
	codeBidiWarningTooltipEnabled?: boolean;
	testId?: string;
}

// @public (undocumented)
export type Language = (typeof SUPPORTED_LANGUAGES)[number];

// @public (undocumented)
export type LanguageAlias = (typeof SUPPORTED_LANGUAGES)[number]['alias'][number];

// @public (undocumented)
type LanguageName = (typeof SUPPORTED_LANGUAGES)[number]['name'];

// @public (undocumented)
export const SUPPORTED_LANGUAGES: readonly [
	{
		readonly name: 'PHP';
		readonly alias: readonly ['php', 'php3', 'php4', 'php5'];
		readonly value: 'php';
	},
	{
		readonly name: 'Java';
		readonly alias: readonly ['java'];
		readonly value: 'java';
	},
	{
		readonly name: 'CSharp';
		readonly alias: readonly ['csharp', 'c#'];
		readonly value: 'cs';
	},
	{
		readonly name: 'Python';
		readonly alias: readonly ['python', 'py'];
		readonly value: 'python';
	},
	{
		readonly name: 'JavaScript';
		readonly alias: readonly ['javascript', 'js'];
		readonly value: 'javascript';
	},
	{
		readonly name: 'Html';
		readonly alias: readonly ['html'];
		readonly value: 'xml';
	},
	{
		readonly name: 'C++';
		readonly alias: readonly ['c++', 'cpp', 'clike'];
		readonly value: 'cpp';
	},
	{
		readonly name: 'Ruby';
		readonly alias: readonly ['ruby', 'rb', 'duby'];
		readonly value: 'ruby';
	},
	{
		readonly name: 'Objective-C';
		readonly alias: readonly ['objective-c', 'objectivec', 'obj-c', 'objc'];
		readonly value: 'objectivec';
	},
	{
		readonly name: 'C';
		readonly alias: readonly ['c'];
		readonly value: 'cpp';
	},
	{
		readonly name: 'Swift';
		readonly alias: readonly ['swift'];
		readonly value: 'swift';
	},
	{
		readonly name: 'TeX';
		readonly alias: readonly ['tex', 'latex'];
		readonly value: 'tex';
	},
	{
		readonly name: 'Shell';
		readonly alias: readonly ['shell', 'bash', 'sh', 'ksh', 'zsh'];
		readonly value: 'shell';
	},
	{
		readonly name: 'Scala';
		readonly alias: readonly ['scala'];
		readonly value: 'scala';
	},
	{
		readonly name: 'Go';
		readonly alias: readonly ['go'];
		readonly value: 'go';
	},
	{
		readonly name: 'ActionScript';
		readonly alias: readonly ['actionscript', 'actionscript3', 'as'];
		readonly value: 'actionscript';
	},
	{
		readonly name: 'ColdFusion';
		readonly alias: readonly ['coldfusion'];
		readonly value: 'xml';
	},
	{
		readonly name: 'JavaFX';
		readonly alias: readonly ['javafx', 'jfx'];
		readonly value: 'java';
	},
	{
		readonly name: 'VbNet';
		readonly alias: readonly ['vbnet', 'vb.net', 'vfp', 'clipper', 'xbase'];
		readonly value: 'vbnet';
	},
	{
		readonly name: 'JSON';
		readonly alias: readonly ['json'];
		readonly value: 'json';
	},
	{
		readonly name: 'MATLAB';
		readonly alias: readonly ['matlab'];
		readonly value: 'matlab';
	},
	{
		readonly name: 'Groovy';
		readonly alias: readonly ['groovy'];
		readonly value: 'groovy';
	},
	{
		readonly name: 'SQL';
		readonly alias: readonly [
			'sql',
			'postgresql',
			'postgres',
			'plpgsql',
			'psql',
			'postgresql-console',
			'postgres-console',
			'tsql',
			't-sql',
			'mysql',
			'sqlite',
		];
		readonly value: 'sql';
	},
	{
		readonly name: 'R';
		readonly alias: readonly ['r'];
		readonly value: 'r';
	},
	{
		readonly name: 'Perl';
		readonly alias: readonly ['perl', 'pl'];
		readonly value: 'perl';
	},
	{
		readonly name: 'Lua';
		readonly alias: readonly ['lua'];
		readonly value: 'lua';
	},
	{
		readonly name: 'Pascal';
		readonly alias: readonly ['pas', 'pascal', 'objectpascal', 'delphi'];
		readonly value: 'pascal';
	},
	{
		readonly name: 'XML';
		readonly alias: readonly ['xml'];
		readonly value: 'xml';
	},
	{
		readonly name: 'TypeScript';
		readonly alias: readonly ['typescript', 'ts'];
		readonly value: 'typescript';
	},
	{
		readonly name: 'CoffeeScript';
		readonly alias: readonly ['coffeescript', 'coffee-script', 'coffee'];
		readonly value: 'coffeescript';
	},
	{
		readonly name: 'Haskell';
		readonly alias: readonly ['haskell', 'hs'];
		readonly value: 'haskell';
	},
	{
		readonly name: 'Puppet';
		readonly alias: readonly ['puppet'];
		readonly value: 'puppet';
	},
	{
		readonly name: 'Arduino';
		readonly alias: readonly ['arduino'];
		readonly value: 'arduino';
	},
	{
		readonly name: 'Fortran';
		readonly alias: readonly ['fortran'];
		readonly value: 'fortran';
	},
	{
		readonly name: 'Erlang';
		readonly alias: readonly ['erlang', 'erl'];
		readonly value: 'erlang';
	},
	{
		readonly name: 'PowerShell';
		readonly alias: readonly ['powershell', 'posh', 'ps1', 'psm1'];
		readonly value: 'powershell';
	},
	{
		readonly name: 'Haxe';
		readonly alias: readonly ['haxe', 'hx', 'hxsl'];
		readonly value: 'haxe';
	},
	{
		readonly name: 'Elixir';
		readonly alias: readonly ['elixir', 'ex', 'exs'];
		readonly value: 'elixir';
	},
	{
		readonly name: 'Verilog';
		readonly alias: readonly ['verilog', 'v'];
		readonly value: 'verilog';
	},
	{
		readonly name: 'Rust';
		readonly alias: readonly ['rust'];
		readonly value: 'rust';
	},
	{
		readonly name: 'VHDL';
		readonly alias: readonly ['vhdl'];
		readonly value: 'vhdl';
	},
	{
		readonly name: 'Sass';
		readonly alias: readonly ['sass'];
		readonly value: 'less';
	},
	{
		readonly name: 'OCaml';
		readonly alias: readonly ['ocaml'];
		readonly value: 'ocaml';
	},
	{
		readonly name: 'Dart';
		readonly alias: readonly ['dart'];
		readonly value: 'dart';
	},
	{
		readonly name: 'CSS';
		readonly alias: readonly ['css'];
		readonly value: 'css';
	},
	{
		readonly name: 'reStructuredText';
		readonly alias: readonly ['restructuredtext', 'rst', 'rest'];
		readonly value: 'rest';
	},
	{
		readonly name: 'Kotlin';
		readonly alias: readonly ['kotlin'];
		readonly value: 'kotlin';
	},
	{
		readonly name: 'D';
		readonly alias: readonly ['d'];
		readonly value: 'd';
	},
	{
		readonly name: 'Octave';
		readonly alias: readonly ['octave'];
		readonly value: 'matlab';
	},
	{
		readonly name: 'QML';
		readonly alias: readonly ['qbs', 'qml'];
		readonly value: 'qml';
	},
	{
		readonly name: 'Prolog';
		readonly alias: readonly ['prolog'];
		readonly value: 'prolog';
	},
	{
		readonly name: 'FoxPro';
		readonly alias: readonly ['foxpro', 'purebasic'];
		readonly value: 'purebasic';
	},
	{
		readonly name: 'Scheme';
		readonly alias: readonly ['scheme', 'scm'];
		readonly value: 'scheme';
	},
	{
		readonly name: 'CUDA';
		readonly alias: readonly ['cuda', 'cu'];
		readonly value: 'cpp';
	},
	{
		readonly name: 'Julia';
		readonly alias: readonly ['julia', 'jl'];
		readonly value: 'julia';
	},
	{
		readonly name: 'Racket';
		readonly alias: readonly ['racket', 'rkt'];
		readonly value: 'lisp';
	},
	{
		readonly name: 'Ada';
		readonly alias: readonly ['ada', 'ada95', 'ada2005'];
		readonly value: 'ada';
	},
	{
		readonly name: 'Tcl';
		readonly alias: readonly ['tcl'];
		readonly value: 'tcl';
	},
	{
		readonly name: 'Mathematica';
		readonly alias: readonly ['mathematica', 'mma', 'nb'];
		readonly value: 'mathematica';
	},
	{
		readonly name: 'Autoit';
		readonly alias: readonly ['autoit'];
		readonly value: 'autoit';
	},
	{
		readonly name: 'StandardML';
		readonly alias: readonly ['standardmL', 'sml', 'standardml'];
		readonly value: 'sml';
	},
	{
		readonly name: 'Objective-J';
		readonly alias: readonly ['objective-j', 'objectivej', 'obj-j', 'objj'];
		readonly value: 'objectivec';
	},
	{
		readonly name: 'Smalltalk';
		readonly alias: readonly ['smalltalk', 'squeak', 'st'];
		readonly value: 'smalltalk';
	},
	{
		readonly name: 'Vala';
		readonly alias: readonly ['vala', 'vapi'];
		readonly value: 'vala';
	},
	{
		readonly name: 'ABAP';
		readonly alias: readonly ['abap'];
		readonly value: 'sql';
	},
	{
		readonly name: 'LiveScript';
		readonly alias: readonly ['livescript', 'live-script'];
		readonly value: 'livescript';
	},
	{
		readonly name: 'XQuery';
		readonly alias: readonly ['xquery', 'xqy', 'xq', 'xql', 'xqm'];
		readonly value: 'xquery';
	},
	{
		readonly name: 'PlainText';
		readonly alias: readonly ['text', 'plaintext'];
		readonly value: 'text';
	},
	{
		readonly name: 'Yaml';
		readonly alias: readonly ['yaml', 'yml'];
		readonly value: 'yaml';
	},
	{
		readonly name: 'GraphQL';
		readonly alias: readonly ['graphql'];
		readonly value: 'graphql';
	},
	{
		readonly name: 'AppleScript';
		readonly alias: readonly ['applescript'];
		readonly value: 'applescript';
	},
	{
		readonly name: 'Clojure';
		readonly alias: readonly ['clojure'];
		readonly value: 'clojure';
	},
	{
		readonly name: 'Diff';
		readonly alias: readonly ['diff'];
		readonly value: 'diff';
	},
	{
		readonly name: 'VisualBasic';
		readonly alias: readonly ['visualbasic'];
		readonly value: 'visual-basic';
	},
	{
		readonly name: 'JSX';
		readonly alias: readonly ['jsx'];
		readonly value: 'jsx';
	},
	{
		readonly name: 'TSX';
		readonly alias: readonly ['tsx'];
		readonly value: 'tsx';
	},
	{
		readonly name: 'SplunkSPL';
		readonly alias: readonly ['splunk-spl'];
		readonly value: 'splunk-spl';
	},
	{
		readonly name: 'Dockerfile';
		readonly alias: readonly ['docker', 'dockerfile'];
		readonly value: 'dockerfile';
	},
	{
		readonly name: 'HCL';
		readonly alias: readonly ['hcl', 'terraform'];
		readonly value: 'hcl';
	},
	{
		readonly name: 'NGINX';
		readonly alias: readonly ['nginx'];
		readonly value: 'nginx';
	},
	{
		readonly name: 'Protocol Buffers';
		readonly alias: readonly ['protobuf', 'proto'];
		readonly value: 'protobuf';
	},
];

// @public (undocumented)
export type SupportedLanguages = LanguageAlias | LanguageName;

// (No @packageDocumentation comment for this package)
```

<!--SECTION END: Main Entry Types-->

### Peer Dependencies

<!--SECTION START: Peer Dependencies-->

```json
{
	"react": "^16.8.0"
}
```

<!--SECTION END: Peer Dependencies-->
