@leafygreen-ui/code
Advanced tools
Comparing version 9.2.0 to 9.3.0
# @leafygreen-ui/code | ||
## 9.3.0 | ||
### Minor Changes | ||
- 70f3c2c: Add support for custom action buttons in the code component | ||
### Patch Changes | ||
- Updated dependencies [70f3c2c] | ||
- Updated dependencies [70f3c2c] | ||
- @leafygreen-ui/hooks@7.1.1 | ||
- @leafygreen-ui/select@3.1.0 | ||
## 9.2.0 | ||
@@ -4,0 +17,0 @@ |
@@ -22,3 +22,3 @@ /// <reference types="react" /> | ||
*/ | ||
declare function Code({ children, className, language: languageProp, darkMode, showLineNumbers, showWindowChrome, chromeTitle, copyable, onCopy, highlightLines, languageOptions, onChange, ...rest }: CodeProps): JSX.Element; | ||
declare function Code({ children, className, language: languageProp, darkMode, showLineNumbers, showWindowChrome, chromeTitle, copyable, onCopy, highlightLines, languageOptions, onChange, customActionButtons, showCustomActionButtons, ...rest }: CodeProps): JSX.Element; | ||
declare namespace Code { | ||
@@ -25,0 +25,0 @@ var displayName: string; |
@@ -1,2 +0,2 @@ | ||
import n from"highlight.js/lib/languages/javascript";import r from"highlight.js/lib/languages/typescript";import e from"highlight.js/lib/languages/csharp";import i from"highlight.js/lib/languages/go";import t from"highlight.js/lib/languages/http";import o from"highlight.js/lib/languages/ini";import l from"highlight.js/lib/languages/java";import a from"highlight.js/lib/languages/perl";import g from"highlight.js/lib/languages/php";import h from"highlight.js/lib/languages/properties";import c from"highlight.js/lib/languages/python";import s from"highlight.js/lib/languages/ruby";import u from"highlight.js/lib/languages/rust";import d from"highlight.js/lib/languages/scala";import p from"highlight.js/lib/languages/swift";import f from"highlight.js/lib/languages/kotlin";import m from"highlight.js/lib/languages/objectivec";import b from"highlight.js/lib/languages/bash";import y from"highlight.js/lib/languages/shell";import v from"highlight.js/lib/languages/sql";import x from"highlight.js/lib/languages/yaml";import k from"highlight.js/lib/languages/json";import w from"highlight.js/lib/languages/diff";import j from"highlight.js/lib/languages/xml";import{injectGlobal as N,css as O,cx as S}from"@leafygreen-ui/emotion";import{uiColors as C}from"@leafygreen-ui/palette";import L,{createContext as M,useContext as A,useMemo as D,useState as P,useEffect as E,useRef as T}from"react";import I from"prop-types";import q from"clipboard";import W from"lodash/debounce";import{usePrevious as F,useIsomorphicLayoutEffect as B}from"@leafygreen-ui/hooks";import{spacing as R,fontFamilies as _}from"@leafygreen-ui/tokens";import{useUsingKeyboardContext as z}from"@leafygreen-ui/leafygreen-provider";import J from"highlight.js/lib/core";import G from"highlightjs-graphql";import{transparentize as K,darken as H}from"polished";import U from"lodash/flatMap";import{jsx as X}from"@emotion/react";import{VisuallyHidden as Y}from"@leafygreen-ui/a11y";import $ from"@leafygreen-ui/icon/dist/Checkmark";import Q from"@leafygreen-ui/icon/dist/Copy";import V from"@leafygreen-ui/icon-button";import{isComponentType as Z}from"@leafygreen-ui/lib";import{isComponentGlyph as nn}from"@leafygreen-ui/icon";import rn from"@leafygreen-ui/button";import{Select as en,Option as tn}from"@leafygreen-ui/select";function on(n,r){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);r&&(i=i.filter((function(r){return Object.getOwnPropertyDescriptor(n,r).enumerable}))),e.push.apply(e,i)}return e}function ln(n){for(var r=1;r<arguments.length;r++){var e=null!=arguments[r]?arguments[r]:{};r%2?on(Object(e),!0).forEach((function(r){gn(n,r,e[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)):on(Object(e)).forEach((function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(e,r))}))}return n}function an(n){return(an="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}function gn(n,r,e){return r in n?Object.defineProperty(n,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[r]=e,n}function hn(){return(hn=Object.assign||function(n){for(var r=1;r<arguments.length;r++){var e=arguments[r];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(n[i]=e[i])}return n}).apply(this,arguments)}function cn(n,r){if(null==n)return{};var e,i,t=function(n,r){if(null==n)return{};var e,i,t={},o=Object.keys(n);for(i=0;i<o.length;i++)e=o[i],r.indexOf(e)>=0||(t[e]=n[e]);return t}(n,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(n);for(i=0;i<o.length;i++)e=o[i],r.indexOf(e)>=0||Object.prototype.propertyIsEnumerable.call(n,e)&&(t[e]=n[e])}return t}function sn(n,r){return r||(r=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(r)}}))}function un(n,r){return function(n){if(Array.isArray(n))return n}(n)||function(n,r){var e=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null==e)return;var i,t,o=[],l=!0,a=!1;try{for(e=e.call(n);!(l=(i=e.next()).done)&&(o.push(i.value),!r||o.length!==r);l=!0);}catch(n){a=!0,t=n}finally{try{l||null==e.return||e.return()}finally{if(a)throw t}}return o}(n,r)||pn(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function dn(n){return function(n){if(Array.isArray(n))return fn(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||pn(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function pn(n,r){if(n){if("string"==typeof n)return fn(n,r);var e=Object.prototype.toString.call(n).slice(8,-1);return"Object"===e&&n.constructor&&(e=n.constructor.name),"Map"===e||"Set"===e?Array.from(n):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?fn(n,r):void 0}}function fn(n,r){(null==r||r>n.length)&&(r=n.length);for(var e=0,i=new Array(r);e<r;e++)i[e]=n[e];return i}var mn,bn={javascript:n,typescript:r,csharp:e,go:i,http:t,ini:o,java:l,perl:a,php:g,properties:h,python:c,ruby:s,rust:u,scala:d,swift:p,kotlin:f,objectivec:m,bash:b,shell:y,sql:v,yaml:x,json:k,diff:w,xml:j},yn={JavaScript:"javascript",JS:"js",TypeScript:"typescript",TS:"ts",Csharp:"csharp",Cs:"cs",Go:"go",Http:"http",Ini:"ini",Java:"java",Perl:"perl",Php:"php",Properties:"properties",Python:"python",Ruby:"ruby",Rust:"rust",Scala:"scala",Swift:"swift",Kotlin:"kotlin",ObjectiveC:"objectivec",Bash:"bash",Shell:"shell",Sql:"sql",Yaml:"yaml",Json:"json",Graphql:"graphql",Diff:"diff",Xml:"xml"},vn={Light:"light",Dark:"dark"},xn=ln(ln({},yn),{},{None:"none"}),kn=(gn(mn={},vn.Light,{0:C.gray.light3,1:C.gray.light2,2:C.gray.dark1,3:C.black,4:C.white,5:"#D83713",6:"#956d00",7:"#12824D",8:"#007ab8",9:"#016ee9",10:"#CC3887"}),gn(mn,vn.Dark,{0:C.black,1:C.gray.dark3,2:"#919DA1",3:C.gray.light3,4:C.gray.dark2,5:"#FF6F44",6:"#EDB210",7:"#35DE7B",8:"#a5e3ff",9:"#2dc4ff",10:"#FF7DC3"}),mn);function wn(){Object.values(vn).forEach((function(n){return N(function(n){return"\n .lg-highlight-hljs-".concat(n," {\n \n .lg-highlight-keyword,\n .lg-highlight-keyword.lg-highlight-function,\n .lg-highlight-keyword.lg-highlight-class,\n .lg-highlight-selector-tag,\n .lg-highlight-selector-attr,\n .lg-highlight-selector-pseudo,\n .lg-highlight-selector-id,\n .lg-highlight-selector-class {\n color: ").concat(kn[n][10],";\n }\n\n .lg-highlight-regexp,\n .lg-highlight-number,\n .lg-highlight-literal,\n .lg-highlight-function.lg-highlight-title {\n color: ").concat(kn[n][9],";\n }\n\n .lg-highlight-quote,\n .lg-highlight-section,\n .lg-highlight-name {\n color: ").concat(kn[n][8],";\n }\n\n .lg-highlight-string,\n .lg-highlight-addition {\n color: ").concat(kn[n][7],";\n }\n\n .lg-highlight-meta,\n .lg-highlight-meta-string {\n color: ").concat(kn[n][6],";\n }\n\n .lg-highlight-variable,\n .lg-highlight-deletion,\n .lg-highlight-symbol,\n .lg-highlight-bullet,\n .lg-highlight-meta,\n .lg-highlight-link,\n .lg-highlight-attr,\n .lg-highlight-attribute,\n .lg-highlight-language,\n .lg-highlight-template-variable,\n .lg-highlight-built_in,\n .lg-highlight-type,\n .lg-highlight-params {\n color: ").concat(kn[n][5],"\n }\n\n .lg-highlight-title,\n .lg-highlight-class.lg-highlight-title {\n color: ").concat(kn[n][3],";\n }\n\n .lg-highlight-doctag,\n .lg-highlight-formula {\n color: ").concat(kn[n][3],";\n }\n \n .lg-highlight-comment {\n color: ").concat(kn[n][2],";\n font-style: italic;\n }\n \n .lg-highlight-string {\n font-weight: 600;\n }\n \n .lg-highlight-emphasis {\n font-style: italic;\n }\n \n .lg-highlight-strong {\n font-weight: bold;\n }\n }\n")}(n))}))}var jn,Nn,On,Sn,Cn=M({highlightLines:[],darkMode:!1});function Ln(){for(var n="lg-highlight-",r=arguments.length,e=new Array(r),i=0;i<r;i++)e[i]=arguments[i];return e.filter((function(n){return En(n)&&n.length>0})).map((function(r){return r.startsWith(n)?r:r.split(".").map((function(r){return"".concat(n).concat(r)})).join(" ")})).join(" ")}function Mn(){for(var n=["function","class"],r=arguments.length,e=new Array(r),i=0;i<r;i++)e[i]=arguments[i];return e.filter((function(r){return n.includes(r)}))}function An(n){var r=n.kind,e=n.children;return X("span",{className:r},e)}function Dn(n){return null!=n&&n instanceof Array}function Pn(n){return null!=n&&"object"===an(n)&&!(n instanceof Array)}function En(n){return null!=n&&"string"==typeof n}function Tn(n,r){return null==n?null:En(n)?n:Dn(n)?n.map(Tn):Pn(n)?X(An,{key:r,kind:n.kind},Tn(n.children)):n}var In=O(jn||(jn=sn(["\n border-spacing: 0;\n vertical-align: top;\n padding: 0 ","px;\n"])),R[3]);function qn(n){var r,e,i;return n?(r="transparent",e="linear-gradient(90deg, ".concat(C.gray.dark3,", ").concat(K(100,C.gray.dark3),")"),i=C.gray.dark3):(r=C.yellow.light3,e="none",i=C.yellow.light2),O(Nn||(Nn=sn(["\n background-color: ",";\n background-image: ",";\n // Fixes an issue in Safari where the gradient applied to the table row would be applied\n // to each cell in the row instead of being continuous across cells.\n background-attachment: fixed;\n\n // Selects all children of a highlighted row, and adds a border top\n & > td {\n border-top: 1px solid ",";\n }\n\n // Selects following rows after a highlighted row, and adds a border top\n // We don't add border bottoms here to support consecutive highlighted rows.\n & + tr > td {\n border-top: 1px solid ",";\n }\n\n // Remove borders between consecutive highlighted rows\n & + & > td {\n border-top: 0;\n }\n\n // If the highlighted row is the last child, then we add a border bottom\n &:last-child > td {\n border-bottom: 1px solid ",";\n }\n "])),r,e,i,i,i)}function Wn(n){var r=n.lineNumber,e=n.highlighted,i=n.darkMode,t=n.children,o=C.gray[i?"dark1":"light1"],l=i?C.gray.light2:C.yellow.dark2;return X("tr",{className:S(gn({},qn(i),e))},r&&X("td",{className:S(In,O(On||(On=sn(["\n user-select: none;\n text-align: right;\n padding-left: ","px;\n padding-right: 0;\n color: ",";\n "])),R[2],e?l:o))},r),X("td",{className:In},t))}function Fn(n){var r=(null!=n?n:{}).children;return!(!Dn(r)||1!==r.length||!En(r[0]))}function Bn(n,r){if("string"==typeof n)return n;if(null!=(e=n)&&"object"===an(e)&&"string"==typeof e.kind&&e.children instanceof Array)return Bn(n.children,r);var e;return U(n,function n(){for(var e=arguments.length,i=new Array(e),t=0;t<e;t++)i[t]=arguments[t];return i=i.filter((function(n){return En(n)&&n.length>0})),function(e){var t,o;return En(e)?i.length>0?{kind:Ln.apply(void 0,[r].concat(dn(i),dn(Mn(e)))),children:[e]}:e:(null!==(t=null==e||null===(o=e.children)||void 0===o?void 0:o.length)&&void 0!==t?t:0)>=1?U(e.children,n.apply(void 0,[r,e.kind].concat(dn(i)))):Fn(e)?{kind:Ln.apply(void 0,[r,e.kind].concat(dn(i),dn(Mn.apply(void 0,dn(e.children))))),children:e.children}:e}}(r))}function Rn(n){return Dn(n)?n.some(Rn):En(n)?n.includes("\n"):!!Pn(n)&&((null===(r=n.children)||void 0===r?void 0:r.includes("\n"))||En(null===(e=n.children)||void 0===e?void 0:e[0])&&n.children[0].includes("\n"));var r,e}function _n(n){var r=[],e=0;null==r[e]&&(r[e]=[]);var i=function(){e++,r[e]=[]};return Bn(n).forEach((function(n){Rn(n)?En(n)?n.split("\n").forEach((function(n,t){t>0&&i(),n&&r[e].push(n)})):n.children[0].split("\n").forEach((function(t,o){o>0&&i(),r[e].push({kind:n.kind,children:[t]})})):n&&(En(n)||Fn(n))&&r[e].push(n)})),r}function zn(n){for(var r=n.lines,e=A(Cn),i=e.highlightLines,t=e.showLineNumbers,o=e.darkMode,l=dn(r);0===(null===(a=l[0])||void 0===a?void 0:a.length);){var a;l.shift()}for(;0===(null===(g=l[l.length-1])||void 0===g?void 0:g.length);){var g;l.pop()}return X(L.Fragment,null,l.map((function(n,r){var e,l=r+1,a=function(n){return i.some((function(r){if(null!=(e=r)&&"number"==typeof e)return n===r;var e;if(Dn(r)){var i=dn(r).sort((function(n,r){return n-r}));return n>=i[0]&&n<=i[1]}return!1}))}(l);t&&(e=l);var g=null!=n&&n.length?n.map(Tn):X("div",{className:O(Sn||(Sn=sn(["\n display: inline-block;\n "])))});return X(Wn,{key:l,lineNumber:e,darkMode:o,highlighted:a},g)})))}var Jn,Gn,Kn={"after:highlight":function(n){var r=n._emitter.rootNode;n.react=X(zn,{lines:_n(r.children)})}},Hn=["children","language","darkMode","showLineNumbers","highlightLines","className"];function Un(n){return"cs"!==n&&"js"!==n&&"ts"!==n}var Xn=!1;var Yn,$n,Qn,Vn,Zn=O(Jn||(Jn=sn(["\n color: inherit;\n font-size: 13px;\n font-family: ",";\n line-height: 24px;\n"])),_.code);function nr(n){var r=n.children,e=n.language,i=n.darkMode,t=void 0!==i&&i,o=n.showLineNumbers,l=void 0!==o&&o,a=n.highlightLines,g=void 0===a?[]:a,h=n.className,c=cn(n,Hn);Xn||function(){Xn=!0,wn();var n=Object.values(yn).filter(Un);n.forEach((function(n){"graphql"===n?G(J):J.registerLanguage(n,bn[n])})),J.configure({languages:n,tabReplace:" "}),J.addPlugin(Kn)}();var s=D((function(){return e===xn.None?null:J.highlight(r,{language:e,ignoreIllegals:!0})}),[e,r]),u=null===s?X(zn,{lines:r.split("\n").map((function(n){return n?[n]:[]}))}):s.react,d=t?vn.Dark:vn.Light;return X(Cn.Provider,{value:{highlightLines:g,showLineNumbers:l,darkMode:t}},X("code",hn({},c,{className:S("lg-highlight-hljs-".concat(d),Zn,e,h)}),X("table",{className:O(Gn||(Gn=sn(["\n border-spacing: 0;\n width: 100%;\n "])))},X("tbody",null,u))))}function rr(n,r,e){var i,t=O(Yn||(Yn=sn(["\n align-self: center;\n color: ",";\n "])),C.gray.base);return r?S(t,O($n||($n=sn(["\n color: ",";\n background-color: ",";\n\n &:focus {\n color: ",";\n\n &:before {\n background-color: ",";\n }\n }\n\n &:hover {\n color: ",";\n\n &:before {\n background-color: ",";\n }\n }\n "])),C.white,C.green.base,C.white,C.green.base,C.white,C.green.base)):n===vn.Dark?S(t,(gn(i={},O(Qn||(Qn=sn(["\n background-color: ",";\n "])),C.gray.dark3),!e),gn(i,O(Vn||(Vn=sn(["\n background-color: ",";\n color: ",";\n "])),C.gray.dark2,C.gray.light2),e),i)):t}function er(n){var r=n.onCopy,e=n.contents,i=n.darkMode,t=n.withLanguageSwitcher,o=void 0!==t&&t,l=un(P(!1),2),a=l[0],g=l[1],h=un(P(null),2),c=h[0],s=h[1],u=i?vn.Dark:vn.Light;E((function(){if(c){var n=new q(c,{text:function(){return e}});if(a){var r=setTimeout((function(){g(!1)}),1500);return function(){return clearTimeout(r)}}return function(){return n.destroy()}}}),[c,e,a]);return X(V,{ref:s,darkMode:i,"aria-label":"Copy",className:rr(u,a,o),onClick:function(n){n.preventDefault(),r&&r(),g(!0)}},X(a?$:Q,null),a&&X(Y,{role:"alert"},"Copied!"))}nr.displayName="Syntax",nr.propTypes={children:I.string.isRequired,language:I.oneOf(Object.values(xn)),className:I.string,darkMode:I.bool,showLineNumbers:I.bool,highlightLines:I.arrayOf(I.oneOfType([I.arrayOf(I.number),I.number]))},er.displayName="CopyButton";var ir,tr,or,lr,ar,gr,hr,cr,sr,ur,dr,pr,fr,mr,br=["className","children"],yr=O(ir||(ir=sn(["\n display: flex;\n align-items: center;\n width: 100%;\n margin-top: -2px;\n margin-left: -1px;\n"]))),vr=O(tr||(tr=sn(["\n border-radius: 4px 0px 0px 0px;\n margin-left: -12px;\n border: 0;\n\n &:hover,\n &:focus,\n &:active {\n box-shadow: 0 0 0 0;\n border: 0;\n }\n"]))),xr={light:O(or||(or=sn(["\n background-color: ",";\n border-right: 1px solid ",";\n box-shadow: 0 0 0 0;\n\n &:hover,\n &:active,\n &:focus {\n border-right: 1px solid ",";\n }\n\n &:hover {\n background-color: ",";\n }\n "])),C.white,C.gray.light2,C.gray.light2,C.gray.light2),dark:O(lr||(lr=sn(["\n border-right: 1px solid ",";\n\n &:hover,\n &:focus,\n &:active {\n border-right: 1px solid ",";\n }\n\n &:hover,\n &:active {\n background-color: ",";\n }\n "])),C.gray.dark3,C.gray.dark3,C.gray.dark1)},kr={light:O(ar||(ar=sn(["\n &:focus {\n background-color: ",";\n }\n "])),C.blue.light2),dark:O(gr||(gr=sn(["\n &:focus {\n background-color: ",";\n }\n "])),C.focus)},wr=O(hr||(hr=sn(["\n width: 144px;\n"]))),jr=O(cr||(cr=sn(["\n margin-right: ","px;\n"])),R[3]);function Nr(n){var r,e=n.language,i=n.languageOptions,t=n.onChange,o=n.darkMode,l=z().usingKeyboard,a=o?"dark":"light",g=F(e),h=S(jr,O(sr||(sr=sn(["\n color: ",";\n "])),o?C.white:C.gray.dark1)),c=X(Q,{className:h});return null!=e.image&&(r=e.image,c=nn(r)||Z(r,"Icon")?L.cloneElement(e.image,{className:h}):L.cloneElement(e.image,{className:jr})),X("div",{className:yr},X(en,{darkMode:o,onChange:function(n){if(""===n&&void 0!==g)return t(g);var r=i.find((function(r){return r.displayName===n}));void 0!==r&&t(r)},"aria-labelledby":"Language Picker",value:null==e?void 0:e.displayName,className:wr,allowDeselect:!1,__INTERNAL__menuButtonSlot__:L.forwardRef((function(n,r){var e=n.className,i=n.children,t=cn(n,br);return X(rn,hn({},t,{className:S(e,vr,xr[a],gn({},kr[a],l)),darkMode:o,ref:r,leftGlyph:c}),i)}))},null==i?void 0:i.map((function(n){return X(tn,{key:null==n?void 0:n.displayName,value:null==n?void 0:n.displayName},null==n?void 0:n.displayName)}))))}Nr.displayName="LanguageSwitcher";var Or,Sr,Cr,Lr,Mr,Ar,Dr=O(ur||(ur=sn(["\n width: 38px;\n border-left: solid 1px;\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n padding-top: 6px;\n"]))),Pr=O(dr||(dr=sn(["\n min-height: ","px;\n padding-top: ","px;\n"])),36,R[1]);function Er(n,r,e){if(!r)return S(Dr,Pr,gn({},Pr,!e),function(n){var r=kn[n];switch(n){case vn.Light:return O(pr||(pr=sn(["\n border-color: ",";\n background-color: white;\n "])),r[1]);case vn.Dark:return O(fr||(fr=sn(["\n border-color: ",";\n background-color: ",";\n "])),r[1],r[1])}}(n));var i=kn[n];return O(mr||(mr=sn(["\n display: flex;\n flex-direction: row;\n align-items: center;\n padding-left: 12px;\n padding-right: 8px;\n background-color: ",";\n border-bottom: 1px solid ",";\n "])),i[4],i[1])}function Tr(n){var r=n.language,e=n.languageOptions,i=n.contents,t=n.onChange,o=n.onCopy,l=n.showCopyButton,a=n.darkMode,g=n.isMultiline;return X("div",{className:Er(a?vn.Dark:vn.Light,!!r,void 0!==g&&g),"data-testid":"leafygreen-code-panel"},void 0!==r&&void 0!==e&&void 0!==t&&X(Nr,{onChange:t,language:r,languageOptions:e,darkMode:a}),l&&X(er,{onCopy:o,darkMode:a,contents:i,withLanguageSwitcher:!!r}))}Tr.displayName="Panel";var Ir="light",qr="dark",Wr=O(Or||(Or=sn(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: ","px;\n padding-left: ","px;\n padding-right: ","px;\n border-radius: ","px ","px 0 0;\n"])),28,12,12,4,4),Fr=O(Sr||(Sr=sn(["\n display: flex;\n height: ","px;\n"])),12),Br=O(Cr||(Cr=sn(["\n height: ","px;\n width: ","px;\n"])),12,60),Rr=O(Lr||(Lr=sn(["\n padding-left: ","px;\n padding-right: ","px;\n font-size: 14px;\n"])),8,8);function _r(n){var r=n.color;return X("div",{className:O(Mr||(Mr=sn(["\n height: ","px;\n width: ","px;\n border-radius: 50px;\n margin-right: 8px;\n background-color: ",";\n border: 1px solid ",";\n "])),12,12,r,H(.03,r))})}function zr(n){var r=n.darkMode,e=void 0!==r&&r,i=n.chromeTitle,t=void 0===i?"":i,o=kn[e?qr:Ir];return X("div",{className:S(Wr,O(Ar||(Ar=sn(["\n background-color: ",";\n color: ",";\n "])),o[1],o[2]))},X("div",{className:Fr},["#FF5952","#E7BF2A","#54C22C"].map((function(n){return X(_r,{key:n,color:n})}))),X("div",{className:Rr},t),X("div",{className:Br}))}zr.displayName="WindowChrome",zr.propTypes={darkMode:I.bool,chromeTitle:I.string};var Jr,Gr,Kr,Hr,Ur,Xr,Yr,$r,Qr,Vr,Zr,ne,re=["children","className","language","darkMode","showLineNumbers","showWindowChrome","chromeTitle","copyable","onCopy","highlightLines","languageOptions","onChange"];var ee=function(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=r.literal,i=r.overlap,t=e?n:["&"].concat(n);function o(n){if("object"!=typeof n||null==n)return[];if(Array.isArray(n))return n.map(o);var r={},l={},a={};return Object.keys(n).forEach((function(g){var h=n[g];if(!Array.isArray(h)&&e&&(h=[h]),(e||Array.isArray(h))&&38!==g.charCodeAt(0)){var c=void 0;h.forEach((function(n,o){if((!i||c!==n)&&null!=n)if(c=n,0!==o||e)if(void 0===r[t[o]]){var l;r[t[o]]=((l={})[g]=n,l)}else r[t[o]][g]=n;else a[g]=n}))}else"object"==typeof h?l[g]=o(h):a[g]=h})),t.forEach((function(n){r[n]&&(a[n]=r[n])})),Object.assign(a,l),a}return function(){for(var n=arguments.length,r=Array(n),e=0;e<n;e++)r[e]=arguments[e];return r.map(o)}}(["@media only screen and (max-device-width: 812px) and (-webkit-min-device-pixel-ratio: 2)","@media only screen and (min-device-width: 813px) and (-webkit-min-device-pixel-ratio: 2)"]),ie=O(Jr||(Jr=sn(["\n overflow-x: auto;\n // Many applications have global styles that are adding a border and border radius to this element.\n border-radius: 0;\n border: 0;\n // We apply left / right padding in Syntax to support line highlighting\n padding-top: ","px;\n padding-bottom: ","px;\n margin: 0;\n position: relative;\n flex-grow: 1;\n\n ","\n"])),R[2],R[2],ee({whiteSpace:["pre","pre-wrap","pre"]})),te=O(Gr||(Gr=sn(["\n border-left: 0;\n"]))),oe=O(Kr||(Kr=sn(["\n display: flex;\n align-items: center;\n padding-top: ","px;\n padding-bottom: ","px;\n"])),6,6),le=O(Hr||(Hr=sn(["\n &:focus {\n outline: none;\n }\n"]))),ae=O(Ur||(Ur=sn(["\n display: flex;\n flex-direction: column-reverse;\n width: 700px;\n"])));var ge="none",he="left",ce="right",se="both";function ue(n){var r=n.children,e=void 0===r?"":r,i=n.className,t=n.language,o=n.darkMode,l=void 0!==o&&o,a=n.showLineNumbers,g=void 0!==a&&a,h=n.showWindowChrome,c=void 0!==h&&h,s=n.chromeTitle,u=void 0===s?"":s,d=n.copyable,p=void 0===d||d,f=n.onCopy,m=n.highlightLines,b=void 0===m?[]:m,y=n.languageOptions,v=n.onChange,x=cn(n,re),k=T(null),w=z().usingKeyboard,j=un(P(ge),2),N=j[0],C=j[1],L=un(P(!1),2),M=L[0],A=L[1],I=l?vn.Dark:vn.Light,F=D((function(){return e.trim().includes("\n")}),[e]),R=null==y?void 0:y.find((function(n){return n.displayName===t})),_=R?R.language:t;E((function(){A(p&&q.isSupported())}),[p,c]),B((function(){var n=k.current;null!=n&&n.scrollWidth>n.clientWidth&&C(ce)}),[]);var J=S(O(Vr||(Vr=sn(["\n border: ",";\n "])),R?"1px solid;":"2px solid;"),ie,function(n){var r=kn[n],e="dark"===n?"border: 0":"border-color: ".concat(r[1]);return O(Xr||(Xr=sn(["\n ",";\n background-color: ",";\n color: ",";\n "])),e,r[0],r[3])}(I),gn({},te,c),i,function(n,r){var e=kn[r],i=r===vn.Light?"rgba(93,108,116,0.3)":"rgba(0,0,0,0.35)";return n===se?O(Yr||(Yr=sn(["\n box-shadow: inset 6px 0 6px -6px ",",\n inset -6px 0 6px -6px ",", inset 0 6px 6px -6px ",",\n inset 0 -6px 6px -6px ",";\n "])),i,i,e[0],e[0]):n===he?O($r||($r=sn(["\n box-shadow: inset 6px 0 6px -6px ",";\n "])),i):n===ce?O(Qr||(Qr=sn(["\n box-shadow: inset -6px 0 6px -6px ",";\n "])),i):""}(N,I),gn({},oe,!F),gn({},le,!w)),G=X(nr,{showLineNumbers:g,darkMode:l,language:_,highlightLines:b},e);var K=W((function(n){var r=n.target,e=r.scrollWidth,i=r.clientWidth;if(e>i){var t=n.target.scrollLeft,o=e-i;t>0&&t<o?C(se):t>0?C(he):t<o&&C(ce)}}),50,{leading:!0}),H=l?"border: 0":"border: 1px solid ".concat(kn[I][1]),U=O(Zr||(Zr=sn(["\n ",";\n border-radius: 4px;\n overflow: hidden;\n "])),H);return X("div",{className:U},c&&X(zr,{chromeTitle:u,darkMode:l}),X("div",{className:S(O(ne||(ne=sn(["\n display: flex;\n "]))),gn({},ae,!!R))},X("pre",hn({},x,{className:J,onScroll:function(n){n.persist(),K(n)},ref:k,tabIndex:N!==ge?0:-1}),G),!c&&(p||!!R)&&X(Tr,{language:R,languageOptions:y,onChange:v,contents:e,onCopy:f,showCopyButton:M,darkMode:l,isMultiline:F})))}ue.displayName="Code",ue.propTypes={children:I.string.isRequired,language:I.oneOfType([I.oneOf(Object.values(xn)),I.string]),darkMode:I.bool,className:I.string,showLineNumbers:I.bool,showWindowChrome:I.bool,chromeTitle:I.string,highlightLines:I.arrayOf(I.oneOfType([I.arrayOf(I.number),I.number]))};export default ue;export{xn as Language,vn as Mode,kn as variantColors}; | ||
import n from"highlight.js/lib/languages/javascript";import r from"highlight.js/lib/languages/typescript";import e from"highlight.js/lib/languages/csharp";import t from"highlight.js/lib/languages/go";import i from"highlight.js/lib/languages/http";import o from"highlight.js/lib/languages/ini";import l from"highlight.js/lib/languages/java";import a from"highlight.js/lib/languages/perl";import g from"highlight.js/lib/languages/php";import h from"highlight.js/lib/languages/properties";import c from"highlight.js/lib/languages/python";import s from"highlight.js/lib/languages/ruby";import u from"highlight.js/lib/languages/rust";import d from"highlight.js/lib/languages/scala";import p from"highlight.js/lib/languages/swift";import f from"highlight.js/lib/languages/kotlin";import m from"highlight.js/lib/languages/objectivec";import b from"highlight.js/lib/languages/bash";import y from"highlight.js/lib/languages/shell";import v from"highlight.js/lib/languages/sql";import x from"highlight.js/lib/languages/yaml";import w from"highlight.js/lib/languages/json";import k from"highlight.js/lib/languages/diff";import j from"highlight.js/lib/languages/xml";import{injectGlobal as N,css as O,cx as C}from"@leafygreen-ui/emotion";import{uiColors as S}from"@leafygreen-ui/palette";import A,{createContext as L,useContext as M,useMemo as D,useState as P,useEffect as E,useRef as T}from"react";import B from"prop-types";import I from"clipboard";import q from"lodash/debounce";import{usePrevious as F,useIsomorphicLayoutEffect as W}from"@leafygreen-ui/hooks";import{spacing as R,fontFamilies as _}from"@leafygreen-ui/tokens";import{useUsingKeyboardContext as z}from"@leafygreen-ui/leafygreen-provider";import J from"highlight.js/lib/core";import G from"highlightjs-graphql";import{transparentize as K,darken as H}from"polished";import U from"lodash/flatMap";import{jsx as X}from"@emotion/react";import{VisuallyHidden as Y}from"@leafygreen-ui/a11y";import $ from"@leafygreen-ui/icon/dist/Checkmark";import Q from"@leafygreen-ui/icon/dist/Copy";import V from"@leafygreen-ui/icon-button";import{isComponentType as Z}from"@leafygreen-ui/lib";import{isComponentGlyph as nn}from"@leafygreen-ui/icon";import rn from"@leafygreen-ui/button";import{Select as en,Option as tn}from"@leafygreen-ui/select";function on(n,r){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(n,r).enumerable}))),e.push.apply(e,t)}return e}function ln(n){for(var r=1;r<arguments.length;r++){var e=null!=arguments[r]?arguments[r]:{};r%2?on(Object(e),!0).forEach((function(r){gn(n,r,e[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)):on(Object(e)).forEach((function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(e,r))}))}return n}function an(n){return(an="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}function gn(n,r,e){return r in n?Object.defineProperty(n,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[r]=e,n}function hn(){return(hn=Object.assign||function(n){for(var r=1;r<arguments.length;r++){var e=arguments[r];for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(n[t]=e[t])}return n}).apply(this,arguments)}function cn(n,r){if(null==n)return{};var e,t,i=function(n,r){if(null==n)return{};var e,t,i={},o=Object.keys(n);for(t=0;t<o.length;t++)e=o[t],r.indexOf(e)>=0||(i[e]=n[e]);return i}(n,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(n);for(t=0;t<o.length;t++)e=o[t],r.indexOf(e)>=0||Object.prototype.propertyIsEnumerable.call(n,e)&&(i[e]=n[e])}return i}function sn(n,r){return r||(r=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(r)}}))}function un(n,r){return function(n){if(Array.isArray(n))return n}(n)||function(n,r){var e=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null==e)return;var t,i,o=[],l=!0,a=!1;try{for(e=e.call(n);!(l=(t=e.next()).done)&&(o.push(t.value),!r||o.length!==r);l=!0);}catch(n){a=!0,i=n}finally{try{l||null==e.return||e.return()}finally{if(a)throw i}}return o}(n,r)||pn(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function dn(n){return function(n){if(Array.isArray(n))return fn(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||pn(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function pn(n,r){if(n){if("string"==typeof n)return fn(n,r);var e=Object.prototype.toString.call(n).slice(8,-1);return"Object"===e&&n.constructor&&(e=n.constructor.name),"Map"===e||"Set"===e?Array.from(n):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?fn(n,r):void 0}}function fn(n,r){(null==r||r>n.length)&&(r=n.length);for(var e=0,t=new Array(r);e<r;e++)t[e]=n[e];return t}var mn,bn={javascript:n,typescript:r,csharp:e,go:t,http:i,ini:o,java:l,perl:a,php:g,properties:h,python:c,ruby:s,rust:u,scala:d,swift:p,kotlin:f,objectivec:m,bash:b,shell:y,sql:v,yaml:x,json:w,diff:k,xml:j},yn={JavaScript:"javascript",JS:"js",TypeScript:"typescript",TS:"ts",Csharp:"csharp",Cs:"cs",Go:"go",Http:"http",Ini:"ini",Java:"java",Perl:"perl",Php:"php",Properties:"properties",Python:"python",Ruby:"ruby",Rust:"rust",Scala:"scala",Swift:"swift",Kotlin:"kotlin",ObjectiveC:"objectivec",Bash:"bash",Shell:"shell",Sql:"sql",Yaml:"yaml",Json:"json",Graphql:"graphql",Diff:"diff",Xml:"xml"},vn={Light:"light",Dark:"dark"},xn=ln(ln({},yn),{},{None:"none"}),wn=(gn(mn={},vn.Light,{0:S.gray.light3,1:S.gray.light2,2:S.gray.dark1,3:S.black,4:S.white,5:"#D83713",6:"#956d00",7:"#12824D",8:"#007ab8",9:"#016ee9",10:"#CC3887"}),gn(mn,vn.Dark,{0:S.black,1:S.gray.dark3,2:"#919DA1",3:S.gray.light3,4:S.gray.dark2,5:"#FF6F44",6:"#EDB210",7:"#35DE7B",8:"#a5e3ff",9:"#2dc4ff",10:"#FF7DC3"}),mn);function kn(){Object.values(vn).forEach((function(n){return N(function(n){return"\n .lg-highlight-hljs-".concat(n," {\n \n .lg-highlight-keyword,\n .lg-highlight-keyword.lg-highlight-function,\n .lg-highlight-keyword.lg-highlight-class,\n .lg-highlight-selector-tag,\n .lg-highlight-selector-attr,\n .lg-highlight-selector-pseudo,\n .lg-highlight-selector-id,\n .lg-highlight-selector-class {\n color: ").concat(wn[n][10],";\n }\n\n .lg-highlight-regexp,\n .lg-highlight-number,\n .lg-highlight-literal,\n .lg-highlight-function.lg-highlight-title {\n color: ").concat(wn[n][9],";\n }\n\n .lg-highlight-quote,\n .lg-highlight-section,\n .lg-highlight-name {\n color: ").concat(wn[n][8],";\n }\n\n .lg-highlight-string,\n .lg-highlight-addition {\n color: ").concat(wn[n][7],";\n }\n\n .lg-highlight-meta,\n .lg-highlight-meta-string {\n color: ").concat(wn[n][6],";\n }\n\n .lg-highlight-variable,\n .lg-highlight-deletion,\n .lg-highlight-symbol,\n .lg-highlight-bullet,\n .lg-highlight-meta,\n .lg-highlight-link,\n .lg-highlight-attr,\n .lg-highlight-attribute,\n .lg-highlight-language,\n .lg-highlight-template-variable,\n .lg-highlight-built_in,\n .lg-highlight-type,\n .lg-highlight-params {\n color: ").concat(wn[n][5],"\n }\n\n .lg-highlight-title,\n .lg-highlight-class.lg-highlight-title {\n color: ").concat(wn[n][3],";\n }\n\n .lg-highlight-doctag,\n .lg-highlight-formula {\n color: ").concat(wn[n][3],";\n }\n \n .lg-highlight-comment {\n color: ").concat(wn[n][2],";\n font-style: italic;\n }\n \n .lg-highlight-string {\n font-weight: 600;\n }\n \n .lg-highlight-emphasis {\n font-style: italic;\n }\n \n .lg-highlight-strong {\n font-weight: bold;\n }\n }\n")}(n))}))}var jn,Nn,On,Cn,Sn=L({highlightLines:[],darkMode:!1});function An(){for(var n="lg-highlight-",r=arguments.length,e=new Array(r),t=0;t<r;t++)e[t]=arguments[t];return e.filter((function(n){return En(n)&&n.length>0})).map((function(r){return r.startsWith(n)?r:r.split(".").map((function(r){return"".concat(n).concat(r)})).join(" ")})).join(" ")}function Ln(){for(var n=["function","class"],r=arguments.length,e=new Array(r),t=0;t<r;t++)e[t]=arguments[t];return e.filter((function(r){return n.includes(r)}))}function Mn(n){var r=n.kind,e=n.children;return X("span",{className:r},e)}function Dn(n){return null!=n&&n instanceof Array}function Pn(n){return null!=n&&"object"===an(n)&&!(n instanceof Array)}function En(n){return null!=n&&"string"==typeof n}function Tn(n,r){return null==n?null:En(n)?n:Dn(n)?n.map(Tn):Pn(n)?X(Mn,{key:r,kind:n.kind},Tn(n.children)):n}var Bn=O(jn||(jn=sn(["\n border-spacing: 0;\n vertical-align: top;\n padding: 0 ","px;\n"])),R[3]);function In(n){var r,e,t;return n?(r="transparent",e="linear-gradient(90deg, ".concat(S.gray.dark3,", ").concat(K(100,S.gray.dark3),")"),t=S.gray.dark3):(r=S.yellow.light3,e="none",t=S.yellow.light2),O(Nn||(Nn=sn(["\n background-color: ",";\n background-image: ",";\n // Fixes an issue in Safari where the gradient applied to the table row would be applied\n // to each cell in the row instead of being continuous across cells.\n background-attachment: fixed;\n\n // Selects all children of a highlighted row, and adds a border top\n & > td {\n border-top: 1px solid ",";\n }\n\n // Selects following rows after a highlighted row, and adds a border top\n // We don't add border bottoms here to support consecutive highlighted rows.\n & + tr > td {\n border-top: 1px solid ",";\n }\n\n // Remove borders between consecutive highlighted rows\n & + & > td {\n border-top: 0;\n }\n\n // If the highlighted row is the last child, then we add a border bottom\n &:last-child > td {\n border-bottom: 1px solid ",";\n }\n "])),r,e,t,t,t)}function qn(n){var r=n.lineNumber,e=n.highlighted,t=n.darkMode,i=n.children,o=S.gray[t?"dark1":"light1"],l=t?S.gray.light2:S.yellow.dark2;return X("tr",{className:C(gn({},In(t),e))},r&&X("td",{className:C(Bn,O(On||(On=sn(["\n user-select: none;\n text-align: right;\n padding-left: ","px;\n padding-right: 0;\n color: ",";\n "])),R[2],e?l:o))},r),X("td",{className:Bn},i))}function Fn(n){var r=(null!=n?n:{}).children;return!(!Dn(r)||1!==r.length||!En(r[0]))}function Wn(n,r){if("string"==typeof n)return n;if(null!=(e=n)&&"object"===an(e)&&"string"==typeof e.kind&&e.children instanceof Array)return Wn(n.children,r);var e;return U(n,function n(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return t=t.filter((function(n){return En(n)&&n.length>0})),function(e){var i,o;return En(e)?t.length>0?{kind:An.apply(void 0,[r].concat(dn(t),dn(Ln(e)))),children:[e]}:e:(null!==(i=null==e||null===(o=e.children)||void 0===o?void 0:o.length)&&void 0!==i?i:0)>=1?U(e.children,n.apply(void 0,[r,e.kind].concat(dn(t)))):Fn(e)?{kind:An.apply(void 0,[r,e.kind].concat(dn(t),dn(Ln.apply(void 0,dn(e.children))))),children:e.children}:e}}(r))}function Rn(n){return Dn(n)?n.some(Rn):En(n)?n.includes("\n"):!!Pn(n)&&((null===(r=n.children)||void 0===r?void 0:r.includes("\n"))||En(null===(e=n.children)||void 0===e?void 0:e[0])&&n.children[0].includes("\n"));var r,e}function _n(n){var r=[],e=0;null==r[e]&&(r[e]=[]);var t=function(){e++,r[e]=[]};return Wn(n).forEach((function(n){Rn(n)?En(n)?n.split("\n").forEach((function(n,i){i>0&&t(),n&&r[e].push(n)})):n.children[0].split("\n").forEach((function(i,o){o>0&&t(),r[e].push({kind:n.kind,children:[i]})})):n&&(En(n)||Fn(n))&&r[e].push(n)})),r}function zn(n){for(var r=n.lines,e=M(Sn),t=e.highlightLines,i=e.showLineNumbers,o=e.darkMode,l=dn(r);0===(null===(a=l[0])||void 0===a?void 0:a.length);){var a;l.shift()}for(;0===(null===(g=l[l.length-1])||void 0===g?void 0:g.length);){var g;l.pop()}return X(A.Fragment,null,l.map((function(n,r){var e,l=r+1,a=function(n){return t.some((function(r){if(null!=(e=r)&&"number"==typeof e)return n===r;var e;if(Dn(r)){var t=dn(r).sort((function(n,r){return n-r}));return n>=t[0]&&n<=t[1]}return!1}))}(l);i&&(e=l);var g=null!=n&&n.length?n.map(Tn):X("div",{className:O(Cn||(Cn=sn(["\n display: inline-block;\n "])))});return X(qn,{key:l,lineNumber:e,darkMode:o,highlighted:a},g)})))}var Jn,Gn,Kn={"after:highlight":function(n){var r=n._emitter.rootNode;n.react=X(zn,{lines:_n(r.children)})}},Hn=["children","language","darkMode","showLineNumbers","highlightLines","className"];function Un(n){return"cs"!==n&&"js"!==n&&"ts"!==n}var Xn=!1;var Yn,$n,Qn,Vn,Zn=O(Jn||(Jn=sn(["\n color: inherit;\n font-size: 13px;\n font-family: ",";\n line-height: 24px;\n"])),_.code);function nr(n){var r=n.children,e=n.language,t=n.darkMode,i=void 0!==t&&t,o=n.showLineNumbers,l=void 0!==o&&o,a=n.highlightLines,g=void 0===a?[]:a,h=n.className,c=cn(n,Hn);Xn||function(){Xn=!0,kn();var n=Object.values(yn).filter(Un);n.forEach((function(n){"graphql"===n?G(J):J.registerLanguage(n,bn[n])})),J.configure({languages:n,tabReplace:" "}),J.addPlugin(Kn)}();var s=D((function(){return e===xn.None?null:J.highlight(r,{language:e,ignoreIllegals:!0})}),[e,r]),u=null===s?X(zn,{lines:r.split("\n").map((function(n){return n?[n]:[]}))}):s.react,d=i?vn.Dark:vn.Light;return X(Sn.Provider,{value:{highlightLines:g,showLineNumbers:l,darkMode:i}},X("code",hn({},c,{className:C("lg-highlight-hljs-".concat(d),Zn,e,h)}),X("table",{className:O(Gn||(Gn=sn(["\n border-spacing: 0;\n width: 100%;\n "])))},X("tbody",null,u))))}function rr(n,r,e){var t,i=O(Yn||(Yn=sn(["\n align-self: center;\n color: ",";\n "])),S.gray.base);return r?C(i,O($n||($n=sn(["\n color: ",";\n background-color: ",";\n\n &:focus {\n color: ",";\n\n &:before {\n background-color: ",";\n }\n }\n\n &:hover {\n color: ",";\n\n &:before {\n background-color: ",";\n }\n }\n "])),S.white,S.green.base,S.white,S.green.base,S.white,S.green.base)):n===vn.Dark?C(i,(gn(t={},O(Qn||(Qn=sn(["\n background-color: ",";\n "])),S.gray.dark3),!e),gn(t,O(Vn||(Vn=sn(["\n background-color: ",";\n color: ",";\n "])),S.gray.dark2,S.gray.light2),e),t)):i}function er(n){var r=n.onCopy,e=n.contents,t=n.darkMode,i=n.withLanguageSwitcher,o=void 0!==i&&i,l=un(P(!1),2),a=l[0],g=l[1],h=un(P(null),2),c=h[0],s=h[1],u=t?vn.Dark:vn.Light;E((function(){if(c){var n=new I(c,{text:function(){return e}});if(a){var r=setTimeout((function(){g(!1)}),1500);return function(){return clearTimeout(r)}}return function(){return n.destroy()}}}),[c,e,a]);return X(V,{ref:s,darkMode:t,"aria-label":"Copy",className:rr(u,a,o),onClick:function(n){n.preventDefault(),r&&r(),g(!0)}},X(a?$:Q,null),a&&X(Y,{role:"alert"},"Copied!"))}nr.displayName="Syntax",nr.propTypes={children:B.string.isRequired,language:B.oneOf(Object.values(xn)),className:B.string,darkMode:B.bool,showLineNumbers:B.bool,highlightLines:B.arrayOf(B.oneOfType([B.arrayOf(B.number),B.number]))},er.displayName="CopyButton";var tr,ir,or,lr,ar,gr,hr,cr,sr,ur,dr,pr,fr,mr,br=["className","children"],yr=O(tr||(tr=sn(["\n display: flex;\n align-items: center;\n width: 100%;\n margin-top: -2px;\n margin-left: -1px;\n"]))),vr=O(ir||(ir=sn(["\n border-radius: 4px 0px 0px 0px;\n margin-left: -12px;\n border: 0;\n\n &:hover,\n &:focus,\n &:active {\n box-shadow: 0 0 0 0;\n border: 0;\n }\n"]))),xr={light:O(or||(or=sn(["\n background-color: ",";\n border-right: 1px solid ",";\n box-shadow: 0 0 0 0;\n\n &:hover,\n &:active,\n &:focus {\n border-right: 1px solid ",";\n }\n\n &:hover {\n background-color: ",";\n }\n "])),S.white,S.gray.light2,S.gray.light2,S.gray.light2),dark:O(lr||(lr=sn(["\n border-right: 1px solid ",";\n\n &:hover,\n &:focus,\n &:active {\n border-right: 1px solid ",";\n }\n\n &:hover,\n &:active {\n background-color: ",";\n }\n "])),S.gray.dark3,S.gray.dark3,S.gray.dark1)},wr={light:O(ar||(ar=sn(["\n &:focus {\n background-color: ",";\n }\n "])),S.blue.light2),dark:O(gr||(gr=sn(["\n &:focus {\n background-color: ",";\n }\n "])),S.focus)},kr=O(hr||(hr=sn(["\n width: 144px;\n"]))),jr=O(cr||(cr=sn(["\n margin-right: ","px;\n"])),R[3]);function Nr(n){var r,e=n.language,t=n.languageOptions,i=n.onChange,o=n.darkMode,l=z().usingKeyboard,a=o?"dark":"light",g=F(e),h=C(jr,O(sr||(sr=sn(["\n color: ",";\n "])),o?S.white:S.gray.dark1)),c=X(Q,{className:h});return null!=e.image&&(r=e.image,c=nn(r)||Z(r,"Icon")?A.cloneElement(e.image,{className:h}):A.cloneElement(e.image,{className:jr})),X("div",{className:yr},X(en,{darkMode:o,onChange:function(n){if(""===n&&void 0!==g)return i(g);var r=t.find((function(r){return r.displayName===n}));void 0!==r&&i(r)},"aria-labelledby":"Language Picker",value:null==e?void 0:e.displayName,className:kr,allowDeselect:!1,__INTERNAL__menuButtonSlot__:A.forwardRef((function(n,r){var e=n.className,t=n.children,i=cn(n,br);return X(rn,hn({},i,{className:C(e,vr,xr[a],gn({},wr[a],l)),darkMode:o,ref:r,leftGlyph:c}),t)}))},null==t?void 0:t.map((function(n){return X(tn,{key:null==n?void 0:n.displayName,value:null==n?void 0:n.displayName},null==n?void 0:n.displayName)}))))}Nr.displayName="LanguageSwitcher";var Or,Cr,Sr,Ar,Lr,Mr,Dr=O(ur||(ur=sn(["\n width: 38px;\n border-left: solid 1px;\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n padding-top: 6px;\n align-items: center;\n gap: ","px;\n\n svg {\n width: 16px;\n height: 16px;\n }\n"])),R[1]),Pr=O(dr||(dr=sn(["\n min-height: ","px;\n padding-top: ","px;\n"])),36,R[1]);function Er(n,r,e){if(!r)return C(Dr,Pr,gn({},Pr,!e),function(n){var r=wn[n];switch(n){case vn.Light:return O(pr||(pr=sn(["\n border-color: ",";\n background-color: white;\n "])),r[1]);case vn.Dark:return O(fr||(fr=sn(["\n border-color: ",";\n background-color: ",";\n "])),r[1],r[1])}}(n));var t=wn[n];return O(mr||(mr=sn(["\n display: flex;\n flex-direction: row;\n align-items: center;\n padding-left: 12px;\n padding-right: 8px;\n background-color: ",";\n border-bottom: 1px solid ",";\n gap: ","px;\n\n svg {\n width: 16px;\n height: 16px;\n }\n "])),t[4],t[1],R[1])}function Tr(n){var r=n.language,e=n.languageOptions,t=n.contents,i=n.onChange,o=n.onCopy,l=n.showCopyButton,a=n.darkMode,g=n.isMultiline,h=void 0!==g&&g,c=n.customActionButtons,s=n.showCustomActionButtons;return X("div",{className:Er(a?vn.Dark:vn.Light,!!r,h),"data-testid":"leafygreen-code-panel"},void 0!==r&&void 0!==e&&void 0!==i&&X(Nr,{onChange:i,language:r,languageOptions:e,darkMode:a}),l&&X(er,{onCopy:o,darkMode:a,contents:t,withLanguageSwitcher:!!r}),s&&X(A.Fragment,null,null==c?void 0:c.map((function(n){return n}))))}Tr.displayName="Panel";var Br="light",Ir="dark",qr=O(Or||(Or=sn(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: ","px;\n padding-left: ","px;\n padding-right: ","px;\n border-radius: ","px ","px 0 0;\n"])),28,12,12,4,4),Fr=O(Cr||(Cr=sn(["\n display: flex;\n height: ","px;\n"])),12),Wr=O(Sr||(Sr=sn(["\n height: ","px;\n width: ","px;\n"])),12,60),Rr=O(Ar||(Ar=sn(["\n padding-left: ","px;\n padding-right: ","px;\n font-size: 14px;\n"])),8,8);function _r(n){var r=n.color;return X("div",{className:O(Lr||(Lr=sn(["\n height: ","px;\n width: ","px;\n border-radius: 50px;\n margin-right: 8px;\n background-color: ",";\n border: 1px solid ",";\n "])),12,12,r,H(.03,r))})}function zr(n){var r=n.darkMode,e=void 0!==r&&r,t=n.chromeTitle,i=void 0===t?"":t,o=wn[e?Ir:Br];return X("div",{className:C(qr,O(Mr||(Mr=sn(["\n background-color: ",";\n color: ",";\n "])),o[1],o[2]))},X("div",{className:Fr},["#FF5952","#E7BF2A","#54C22C"].map((function(n){return X(_r,{key:n,color:n})}))),X("div",{className:Rr},i),X("div",{className:Wr}))}zr.displayName="WindowChrome",zr.propTypes={darkMode:B.bool,chromeTitle:B.string};var Jr,Gr,Kr,Hr,Ur,Xr,Yr,$r,Qr,Vr,Zr,ne,re=["children","className","language","darkMode","showLineNumbers","showWindowChrome","chromeTitle","copyable","onCopy","highlightLines","languageOptions","onChange","customActionButtons","showCustomActionButtons"];var ee=function(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=r.literal,t=r.overlap,i=e?n:["&"].concat(n);function o(n){if("object"!=typeof n||null==n)return[];if(Array.isArray(n))return n.map(o);var r={},l={},a={};return Object.keys(n).forEach((function(g){var h=n[g];if(!Array.isArray(h)&&e&&(h=[h]),(e||Array.isArray(h))&&38!==g.charCodeAt(0)){var c=void 0;h.forEach((function(n,o){if((!t||c!==n)&&null!=n)if(c=n,0!==o||e)if(void 0===r[i[o]]){var l;r[i[o]]=((l={})[g]=n,l)}else r[i[o]][g]=n;else a[g]=n}))}else"object"==typeof h?l[g]=o(h):a[g]=h})),i.forEach((function(n){r[n]&&(a[n]=r[n])})),Object.assign(a,l),a}return function(){for(var n=arguments.length,r=Array(n),e=0;e<n;e++)r[e]=arguments[e];return r.map(o)}}(["@media only screen and (max-device-width: 812px) and (-webkit-min-device-pixel-ratio: 2)","@media only screen and (min-device-width: 813px) and (-webkit-min-device-pixel-ratio: 2)"]),te=O(Jr||(Jr=sn(["\n overflow-x: auto;\n // Many applications have global styles that are adding a border and border radius to this element.\n border-radius: 0;\n border: 0;\n // We apply left / right padding in Syntax to support line highlighting\n padding-top: ","px;\n padding-bottom: ","px;\n margin: 0;\n position: relative;\n flex-grow: 1;\n\n ","\n"])),R[2],R[2],ee({whiteSpace:["pre","pre-wrap","pre"]})),ie=O(Gr||(Gr=sn(["\n border-left: 0;\n"]))),oe=O(Kr||(Kr=sn(["\n display: flex;\n align-items: center;\n padding-top: ","px;\n padding-bottom: ","px;\n"])),6,6),le=O(Hr||(Hr=sn(["\n &:focus {\n outline: none;\n }\n"]))),ae=O(Ur||(Ur=sn(["\n display: flex;\n flex-direction: column-reverse;\n width: 700px;\n"])));var ge="none",he="left",ce="right",se="both";function ue(n){var r=n.children,e=void 0===r?"":r,t=n.className,i=n.language,o=n.darkMode,l=void 0!==o&&o,a=n.showLineNumbers,g=void 0!==a&&a,h=n.showWindowChrome,c=void 0!==h&&h,s=n.chromeTitle,u=void 0===s?"":s,d=n.copyable,p=void 0===d||d,f=n.onCopy,m=n.highlightLines,b=void 0===m?[]:m,y=n.languageOptions,v=n.onChange,x=n.customActionButtons,w=void 0===x?[]:x,k=n.showCustomActionButtons,j=void 0!==k&&k,N=cn(n,re),S=T(null),A=z().usingKeyboard,L=un(P(ge),2),M=L[0],B=L[1],F=un(P(!1),2),R=F[0],_=F[1],J=l?vn.Dark:vn.Light,G=D((function(){return e.trim().includes("\n")}),[e]),K=w.filter((function(n){return!0===Z(n,"IconButton")})),H=j&&!!K.length,U=null==y?void 0:y.find((function(n){return n.displayName===i})),Y=U?U.language:i;E((function(){_(p&&I.isSupported())}),[p,c]),W((function(){var n=S.current;null!=n&&n.scrollWidth>n.clientWidth&&B(ce)}),[]);var $=C(O(Vr||(Vr=sn(["\n border: ",";\n "])),U?"1px solid;":"2px solid;"),te,function(n){var r=wn[n],e="dark"===n?"border: 0":"border-color: ".concat(r[1]);return O(Xr||(Xr=sn(["\n ",";\n background-color: ",";\n color: ",";\n "])),e,r[0],r[3])}(J),gn({},ie,c),t,function(n,r){var e=wn[r],t=r===vn.Light?"rgba(93,108,116,0.3)":"rgba(0,0,0,0.35)";return n===se?O(Yr||(Yr=sn(["\n box-shadow: inset 6px 0 6px -6px ",",\n inset -6px 0 6px -6px ",", inset 0 6px 6px -6px ",",\n inset 0 -6px 6px -6px ",";\n "])),t,t,e[0],e[0]):n===he?O($r||($r=sn(["\n box-shadow: inset 6px 0 6px -6px ",";\n "])),t):n===ce?O(Qr||(Qr=sn(["\n box-shadow: inset -6px 0 6px -6px ",";\n "])),t):""}(M,J),gn({},oe,!G),gn({},le,!A)),Q=X(nr,{showLineNumbers:g,darkMode:l,language:Y,highlightLines:b},e);var V=q((function(n){var r=n.target,e=r.scrollWidth,t=r.clientWidth;if(e>t){var i=n.target.scrollLeft,o=e-t;i>0&&i<o?B(se):i>0?B(he):i<o&&B(ce)}}),50,{leading:!0}),nn=l?"border: 0":"border: 1px solid ".concat(wn[J][1]),rn=O(Zr||(Zr=sn(["\n ",";\n border-radius: 4px;\n overflow: hidden;\n "])),nn);return X("div",{className:rn},c&&X(zr,{chromeTitle:u,darkMode:l}),X("div",{className:C(O(ne||(ne=sn(["\n display: flex;\n "]))),gn({},ae,!!U))},X("pre",hn({},N,{className:$,onScroll:function(n){n.persist(),V(n)},ref:S,tabIndex:M!==ge?0:-1}),Q),!c&&(p||!!U||H)&&X(Tr,{language:U,languageOptions:y,onChange:v,contents:e,onCopy:f,showCopyButton:R,darkMode:l,isMultiline:G,customActionButtons:K,showCustomActionButtons:H})))}ue.displayName="Code",ue.propTypes={children:B.string.isRequired,language:B.oneOfType([B.oneOf(Object.values(xn)),B.string]),darkMode:B.bool,className:B.string,showLineNumbers:B.bool,showWindowChrome:B.bool,chromeTitle:B.string,highlightLines:B.arrayOf(B.oneOfType([B.arrayOf(B.number),B.number]))};export default ue;export{xn as Language,vn as Mode,wn as variantColors}; | ||
//# sourceMappingURL=index.js.map |
@@ -1,2 +0,2 @@ | ||
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("highlight.js/lib/languages/javascript"),require("highlight.js/lib/languages/typescript"),require("highlight.js/lib/languages/csharp"),require("highlight.js/lib/languages/go"),require("highlight.js/lib/languages/http"),require("highlight.js/lib/languages/ini"),require("highlight.js/lib/languages/java"),require("highlight.js/lib/languages/perl"),require("highlight.js/lib/languages/php"),require("highlight.js/lib/languages/properties"),require("highlight.js/lib/languages/python"),require("highlight.js/lib/languages/ruby"),require("highlight.js/lib/languages/rust"),require("highlight.js/lib/languages/scala"),require("highlight.js/lib/languages/swift"),require("highlight.js/lib/languages/kotlin"),require("highlight.js/lib/languages/objectivec"),require("highlight.js/lib/languages/bash"),require("highlight.js/lib/languages/shell"),require("highlight.js/lib/languages/sql"),require("highlight.js/lib/languages/yaml"),require("highlight.js/lib/languages/json"),require("highlight.js/lib/languages/diff"),require("highlight.js/lib/languages/xml"),require("@leafygreen-ui/emotion"),require("@leafygreen-ui/palette"),require("react"),require("prop-types"),require("clipboard"),require("lodash/debounce"),require("@leafygreen-ui/hooks"),require("@leafygreen-ui/tokens"),require("@leafygreen-ui/leafygreen-provider"),require("highlight.js/lib/core"),require("highlightjs-graphql"),require("polished"),require("lodash/flatMap"),require("@emotion/react"),require("@leafygreen-ui/a11y"),require("@leafygreen-ui/icon/dist/Checkmark"),require("@leafygreen-ui/icon/dist/Copy"),require("@leafygreen-ui/icon-button"),require("@leafygreen-ui/lib"),require("@leafygreen-ui/icon"),require("@leafygreen-ui/button"),require("@leafygreen-ui/select")):"function"==typeof define&&define.amd?define(["exports","highlight.js/lib/languages/javascript","highlight.js/lib/languages/typescript","highlight.js/lib/languages/csharp","highlight.js/lib/languages/go","highlight.js/lib/languages/http","highlight.js/lib/languages/ini","highlight.js/lib/languages/java","highlight.js/lib/languages/perl","highlight.js/lib/languages/php","highlight.js/lib/languages/properties","highlight.js/lib/languages/python","highlight.js/lib/languages/ruby","highlight.js/lib/languages/rust","highlight.js/lib/languages/scala","highlight.js/lib/languages/swift","highlight.js/lib/languages/kotlin","highlight.js/lib/languages/objectivec","highlight.js/lib/languages/bash","highlight.js/lib/languages/shell","highlight.js/lib/languages/sql","highlight.js/lib/languages/yaml","highlight.js/lib/languages/json","highlight.js/lib/languages/diff","highlight.js/lib/languages/xml","@leafygreen-ui/emotion","@leafygreen-ui/palette","react","prop-types","clipboard","lodash/debounce","@leafygreen-ui/hooks","@leafygreen-ui/tokens","@leafygreen-ui/leafygreen-provider","highlight.js/lib/core","highlightjs-graphql","polished","lodash/flatMap","@emotion/react","@leafygreen-ui/a11y","@leafygreen-ui/icon/dist/Checkmark","@leafygreen-ui/icon/dist/Copy","@leafygreen-ui/icon-button","@leafygreen-ui/lib","@leafygreen-ui/icon","@leafygreen-ui/button","@leafygreen-ui/select"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self)["@leafygreen-ui/code"]={},e.javascript,e.typescript,e.csharp,e.go,e.http,e.ini,e.java,e.perl,e.php,e.properties,e.python,e.ruby,e.rust,e.scala,e.swift,e.kotlin,e.objectivec,e.bash,e.shell,e.sql,e.yaml,e.json,e.diff,e.xml,e["@leafygreen-ui/emotion"],e["@leafygreen-ui/palette"],e.React,e.PropTypes,e.ClipboardJS,e.debounce,e["@leafygreen-ui/hooks"],e["@leafygreen-ui/tokens"],e["@leafygreen-ui/leafygreen-provider"],e.hljs,e.hljsDefineGraphQL,e.polished,e.flatMap,e.react,e["@leafygreen-ui/a11y"],e.Checkmark,e.Copy,e["@leafygreen-ui/icon-button"],e["@leafygreen-ui/lib"],e["@leafygreen-ui/icon"],e["@leafygreen-ui/button"],e["@leafygreen-ui/select"])}(this,(function(e,n,i,r,t,l,a,o,s,g,u,h,c,d,f,p,b,y,v,m,x,j,k,w,C,q,N,O,S,L,M,A,P,T,D,E,I,F,W,R,_,B,G,z,J,K,U){"use strict";function H(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var Q=H(n),V=H(i),X=H(r),Y=H(t),$=H(l),Z=H(a),ee=H(o),ne=H(s),ie=H(g),re=H(u),te=H(h),le=H(c),ae=H(d),oe=H(f),se=H(p),ge=H(b),ue=H(y),he=H(v),ce=H(m),de=H(x),fe=H(j),pe=H(k),be=H(w),ye=H(C),ve=H(O),me=H(S),xe=H(L),je=H(M),ke=H(D),we=H(E),Ce=H(F),qe=H(_),Ne=H(B),Oe=H(G),Se=H(K);function Le(e,n){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),i.push.apply(i,r)}return i}function Me(e){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?Le(Object(i),!0).forEach((function(n){Pe(e,n,i[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):Le(Object(i)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(i,n))}))}return e}function Ae(e){return(Ae="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Pe(e,n,i){return n in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i,e}function Te(){return(Te=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var i=arguments[n];for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(e[r]=i[r])}return e}).apply(this,arguments)}function De(e,n){if(null==e)return{};var i,r,t=function(e,n){if(null==e)return{};var i,r,t={},l=Object.keys(e);for(r=0;r<l.length;r++)i=l[r],n.indexOf(i)>=0||(t[i]=e[i]);return t}(e,n);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)i=l[r],n.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(t[i]=e[i])}return t}function Ee(e,n){return n||(n=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(n)}}))}function Ie(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var i=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==i)return;var r,t,l=[],a=!0,o=!1;try{for(i=i.call(e);!(a=(r=i.next()).done)&&(l.push(r.value),!n||l.length!==n);a=!0);}catch(e){o=!0,t=e}finally{try{a||null==i.return||i.return()}finally{if(o)throw t}}return l}(e,n)||We(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Fe(e){return function(e){if(Array.isArray(e))return Re(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||We(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function We(e,n){if(e){if("string"==typeof e)return Re(e,n);var i=Object.prototype.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?Re(e,n):void 0}}function Re(e,n){(null==n||n>e.length)&&(n=e.length);for(var i=0,r=new Array(n);i<n;i++)r[i]=e[i];return r}var _e,Be={javascript:Q.default,typescript:V.default,csharp:X.default,go:Y.default,http:$.default,ini:Z.default,java:ee.default,perl:ne.default,php:ie.default,properties:re.default,python:te.default,ruby:le.default,rust:ae.default,scala:oe.default,swift:se.default,kotlin:ge.default,objectivec:ue.default,bash:he.default,shell:ce.default,sql:de.default,yaml:fe.default,json:pe.default,diff:be.default,xml:ye.default},Ge={JavaScript:"javascript",JS:"js",TypeScript:"typescript",TS:"ts",Csharp:"csharp",Cs:"cs",Go:"go",Http:"http",Ini:"ini",Java:"java",Perl:"perl",Php:"php",Properties:"properties",Python:"python",Ruby:"ruby",Rust:"rust",Scala:"scala",Swift:"swift",Kotlin:"kotlin",ObjectiveC:"objectivec",Bash:"bash",Shell:"shell",Sql:"sql",Yaml:"yaml",Json:"json",Graphql:"graphql",Diff:"diff",Xml:"xml"},ze={Light:"light",Dark:"dark"},Je=Me(Me({},Ge),{},{None:"none"}),Ke=(Pe(_e={},ze.Light,{0:N.uiColors.gray.light3,1:N.uiColors.gray.light2,2:N.uiColors.gray.dark1,3:N.uiColors.black,4:N.uiColors.white,5:"#D83713",6:"#956d00",7:"#12824D",8:"#007ab8",9:"#016ee9",10:"#CC3887"}),Pe(_e,ze.Dark,{0:N.uiColors.black,1:N.uiColors.gray.dark3,2:"#919DA1",3:N.uiColors.gray.light3,4:N.uiColors.gray.dark2,5:"#FF6F44",6:"#EDB210",7:"#35DE7B",8:"#a5e3ff",9:"#2dc4ff",10:"#FF7DC3"}),_e);function Ue(){Object.values(ze).forEach((function(e){return q.injectGlobal(function(e){return"\n .lg-highlight-hljs-".concat(e," {\n \n .lg-highlight-keyword,\n .lg-highlight-keyword.lg-highlight-function,\n .lg-highlight-keyword.lg-highlight-class,\n .lg-highlight-selector-tag,\n .lg-highlight-selector-attr,\n .lg-highlight-selector-pseudo,\n .lg-highlight-selector-id,\n .lg-highlight-selector-class {\n color: ").concat(Ke[e][10],";\n }\n\n .lg-highlight-regexp,\n .lg-highlight-number,\n .lg-highlight-literal,\n .lg-highlight-function.lg-highlight-title {\n color: ").concat(Ke[e][9],";\n }\n\n .lg-highlight-quote,\n .lg-highlight-section,\n .lg-highlight-name {\n color: ").concat(Ke[e][8],";\n }\n\n .lg-highlight-string,\n .lg-highlight-addition {\n color: ").concat(Ke[e][7],";\n }\n\n .lg-highlight-meta,\n .lg-highlight-meta-string {\n color: ").concat(Ke[e][6],";\n }\n\n .lg-highlight-variable,\n .lg-highlight-deletion,\n .lg-highlight-symbol,\n .lg-highlight-bullet,\n .lg-highlight-meta,\n .lg-highlight-link,\n .lg-highlight-attr,\n .lg-highlight-attribute,\n .lg-highlight-language,\n .lg-highlight-template-variable,\n .lg-highlight-built_in,\n .lg-highlight-type,\n .lg-highlight-params {\n color: ").concat(Ke[e][5],"\n }\n\n .lg-highlight-title,\n .lg-highlight-class.lg-highlight-title {\n color: ").concat(Ke[e][3],";\n }\n\n .lg-highlight-doctag,\n .lg-highlight-formula {\n color: ").concat(Ke[e][3],";\n }\n \n .lg-highlight-comment {\n color: ").concat(Ke[e][2],";\n font-style: italic;\n }\n \n .lg-highlight-string {\n font-weight: 600;\n }\n \n .lg-highlight-emphasis {\n font-style: italic;\n }\n \n .lg-highlight-strong {\n font-weight: bold;\n }\n }\n")}(e))}))}var He,Qe,Ve,Xe,Ye=O.createContext({highlightLines:[],darkMode:!1});function $e(){for(var e="lg-highlight-",n=arguments.length,i=new Array(n),r=0;r<n;r++)i[r]=arguments[r];return i.filter((function(e){return tn(e)&&e.length>0})).map((function(n){return n.startsWith(e)?n:n.split(".").map((function(n){return"".concat(e).concat(n)})).join(" ")})).join(" ")}function Ze(){for(var e=["function","class"],n=arguments.length,i=new Array(n),r=0;r<n;r++)i[r]=arguments[r];return i.filter((function(n){return e.includes(n)}))}function en(e){var n=e.kind,i=e.children;return W.jsx("span",{className:n},i)}function nn(e){return null!=e&&e instanceof Array}function rn(e){return null!=e&&"object"===Ae(e)&&!(e instanceof Array)}function tn(e){return null!=e&&"string"==typeof e}function ln(e,n){return null==e?null:tn(e)?e:nn(e)?e.map(ln):rn(e)?W.jsx(en,{key:n,kind:e.kind},ln(e.children)):e}var an=q.css(He||(He=Ee(["\n border-spacing: 0;\n vertical-align: top;\n padding: 0 ","px;\n"])),P.spacing[3]);function on(e){var n,i,r;return e?(n="transparent",i="linear-gradient(90deg, ".concat(N.uiColors.gray.dark3,", ").concat(I.transparentize(100,N.uiColors.gray.dark3),")"),r=N.uiColors.gray.dark3):(n=N.uiColors.yellow.light3,i="none",r=N.uiColors.yellow.light2),q.css(Qe||(Qe=Ee(["\n background-color: ",";\n background-image: ",";\n // Fixes an issue in Safari where the gradient applied to the table row would be applied\n // to each cell in the row instead of being continuous across cells.\n background-attachment: fixed;\n\n // Selects all children of a highlighted row, and adds a border top\n & > td {\n border-top: 1px solid ",";\n }\n\n // Selects following rows after a highlighted row, and adds a border top\n // We don't add border bottoms here to support consecutive highlighted rows.\n & + tr > td {\n border-top: 1px solid ",";\n }\n\n // Remove borders between consecutive highlighted rows\n & + & > td {\n border-top: 0;\n }\n\n // If the highlighted row is the last child, then we add a border bottom\n &:last-child > td {\n border-bottom: 1px solid ",";\n }\n "])),n,i,r,r,r)}function sn(e){var n=e.lineNumber,i=e.highlighted,r=e.darkMode,t=e.children,l=N.uiColors.gray[r?"dark1":"light1"],a=r?N.uiColors.gray.light2:N.uiColors.yellow.dark2;return W.jsx("tr",{className:q.cx(Pe({},on(r),i))},n&&W.jsx("td",{className:q.cx(an,q.css(Ve||(Ve=Ee(["\n user-select: none;\n text-align: right;\n padding-left: ","px;\n padding-right: 0;\n color: ",";\n "])),P.spacing[2],i?a:l))},n),W.jsx("td",{className:an},t))}function gn(e){var n=(null!=e?e:{}).children;return!(!nn(n)||1!==n.length||!tn(n[0]))}function un(e,n){if("string"==typeof e)return e;if(null!=(i=e)&&"object"===Ae(i)&&"string"==typeof i.kind&&i.children instanceof Array)return un(e.children,n);var i;return Ce.default(e,function e(){for(var i=arguments.length,r=new Array(i),t=0;t<i;t++)r[t]=arguments[t];return r=r.filter((function(e){return tn(e)&&e.length>0})),function(i){var t,l;return tn(i)?r.length>0?{kind:$e.apply(void 0,[n].concat(Fe(r),Fe(Ze(i)))),children:[i]}:i:(null!==(t=null==i||null===(l=i.children)||void 0===l?void 0:l.length)&&void 0!==t?t:0)>=1?Ce.default(i.children,e.apply(void 0,[n,i.kind].concat(Fe(r)))):gn(i)?{kind:$e.apply(void 0,[n,i.kind].concat(Fe(r),Fe(Ze.apply(void 0,Fe(i.children))))),children:i.children}:i}}(n))}function hn(e){return nn(e)?e.some(hn):tn(e)?e.includes("\n"):!!rn(e)&&((null===(n=e.children)||void 0===n?void 0:n.includes("\n"))||tn(null===(i=e.children)||void 0===i?void 0:i[0])&&e.children[0].includes("\n"));var n,i}function cn(e){var n=[],i=0;null==n[i]&&(n[i]=[]);var r=function(){i++,n[i]=[]};return un(e).forEach((function(e){hn(e)?tn(e)?e.split("\n").forEach((function(e,t){t>0&&r(),e&&n[i].push(e)})):e.children[0].split("\n").forEach((function(t,l){l>0&&r(),n[i].push({kind:e.kind,children:[t]})})):e&&(tn(e)||gn(e))&&n[i].push(e)})),n}function dn(e){for(var n=e.lines,i=O.useContext(Ye),r=i.highlightLines,t=i.showLineNumbers,l=i.darkMode,a=Fe(n);0===(null===(o=a[0])||void 0===o?void 0:o.length);){var o;a.shift()}for(;0===(null===(s=a[a.length-1])||void 0===s?void 0:s.length);){var s;a.pop()}return W.jsx(ve.default.Fragment,null,a.map((function(e,n){var i,a=n+1,o=function(e){return r.some((function(n){if(null!=(i=n)&&"number"==typeof i)return e===n;var i;if(nn(n)){var r=Fe(n).sort((function(e,n){return e-n}));return e>=r[0]&&e<=r[1]}return!1}))}(a);t&&(i=a);var s=null!=e&&e.length?e.map(ln):W.jsx("div",{className:q.css(Xe||(Xe=Ee(["\n display: inline-block;\n "])))});return W.jsx(sn,{key:a,lineNumber:i,darkMode:l,highlighted:o},s)})))}var fn,pn,bn={"after:highlight":function(e){var n=e._emitter.rootNode;e.react=W.jsx(dn,{lines:cn(n.children)})}},yn=["children","language","darkMode","showLineNumbers","highlightLines","className"];function vn(e){return"cs"!==e&&"js"!==e&&"ts"!==e}var mn=!1;var xn,jn,kn,wn,Cn=q.css(fn||(fn=Ee(["\n color: inherit;\n font-size: 13px;\n font-family: ",";\n line-height: 24px;\n"])),P.fontFamilies.code);function qn(e){var n=e.children,i=e.language,r=e.darkMode,t=void 0!==r&&r,l=e.showLineNumbers,a=void 0!==l&&l,o=e.highlightLines,s=void 0===o?[]:o,g=e.className,u=De(e,yn);mn||function(){mn=!0,Ue();var e=Object.values(Ge).filter(vn);e.forEach((function(e){"graphql"===e?we.default(ke.default):ke.default.registerLanguage(e,Be[e])})),ke.default.configure({languages:e,tabReplace:" "}),ke.default.addPlugin(bn)}();var h=O.useMemo((function(){return i===Je.None?null:ke.default.highlight(n,{language:i,ignoreIllegals:!0})}),[i,n]),c=null===h?W.jsx(dn,{lines:n.split("\n").map((function(e){return e?[e]:[]}))}):h.react,d=t?ze.Dark:ze.Light;return W.jsx(Ye.Provider,{value:{highlightLines:s,showLineNumbers:a,darkMode:t}},W.jsx("code",Te({},u,{className:q.cx("lg-highlight-hljs-".concat(d),Cn,i,g)}),W.jsx("table",{className:q.css(pn||(pn=Ee(["\n border-spacing: 0;\n width: 100%;\n "])))},W.jsx("tbody",null,c))))}function Nn(e,n,i){var r,t=q.css(xn||(xn=Ee(["\n align-self: center;\n color: ",";\n "])),N.uiColors.gray.base);return n?q.cx(t,q.css(jn||(jn=Ee(["\n color: ",";\n background-color: ",";\n\n &:focus {\n color: ",";\n\n &:before {\n background-color: ",";\n }\n }\n\n &:hover {\n color: ",";\n\n &:before {\n background-color: ",";\n }\n }\n "])),N.uiColors.white,N.uiColors.green.base,N.uiColors.white,N.uiColors.green.base,N.uiColors.white,N.uiColors.green.base)):e===ze.Dark?q.cx(t,(Pe(r={},q.css(kn||(kn=Ee(["\n background-color: ",";\n "])),N.uiColors.gray.dark3),!i),Pe(r,q.css(wn||(wn=Ee(["\n background-color: ",";\n color: ",";\n "])),N.uiColors.gray.dark2,N.uiColors.gray.light2),i),r)):t}function On(e){var n=e.onCopy,i=e.contents,r=e.darkMode,t=e.withLanguageSwitcher,l=void 0!==t&&t,a=Ie(O.useState(!1),2),o=a[0],s=a[1],g=Ie(O.useState(null),2),u=g[0],h=g[1],c=r?ze.Dark:ze.Light;O.useEffect((function(){if(u){var e=new xe.default(u,{text:function(){return i}});if(o){var n=setTimeout((function(){s(!1)}),1500);return function(){return clearTimeout(n)}}return function(){return e.destroy()}}}),[u,i,o]);return W.jsx(Oe.default,{ref:h,darkMode:r,"aria-label":"Copy",className:Nn(c,o,l),onClick:function(e){e.preventDefault(),n&&n(),s(!0)}},o?W.jsx(qe.default,null):W.jsx(Ne.default,null),o&&W.jsx(R.VisuallyHidden,{role:"alert"},"Copied!"))}qn.displayName="Syntax",qn.propTypes={children:me.default.string.isRequired,language:me.default.oneOf(Object.values(Je)),className:me.default.string,darkMode:me.default.bool,showLineNumbers:me.default.bool,highlightLines:me.default.arrayOf(me.default.oneOfType([me.default.arrayOf(me.default.number),me.default.number]))},On.displayName="CopyButton";var Sn,Ln,Mn,An,Pn,Tn,Dn,En,In,Fn,Wn,Rn,_n,Bn,Gn=["className","children"],zn=q.css(Sn||(Sn=Ee(["\n display: flex;\n align-items: center;\n width: 100%;\n margin-top: -2px;\n margin-left: -1px;\n"]))),Jn=q.css(Ln||(Ln=Ee(["\n border-radius: 4px 0px 0px 0px;\n margin-left: -12px;\n border: 0;\n\n &:hover,\n &:focus,\n &:active {\n box-shadow: 0 0 0 0;\n border: 0;\n }\n"]))),Kn={light:q.css(Mn||(Mn=Ee(["\n background-color: ",";\n border-right: 1px solid ",";\n box-shadow: 0 0 0 0;\n\n &:hover,\n &:active,\n &:focus {\n border-right: 1px solid ",";\n }\n\n &:hover {\n background-color: ",";\n }\n "])),N.uiColors.white,N.uiColors.gray.light2,N.uiColors.gray.light2,N.uiColors.gray.light2),dark:q.css(An||(An=Ee(["\n border-right: 1px solid ",";\n\n &:hover,\n &:focus,\n &:active {\n border-right: 1px solid ",";\n }\n\n &:hover,\n &:active {\n background-color: ",";\n }\n "])),N.uiColors.gray.dark3,N.uiColors.gray.dark3,N.uiColors.gray.dark1)},Un={light:q.css(Pn||(Pn=Ee(["\n &:focus {\n background-color: ",";\n }\n "])),N.uiColors.blue.light2),dark:q.css(Tn||(Tn=Ee(["\n &:focus {\n background-color: ",";\n }\n "])),N.uiColors.focus)},Hn=q.css(Dn||(Dn=Ee(["\n width: 144px;\n"]))),Qn=q.css(En||(En=Ee(["\n margin-right: ","px;\n"])),P.spacing[3]);function Vn(e){var n,i=e.language,r=e.languageOptions,t=e.onChange,l=e.darkMode,a=T.useUsingKeyboardContext().usingKeyboard,o=l?"dark":"light",s=A.usePrevious(i),g=q.cx(Qn,q.css(In||(In=Ee(["\n color: ",";\n "])),l?N.uiColors.white:N.uiColors.gray.dark1)),u=W.jsx(Ne.default,{className:g});return null!=i.image&&(n=i.image,u=J.isComponentGlyph(n)||z.isComponentType(n,"Icon")?ve.default.cloneElement(i.image,{className:g}):ve.default.cloneElement(i.image,{className:Qn})),W.jsx("div",{className:zn},W.jsx(U.Select,{darkMode:l,onChange:function(e){if(""===e&&void 0!==s)return t(s);var n=r.find((function(n){return n.displayName===e}));void 0!==n&&t(n)},"aria-labelledby":"Language Picker",value:null==i?void 0:i.displayName,className:Hn,allowDeselect:!1,__INTERNAL__menuButtonSlot__:ve.default.forwardRef((function(e,n){var i=e.className,r=e.children,t=De(e,Gn);return W.jsx(Se.default,Te({},t,{className:q.cx(i,Jn,Kn[o],Pe({},Un[o],a)),darkMode:l,ref:n,leftGlyph:u}),r)}))},null==r?void 0:r.map((function(e){return W.jsx(U.Option,{key:null==e?void 0:e.displayName,value:null==e?void 0:e.displayName},null==e?void 0:e.displayName)}))))}Vn.displayName="LanguageSwitcher";var Xn,Yn,$n,Zn,ei,ni,ii=q.css(Fn||(Fn=Ee(["\n width: 38px;\n border-left: solid 1px;\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n padding-top: 6px;\n"]))),ri=q.css(Wn||(Wn=Ee(["\n min-height: ","px;\n padding-top: ","px;\n"])),36,P.spacing[1]);function ti(e,n,i){if(!n)return q.cx(ii,ri,Pe({},ri,!i),function(e){var n=Ke[e];switch(e){case ze.Light:return q.css(Rn||(Rn=Ee(["\n border-color: ",";\n background-color: white;\n "])),n[1]);case ze.Dark:return q.css(_n||(_n=Ee(["\n border-color: ",";\n background-color: ",";\n "])),n[1],n[1])}}(e));var r=Ke[e];return q.css(Bn||(Bn=Ee(["\n display: flex;\n flex-direction: row;\n align-items: center;\n padding-left: 12px;\n padding-right: 8px;\n background-color: ",";\n border-bottom: 1px solid ",";\n "])),r[4],r[1])}function li(e){var n=e.language,i=e.languageOptions,r=e.contents,t=e.onChange,l=e.onCopy,a=e.showCopyButton,o=e.darkMode,s=e.isMultiline,g=void 0!==s&&s,u=o?ze.Dark:ze.Light;return W.jsx("div",{className:ti(u,!!n,g),"data-testid":"leafygreen-code-panel"},void 0!==n&&void 0!==i&&void 0!==t&&W.jsx(Vn,{onChange:t,language:n,languageOptions:i,darkMode:o}),a&&W.jsx(On,{onCopy:l,darkMode:o,contents:r,withLanguageSwitcher:!!n}))}li.displayName="Panel";var ai="light",oi="dark",si=12,gi=q.css(Xn||(Xn=Ee(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: ","px;\n padding-left: ","px;\n padding-right: ","px;\n border-radius: ","px ","px 0 0;\n"])),28,si,si,4,4),ui=q.css(Yn||(Yn=Ee(["\n display: flex;\n height: ","px;\n"])),si),hi=q.css($n||($n=Ee(["\n height: ","px;\n width: ","px;\n"])),si,60),ci=q.css(Zn||(Zn=Ee(["\n padding-left: ","px;\n padding-right: ","px;\n font-size: 14px;\n"])),8,8);function di(e){var n=e.color;return W.jsx("div",{className:q.css(ei||(ei=Ee(["\n height: ","px;\n width: ","px;\n border-radius: 50px;\n margin-right: 8px;\n background-color: ",";\n border: 1px solid ",";\n "])),si,si,n,I.darken(.03,n))})}function fi(e){var n=e.darkMode,i=void 0!==n&&n,r=e.chromeTitle,t=void 0===r?"":r,l=Ke[i?oi:ai];return W.jsx("div",{className:q.cx(gi,q.css(ni||(ni=Ee(["\n background-color: ",";\n color: ",";\n "])),l[1],l[2]))},W.jsx("div",{className:ui},["#FF5952","#E7BF2A","#54C22C"].map((function(e){return W.jsx(di,{key:e,color:e})}))),W.jsx("div",{className:ci},t),W.jsx("div",{className:hi}))}fi.displayName="WindowChrome",fi.propTypes={darkMode:me.default.bool,chromeTitle:me.default.string};var pi,bi,yi,vi,mi,xi,ji,ki,wi,Ci,qi,Ni,Oi=["children","className","language","darkMode","showLineNumbers","showWindowChrome","chromeTitle","copyable","onCopy","highlightLines","languageOptions","onChange"];var Si=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=n.literal,r=n.overlap,t=i?e:["&"].concat(e);function l(e){if("object"!=typeof e||null==e)return[];if(Array.isArray(e))return e.map(l);var n={},a={},o={};return Object.keys(e).forEach((function(s){var g=e[s];if(!Array.isArray(g)&&i&&(g=[g]),(i||Array.isArray(g))&&38!==s.charCodeAt(0)){var u=void 0;g.forEach((function(e,l){if((!r||u!==e)&&null!=e)if(u=e,0!==l||i)if(void 0===n[t[l]]){var a;n[t[l]]=((a={})[s]=e,a)}else n[t[l]][s]=e;else o[s]=e}))}else"object"==typeof g?a[s]=l(g):o[s]=g})),t.forEach((function(e){n[e]&&(o[e]=n[e])})),Object.assign(o,a),o}return function(){for(var e=arguments.length,n=Array(e),i=0;i<e;i++)n[i]=arguments[i];return n.map(l)}}(["@media only screen and (max-device-width: 812px) and (-webkit-min-device-pixel-ratio: 2)","@media only screen and (min-device-width: 813px) and (-webkit-min-device-pixel-ratio: 2)"]),Li=q.css(pi||(pi=Ee(["\n overflow-x: auto;\n // Many applications have global styles that are adding a border and border radius to this element.\n border-radius: 0;\n border: 0;\n // We apply left / right padding in Syntax to support line highlighting\n padding-top: ","px;\n padding-bottom: ","px;\n margin: 0;\n position: relative;\n flex-grow: 1;\n\n ","\n"])),P.spacing[2],P.spacing[2],Si({whiteSpace:["pre","pre-wrap","pre"]})),Mi=q.css(bi||(bi=Ee(["\n border-left: 0;\n"]))),Ai=q.css(yi||(yi=Ee(["\n display: flex;\n align-items: center;\n padding-top: ","px;\n padding-bottom: ","px;\n"])),6,6),Pi=q.css(vi||(vi=Ee(["\n &:focus {\n outline: none;\n }\n"]))),Ti=q.css(mi||(mi=Ee(["\n display: flex;\n flex-direction: column-reverse;\n width: 700px;\n"])));var Di="none",Ei="left",Ii="right",Fi="both";function Wi(e){var n=e.children,i=void 0===n?"":n,r=e.className,t=e.language,l=e.darkMode,a=void 0!==l&&l,o=e.showLineNumbers,s=void 0!==o&&o,g=e.showWindowChrome,u=void 0!==g&&g,h=e.chromeTitle,c=void 0===h?"":h,d=e.copyable,f=void 0===d||d,p=e.onCopy,b=e.highlightLines,y=void 0===b?[]:b,v=e.languageOptions,m=e.onChange,x=De(e,Oi),j=O.useRef(null),k=T.useUsingKeyboardContext().usingKeyboard,w=Ie(O.useState(Di),2),C=w[0],N=w[1],S=Ie(O.useState(!1),2),L=S[0],M=S[1],P=a?ze.Dark:ze.Light,D=O.useMemo((function(){return i.trim().includes("\n")}),[i]),E=null==v?void 0:v.find((function(e){return e.displayName===t})),I=E?E.language:t;O.useEffect((function(){M(f&&xe.default.isSupported())}),[f,u]),A.useIsomorphicLayoutEffect((function(){var e=j.current;null!=e&&e.scrollWidth>e.clientWidth&&N(Ii)}),[]);var F=q.cx(q.css(Ci||(Ci=Ee(["\n border: ",";\n "])),E?"1px solid;":"2px solid;"),Li,function(e){var n=Ke[e],i="dark"===e?"border: 0":"border-color: ".concat(n[1]);return q.css(xi||(xi=Ee(["\n ",";\n background-color: ",";\n color: ",";\n "])),i,n[0],n[3])}(P),Pe({},Mi,u),r,function(e,n){var i=Ke[n],r=n===ze.Light?"rgba(93,108,116,0.3)":"rgba(0,0,0,0.35)";return e===Fi?q.css(ji||(ji=Ee(["\n box-shadow: inset 6px 0 6px -6px ",",\n inset -6px 0 6px -6px ",", inset 0 6px 6px -6px ",",\n inset 0 -6px 6px -6px ",";\n "])),r,r,i[0],i[0]):e===Ei?q.css(ki||(ki=Ee(["\n box-shadow: inset 6px 0 6px -6px ",";\n "])),r):e===Ii?q.css(wi||(wi=Ee(["\n box-shadow: inset -6px 0 6px -6px ",";\n "])),r):""}(C,P),Pe({},Ai,!D),Pe({},Pi,!k)),R=W.jsx(qn,{showLineNumbers:s,darkMode:a,language:I,highlightLines:y},i);var _=je.default((function(e){var n=e.target,i=n.scrollWidth,r=n.clientWidth;if(i>r){var t=e.target.scrollLeft,l=i-r;t>0&&t<l?N(Fi):t>0?N(Ei):t<l&&N(Ii)}}),50,{leading:!0}),B=a?"border: 0":"border: 1px solid ".concat(Ke[P][1]),G=q.css(qi||(qi=Ee(["\n ",";\n border-radius: 4px;\n overflow: hidden;\n "])),B);return W.jsx("div",{className:G},u&&W.jsx(fi,{chromeTitle:c,darkMode:a}),W.jsx("div",{className:q.cx(q.css(Ni||(Ni=Ee(["\n display: flex;\n "]))),Pe({},Ti,!!E))},W.jsx("pre",Te({},x,{className:F,onScroll:function(e){e.persist(),_(e)},ref:j,tabIndex:C!==Di?0:-1}),R),!u&&(f||!!E)&&W.jsx(li,{language:E,languageOptions:v,onChange:m,contents:i,onCopy:p,showCopyButton:L,darkMode:a,isMultiline:D})))}Wi.displayName="Code",Wi.propTypes={children:me.default.string.isRequired,language:me.default.oneOfType([me.default.oneOf(Object.values(Je)),me.default.string]),darkMode:me.default.bool,className:me.default.string,showLineNumbers:me.default.bool,showWindowChrome:me.default.bool,chromeTitle:me.default.string,highlightLines:me.default.arrayOf(me.default.oneOfType([me.default.arrayOf(me.default.number),me.default.number]))},e.Language=Je,e.Mode=ze,e.default=Wi,e.variantColors=Ke,Object.defineProperty(e,"__esModule",{value:!0})})); | ||
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("highlight.js/lib/languages/javascript"),require("highlight.js/lib/languages/typescript"),require("highlight.js/lib/languages/csharp"),require("highlight.js/lib/languages/go"),require("highlight.js/lib/languages/http"),require("highlight.js/lib/languages/ini"),require("highlight.js/lib/languages/java"),require("highlight.js/lib/languages/perl"),require("highlight.js/lib/languages/php"),require("highlight.js/lib/languages/properties"),require("highlight.js/lib/languages/python"),require("highlight.js/lib/languages/ruby"),require("highlight.js/lib/languages/rust"),require("highlight.js/lib/languages/scala"),require("highlight.js/lib/languages/swift"),require("highlight.js/lib/languages/kotlin"),require("highlight.js/lib/languages/objectivec"),require("highlight.js/lib/languages/bash"),require("highlight.js/lib/languages/shell"),require("highlight.js/lib/languages/sql"),require("highlight.js/lib/languages/yaml"),require("highlight.js/lib/languages/json"),require("highlight.js/lib/languages/diff"),require("highlight.js/lib/languages/xml"),require("@leafygreen-ui/emotion"),require("@leafygreen-ui/palette"),require("react"),require("prop-types"),require("clipboard"),require("lodash/debounce"),require("@leafygreen-ui/hooks"),require("@leafygreen-ui/tokens"),require("@leafygreen-ui/leafygreen-provider"),require("highlight.js/lib/core"),require("highlightjs-graphql"),require("polished"),require("lodash/flatMap"),require("@emotion/react"),require("@leafygreen-ui/a11y"),require("@leafygreen-ui/icon/dist/Checkmark"),require("@leafygreen-ui/icon/dist/Copy"),require("@leafygreen-ui/icon-button"),require("@leafygreen-ui/lib"),require("@leafygreen-ui/icon"),require("@leafygreen-ui/button"),require("@leafygreen-ui/select")):"function"==typeof define&&define.amd?define(["exports","highlight.js/lib/languages/javascript","highlight.js/lib/languages/typescript","highlight.js/lib/languages/csharp","highlight.js/lib/languages/go","highlight.js/lib/languages/http","highlight.js/lib/languages/ini","highlight.js/lib/languages/java","highlight.js/lib/languages/perl","highlight.js/lib/languages/php","highlight.js/lib/languages/properties","highlight.js/lib/languages/python","highlight.js/lib/languages/ruby","highlight.js/lib/languages/rust","highlight.js/lib/languages/scala","highlight.js/lib/languages/swift","highlight.js/lib/languages/kotlin","highlight.js/lib/languages/objectivec","highlight.js/lib/languages/bash","highlight.js/lib/languages/shell","highlight.js/lib/languages/sql","highlight.js/lib/languages/yaml","highlight.js/lib/languages/json","highlight.js/lib/languages/diff","highlight.js/lib/languages/xml","@leafygreen-ui/emotion","@leafygreen-ui/palette","react","prop-types","clipboard","lodash/debounce","@leafygreen-ui/hooks","@leafygreen-ui/tokens","@leafygreen-ui/leafygreen-provider","highlight.js/lib/core","highlightjs-graphql","polished","lodash/flatMap","@emotion/react","@leafygreen-ui/a11y","@leafygreen-ui/icon/dist/Checkmark","@leafygreen-ui/icon/dist/Copy","@leafygreen-ui/icon-button","@leafygreen-ui/lib","@leafygreen-ui/icon","@leafygreen-ui/button","@leafygreen-ui/select"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self)["@leafygreen-ui/code"]={},e.javascript,e.typescript,e.csharp,e.go,e.http,e.ini,e.java,e.perl,e.php,e.properties,e.python,e.ruby,e.rust,e.scala,e.swift,e.kotlin,e.objectivec,e.bash,e.shell,e.sql,e.yaml,e.json,e.diff,e.xml,e["@leafygreen-ui/emotion"],e["@leafygreen-ui/palette"],e.React,e.PropTypes,e.ClipboardJS,e.debounce,e["@leafygreen-ui/hooks"],e["@leafygreen-ui/tokens"],e["@leafygreen-ui/leafygreen-provider"],e.hljs,e.hljsDefineGraphQL,e.polished,e.flatMap,e.react,e["@leafygreen-ui/a11y"],e.Checkmark,e.Copy,e["@leafygreen-ui/icon-button"],e["@leafygreen-ui/lib"],e["@leafygreen-ui/icon"],e["@leafygreen-ui/button"],e["@leafygreen-ui/select"])}(this,(function(e,n,i,r,t,l,a,o,s,g,u,h,c,d,f,p,b,y,m,v,x,j,k,w,C,q,N,O,S,L,M,A,P,T,D,E,B,I,F,W,R,_,G,z,J,K,U){"use strict";function H(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var Q=H(n),V=H(i),X=H(r),Y=H(t),$=H(l),Z=H(a),ee=H(o),ne=H(s),ie=H(g),re=H(u),te=H(h),le=H(c),ae=H(d),oe=H(f),se=H(p),ge=H(b),ue=H(y),he=H(m),ce=H(v),de=H(x),fe=H(j),pe=H(k),be=H(w),ye=H(C),me=H(O),ve=H(S),xe=H(L),je=H(M),ke=H(D),we=H(E),Ce=H(I),qe=H(R),Ne=H(_),Oe=H(G),Se=H(K);function Le(e,n){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),i.push.apply(i,r)}return i}function Me(e){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?Le(Object(i),!0).forEach((function(n){Pe(e,n,i[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):Le(Object(i)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(i,n))}))}return e}function Ae(e){return(Ae="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Pe(e,n,i){return n in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i,e}function Te(){return(Te=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var i=arguments[n];for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(e[r]=i[r])}return e}).apply(this,arguments)}function De(e,n){if(null==e)return{};var i,r,t=function(e,n){if(null==e)return{};var i,r,t={},l=Object.keys(e);for(r=0;r<l.length;r++)i=l[r],n.indexOf(i)>=0||(t[i]=e[i]);return t}(e,n);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)i=l[r],n.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(t[i]=e[i])}return t}function Ee(e,n){return n||(n=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(n)}}))}function Be(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var i=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==i)return;var r,t,l=[],a=!0,o=!1;try{for(i=i.call(e);!(a=(r=i.next()).done)&&(l.push(r.value),!n||l.length!==n);a=!0);}catch(e){o=!0,t=e}finally{try{a||null==i.return||i.return()}finally{if(o)throw t}}return l}(e,n)||Fe(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ie(e){return function(e){if(Array.isArray(e))return We(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Fe(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Fe(e,n){if(e){if("string"==typeof e)return We(e,n);var i=Object.prototype.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?We(e,n):void 0}}function We(e,n){(null==n||n>e.length)&&(n=e.length);for(var i=0,r=new Array(n);i<n;i++)r[i]=e[i];return r}var Re,_e={javascript:Q.default,typescript:V.default,csharp:X.default,go:Y.default,http:$.default,ini:Z.default,java:ee.default,perl:ne.default,php:ie.default,properties:re.default,python:te.default,ruby:le.default,rust:ae.default,scala:oe.default,swift:se.default,kotlin:ge.default,objectivec:ue.default,bash:he.default,shell:ce.default,sql:de.default,yaml:fe.default,json:pe.default,diff:be.default,xml:ye.default},Ge={JavaScript:"javascript",JS:"js",TypeScript:"typescript",TS:"ts",Csharp:"csharp",Cs:"cs",Go:"go",Http:"http",Ini:"ini",Java:"java",Perl:"perl",Php:"php",Properties:"properties",Python:"python",Ruby:"ruby",Rust:"rust",Scala:"scala",Swift:"swift",Kotlin:"kotlin",ObjectiveC:"objectivec",Bash:"bash",Shell:"shell",Sql:"sql",Yaml:"yaml",Json:"json",Graphql:"graphql",Diff:"diff",Xml:"xml"},ze={Light:"light",Dark:"dark"},Je=Me(Me({},Ge),{},{None:"none"}),Ke=(Pe(Re={},ze.Light,{0:N.uiColors.gray.light3,1:N.uiColors.gray.light2,2:N.uiColors.gray.dark1,3:N.uiColors.black,4:N.uiColors.white,5:"#D83713",6:"#956d00",7:"#12824D",8:"#007ab8",9:"#016ee9",10:"#CC3887"}),Pe(Re,ze.Dark,{0:N.uiColors.black,1:N.uiColors.gray.dark3,2:"#919DA1",3:N.uiColors.gray.light3,4:N.uiColors.gray.dark2,5:"#FF6F44",6:"#EDB210",7:"#35DE7B",8:"#a5e3ff",9:"#2dc4ff",10:"#FF7DC3"}),Re);function Ue(){Object.values(ze).forEach((function(e){return q.injectGlobal(function(e){return"\n .lg-highlight-hljs-".concat(e," {\n \n .lg-highlight-keyword,\n .lg-highlight-keyword.lg-highlight-function,\n .lg-highlight-keyword.lg-highlight-class,\n .lg-highlight-selector-tag,\n .lg-highlight-selector-attr,\n .lg-highlight-selector-pseudo,\n .lg-highlight-selector-id,\n .lg-highlight-selector-class {\n color: ").concat(Ke[e][10],";\n }\n\n .lg-highlight-regexp,\n .lg-highlight-number,\n .lg-highlight-literal,\n .lg-highlight-function.lg-highlight-title {\n color: ").concat(Ke[e][9],";\n }\n\n .lg-highlight-quote,\n .lg-highlight-section,\n .lg-highlight-name {\n color: ").concat(Ke[e][8],";\n }\n\n .lg-highlight-string,\n .lg-highlight-addition {\n color: ").concat(Ke[e][7],";\n }\n\n .lg-highlight-meta,\n .lg-highlight-meta-string {\n color: ").concat(Ke[e][6],";\n }\n\n .lg-highlight-variable,\n .lg-highlight-deletion,\n .lg-highlight-symbol,\n .lg-highlight-bullet,\n .lg-highlight-meta,\n .lg-highlight-link,\n .lg-highlight-attr,\n .lg-highlight-attribute,\n .lg-highlight-language,\n .lg-highlight-template-variable,\n .lg-highlight-built_in,\n .lg-highlight-type,\n .lg-highlight-params {\n color: ").concat(Ke[e][5],"\n }\n\n .lg-highlight-title,\n .lg-highlight-class.lg-highlight-title {\n color: ").concat(Ke[e][3],";\n }\n\n .lg-highlight-doctag,\n .lg-highlight-formula {\n color: ").concat(Ke[e][3],";\n }\n \n .lg-highlight-comment {\n color: ").concat(Ke[e][2],";\n font-style: italic;\n }\n \n .lg-highlight-string {\n font-weight: 600;\n }\n \n .lg-highlight-emphasis {\n font-style: italic;\n }\n \n .lg-highlight-strong {\n font-weight: bold;\n }\n }\n")}(e))}))}var He,Qe,Ve,Xe,Ye=O.createContext({highlightLines:[],darkMode:!1});function $e(){for(var e="lg-highlight-",n=arguments.length,i=new Array(n),r=0;r<n;r++)i[r]=arguments[r];return i.filter((function(e){return tn(e)&&e.length>0})).map((function(n){return n.startsWith(e)?n:n.split(".").map((function(n){return"".concat(e).concat(n)})).join(" ")})).join(" ")}function Ze(){for(var e=["function","class"],n=arguments.length,i=new Array(n),r=0;r<n;r++)i[r]=arguments[r];return i.filter((function(n){return e.includes(n)}))}function en(e){var n=e.kind,i=e.children;return F.jsx("span",{className:n},i)}function nn(e){return null!=e&&e instanceof Array}function rn(e){return null!=e&&"object"===Ae(e)&&!(e instanceof Array)}function tn(e){return null!=e&&"string"==typeof e}function ln(e,n){return null==e?null:tn(e)?e:nn(e)?e.map(ln):rn(e)?F.jsx(en,{key:n,kind:e.kind},ln(e.children)):e}var an=q.css(He||(He=Ee(["\n border-spacing: 0;\n vertical-align: top;\n padding: 0 ","px;\n"])),P.spacing[3]);function on(e){var n,i,r;return e?(n="transparent",i="linear-gradient(90deg, ".concat(N.uiColors.gray.dark3,", ").concat(B.transparentize(100,N.uiColors.gray.dark3),")"),r=N.uiColors.gray.dark3):(n=N.uiColors.yellow.light3,i="none",r=N.uiColors.yellow.light2),q.css(Qe||(Qe=Ee(["\n background-color: ",";\n background-image: ",";\n // Fixes an issue in Safari where the gradient applied to the table row would be applied\n // to each cell in the row instead of being continuous across cells.\n background-attachment: fixed;\n\n // Selects all children of a highlighted row, and adds a border top\n & > td {\n border-top: 1px solid ",";\n }\n\n // Selects following rows after a highlighted row, and adds a border top\n // We don't add border bottoms here to support consecutive highlighted rows.\n & + tr > td {\n border-top: 1px solid ",";\n }\n\n // Remove borders between consecutive highlighted rows\n & + & > td {\n border-top: 0;\n }\n\n // If the highlighted row is the last child, then we add a border bottom\n &:last-child > td {\n border-bottom: 1px solid ",";\n }\n "])),n,i,r,r,r)}function sn(e){var n=e.lineNumber,i=e.highlighted,r=e.darkMode,t=e.children,l=N.uiColors.gray[r?"dark1":"light1"],a=r?N.uiColors.gray.light2:N.uiColors.yellow.dark2;return F.jsx("tr",{className:q.cx(Pe({},on(r),i))},n&&F.jsx("td",{className:q.cx(an,q.css(Ve||(Ve=Ee(["\n user-select: none;\n text-align: right;\n padding-left: ","px;\n padding-right: 0;\n color: ",";\n "])),P.spacing[2],i?a:l))},n),F.jsx("td",{className:an},t))}function gn(e){var n=(null!=e?e:{}).children;return!(!nn(n)||1!==n.length||!tn(n[0]))}function un(e,n){if("string"==typeof e)return e;if(null!=(i=e)&&"object"===Ae(i)&&"string"==typeof i.kind&&i.children instanceof Array)return un(e.children,n);var i;return Ce.default(e,function e(){for(var i=arguments.length,r=new Array(i),t=0;t<i;t++)r[t]=arguments[t];return r=r.filter((function(e){return tn(e)&&e.length>0})),function(i){var t,l;return tn(i)?r.length>0?{kind:$e.apply(void 0,[n].concat(Ie(r),Ie(Ze(i)))),children:[i]}:i:(null!==(t=null==i||null===(l=i.children)||void 0===l?void 0:l.length)&&void 0!==t?t:0)>=1?Ce.default(i.children,e.apply(void 0,[n,i.kind].concat(Ie(r)))):gn(i)?{kind:$e.apply(void 0,[n,i.kind].concat(Ie(r),Ie(Ze.apply(void 0,Ie(i.children))))),children:i.children}:i}}(n))}function hn(e){return nn(e)?e.some(hn):tn(e)?e.includes("\n"):!!rn(e)&&((null===(n=e.children)||void 0===n?void 0:n.includes("\n"))||tn(null===(i=e.children)||void 0===i?void 0:i[0])&&e.children[0].includes("\n"));var n,i}function cn(e){var n=[],i=0;null==n[i]&&(n[i]=[]);var r=function(){i++,n[i]=[]};return un(e).forEach((function(e){hn(e)?tn(e)?e.split("\n").forEach((function(e,t){t>0&&r(),e&&n[i].push(e)})):e.children[0].split("\n").forEach((function(t,l){l>0&&r(),n[i].push({kind:e.kind,children:[t]})})):e&&(tn(e)||gn(e))&&n[i].push(e)})),n}function dn(e){for(var n=e.lines,i=O.useContext(Ye),r=i.highlightLines,t=i.showLineNumbers,l=i.darkMode,a=Ie(n);0===(null===(o=a[0])||void 0===o?void 0:o.length);){var o;a.shift()}for(;0===(null===(s=a[a.length-1])||void 0===s?void 0:s.length);){var s;a.pop()}return F.jsx(me.default.Fragment,null,a.map((function(e,n){var i,a=n+1,o=function(e){return r.some((function(n){if(null!=(i=n)&&"number"==typeof i)return e===n;var i;if(nn(n)){var r=Ie(n).sort((function(e,n){return e-n}));return e>=r[0]&&e<=r[1]}return!1}))}(a);t&&(i=a);var s=null!=e&&e.length?e.map(ln):F.jsx("div",{className:q.css(Xe||(Xe=Ee(["\n display: inline-block;\n "])))});return F.jsx(sn,{key:a,lineNumber:i,darkMode:l,highlighted:o},s)})))}var fn,pn,bn={"after:highlight":function(e){var n=e._emitter.rootNode;e.react=F.jsx(dn,{lines:cn(n.children)})}},yn=["children","language","darkMode","showLineNumbers","highlightLines","className"];function mn(e){return"cs"!==e&&"js"!==e&&"ts"!==e}var vn=!1;var xn,jn,kn,wn,Cn=q.css(fn||(fn=Ee(["\n color: inherit;\n font-size: 13px;\n font-family: ",";\n line-height: 24px;\n"])),P.fontFamilies.code);function qn(e){var n=e.children,i=e.language,r=e.darkMode,t=void 0!==r&&r,l=e.showLineNumbers,a=void 0!==l&&l,o=e.highlightLines,s=void 0===o?[]:o,g=e.className,u=De(e,yn);vn||function(){vn=!0,Ue();var e=Object.values(Ge).filter(mn);e.forEach((function(e){"graphql"===e?we.default(ke.default):ke.default.registerLanguage(e,_e[e])})),ke.default.configure({languages:e,tabReplace:" "}),ke.default.addPlugin(bn)}();var h=O.useMemo((function(){return i===Je.None?null:ke.default.highlight(n,{language:i,ignoreIllegals:!0})}),[i,n]),c=null===h?F.jsx(dn,{lines:n.split("\n").map((function(e){return e?[e]:[]}))}):h.react,d=t?ze.Dark:ze.Light;return F.jsx(Ye.Provider,{value:{highlightLines:s,showLineNumbers:a,darkMode:t}},F.jsx("code",Te({},u,{className:q.cx("lg-highlight-hljs-".concat(d),Cn,i,g)}),F.jsx("table",{className:q.css(pn||(pn=Ee(["\n border-spacing: 0;\n width: 100%;\n "])))},F.jsx("tbody",null,c))))}function Nn(e,n,i){var r,t=q.css(xn||(xn=Ee(["\n align-self: center;\n color: ",";\n "])),N.uiColors.gray.base);return n?q.cx(t,q.css(jn||(jn=Ee(["\n color: ",";\n background-color: ",";\n\n &:focus {\n color: ",";\n\n &:before {\n background-color: ",";\n }\n }\n\n &:hover {\n color: ",";\n\n &:before {\n background-color: ",";\n }\n }\n "])),N.uiColors.white,N.uiColors.green.base,N.uiColors.white,N.uiColors.green.base,N.uiColors.white,N.uiColors.green.base)):e===ze.Dark?q.cx(t,(Pe(r={},q.css(kn||(kn=Ee(["\n background-color: ",";\n "])),N.uiColors.gray.dark3),!i),Pe(r,q.css(wn||(wn=Ee(["\n background-color: ",";\n color: ",";\n "])),N.uiColors.gray.dark2,N.uiColors.gray.light2),i),r)):t}function On(e){var n=e.onCopy,i=e.contents,r=e.darkMode,t=e.withLanguageSwitcher,l=void 0!==t&&t,a=Be(O.useState(!1),2),o=a[0],s=a[1],g=Be(O.useState(null),2),u=g[0],h=g[1],c=r?ze.Dark:ze.Light;O.useEffect((function(){if(u){var e=new xe.default(u,{text:function(){return i}});if(o){var n=setTimeout((function(){s(!1)}),1500);return function(){return clearTimeout(n)}}return function(){return e.destroy()}}}),[u,i,o]);return F.jsx(Oe.default,{ref:h,darkMode:r,"aria-label":"Copy",className:Nn(c,o,l),onClick:function(e){e.preventDefault(),n&&n(),s(!0)}},o?F.jsx(qe.default,null):F.jsx(Ne.default,null),o&&F.jsx(W.VisuallyHidden,{role:"alert"},"Copied!"))}qn.displayName="Syntax",qn.propTypes={children:ve.default.string.isRequired,language:ve.default.oneOf(Object.values(Je)),className:ve.default.string,darkMode:ve.default.bool,showLineNumbers:ve.default.bool,highlightLines:ve.default.arrayOf(ve.default.oneOfType([ve.default.arrayOf(ve.default.number),ve.default.number]))},On.displayName="CopyButton";var Sn,Ln,Mn,An,Pn,Tn,Dn,En,Bn,In,Fn,Wn,Rn,_n,Gn=["className","children"],zn=q.css(Sn||(Sn=Ee(["\n display: flex;\n align-items: center;\n width: 100%;\n margin-top: -2px;\n margin-left: -1px;\n"]))),Jn=q.css(Ln||(Ln=Ee(["\n border-radius: 4px 0px 0px 0px;\n margin-left: -12px;\n border: 0;\n\n &:hover,\n &:focus,\n &:active {\n box-shadow: 0 0 0 0;\n border: 0;\n }\n"]))),Kn={light:q.css(Mn||(Mn=Ee(["\n background-color: ",";\n border-right: 1px solid ",";\n box-shadow: 0 0 0 0;\n\n &:hover,\n &:active,\n &:focus {\n border-right: 1px solid ",";\n }\n\n &:hover {\n background-color: ",";\n }\n "])),N.uiColors.white,N.uiColors.gray.light2,N.uiColors.gray.light2,N.uiColors.gray.light2),dark:q.css(An||(An=Ee(["\n border-right: 1px solid ",";\n\n &:hover,\n &:focus,\n &:active {\n border-right: 1px solid ",";\n }\n\n &:hover,\n &:active {\n background-color: ",";\n }\n "])),N.uiColors.gray.dark3,N.uiColors.gray.dark3,N.uiColors.gray.dark1)},Un={light:q.css(Pn||(Pn=Ee(["\n &:focus {\n background-color: ",";\n }\n "])),N.uiColors.blue.light2),dark:q.css(Tn||(Tn=Ee(["\n &:focus {\n background-color: ",";\n }\n "])),N.uiColors.focus)},Hn=q.css(Dn||(Dn=Ee(["\n width: 144px;\n"]))),Qn=q.css(En||(En=Ee(["\n margin-right: ","px;\n"])),P.spacing[3]);function Vn(e){var n,i=e.language,r=e.languageOptions,t=e.onChange,l=e.darkMode,a=T.useUsingKeyboardContext().usingKeyboard,o=l?"dark":"light",s=A.usePrevious(i),g=q.cx(Qn,q.css(Bn||(Bn=Ee(["\n color: ",";\n "])),l?N.uiColors.white:N.uiColors.gray.dark1)),u=F.jsx(Ne.default,{className:g});return null!=i.image&&(n=i.image,u=J.isComponentGlyph(n)||z.isComponentType(n,"Icon")?me.default.cloneElement(i.image,{className:g}):me.default.cloneElement(i.image,{className:Qn})),F.jsx("div",{className:zn},F.jsx(U.Select,{darkMode:l,onChange:function(e){if(""===e&&void 0!==s)return t(s);var n=r.find((function(n){return n.displayName===e}));void 0!==n&&t(n)},"aria-labelledby":"Language Picker",value:null==i?void 0:i.displayName,className:Hn,allowDeselect:!1,__INTERNAL__menuButtonSlot__:me.default.forwardRef((function(e,n){var i=e.className,r=e.children,t=De(e,Gn);return F.jsx(Se.default,Te({},t,{className:q.cx(i,Jn,Kn[o],Pe({},Un[o],a)),darkMode:l,ref:n,leftGlyph:u}),r)}))},null==r?void 0:r.map((function(e){return F.jsx(U.Option,{key:null==e?void 0:e.displayName,value:null==e?void 0:e.displayName},null==e?void 0:e.displayName)}))))}Vn.displayName="LanguageSwitcher";var Xn,Yn,$n,Zn,ei,ni,ii=q.css(In||(In=Ee(["\n width: 38px;\n border-left: solid 1px;\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n padding-top: 6px;\n align-items: center;\n gap: ","px;\n\n svg {\n width: 16px;\n height: 16px;\n }\n"])),P.spacing[1]),ri=q.css(Fn||(Fn=Ee(["\n min-height: ","px;\n padding-top: ","px;\n"])),36,P.spacing[1]);function ti(e,n,i){if(!n)return q.cx(ii,ri,Pe({},ri,!i),function(e){var n=Ke[e];switch(e){case ze.Light:return q.css(Wn||(Wn=Ee(["\n border-color: ",";\n background-color: white;\n "])),n[1]);case ze.Dark:return q.css(Rn||(Rn=Ee(["\n border-color: ",";\n background-color: ",";\n "])),n[1],n[1])}}(e));var r=Ke[e];return q.css(_n||(_n=Ee(["\n display: flex;\n flex-direction: row;\n align-items: center;\n padding-left: 12px;\n padding-right: 8px;\n background-color: ",";\n border-bottom: 1px solid ",";\n gap: ","px;\n\n svg {\n width: 16px;\n height: 16px;\n }\n "])),r[4],r[1],P.spacing[1])}function li(e){var n=e.language,i=e.languageOptions,r=e.contents,t=e.onChange,l=e.onCopy,a=e.showCopyButton,o=e.darkMode,s=e.isMultiline,g=void 0!==s&&s,u=e.customActionButtons,h=e.showCustomActionButtons,c=o?ze.Dark:ze.Light;return F.jsx("div",{className:ti(c,!!n,g),"data-testid":"leafygreen-code-panel"},void 0!==n&&void 0!==i&&void 0!==t&&F.jsx(Vn,{onChange:t,language:n,languageOptions:i,darkMode:o}),a&&F.jsx(On,{onCopy:l,darkMode:o,contents:r,withLanguageSwitcher:!!n}),h&&F.jsx(me.default.Fragment,null,null==u?void 0:u.map((function(e){return e}))))}li.displayName="Panel";var ai="light",oi="dark",si=12,gi=q.css(Xn||(Xn=Ee(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: ","px;\n padding-left: ","px;\n padding-right: ","px;\n border-radius: ","px ","px 0 0;\n"])),28,si,si,4,4),ui=q.css(Yn||(Yn=Ee(["\n display: flex;\n height: ","px;\n"])),si),hi=q.css($n||($n=Ee(["\n height: ","px;\n width: ","px;\n"])),si,60),ci=q.css(Zn||(Zn=Ee(["\n padding-left: ","px;\n padding-right: ","px;\n font-size: 14px;\n"])),8,8);function di(e){var n=e.color;return F.jsx("div",{className:q.css(ei||(ei=Ee(["\n height: ","px;\n width: ","px;\n border-radius: 50px;\n margin-right: 8px;\n background-color: ",";\n border: 1px solid ",";\n "])),si,si,n,B.darken(.03,n))})}function fi(e){var n=e.darkMode,i=void 0!==n&&n,r=e.chromeTitle,t=void 0===r?"":r,l=Ke[i?oi:ai];return F.jsx("div",{className:q.cx(gi,q.css(ni||(ni=Ee(["\n background-color: ",";\n color: ",";\n "])),l[1],l[2]))},F.jsx("div",{className:ui},["#FF5952","#E7BF2A","#54C22C"].map((function(e){return F.jsx(di,{key:e,color:e})}))),F.jsx("div",{className:ci},t),F.jsx("div",{className:hi}))}fi.displayName="WindowChrome",fi.propTypes={darkMode:ve.default.bool,chromeTitle:ve.default.string};var pi,bi,yi,mi,vi,xi,ji,ki,wi,Ci,qi,Ni,Oi=["children","className","language","darkMode","showLineNumbers","showWindowChrome","chromeTitle","copyable","onCopy","highlightLines","languageOptions","onChange","customActionButtons","showCustomActionButtons"];var Si=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=n.literal,r=n.overlap,t=i?e:["&"].concat(e);function l(e){if("object"!=typeof e||null==e)return[];if(Array.isArray(e))return e.map(l);var n={},a={},o={};return Object.keys(e).forEach((function(s){var g=e[s];if(!Array.isArray(g)&&i&&(g=[g]),(i||Array.isArray(g))&&38!==s.charCodeAt(0)){var u=void 0;g.forEach((function(e,l){if((!r||u!==e)&&null!=e)if(u=e,0!==l||i)if(void 0===n[t[l]]){var a;n[t[l]]=((a={})[s]=e,a)}else n[t[l]][s]=e;else o[s]=e}))}else"object"==typeof g?a[s]=l(g):o[s]=g})),t.forEach((function(e){n[e]&&(o[e]=n[e])})),Object.assign(o,a),o}return function(){for(var e=arguments.length,n=Array(e),i=0;i<e;i++)n[i]=arguments[i];return n.map(l)}}(["@media only screen and (max-device-width: 812px) and (-webkit-min-device-pixel-ratio: 2)","@media only screen and (min-device-width: 813px) and (-webkit-min-device-pixel-ratio: 2)"]),Li=q.css(pi||(pi=Ee(["\n overflow-x: auto;\n // Many applications have global styles that are adding a border and border radius to this element.\n border-radius: 0;\n border: 0;\n // We apply left / right padding in Syntax to support line highlighting\n padding-top: ","px;\n padding-bottom: ","px;\n margin: 0;\n position: relative;\n flex-grow: 1;\n\n ","\n"])),P.spacing[2],P.spacing[2],Si({whiteSpace:["pre","pre-wrap","pre"]})),Mi=q.css(bi||(bi=Ee(["\n border-left: 0;\n"]))),Ai=q.css(yi||(yi=Ee(["\n display: flex;\n align-items: center;\n padding-top: ","px;\n padding-bottom: ","px;\n"])),6,6),Pi=q.css(mi||(mi=Ee(["\n &:focus {\n outline: none;\n }\n"]))),Ti=q.css(vi||(vi=Ee(["\n display: flex;\n flex-direction: column-reverse;\n width: 700px;\n"])));var Di="none",Ei="left",Bi="right",Ii="both";function Fi(e){var n=e.children,i=void 0===n?"":n,r=e.className,t=e.language,l=e.darkMode,a=void 0!==l&&l,o=e.showLineNumbers,s=void 0!==o&&o,g=e.showWindowChrome,u=void 0!==g&&g,h=e.chromeTitle,c=void 0===h?"":h,d=e.copyable,f=void 0===d||d,p=e.onCopy,b=e.highlightLines,y=void 0===b?[]:b,m=e.languageOptions,v=e.onChange,x=e.customActionButtons,j=void 0===x?[]:x,k=e.showCustomActionButtons,w=void 0!==k&&k,C=De(e,Oi),N=O.useRef(null),S=T.useUsingKeyboardContext().usingKeyboard,L=Be(O.useState(Di),2),M=L[0],P=L[1],D=Be(O.useState(!1),2),E=D[0],B=D[1],I=a?ze.Dark:ze.Light,W=O.useMemo((function(){return i.trim().includes("\n")}),[i]),R=j.filter((function(e){return!0===z.isComponentType(e,"IconButton")})),_=w&&!!R.length,G=null==m?void 0:m.find((function(e){return e.displayName===t})),J=G?G.language:t;O.useEffect((function(){B(f&&xe.default.isSupported())}),[f,u]),A.useIsomorphicLayoutEffect((function(){var e=N.current;null!=e&&e.scrollWidth>e.clientWidth&&P(Bi)}),[]);var K=q.cx(q.css(Ci||(Ci=Ee(["\n border: ",";\n "])),G?"1px solid;":"2px solid;"),Li,function(e){var n=Ke[e],i="dark"===e?"border: 0":"border-color: ".concat(n[1]);return q.css(xi||(xi=Ee(["\n ",";\n background-color: ",";\n color: ",";\n "])),i,n[0],n[3])}(I),Pe({},Mi,u),r,function(e,n){var i=Ke[n],r=n===ze.Light?"rgba(93,108,116,0.3)":"rgba(0,0,0,0.35)";return e===Ii?q.css(ji||(ji=Ee(["\n box-shadow: inset 6px 0 6px -6px ",",\n inset -6px 0 6px -6px ",", inset 0 6px 6px -6px ",",\n inset 0 -6px 6px -6px ",";\n "])),r,r,i[0],i[0]):e===Ei?q.css(ki||(ki=Ee(["\n box-shadow: inset 6px 0 6px -6px ",";\n "])),r):e===Bi?q.css(wi||(wi=Ee(["\n box-shadow: inset -6px 0 6px -6px ",";\n "])),r):""}(M,I),Pe({},Ai,!W),Pe({},Pi,!S)),U=F.jsx(qn,{showLineNumbers:s,darkMode:a,language:J,highlightLines:y},i);var H=je.default((function(e){var n=e.target,i=n.scrollWidth,r=n.clientWidth;if(i>r){var t=e.target.scrollLeft,l=i-r;t>0&&t<l?P(Ii):t>0?P(Ei):t<l&&P(Bi)}}),50,{leading:!0}),Q=a?"border: 0":"border: 1px solid ".concat(Ke[I][1]),V=q.css(qi||(qi=Ee(["\n ",";\n border-radius: 4px;\n overflow: hidden;\n "])),Q);return F.jsx("div",{className:V},u&&F.jsx(fi,{chromeTitle:c,darkMode:a}),F.jsx("div",{className:q.cx(q.css(Ni||(Ni=Ee(["\n display: flex;\n "]))),Pe({},Ti,!!G))},F.jsx("pre",Te({},C,{className:K,onScroll:function(e){e.persist(),H(e)},ref:N,tabIndex:M!==Di?0:-1}),U),!u&&(f||!!G||_)&&F.jsx(li,{language:G,languageOptions:m,onChange:v,contents:i,onCopy:p,showCopyButton:E,darkMode:a,isMultiline:W,customActionButtons:R,showCustomActionButtons:_})))}Fi.displayName="Code",Fi.propTypes={children:ve.default.string.isRequired,language:ve.default.oneOfType([ve.default.oneOf(Object.values(Je)),ve.default.string]),darkMode:ve.default.bool,className:ve.default.string,showLineNumbers:ve.default.bool,showWindowChrome:ve.default.bool,chromeTitle:ve.default.string,highlightLines:ve.default.arrayOf(ve.default.oneOfType([ve.default.arrayOf(ve.default.number),ve.default.number]))},e.Language=Je,e.Mode=ze,e.default=Fi,e.variantColors=Ke,Object.defineProperty(e,"__esModule",{value:!0})})); | ||
//# sourceMappingURL=index.js.map |
@@ -1,10 +0,12 @@ | ||
/// <reference types="react" /> | ||
import React from 'react'; | ||
export declare function PythonLogo({ className }: { | ||
className?: string; | ||
}): JSX.Element; | ||
declare function LanguageSwitcher({ darkMode, onChange, }: { | ||
declare function LanguageSwitcher({ darkMode, onChange, customActionButtons, showCustomActionButtons, }: { | ||
darkMode?: boolean; | ||
onChange?: Function; | ||
customActionButtons?: Array<React.ReactNode>; | ||
showCustomActionButtons?: boolean; | ||
}): JSX.Element; | ||
export default LanguageSwitcher; | ||
//# sourceMappingURL=LanguageSwitcherExample.d.ts.map |
@@ -1,2 +0,2 @@ | ||
/// <reference types="react" /> | ||
import React from 'react'; | ||
import { LanguageOption, LanguageSwitcher as LanguageSwitcherProps } from './types'; | ||
@@ -10,4 +10,6 @@ declare type PanelProps = Partial<Omit<LanguageSwitcherProps, 'language'>> & { | ||
isMultiline?: boolean; | ||
customActionButtons?: Array<React.ReactNode>; | ||
showCustomActionButtons?: boolean; | ||
}; | ||
declare function Panel({ language, languageOptions, contents, onChange, onCopy, showCopyButton, darkMode, isMultiline, }: PanelProps): JSX.Element; | ||
declare function Panel({ language, languageOptions, contents, onChange, onCopy, showCopyButton, darkMode, isMultiline, customActionButtons, showCustomActionButtons, }: PanelProps): JSX.Element; | ||
declare namespace Panel { | ||
@@ -14,0 +16,0 @@ var displayName: string; |
@@ -28,2 +28,6 @@ /// <reference types="react" /> | ||
readonly Kotlin: "kotlin"; | ||
/** | ||
* When true, custom action buttons will be shown. | ||
* | ||
*/ | ||
readonly ObjectiveC: "objectivec"; | ||
@@ -93,2 +97,12 @@ readonly Bash: "bash"; | ||
onCopy?: Function; | ||
/** | ||
* Custom action buttons. | ||
* | ||
*/ | ||
customActionButtons?: Array<React.ReactNode>; | ||
/** | ||
* When true, custom action buttons will be shown. | ||
* | ||
*/ | ||
showCustomActionButtons?: boolean; | ||
} & ({ | ||
@@ -95,0 +109,0 @@ language: Language; |
{ | ||
"name": "@leafygreen-ui/code", | ||
"version": "9.2.0", | ||
"version": "9.3.0", | ||
"description": "leafyGreen UI Kit Code Blocks", | ||
@@ -25,4 +25,4 @@ "main": "./dist/index.js", | ||
"@leafygreen-ui/a11y": "^1.2.2", | ||
"@leafygreen-ui/hooks": "^7.0.0", | ||
"@leafygreen-ui/select": "^3.0.7", | ||
"@leafygreen-ui/hooks": "^7.1.1", | ||
"@leafygreen-ui/select": "^3.1.0", | ||
"@leafygreen-ui/palette": "^3.2.2", | ||
@@ -29,0 +29,0 @@ "@leafygreen-ui/lib": "^9.0.1", |
@@ -104,13 +104,15 @@ # Code | ||
| Prop | Type | Description | Default | | ||
| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | | ||
| `children` (Required) | `string` | This is the code snippet that will be rendered in the code block. | `''` | | ||
| `language` (Required) | `'javascript'`, `'typescript'`, `'cs'`, `'csharp'`, `'cpp'`, `'go'`, `'http'`,`'java'`, `'perl'`, `'php'`, `'python'`, `'ruby'`, `'scala'`, `'swift'`, `'kotlin'`,`'objectivec'`, `'bash'`, `'shell'`, `'sql'`, `'yaml'`, `'json'`, `'diff'`, `'xml'`, `'none'` | The language to highlight the code block as. When set to `'none'`, no syntax highlighting will be applied. | | | ||
| `darkMode` | `boolean` | Determines whether or not the component will appear in dark mode. | `false` | | ||
| `className` | `string` | Applies a className to the root element's classList. | | | ||
| `showLineNumbers` | `boolean` | Shows line numbers next to each line of code in the passed code snippet. **NOTE:** While you can set this to `true` regardless of the code component being multiline, the line numbers will not be displayed if the `multiline` prop is `true`. | `false` | | ||
| `showWindowChrome` | `boolean` | Shows a stylized window chrome frame around the code snippet. This is purely stylistic. | `false` | | ||
| `chromeTitle` | `string` | Shows a filename-like title in the window chrome frame.**NOTE:** While you can set this prop if `showWindowChrome` is `false`, it will not be displayed unless the `showWindowChrome` prop is `true`. | `''` | | ||
| `onCopy` | `Function` | Callback fired when Code is copied | | | ||
| `copyable` | `boolean` | When true, allows the code block to be copied to the user's clipboard | `true` | | ||
| `highlightLines` | `Array<number` \| `[number, number]>` | An optional array of lines to highlight. The array can only contain numbers corresponding to the line numbers to highlight, and / or tuples representing a range (e.g. `[6, 10]`); | | | ||
| Prop | Type | Description | Default | | ||
| ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | | ||
| `children` (Required) | `string` | This is the code snippet that will be rendered in the code block. | `''` | | ||
| `language` (Required) | `'javascript'`, `'typescript'`, `'cs'`, `'csharp'`, `'cpp'`, `'go'`, `'http'`,`'java'`, `'perl'`, `'php'`, `'python'`, `'ruby'`, `'scala'`, `'swift'`, `'kotlin'`,`'objectivec'`, `'bash'`, `'shell'`, `'sql'`, `'yaml'`, `'json'`, `'diff'`, `'xml'`, `'none'` | The language to highlight the code block as. When set to `'none'`, no syntax highlighting will be applied. | | | ||
| `darkMode` | `boolean` | Determines whether or not the component will appear in dark mode. | `false` | | ||
| `className` | `string` | Applies a className to the root element's classList. | | | ||
| `showLineNumbers` | `boolean` | Shows line numbers next to each line of code in the passed code snippet. **NOTE:** While you can set this to `true` regardless of the code component being multiline, the line numbers will not be displayed if the `multiline` prop is `true`. | `false` | | ||
| `showWindowChrome` | `boolean` | Shows a stylized window chrome frame around the code snippet. This is purely stylistic. | `false` | | ||
| `chromeTitle` | `string` | Shows a filename-like title in the window chrome frame.**NOTE:** While you can set this prop if `showWindowChrome` is `false`, it will not be displayed unless the `showWindowChrome` prop is `true`. | `''` | | ||
| `showCustomActionButtons` | `boolean` | Shows custom action buttons in the panel if set to `true` and there is at least one item in `customActionButtons` | `false` | | ||
| `customActionButtons` | `Array<React.ReactNode>` | An array of custom action buttons. For example: `[<IconButton><Icon glyph="Cloud" /></IconButton>, <IconButton><Icon glyph="Code" /></IconButton>]` | `[]` | | ||
| `onCopy` | `Function` | Callback fired when Code is copied | | | ||
| `copyable` | `boolean` | When true, allows the code block to be copied to the user's clipboard | `true` | | ||
| `highlightLines` | `Array<number` \| `[number, number]>` | An optional array of lines to highlight. The array can only contain numbers corresponding to the line numbers to highlight, and / or tuples representing a range (e.g. `[6, 10]`); | | |
@@ -85,2 +85,14 @@ import { SupportedLanguages } from './languages'; | ||
onCopy?: Function; | ||
/** | ||
* Custom action buttons. | ||
* | ||
*/ | ||
customActionButtons?: Array<React.ReactNode>; | ||
/** | ||
* When true, custom action buttons will be shown. | ||
* | ||
*/ | ||
showCustomActionButtons?: boolean; | ||
} & ( | ||
@@ -87,0 +99,0 @@ | { language: Language; languageOptions?: undefined; onChange?: undefined } |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
583958
3117
118
Updated@leafygreen-ui/hooks@^7.1.1
Updated@leafygreen-ui/select@^3.1.0