@codecademy/codebytes 0.6.13 → 0.6.14-alpha.e5f2c6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ### [0.6.14-alpha.e5f2c6.0](https://github.com/Codecademy/client-modules/compare/@codecademy/codebytes@0.6.13...@codecademy/codebytes@0.6.14-alpha.e5f2c6.0) (2022-04-29)
7
+
8
+ **Note:** Version bump only for package @codecademy/codebytes
9
+
10
+
11
+
12
+
13
+
6
14
  ### [0.6.13](https://github.com/Codecademy/client-modules/compare/@codecademy/codebytes@0.6.12...@codecademy/codebytes@0.6.13) (2022-04-11)
7
15
 
8
16
  **Note:** Version bump only for package @codecademy/codebytes
@@ -0,0 +1,13 @@
1
+ import { GamutIconProps } from '@codecademy/gamut-icons';
2
+ import React from 'react';
3
+ export declare type BaseSocialShareProps = {
4
+ sectionId?: string;
5
+ size?: 'small' | 'normal';
6
+ };
7
+ export declare type SocialShareIconLinkProps = BaseSocialShareProps & {
8
+ icon: React.ComponentType<GamutIconProps>;
9
+ id: string;
10
+ href: string;
11
+ onClick?: (e: React.MouseEvent) => void;
12
+ };
13
+ export declare const SocialShareIconLink: React.FC<SocialShareIconLinkProps>;
@@ -0,0 +1,51 @@
1
+ import _styled from "@emotion/styled/base";
2
+ import { Anchor, Box } from '@codecademy/gamut';
3
+ import React from 'react';
4
+
5
+ var IconLink = /*#__PURE__*/_styled(Box, {
6
+ target: "e1k7a7ka0",
7
+ label: "IconLink"
8
+ })(process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9CZXR0ZXJTb2NpYWxTaGFyaW5nL1NvY2lhbFNoYXJlSWNvbkxpbmsudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUs0QiIsImZpbGUiOiIuLi8uLi9zcmMvQmV0dGVyU29jaWFsU2hhcmluZy9Tb2NpYWxTaGFyZUljb25MaW5rLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFuY2hvciwgQm94IH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQnO1xuaW1wb3J0IHsgR2FtdXRJY29uUHJvcHMgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1pY29ucyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5jb25zdCBJY29uTGluayA9IHN0eWxlZChCb3gpYGAud2l0aENvbXBvbmVudChBbmNob3IpO1xuXG5leHBvcnQgdHlwZSBCYXNlU29jaWFsU2hhcmVQcm9wcyA9IHtcbiAgc2VjdGlvbklkPzogc3RyaW5nO1xuICBzaXplPzogJ3NtYWxsJyB8ICdub3JtYWwnO1xufTtcblxuZXhwb3J0IHR5cGUgU29jaWFsU2hhcmVJY29uTGlua1Byb3BzID0gQmFzZVNvY2lhbFNoYXJlUHJvcHMgJiB7XG4gIGljb246IFJlYWN0LkNvbXBvbmVudFR5cGU8R2FtdXRJY29uUHJvcHM+O1xuICBpZDogc3RyaW5nO1xuICBocmVmOiBzdHJpbmc7XG4gIG9uQ2xpY2s/OiAoZTogUmVhY3QuTW91c2VFdmVudCkgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCBjb25zdCBTb2NpYWxTaGFyZUljb25MaW5rOiBSZWFjdC5GQzxTb2NpYWxTaGFyZUljb25MaW5rUHJvcHM+ID0gKHtcbiAgaWNvbjogSWNvbkNvbXBvbmVudCxcbiAgaWQsXG4gIGhyZWYsXG4gIG9uQ2xpY2ssXG4gIHNpemUsXG4gIHNlY3Rpb25JZCxcbn0pID0+IHtcbiAgY29uc3Qgb25JY29uQ2xpY2sgPSAoZTogUmVhY3QuTW91c2VFdmVudCkgPT4ge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBvbkNsaWNrPy4oZSk7XG4gICAgY29uc3QgcG9wdXBTaXplID0gNTcwO1xuICAgIGNvbnN0IGxlZnQgPSAod2luZG93LnNjcmVlbi53aWR0aCAtIHBvcHVwU2l6ZSkgLyAyO1xuICAgIGNvbnN0IHRvcCA9ICh3aW5kb3cuc2NyZWVuLmhlaWdodCAtIHBvcHVwU2l6ZSkgLyAyO1xuICAgIGNvbnN0IGZlYXR1cmVzID0gYG1lbnViYXI9bm8sdG9vbGJhcj1ubyxzdGF0dXM9bm8sd2lkdGg9JHtwb3B1cFNpemV9LGhlaWdodD0ke3BvcHVwU2l6ZX0sdG9wPSR7dG9wfSxsZWZ0PSR7bGVmdH1gO1xuICAgIHdpbmRvdy5vcGVuKGhyZWYsICdfYmxhbmsnLCBmZWF0dXJlcyk/LmZvY3VzKCk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbkxpbmtcbiAgICAgIGhyZWY9e2hyZWZ9XG4gICAgICBvbkNsaWNrPXtvbkljb25DbGlja31cbiAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgIGFyaWEtbGFiZWw9e2BzaGFyZSBvbiAke2lkfWB9XG4gICAgICBwPXs4fVxuICAgICAgbGluZUhlaWdodD17MH1cbiAgICAgIGJvcmRlclN0eWxlPVwic29saWRcIlxuICAgICAgYm9yZGVyV2lkdGg9e3NpemUgPT09ICdzbWFsbCcgPyAxIDogMn1cbiAgICAgIGJvcmRlckNvbG9yPVwidGV4dFwiXG4gICAgICBib3JkZXJSYWRpdXM9XCI1MCVcIlxuICAgID5cbiAgICAgIDxJY29uQ29tcG9uZW50XG4gICAgICAgIHRpdGxlPXtpZH1cbiAgICAgICAgdGl0bGVJZD17YCR7c2VjdGlvbklkfS0ke2lkfWB9XG4gICAgICAgIHNpemU9e3NpemUgPT09ICdzbWFsbCcgPyAxNiA6IDI0fVxuICAgICAgICBjb2xvcj1cInRleHRcIlxuICAgICAgLz5cbiAgICA8L0ljb25MaW5rPlxuICApO1xufTtcbiJdfQ== */").withComponent(Anchor, {
9
+ target: "e1k7a7ka1",
10
+ label: "IconLink"
11
+ });
12
+
13
+ export var SocialShareIconLink = function SocialShareIconLink(_ref) {
14
+ var IconComponent = _ref.icon,
15
+ id = _ref.id,
16
+ href = _ref.href,
17
+ onClick = _ref.onClick,
18
+ size = _ref.size,
19
+ sectionId = _ref.sectionId;
20
+
21
+ var onIconClick = function onIconClick(e) {
22
+ var _window$open;
23
+
24
+ e.preventDefault();
25
+ onClick === null || onClick === void 0 ? void 0 : onClick(e);
26
+ var popupSize = 570;
27
+ var left = (window.screen.width - popupSize) / 2;
28
+ var top = (window.screen.height - popupSize) / 2;
29
+ var features = "menubar=no,toolbar=no,status=no,width=".concat(popupSize, ",height=").concat(popupSize, ",top=").concat(top, ",left=").concat(left);
30
+ (_window$open = window.open(href, '_blank', features)) === null || _window$open === void 0 ? void 0 : _window$open.focus();
31
+ };
32
+
33
+ return /*#__PURE__*/React.createElement(IconLink, {
34
+ href: href,
35
+ onClick: onIconClick,
36
+ target: "_blank",
37
+ rel: "noopener noreferrer",
38
+ "aria-label": "share on ".concat(id),
39
+ p: 8,
40
+ lineHeight: 0,
41
+ borderStyle: "solid",
42
+ borderWidth: size === 'small' ? 1 : 2,
43
+ borderColor: "text",
44
+ borderRadius: "50%"
45
+ }, /*#__PURE__*/React.createElement(IconComponent, {
46
+ title: id,
47
+ titleId: "".concat(sectionId, "-").concat(id),
48
+ size: size === 'small' ? 16 : 24,
49
+ color: "text"
50
+ }));
51
+ };
@@ -0,0 +1,47 @@
1
+ import React from 'react';
2
+ import { BaseSocialShareProps } from './SocialShareIconLink';
3
+ export declare type SocialMediaShare = {
4
+ url: string;
5
+ message?: string;
6
+ hashtags?: string[];
7
+ mention?: string;
8
+ };
9
+ export declare const createShareLink: (formatter: (payload: SocialMediaShare) => Record<string, string>, baseUri: string, payload: SocialMediaShare) => string;
10
+ export declare const SOCIAL_SHARING_PLATFORMS: ({
11
+ id: string;
12
+ icon: React.ForwardRefExoticComponent<Pick<import("@codecademy/gamut-icons").GamutIconProps, "string" | "method" | "p" | "style" | "title" | "clipPath" | "filter" | "mask" | "path" | "onAnimationStart" | "onDragStart" | "onDragEnd" | "onDrag" | "className" | "id" | "lang" | "tabIndex" | "role" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDragCapture" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "px" | "py" | "pt" | "pb" | "pr" | "pl" | "m" | "mx" | "my" | "mt" | "mb" | "mr" | "ml" | "border" | "borderX" | "borderY" | "borderTop" | "borderRight" | "borderBottom" | "borderLeft" | "borderWidth" | "borderWidthX" | "borderWidthY" | "borderWidthLeft" | "borderWidthRight" | "borderWidthTop" | "borderWidthBottom" | "borderRadius" | "borderRadiusLeft" | "borderRadiusTop" | "borderRadiusBottom" | "borderRadiusRight" | "borderRadiusTopLeft" | "borderRadiusTopRight" | "borderRadiusBottomRight" | "borderRadiusBottomLeft" | "borderStyle" | "borderStyleX" | "borderStyleY" | "borderStyleLeft" | "borderStyleRight" | "borderStyleTop" | "borderStyleBottom" | "flexBasis" | "flexShrink" | "flexGrow" | "order" | "gridColumn" | "gridRow" | "gridColumnStart" | "gridRowStart" | "gridColumnEnd" | "gridRowEnd" | "justifySelf" | "alignSelf" | "gridArea" | "display" | "overflow" | "overflowX" | "overflowY" | "dimensions" | "width" | "minWidth" | "maxWidth" | "height" | "minHeight" | "maxHeight" | "verticalAlign" | "color" | "textColor" | "bg" | "borderColor" | "borderColorX" | "borderColorY" | "borderColorLeft" | "borderColorRight" | "borderColorTop" | "borderColorBottom" | "position" | "inset" | "top" | "right" | "bottom" | "left" | "zIndex" | "opacity" | "fontFamily" | "fontWeight" | "fontSize" | "letterSpacing" | "fontStyle" | "textDecoration" | "theme" | "cursor" | "direction" | "fontSizeAdjust" | "fontStretch" | "fontVariant" | "imageRendering" | "paintOrder" | "pointerEvents" | "rotate" | "scale" | "textRendering" | "transform" | "unicodeBidi" | "visibility" | "wordSpacing" | "writingMode" | "offset" | "azimuth" | "clip" | "alignmentBaseline" | "baselineShift" | "clipRule" | "colorInterpolation" | "colorRendering" | "dominantBaseline" | "fill" | "fillOpacity" | "fillRule" | "floodColor" | "floodOpacity" | "glyphOrientationVertical" | "lightingColor" | "markerEnd" | "markerMid" | "markerStart" | "shapeRendering" | "stopColor" | "stopOpacity" | "stroke" | "strokeDasharray" | "strokeDashoffset" | "strokeLinecap" | "strokeLinejoin" | "strokeMiterlimit" | "strokeOpacity" | "strokeWidth" | "textAnchor" | "vectorEffect" | "end" | "local" | "size" | "x" | "y" | "alphabetic" | "hanging" | "ideographic" | "mathematical" | "values" | "href" | "spacing" | "mode" | "min" | "max" | "target" | "media" | "name" | "type" | "crossOrigin" | "accentHeight" | "accumulate" | "additive" | "allowReorder" | "amplitude" | "arabicForm" | "ascent" | "attributeName" | "attributeType" | "autoReverse" | "baseFrequency" | "baseProfile" | "bbox" | "begin" | "bias" | "by" | "calcMode" | "capHeight" | "clipPathUnits" | "colorInterpolationFilters" | "colorProfile" | "contentScriptType" | "contentStyleType" | "cx" | "cy" | "d" | "decelerate" | "descent" | "diffuseConstant" | "divisor" | "dur" | "dx" | "dy" | "edgeMode" | "elevation" | "enableBackground" | "exponent" | "externalResourcesRequired" | "filterRes" | "filterUnits" | "focusable" | "format" | "from" | "fx" | "fy" | "g1" | "g2" | "glyphName" | "glyphOrientationHorizontal" | "glyphRef" | "gradientTransform" | "gradientUnits" | "horizAdvX" | "horizOriginX" | "in2" | "in" | "intercept" | "k1" | "k2" | "k3" | "k4" | "k" | "kernelMatrix" | "kernelUnitLength" | "kerning" | "keyPoints" | "keySplines" | "keyTimes" | "lengthAdjust" | "limitingConeAngle" | "markerHeight" | "markerUnits" | "markerWidth" | "maskContentUnits" | "maskUnits" | "numOctaves" | "operator" | "orient" | "orientation" | "origin" | "overlinePosition" | "overlineThickness" | "panose1" | "pathLength" | "patternContentUnits" | "patternTransform" | "patternUnits" | "points" | "pointsAtX" | "pointsAtY" | "pointsAtZ" | "preserveAlpha" | "preserveAspectRatio" | "primitiveUnits" | "r" | "radius" | "refX" | "refY" | "renderingIntent" | "repeatCount" | "repeatDur" | "requiredExtensions" | "requiredFeatures" | "restart" | "result" | "rx" | "ry" | "seed" | "slope" | "specularConstant" | "specularExponent" | "speed" | "spreadMethod" | "startOffset" | "stdDeviation" | "stemh" | "stemv" | "stitchTiles" | "strikethroughPosition" | "strikethroughThickness" | "surfaceScale" | "systemLanguage" | "tableValues" | "targetX" | "targetY" | "textLength" | "to" | "u1" | "u2" | "underlinePosition" | "underlineThickness" | "unicode" | "unicodeRange" | "unitsPerEm" | "vAlphabetic" | "version" | "vertAdvY" | "vertOriginX" | "vertOriginY" | "vHanging" | "vIdeographic" | "viewBox" | "viewTarget" | "vMathematical" | "widths" | "x1" | "x2" | "xChannelSelector" | "xHeight" | "xlinkActuate" | "xlinkArcrole" | "xlinkHref" | "xlinkRole" | "xlinkShow" | "xlinkTitle" | "xlinkType" | "xmlBase" | "xmlLang" | "xmlns" | "xmlnsXlink" | "xmlSpace" | "y1" | "y2" | "yChannelSelector" | "z" | "zoomAndPan" | "titleId"> & React.RefAttributes<SVGSVGElement>>;
13
+ baseUrl: string;
14
+ formatShare: ({ url, message, hashtags }: SocialMediaShare) => {
15
+ hashtag: string;
16
+ quote?: string | undefined;
17
+ href?: string | undefined;
18
+ };
19
+ } | {
20
+ id: string;
21
+ icon: React.ForwardRefExoticComponent<Pick<import("@codecademy/gamut-icons").GamutIconProps, "string" | "method" | "p" | "style" | "title" | "clipPath" | "filter" | "mask" | "path" | "onAnimationStart" | "onDragStart" | "onDragEnd" | "onDrag" | "className" | "id" | "lang" | "tabIndex" | "role" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDragCapture" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "px" | "py" | "pt" | "pb" | "pr" | "pl" | "m" | "mx" | "my" | "mt" | "mb" | "mr" | "ml" | "border" | "borderX" | "borderY" | "borderTop" | "borderRight" | "borderBottom" | "borderLeft" | "borderWidth" | "borderWidthX" | "borderWidthY" | "borderWidthLeft" | "borderWidthRight" | "borderWidthTop" | "borderWidthBottom" | "borderRadius" | "borderRadiusLeft" | "borderRadiusTop" | "borderRadiusBottom" | "borderRadiusRight" | "borderRadiusTopLeft" | "borderRadiusTopRight" | "borderRadiusBottomRight" | "borderRadiusBottomLeft" | "borderStyle" | "borderStyleX" | "borderStyleY" | "borderStyleLeft" | "borderStyleRight" | "borderStyleTop" | "borderStyleBottom" | "flexBasis" | "flexShrink" | "flexGrow" | "order" | "gridColumn" | "gridRow" | "gridColumnStart" | "gridRowStart" | "gridColumnEnd" | "gridRowEnd" | "justifySelf" | "alignSelf" | "gridArea" | "display" | "overflow" | "overflowX" | "overflowY" | "dimensions" | "width" | "minWidth" | "maxWidth" | "height" | "minHeight" | "maxHeight" | "verticalAlign" | "color" | "textColor" | "bg" | "borderColor" | "borderColorX" | "borderColorY" | "borderColorLeft" | "borderColorRight" | "borderColorTop" | "borderColorBottom" | "position" | "inset" | "top" | "right" | "bottom" | "left" | "zIndex" | "opacity" | "fontFamily" | "fontWeight" | "fontSize" | "letterSpacing" | "fontStyle" | "textDecoration" | "theme" | "cursor" | "direction" | "fontSizeAdjust" | "fontStretch" | "fontVariant" | "imageRendering" | "paintOrder" | "pointerEvents" | "rotate" | "scale" | "textRendering" | "transform" | "unicodeBidi" | "visibility" | "wordSpacing" | "writingMode" | "offset" | "azimuth" | "clip" | "alignmentBaseline" | "baselineShift" | "clipRule" | "colorInterpolation" | "colorRendering" | "dominantBaseline" | "fill" | "fillOpacity" | "fillRule" | "floodColor" | "floodOpacity" | "glyphOrientationVertical" | "lightingColor" | "markerEnd" | "markerMid" | "markerStart" | "shapeRendering" | "stopColor" | "stopOpacity" | "stroke" | "strokeDasharray" | "strokeDashoffset" | "strokeLinecap" | "strokeLinejoin" | "strokeMiterlimit" | "strokeOpacity" | "strokeWidth" | "textAnchor" | "vectorEffect" | "end" | "local" | "size" | "x" | "y" | "alphabetic" | "hanging" | "ideographic" | "mathematical" | "values" | "href" | "spacing" | "mode" | "min" | "max" | "target" | "media" | "name" | "type" | "crossOrigin" | "accentHeight" | "accumulate" | "additive" | "allowReorder" | "amplitude" | "arabicForm" | "ascent" | "attributeName" | "attributeType" | "autoReverse" | "baseFrequency" | "baseProfile" | "bbox" | "begin" | "bias" | "by" | "calcMode" | "capHeight" | "clipPathUnits" | "colorInterpolationFilters" | "colorProfile" | "contentScriptType" | "contentStyleType" | "cx" | "cy" | "d" | "decelerate" | "descent" | "diffuseConstant" | "divisor" | "dur" | "dx" | "dy" | "edgeMode" | "elevation" | "enableBackground" | "exponent" | "externalResourcesRequired" | "filterRes" | "filterUnits" | "focusable" | "format" | "from" | "fx" | "fy" | "g1" | "g2" | "glyphName" | "glyphOrientationHorizontal" | "glyphRef" | "gradientTransform" | "gradientUnits" | "horizAdvX" | "horizOriginX" | "in2" | "in" | "intercept" | "k1" | "k2" | "k3" | "k4" | "k" | "kernelMatrix" | "kernelUnitLength" | "kerning" | "keyPoints" | "keySplines" | "keyTimes" | "lengthAdjust" | "limitingConeAngle" | "markerHeight" | "markerUnits" | "markerWidth" | "maskContentUnits" | "maskUnits" | "numOctaves" | "operator" | "orient" | "orientation" | "origin" | "overlinePosition" | "overlineThickness" | "panose1" | "pathLength" | "patternContentUnits" | "patternTransform" | "patternUnits" | "points" | "pointsAtX" | "pointsAtY" | "pointsAtZ" | "preserveAlpha" | "preserveAspectRatio" | "primitiveUnits" | "r" | "radius" | "refX" | "refY" | "renderingIntent" | "repeatCount" | "repeatDur" | "requiredExtensions" | "requiredFeatures" | "restart" | "result" | "rx" | "ry" | "seed" | "slope" | "specularConstant" | "specularExponent" | "speed" | "spreadMethod" | "startOffset" | "stdDeviation" | "stemh" | "stemv" | "stitchTiles" | "strikethroughPosition" | "strikethroughThickness" | "surfaceScale" | "systemLanguage" | "tableValues" | "targetX" | "targetY" | "textLength" | "to" | "u1" | "u2" | "underlinePosition" | "underlineThickness" | "unicode" | "unicodeRange" | "unitsPerEm" | "vAlphabetic" | "version" | "vertAdvY" | "vertOriginX" | "vertOriginY" | "vHanging" | "vIdeographic" | "viewBox" | "viewTarget" | "vMathematical" | "widths" | "x1" | "x2" | "xChannelSelector" | "xHeight" | "xlinkActuate" | "xlinkArcrole" | "xlinkHref" | "xlinkRole" | "xlinkShow" | "xlinkTitle" | "xlinkType" | "xmlBase" | "xmlLang" | "xmlns" | "xmlnsXlink" | "xmlSpace" | "y1" | "y2" | "yChannelSelector" | "z" | "zoomAndPan" | "titleId"> & React.RefAttributes<SVGSVGElement>>;
22
+ baseUrl: string;
23
+ formatShare: ({ url, message, hashtags, mention }: SocialMediaShare) => {
24
+ via?: string | undefined;
25
+ hashtags?: string | undefined;
26
+ text?: string | undefined;
27
+ url?: string | undefined;
28
+ };
29
+ } | {
30
+ id: string;
31
+ icon: React.ForwardRefExoticComponent<Pick<import("@codecademy/gamut-icons").GamutIconProps, "string" | "method" | "p" | "style" | "title" | "clipPath" | "filter" | "mask" | "path" | "onAnimationStart" | "onDragStart" | "onDragEnd" | "onDrag" | "className" | "id" | "lang" | "tabIndex" | "role" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDragCapture" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "px" | "py" | "pt" | "pb" | "pr" | "pl" | "m" | "mx" | "my" | "mt" | "mb" | "mr" | "ml" | "border" | "borderX" | "borderY" | "borderTop" | "borderRight" | "borderBottom" | "borderLeft" | "borderWidth" | "borderWidthX" | "borderWidthY" | "borderWidthLeft" | "borderWidthRight" | "borderWidthTop" | "borderWidthBottom" | "borderRadius" | "borderRadiusLeft" | "borderRadiusTop" | "borderRadiusBottom" | "borderRadiusRight" | "borderRadiusTopLeft" | "borderRadiusTopRight" | "borderRadiusBottomRight" | "borderRadiusBottomLeft" | "borderStyle" | "borderStyleX" | "borderStyleY" | "borderStyleLeft" | "borderStyleRight" | "borderStyleTop" | "borderStyleBottom" | "flexBasis" | "flexShrink" | "flexGrow" | "order" | "gridColumn" | "gridRow" | "gridColumnStart" | "gridRowStart" | "gridColumnEnd" | "gridRowEnd" | "justifySelf" | "alignSelf" | "gridArea" | "display" | "overflow" | "overflowX" | "overflowY" | "dimensions" | "width" | "minWidth" | "maxWidth" | "height" | "minHeight" | "maxHeight" | "verticalAlign" | "color" | "textColor" | "bg" | "borderColor" | "borderColorX" | "borderColorY" | "borderColorLeft" | "borderColorRight" | "borderColorTop" | "borderColorBottom" | "position" | "inset" | "top" | "right" | "bottom" | "left" | "zIndex" | "opacity" | "fontFamily" | "fontWeight" | "fontSize" | "letterSpacing" | "fontStyle" | "textDecoration" | "theme" | "cursor" | "direction" | "fontSizeAdjust" | "fontStretch" | "fontVariant" | "imageRendering" | "paintOrder" | "pointerEvents" | "rotate" | "scale" | "textRendering" | "transform" | "unicodeBidi" | "visibility" | "wordSpacing" | "writingMode" | "offset" | "azimuth" | "clip" | "alignmentBaseline" | "baselineShift" | "clipRule" | "colorInterpolation" | "colorRendering" | "dominantBaseline" | "fill" | "fillOpacity" | "fillRule" | "floodColor" | "floodOpacity" | "glyphOrientationVertical" | "lightingColor" | "markerEnd" | "markerMid" | "markerStart" | "shapeRendering" | "stopColor" | "stopOpacity" | "stroke" | "strokeDasharray" | "strokeDashoffset" | "strokeLinecap" | "strokeLinejoin" | "strokeMiterlimit" | "strokeOpacity" | "strokeWidth" | "textAnchor" | "vectorEffect" | "end" | "local" | "size" | "x" | "y" | "alphabetic" | "hanging" | "ideographic" | "mathematical" | "values" | "href" | "spacing" | "mode" | "min" | "max" | "target" | "media" | "name" | "type" | "crossOrigin" | "accentHeight" | "accumulate" | "additive" | "allowReorder" | "amplitude" | "arabicForm" | "ascent" | "attributeName" | "attributeType" | "autoReverse" | "baseFrequency" | "baseProfile" | "bbox" | "begin" | "bias" | "by" | "calcMode" | "capHeight" | "clipPathUnits" | "colorInterpolationFilters" | "colorProfile" | "contentScriptType" | "contentStyleType" | "cx" | "cy" | "d" | "decelerate" | "descent" | "diffuseConstant" | "divisor" | "dur" | "dx" | "dy" | "edgeMode" | "elevation" | "enableBackground" | "exponent" | "externalResourcesRequired" | "filterRes" | "filterUnits" | "focusable" | "format" | "from" | "fx" | "fy" | "g1" | "g2" | "glyphName" | "glyphOrientationHorizontal" | "glyphRef" | "gradientTransform" | "gradientUnits" | "horizAdvX" | "horizOriginX" | "in2" | "in" | "intercept" | "k1" | "k2" | "k3" | "k4" | "k" | "kernelMatrix" | "kernelUnitLength" | "kerning" | "keyPoints" | "keySplines" | "keyTimes" | "lengthAdjust" | "limitingConeAngle" | "markerHeight" | "markerUnits" | "markerWidth" | "maskContentUnits" | "maskUnits" | "numOctaves" | "operator" | "orient" | "orientation" | "origin" | "overlinePosition" | "overlineThickness" | "panose1" | "pathLength" | "patternContentUnits" | "patternTransform" | "patternUnits" | "points" | "pointsAtX" | "pointsAtY" | "pointsAtZ" | "preserveAlpha" | "preserveAspectRatio" | "primitiveUnits" | "r" | "radius" | "refX" | "refY" | "renderingIntent" | "repeatCount" | "repeatDur" | "requiredExtensions" | "requiredFeatures" | "restart" | "result" | "rx" | "ry" | "seed" | "slope" | "specularConstant" | "specularExponent" | "speed" | "spreadMethod" | "startOffset" | "stdDeviation" | "stemh" | "stemv" | "stitchTiles" | "strikethroughPosition" | "strikethroughThickness" | "surfaceScale" | "systemLanguage" | "tableValues" | "targetX" | "targetY" | "textLength" | "to" | "u1" | "u2" | "underlinePosition" | "underlineThickness" | "unicode" | "unicodeRange" | "unitsPerEm" | "vAlphabetic" | "version" | "vertAdvY" | "vertOriginX" | "vertOriginY" | "vHanging" | "vIdeographic" | "viewBox" | "viewTarget" | "vMathematical" | "widths" | "x1" | "x2" | "xChannelSelector" | "xHeight" | "xlinkActuate" | "xlinkArcrole" | "xlinkHref" | "xlinkRole" | "xlinkShow" | "xlinkTitle" | "xlinkType" | "xmlBase" | "xmlLang" | "xmlns" | "xmlnsXlink" | "xmlSpace" | "y1" | "y2" | "yChannelSelector" | "z" | "zoomAndPan" | "titleId"> & React.RefAttributes<SVGSVGElement>>;
32
+ baseUrl: string;
33
+ formatShare: ({ url, message }: SocialMediaShare) => {
34
+ title?: string | undefined;
35
+ url?: string | undefined;
36
+ };
37
+ })[];
38
+ export declare type SocialMediaSharingProps = BaseSocialShareProps & {
39
+ url: string;
40
+ message?: string;
41
+ hashtags?: string[];
42
+ mention?: string;
43
+ action?: (e: React.MouseEvent, target: string) => void;
44
+ label?: string;
45
+ iconStyles?: string;
46
+ };
47
+ export declare const BetterSocialMediaSharing: React.FC<SocialMediaSharingProps>;
@@ -0,0 +1,124 @@
1
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
2
+
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
4
+
5
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+
7
+ import { Box, GridBox, Text } from '@codecademy/gamut';
8
+ import { FacebookIcon, RedditIcon, TwitterIcon } from '@codecademy/gamut-icons';
9
+ import React from 'react';
10
+ import { SocialShareIconLink } from './SocialShareIconLink';
11
+ /*
12
+ The SocialMediaSharing component in gamut-labs has some issues.
13
+ It doesn't respect the hashtags input for Facebook.
14
+ LinkedIn sharing doesn't allow URL params, so sharing Codebytes is not possible.
15
+ Additionally, I wanted to add several other social media platforms.
16
+ For the sake of the hackathon, I just copy-pasted that component and modified it here,
17
+ but if we implement this for real we should update the actual component in gamut-labs.
18
+ */
19
+
20
+ export var createShareLink = function createShareLink(formatter, baseUri, payload) {
21
+ var params = formatter(payload);
22
+ var url = new URL(baseUri);
23
+ Object.keys(params).forEach(function (key) {
24
+ url.searchParams.append(key, params[key]);
25
+ });
26
+ return url.toString();
27
+ };
28
+ export var SOCIAL_SHARING_PLATFORMS = [{
29
+ id: 'facebook',
30
+ icon: FacebookIcon,
31
+ baseUrl: 'https://www.facebook.com/dialog/share?app_id=212500508799908',
32
+ formatShare: function formatShare(_ref) {
33
+ var url = _ref.url,
34
+ message = _ref.message,
35
+ hashtags = _ref.hashtags;
36
+ return _objectSpread(_objectSpread(_objectSpread({}, url && {
37
+ href: url
38
+ }), message && {
39
+ quote: message
40
+ }), {}, {
41
+ hashtag: hashtags ? "#".concat(hashtags[0]) : '#codecademy'
42
+ });
43
+ }
44
+ }, {
45
+ id: 'twitter',
46
+ icon: TwitterIcon,
47
+ baseUrl: 'https://twitter.com/intent/tweet?',
48
+ formatShare: function formatShare(_ref2) {
49
+ var url = _ref2.url,
50
+ message = _ref2.message,
51
+ hashtags = _ref2.hashtags,
52
+ mention = _ref2.mention;
53
+ return _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, url && {
54
+ url: url
55
+ }), message && {
56
+ text: message
57
+ }), hashtags && {
58
+ hashtags: hashtags.join(',')
59
+ }), mention && {
60
+ via: mention
61
+ });
62
+ }
63
+ }, {
64
+ id: 'reddit',
65
+ icon: RedditIcon,
66
+ baseUrl: 'https://reddit.com/submit',
67
+ formatShare: function formatShare(_ref3) {
68
+ var url = _ref3.url,
69
+ message = _ref3.message;
70
+ return _objectSpread(_objectSpread({}, url && {
71
+ url: url
72
+ }), message && {
73
+ title: message
74
+ });
75
+ }
76
+ }];
77
+ export var BetterSocialMediaSharing = function BetterSocialMediaSharing(_ref4) {
78
+ var url = _ref4.url,
79
+ message = _ref4.message,
80
+ hashtags = _ref4.hashtags,
81
+ mention = _ref4.mention,
82
+ action = _ref4.action,
83
+ label = _ref4.label,
84
+ sectionId = _ref4.sectionId,
85
+ _ref4$size = _ref4.size,
86
+ size = _ref4$size === void 0 ? 'normal' : _ref4$size,
87
+ iconStyles = _ref4.iconStyles;
88
+ return /*#__PURE__*/React.createElement(Box, {
89
+ display: "inline-flex",
90
+ flexDirection: "column",
91
+ alignItems: "center"
92
+ }, label && /*#__PURE__*/React.createElement(Text, {
93
+ fontSize: size === 'small' ? 14 : 16,
94
+ textColor: "text",
95
+ mb: 16,
96
+ "data-testid": "social-sharing-label"
97
+ }, label), /*#__PURE__*/React.createElement(GridBox, {
98
+ gridAutoColumns: "max-content",
99
+ gridAutoFlow: "column",
100
+ gap: 16,
101
+ className: iconStyles
102
+ }, SOCIAL_SHARING_PLATFORMS.map(function (_ref5) {
103
+ var id = _ref5.id,
104
+ icon = _ref5.icon,
105
+ formatShare = _ref5.formatShare,
106
+ baseUrl = _ref5.baseUrl;
107
+ return /*#__PURE__*/React.createElement(SocialShareIconLink, {
108
+ key: id,
109
+ id: id,
110
+ sectionId: sectionId,
111
+ href: createShareLink(formatShare, baseUrl, {
112
+ url: url,
113
+ message: message,
114
+ hashtags: hashtags,
115
+ mention: mention
116
+ }),
117
+ icon: icon,
118
+ size: size,
119
+ onClick: function onClick(e) {
120
+ return action === null || action === void 0 ? void 0 : action(e, "".concat(id, "_share"));
121
+ }
122
+ });
123
+ })));
124
+ };
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { LanguageOption } from '../consts';
3
+ export declare type EmbedCodebyteModalProps = {
4
+ isModalOpen: boolean;
5
+ setIsModalOpen: (open: boolean) => void;
6
+ language: LanguageOption;
7
+ text: string;
8
+ };
9
+ export declare const EmbedCodebyteModal: React.FC<EmbedCodebyteModalProps>;
@@ -0,0 +1,177 @@
1
+ import _styled from "@emotion/styled/base";
2
+
3
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
+
5
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
6
+
7
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
8
+
9
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
10
+
11
+ function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
12
+
13
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
14
+
15
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
16
+
17
+ import { Box, Modal, SelectDropdown, Text, TextButton, ToolTip } from '@codecademy/gamut';
18
+ import { CopyIcon } from '@codecademy/gamut-icons';
19
+ import React, { useState } from 'react';
20
+ import { getCodebyteUrl } from '../helpers';
21
+
22
+ var CopyIconStyled = /*#__PURE__*/_styled(CopyIcon, {
23
+ target: "e1ytdktz0",
24
+ label: "CopyIconStyled"
25
+ })(process.env.NODE_ENV === "production" ? {
26
+ name: "u7ytkp",
27
+ styles: "margin-right:0.5rem"
28
+ } : {
29
+ name: "u7ytkp",
30
+ styles: "margin-right:0.5rem",
31
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9FbWJlZE1vZGFsL2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzQnVDIiwiZmlsZSI6Ii4uLy4uL3NyYy9FbWJlZE1vZGFsL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJveCxcbiAgTW9kYWwsXG4gIFNlbGVjdERyb3Bkb3duLFxuICBUZXh0LFxuICBUZXh0QnV0dG9uLFxuICBUb29sVGlwLFxufSBmcm9tICdAY29kZWNhZGVteS9nYW11dCc7XG5pbXBvcnQgeyBDb3B5SWNvbiB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LWljb25zJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgTGFuZ3VhZ2VPcHRpb24gfSBmcm9tICcuLi9jb25zdHMnO1xuaW1wb3J0IHsgZ2V0Q29kZWJ5dGVVcmwgfSBmcm9tICcuLi9oZWxwZXJzJztcblxuZXhwb3J0IHR5cGUgRW1iZWRDb2RlYnl0ZU1vZGFsUHJvcHMgPSB7XG4gIGlzTW9kYWxPcGVuOiBib29sZWFuO1xuICBzZXRJc01vZGFsT3BlbjogKG9wZW46IGJvb2xlYW4pID0+IHZvaWQ7XG4gIGxhbmd1YWdlOiBMYW5ndWFnZU9wdGlvbjtcbiAgdGV4dDogc3RyaW5nO1xufTtcblxuY29uc3QgQ29weUljb25TdHlsZWQgPSBzdHlsZWQoQ29weUljb24pYFxuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbmA7XG5cbi8vIFRvRG86IHdvcmsgc29tZSBUeXBlc2NyaXB0IG1hZ2ljXG5jb25zdCBFTUJFRF9PUFRJT05TID0gW1xuICAnSUZyYW1lJyxcbiAgJ1JlYWN0JyxcbiAgJ0Rpc2NvdXJzZScsXG4gICdDb2RlY2FkZW15IERvY3MnLFxuICAnQ29kZWNhZGVteSBBcnRpY2xlcycsXG5dO1xuXG5mdW5jdGlvbiBnZXRJbnN0cnVjdGlvbnNGb3JEZXN0aW5hdGlvbihkZXN0aW5hdGlvbjogc3RyaW5nKTogUmVhY3QuUmVhY3ROb2RlIHtcbiAgc3dpdGNoIChkZXN0aW5hdGlvbikge1xuICAgIGNhc2UgJ0lGcmFtZSc6XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8VGV4dCBtYj17MTZ9IGRpc3BsYXk9XCJibG9ja1wiIHA9ezh9PlxuICAgICAgICAgIElGcmFtZXMgYXJlIGEgcG9ydGFibGUgd2F5IHRvIGVtYmVkIG9uZSB3ZWJwYWdlIGluc2lkZSBhbm90aGVyLiBUaGlzXG4gICAgICAgICAgbWV0aG9kIHdvcmtzIHdpdGggcmF3IEhUTUwuIEhvd2V2ZXIsIGl0IG1heSBiZSBkaXNhYmxlZCBvbiBzb21lIHNpdGVzLlxuICAgICAgICA8L1RleHQ+XG4gICAgICApO1xuICAgIGNhc2UgJ1JlYWN0JzpcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxUZXh0IG1iPXsxNn0gZGlzcGxheT1cImJsb2NrXCIgcD17OH0+XG4gICAgICAgICAgQWRkIHRvIGEgcGFnZSB0aGF0IGFscmVhZHkgdXNlcyBSZWFjdC4gQmUgc3VyZSB0byBhbHNvIGluc3RhbGwgYW5kXG4gICAgICAgICAgaW1wb3J0IHRoZSBAY29kZWNhZGVteS9jb2RlYnl0ZXMgcGFja2FnZSAoZS5nLiB5YXJuIGFkZFxuICAgICAgICAgIEBjb2RlY2FkZW15L2NvZGVieXRlcykuXG4gICAgICAgIDwvVGV4dD5cbiAgICAgICk7XG4gICAgY2FzZSAnRGlzY291cnNlJzpcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxUZXh0IG1iPXsxNn0gZGlzcGxheT1cImJsb2NrXCIgcD17OH0+XG4gICAgICAgICAgV29ya3Mgb24gYW55IERpc2NvdXJzZSBmb3J1bSB0aGF0IGhhcyB0aGV7JyAnfVxuICAgICAgICAgIDxhIGhyZWY9XCJodHRwczovL2dpdGh1Yi5jb20vY29kZWNhZGVteS9kaXNjb3Vyc2UtY29kZWJ5dGVzLXBsdWdpblwiPlxuICAgICAgICAgICAgQ29kZWJ5dGVzIHBsdWdpblxuICAgICAgICAgIDwvYT57JyAnfVxuICAgICAgICAgIGluc3RhbGxlZCwgc3VjaCBhc3snICd9XG4gICAgICAgICAgPGEgaHJlZj1cImRpc2N1c3MuY29kZWNhZGVteS5jb21cIj5kaXNjdXNzLmNvZGVjYWRlbXkuY29tPC9hPlxuICAgICAgICA8L1RleHQ+XG4gICAgICApO1xuICAgIGNhc2UgJ0NvZGVjYWRlbXkgRG9jcyc6XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8VGV4dCBtYj17MTZ9IGRpc3BsYXk9XCJibG9ja1wiIHA9ezh9PlxuICAgICAgICAgIDxhIGhyZWY9XCJodHRwczovL3d3dy5jb2RlY2FkZW15LmNvbS9yZXNvdXJjZXMvZG9jc1wiPlxuICAgICAgICAgICAgQ29kZWNhZGVteSBEb2NzXG4gICAgICAgICAgPC9hPnsnICd9XG4gICAgICAgICAgYXJlIGEgY29tbXVuaXR5LWRyaXZlbiBjb2xsZWN0aW9uIG9mIGNvZGUgZG9jdW1lbnRhdGlvbiBmb3IgcG9wdWxhclxuICAgICAgICAgIHByb2dyYW1taW5nIGxhbmd1YWdlcyBhbmQgZnJhbWV3b3Jrcy4gQW55b25lIGlzIHdlbGNvbWUgdG8gY29udHJpYnV0ZSFcbiAgICAgICAgICBIZWFkIG9uIG92ZXIgdG8gb3VyeycgJ31cbiAgICAgICAgICA8YSBocmVmPVwiaHR0cHM6Ly9naXRodWIuY29tL0NvZGVjYWRlbXkvZG9jcy9ibG9iL21haW4vLmdpdGh1Yi9DT05UUklCVVRJTkcubWRcIj5cbiAgICAgICAgICAgIENvbnRyaWJ1dGlvbiBHdWlkZVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgICAuXG4gICAgICAgIDwvVGV4dD5cbiAgICAgICk7XG4gICAgY2FzZSAnQ29kZWNhZGVteSBBcnRpY2xlcyc6XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8VGV4dCBtYj17MTZ9IGRpc3BsYXk9XCJibG9ja1wiIHA9ezh9PlxuICAgICAgICAgIENvbWluZyBzb29uISBVc2VycyB3aWxsIGJlIGFibGUgdG8gd3JpdGUgYW5kIHB1Ymxpc2ggYXJ0aWNsZXMgb25cbiAgICAgICAgICBDb2RlY2FkZW15LiBJbiB0aGUgbWVhbnRpbWUsIHRoaXMgb3B0aW9uIGlzIGZvciBDdXJyaWN1bHVtIERldmVsb3BlcnMuXG4gICAgICAgIDwvVGV4dD5cbiAgICAgICk7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxUZXh0IG1iPXsxNn0gZGlzcGxheT1cImJsb2NrXCIgcD17OH0+XG4gICAgICAgICAgQ2hvb3NlIGZyb20gdGhlIGRyb3Bkb3duXG4gICAgICAgIDwvVGV4dD5cbiAgICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IEVtYmVkQ29kZWJ5dGVNb2RhbDogUmVhY3QuRkM8RW1iZWRDb2RlYnl0ZU1vZGFsUHJvcHM+ID0gKHtcbiAgaXNNb2RhbE9wZW4sXG4gIHNldElzTW9kYWxPcGVuLFxuICBsYW5ndWFnZSxcbiAgdGV4dCxcbn0pID0+IHtcbiAgY29uc3QgW2VtYmVkRGVzdGluYXRpb24sIHNldEVtYmVkRGVzdGluYXRpb25dID0gdXNlU3RhdGUoJycpO1xuICBjb25zdCBbaXNFbWJlZENvcGllZCwgc2V0SXNFbWJlZENvcGllZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IG9uQ29weUVtYmVkQ2xpY2sgPSAoKSA9PiB7XG4gICAgbmF2aWdhdG9yLmNsaXBib2FyZFxuICAgICAgLndyaXRlVGV4dChnZXRFbWJlZFN5bnRheEZvckRlc3RpbmF0aW9uKGVtYmVkRGVzdGluYXRpb24pKVxuICAgICAgLnRoZW4oKCkgPT4gc2V0SXNFbWJlZENvcGllZCh0cnVlKSlcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAuY2F0Y2goKCkgPT4gY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGNvcHkgZW1iZWQnKSk7XG4gIH07XG5cbiAgY29uc3QgZ2V0RW1iZWRTeW50YXhGb3JEZXN0aW5hdGlvbiA9IChkZXN0aW5hdGlvbjogc3RyaW5nKSA9PiB7XG4gICAgc3dpdGNoIChkZXN0aW5hdGlvbikge1xuICAgICAgY2FzZSAnSUZyYW1lJzpcbiAgICAgICAgcmV0dXJuIGA8aWZyYW1lIHRpdGxlPVwiY29kZWJ5dGVcIiBzcmM9XCIke2dldENvZGVieXRlVXJsKFxuICAgICAgICAgIGxhbmd1YWdlLFxuICAgICAgICAgIHRleHRcbiAgICAgICAgKX1cIi8+YDtcbiAgICAgIGNhc2UgJ1JlYWN0JzpcbiAgICAgICAgcmV0dXJuIGA8Q29kZUJ5dGVFZGl0b3JcbiAgICAgICAgdGV4dD17XFxgJHt0ZXh0fVxcYH1cbiAgICAgICAgbGFuZ3VhZ2U9XCIke2xhbmd1YWdlfVwiXG4gICAgICAgIHNuaXBwZXRzQmFzZVVybD1cInByb3BlbGxlci5jYy1sZS1jZi5jb21cIlxuICAgICAgICBtYXhXaWR0aD1cIjEwMCVcIlxuICAgICAgICBoZWlnaHQ9XCI1MHZoXCJcbiAgICAgICAgd2lkdGg9XCI1MHZ3XCJcbiAgICAgIC8+YDtcbiAgICAgIGNhc2UgJ0Rpc2NvdXJzZSc6XG4gICAgICAgIHJldHVybiBgW2NvZGVieXRlIGxhbmd1YWdlPSR7bGFuZ3VhZ2V9XVxcbiR7dGV4dH1cXG5bL2NvZGVieXRlXVxcbmA7XG4gICAgICBjYXNlICdDb2RlY2FkZW15IERvY3MnOlxuICAgICAgICByZXR1cm4gYFxcYFxcYFxcYGNvZGVieXRlLyR7bGFuZ3VhZ2V9XFxuJHt0ZXh0fVxcblxcYFxcYFxcYGA7XG4gICAgICBjYXNlICdDb2RlY2FkZW15IEFydGljbGVzJzpcbiAgICAgICAgcmV0dXJuIGBcXGBcXGBcXGBjb2RlYnl0ZS8ke2xhbmd1YWdlfVxcbiR7dGV4dH1cXG5cXGBcXGBcXGBgO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxNb2RhbFxuICAgICAgaXNPcGVuPXtpc01vZGFsT3Blbn1cbiAgICAgIG9uUmVxdWVzdENsb3NlPXsoKSA9PiBzZXRJc01vZGFsT3BlbihmYWxzZSl9XG4gICAgICB0aXRsZT1cIkVtYmVkIHlvdXIgQ29kZWJ5dGUgb24geW91ciBvd24gcGFnZVwiXG4gICAgPlxuICAgICAgPEJveCBkaXNwbGF5PVwiYmxvY2tcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCIgcD17OH0+XG4gICAgICAgIDxTZWxlY3REcm9wZG93blxuICAgICAgICAgIG9wdGlvbnM9e0VNQkVEX09QVElPTlN9XG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJDaG9vc2UgYSBkZXN0aW5hdGlvblwiXG4gICAgICAgICAgb25DaGFuZ2U9eyhvcHRpb24pID0+IHtcbiAgICAgICAgICAgIGlmICghb3B0aW9uKSByZXR1cm47XG4gICAgICAgICAgICBzZXRFbWJlZERlc3RpbmF0aW9uKG9wdGlvbi52YWx1ZSk7XG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICAge2dldEluc3RydWN0aW9uc0ZvckRlc3RpbmF0aW9uKGVtYmVkRGVzdGluYXRpb24pfVxuICAgICAgICB7ZW1iZWREZXN0aW5hdGlvbiAmJiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgICB2YWx1ZT17Z2V0RW1iZWRTeW50YXhGb3JEZXN0aW5hdGlvbihlbWJlZERlc3RpbmF0aW9uKX1cbiAgICAgICAgICAgICAgY29scz17NjB9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFRvb2xUaXBcbiAgICAgICAgICAgICAgaWQ9XCJlbWJlZC1jb3BpZWRcIlxuICAgICAgICAgICAgICBhbGlnbm1lbnQ9XCJ0b3AtcmlnaHRcIlxuICAgICAgICAgICAgICBtb2RlPVwiZGFya1wiXG4gICAgICAgICAgICAgIHRhcmdldD17XG4gICAgICAgICAgICAgICAgPFRleHRCdXR0b25cbiAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgICAgb25DbGljaz17b25Db3B5RW1iZWRDbGlja31cbiAgICAgICAgICAgICAgICAgIG9uQmx1cj17KCkgPT4gc2V0SXNFbWJlZENvcGllZChmYWxzZSl9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPENvcHlJY29uU3R5bGVkIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIC8+IENvcHkgRW1iZWRcbiAgICAgICAgICAgICAgICA8L1RleHRCdXR0b24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2lzRW1iZWRDb3BpZWQgPyAoXG4gICAgICAgICAgICAgICAgPHNwYW4gcm9sZT1cImFsZXJ0XCI+Q29waWVkITwvc3Bhbj5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICA8c3BhbiByb2xlPVwiYWxlcnRcIj5DbGljayB0byBjb3B5PC9zcGFuPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9Ub29sVGlwPlxuICAgICAgICAgIDwvPlxuICAgICAgICApfVxuICAgICAgPC9Cb3g+XG4gICAgPC9Nb2RhbD5cbiAgKTtcbn07XG4iXX0= */",
32
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
33
+ }); // ToDo: work some Typescript magic
34
+
35
+
36
+ var EMBED_OPTIONS = ['IFrame', 'React', 'Discourse', 'Codecademy Docs', 'Codecademy Articles'];
37
+
38
+ function getInstructionsForDestination(destination) {
39
+ switch (destination) {
40
+ case 'IFrame':
41
+ return /*#__PURE__*/React.createElement(Text, {
42
+ mb: 16,
43
+ display: "block",
44
+ p: 8
45
+ }, "IFrames are a portable way to embed one webpage inside another. This method works with raw HTML. However, it may be disabled on some sites.");
46
+
47
+ case 'React':
48
+ return /*#__PURE__*/React.createElement(Text, {
49
+ mb: 16,
50
+ display: "block",
51
+ p: 8
52
+ }, "Add to a page that already uses React. Be sure to also install and import the @codecademy/codebytes package (e.g. yarn add @codecademy/codebytes).");
53
+
54
+ case 'Discourse':
55
+ return /*#__PURE__*/React.createElement(Text, {
56
+ mb: 16,
57
+ display: "block",
58
+ p: 8
59
+ }, "Works on any Discourse forum that has the", ' ', /*#__PURE__*/React.createElement("a", {
60
+ href: "https://github.com/codecademy/discourse-codebytes-plugin"
61
+ }, "Codebytes plugin"), ' ', "installed, such as", ' ', /*#__PURE__*/React.createElement("a", {
62
+ href: "discuss.codecademy.com"
63
+ }, "discuss.codecademy.com"));
64
+
65
+ case 'Codecademy Docs':
66
+ return /*#__PURE__*/React.createElement(Text, {
67
+ mb: 16,
68
+ display: "block",
69
+ p: 8
70
+ }, /*#__PURE__*/React.createElement("a", {
71
+ href: "https://www.codecademy.com/resources/docs"
72
+ }, "Codecademy Docs"), ' ', "are a community-driven collection of code documentation for popular programming languages and frameworks. Anyone is welcome to contribute! Head on over to our", ' ', /*#__PURE__*/React.createElement("a", {
73
+ href: "https://github.com/Codecademy/docs/blob/main/.github/CONTRIBUTING.md"
74
+ }, "Contribution Guide"), ".");
75
+
76
+ case 'Codecademy Articles':
77
+ return /*#__PURE__*/React.createElement(Text, {
78
+ mb: 16,
79
+ display: "block",
80
+ p: 8
81
+ }, "Coming soon! Users will be able to write and publish articles on Codecademy. In the meantime, this option is for Curriculum Developers.");
82
+
83
+ default:
84
+ return /*#__PURE__*/React.createElement(Text, {
85
+ mb: 16,
86
+ display: "block",
87
+ p: 8
88
+ }, "Choose from the dropdown");
89
+ }
90
+ }
91
+
92
+ export var EmbedCodebyteModal = function EmbedCodebyteModal(_ref) {
93
+ var isModalOpen = _ref.isModalOpen,
94
+ setIsModalOpen = _ref.setIsModalOpen,
95
+ language = _ref.language,
96
+ text = _ref.text;
97
+
98
+ var _useState = useState(''),
99
+ _useState2 = _slicedToArray(_useState, 2),
100
+ embedDestination = _useState2[0],
101
+ setEmbedDestination = _useState2[1];
102
+
103
+ var _useState3 = useState(false),
104
+ _useState4 = _slicedToArray(_useState3, 2),
105
+ isEmbedCopied = _useState4[0],
106
+ setIsEmbedCopied = _useState4[1];
107
+
108
+ var onCopyEmbedClick = function onCopyEmbedClick() {
109
+ navigator.clipboard.writeText(getEmbedSyntaxForDestination(embedDestination)).then(function () {
110
+ return setIsEmbedCopied(true);
111
+ }) // eslint-disable-next-line no-console
112
+ ["catch"](function () {
113
+ return console.error('Failed to copy embed');
114
+ });
115
+ };
116
+
117
+ var getEmbedSyntaxForDestination = function getEmbedSyntaxForDestination(destination) {
118
+ switch (destination) {
119
+ case 'IFrame':
120
+ return "<iframe title=\"codebyte\" src=\"".concat(getCodebyteUrl(language, text), "\"/>");
121
+
122
+ case 'React':
123
+ return "<CodeByteEditor\n text={`".concat(text, "`}\n language=\"").concat(language, "\"\n snippetsBaseUrl=\"propeller.cc-le-cf.com\"\n maxWidth=\"100%\"\n height=\"50vh\"\n width=\"50vw\"\n />");
124
+
125
+ case 'Discourse':
126
+ return "[codebyte language=".concat(language, "]\n").concat(text, "\n[/codebyte]\n");
127
+
128
+ case 'Codecademy Docs':
129
+ return "```codebyte/".concat(language, "\n").concat(text, "\n```");
130
+
131
+ case 'Codecademy Articles':
132
+ return "```codebyte/".concat(language, "\n").concat(text, "\n```");
133
+
134
+ default:
135
+ return '';
136
+ }
137
+ };
138
+
139
+ return /*#__PURE__*/React.createElement(Modal, {
140
+ isOpen: isModalOpen,
141
+ onRequestClose: function onRequestClose() {
142
+ return setIsModalOpen(false);
143
+ },
144
+ title: "Embed your Codebyte on your own page"
145
+ }, /*#__PURE__*/React.createElement(Box, {
146
+ display: "block",
147
+ alignItems: "center",
148
+ p: 8
149
+ }, /*#__PURE__*/React.createElement(SelectDropdown, {
150
+ options: EMBED_OPTIONS,
151
+ placeholder: "Choose a destination",
152
+ onChange: function onChange(option) {
153
+ if (!option) return;
154
+ setEmbedDestination(option.value);
155
+ }
156
+ }), getInstructionsForDestination(embedDestination), embedDestination && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("textarea", {
157
+ value: getEmbedSyntaxForDestination(embedDestination),
158
+ cols: 60
159
+ }), /*#__PURE__*/React.createElement(ToolTip, {
160
+ id: "embed-copied",
161
+ alignment: "top-right",
162
+ mode: "dark",
163
+ target: /*#__PURE__*/React.createElement(TextButton, {
164
+ variant: "secondary",
165
+ onClick: onCopyEmbedClick,
166
+ onBlur: function onBlur() {
167
+ return setIsEmbedCopied(false);
168
+ }
169
+ }, /*#__PURE__*/React.createElement(CopyIconStyled, {
170
+ "aria-hidden": "true"
171
+ }), " Copy Embed")
172
+ }, isEmbedCopied ? /*#__PURE__*/React.createElement("span", {
173
+ role: "alert"
174
+ }, "Copied!") : /*#__PURE__*/React.createElement("span", {
175
+ role: "alert"
176
+ }, "Click to copy")))));
177
+ };
package/dist/editor.js CHANGED
@@ -19,25 +19,27 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
19
19
 
20
20
  function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
21
21
 
22
- import { FillButton, FlexBox, Spinner, TextButton, ToolTip } from '@codecademy/gamut';
23
- import { CopyIcon } from '@codecademy/gamut-icons';
22
+ import { Box, FillButton, FlexBox, Modal, Spinner, TextButton, ToolTip } from '@codecademy/gamut';
23
+ import { CopyIcon, EditorIcon, ShareIcon } from '@codecademy/gamut-icons';
24
24
  import React, { useState } from 'react';
25
25
  import { postSnippet } from './api';
26
+ import { BetterSocialMediaSharing } from './BetterSocialSharing/betterSocialSharing';
26
27
  import { Drawers } from './drawers';
27
- import { trackClick } from './helpers';
28
+ import { EmbedCodebyteModal } from './EmbedModal';
29
+ import { getCodebyteUrl, trackClick } from './helpers';
28
30
  import { SimpleMonacoEditor } from './MonacoEditor';
29
31
 
30
32
  var Output = _styled("pre", {
31
- target: "e1lzxy8e1",
33
+ target: "e1lzxy8e3",
32
34
  label: "Output"
33
35
  })("width:100%;height:100%;margin:0;padding:0 1rem;font-family:Monaco;font-size:0.875rem;overflow:auto;", function (_ref) {
34
36
  var hasError = _ref.hasError,
35
37
  theme = _ref.theme;
36
38
  return "\n color: ".concat(hasError ? theme.colors.orange : theme.colors.text, ";\n background-color: ").concat(theme.colors['navy-900'], ";\n");
37
- }, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lZGl0b3IudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1CZ0QiLCJmaWxlIjoiLi4vc3JjL2VkaXRvci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBGaWxsQnV0dG9uLFxuICBGbGV4Qm94LFxuICBTcGlubmVyLFxuICBUZXh0QnV0dG9uLFxuICBUb29sVGlwLFxufSBmcm9tICdAY29kZWNhZGVteS9nYW11dCc7XG5pbXBvcnQgeyBDb3B5SWNvbiB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LWljb25zJztcbmltcG9ydCB7IFVzZXJDbGlja0RhdGEgfSBmcm9tICdAY29kZWNhZGVteS90cmFja2luZyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IHBvc3RTbmlwcGV0IH0gZnJvbSAnLi9hcGknO1xuaW1wb3J0IHR5cGUgeyBMYW5ndWFnZU9wdGlvbiB9IGZyb20gJy4vY29uc3RzJztcbmltcG9ydCB7IERyYXdlcnMgfSBmcm9tICcuL2RyYXdlcnMnO1xuaW1wb3J0IHsgdHJhY2tDbGljayB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyBTaW1wbGVNb25hY29FZGl0b3IgfSBmcm9tICcuL01vbmFjb0VkaXRvcic7XG5pbXBvcnQgeyBDb2RlYnl0ZXNDaGFuZ2VIYW5kbGVyIH0gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IE91dHB1dCA9IHN0eWxlZC5wcmU8eyBoYXNFcnJvcjogYm9vbGVhbiB9PmBcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGZvbnQtZmFtaWx5OiBNb25hY287XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIG92ZXJmbG93OiBhdXRvO1xuICAkeyh7IGhhc0Vycm9yLCB0aGVtZSB9KSA9PiBgXG4gIGNvbG9yOiAke2hhc0Vycm9yID8gdGhlbWUuY29sb3JzLm9yYW5nZSA6IHRoZW1lLmNvbG9ycy50ZXh0fTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHt0aGVtZS5jb2xvcnNbJ25hdnktOTAwJ119O1xuYH1cbmA7XG5cbmNvbnN0IENvcHlJY29uU3R5bGVkID0gc3R5bGVkKENvcHlJY29uKWBcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG5gO1xuXG5jb25zdCBET0NLRVJfU0lHVEVSTSA9IDE0MztcblxudHlwZSBFZGl0b3JQcm9wcyA9IHtcbiAgaGlkZUNvcHlCdXR0b246IGJvb2xlYW47XG4gIGxhbmd1YWdlOiBMYW5ndWFnZU9wdGlvbjtcbiAgdGV4dDogc3RyaW5nO1xuICBvbkNoYW5nZTogKHRleHQ6IHN0cmluZykgPT4gdm9pZDtcbiAgc25pcHBldHNCYXNlVXJsPzogc3RyaW5nO1xuICBvbkNvcHk/OiBDb2RlYnl0ZXNDaGFuZ2VIYW5kbGVyO1xuICB0cmFja2luZ0RhdGE/OiBPbWl0PFVzZXJDbGlja0RhdGEsICd0YXJnZXQnPjtcbn07XG5cbmV4cG9ydCBjb25zdCBFZGl0b3I6IFJlYWN0LkZDPEVkaXRvclByb3BzPiA9ICh7XG4gIGxhbmd1YWdlLFxuICB0ZXh0LFxuICBoaWRlQ29weUJ1dHRvbixcbiAgb25DaGFuZ2UsXG4gIG9uQ29weSxcbiAgc25pcHBldHNCYXNlVXJsLFxuICB0cmFja2luZ0RhdGEsXG59KSA9PiB7XG4gIGNvbnN0IFtvdXRwdXQsIHNldE91dHB1dF0gPSB1c2VTdGF0ZSgnJyk7XG4gIGNvbnN0IFtzdGF0dXMsIHNldFN0YXR1c10gPSB1c2VTdGF0ZTwncmVhZHknIHwgJ3dhaXRpbmcnIHwgJ2Vycm9yJz4oJ3JlYWR5Jyk7XG4gIGNvbnN0IFtpc0NvZGVCeXRlQ29waWVkLCBzZXRJc0NvZGVCeXRlQ29waWVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3Qgb25Db3B5Q2xpY2sgPSAoKSA9PiB7XG4gICAgaWYgKCFpc0NvZGVCeXRlQ29waWVkKSB7XG4gICAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkXG4gICAgICAgIC53cml0ZVRleHQodGV4dClcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgLmNhdGNoKCgpID0+IGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBjb3B5JykpO1xuICAgICAgc2V0SXNDb2RlQnl0ZUNvcGllZCh0cnVlKTtcbiAgICAgIG9uQ29weT8uKHRleHQsIGxhbmd1YWdlKTtcbiAgICAgIHRyYWNrQ2xpY2soJ2NvcHknLCB0cmFja2luZ0RhdGEpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBzZXRFcnJvclN0YXR1c0FuZE91dHB1dCA9IChtZXNzYWdlOiBzdHJpbmcpID0+IHtcbiAgICBzZXRPdXRwdXQobWVzc2FnZSk7XG4gICAgc2V0U3RhdHVzKCdlcnJvcicpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVN1Ym1pdCA9IGFzeW5jICgpID0+IHtcbiAgICBpZiAodGV4dC50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBsYW5ndWFnZSxcbiAgICAgIGNvZGU6IHRleHQsXG4gICAgfTtcbiAgICBzZXRTdGF0dXMoJ3dhaXRpbmcnKTtcbiAgICBzZXRPdXRwdXQoJycpO1xuICAgIHRyYWNrQ2xpY2soJ3J1bicsIHRyYWNraW5nRGF0YSk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBwb3N0U25pcHBldChkYXRhLCBzbmlwcGV0c0Jhc2VVcmwpO1xuICAgICAgaWYgKHJlc3BvbnNlLnN0ZGVyci5sZW5ndGggPiAwKSB7XG4gICAgICAgIHNldEVycm9yU3RhdHVzQW5kT3V0cHV0KHJlc3BvbnNlLnN0ZGVycik7XG4gICAgICB9IGVsc2UgaWYgKHJlc3BvbnNlLmV4aXRfY29kZSA9PT0gRE9DS0VSX1NJR1RFUk0pIHtcbiAgICAgICAgc2V0RXJyb3JTdGF0dXNBbmRPdXRwdXQoXG4gICAgICAgICAgJ1lvdXIgY29kZSB0b29rIHRvbyBsb25nIHRvIHJldHVybiBhIHJlc3VsdC4gRG91YmxlIGNoZWNrIHlvdXIgY29kZSBmb3IgYW55IGlzc3VlcyBhbmQgdHJ5IGFnYWluISdcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSBpZiAocmVzcG9uc2UuZXhpdF9jb2RlICE9PSAwKSB7XG4gICAgICAgIHNldEVycm9yU3RhdHVzQW5kT3V0cHV0KCdBbiB1bmtub3duIGVycm9yIG9jY3VyZWQuJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRPdXRwdXQocmVzcG9uc2Uuc3Rkb3V0KTtcbiAgICAgICAgc2V0U3RhdHVzKCdyZWFkeScpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBzZXRFcnJvclN0YXR1c0FuZE91dHB1dCgnRXJyb3I6ICcgKyBlcnJvcik7XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxEcmF3ZXJzXG4gICAgICAgIGxlZnRDaGlsZD17XG4gICAgICAgICAgPFNpbXBsZU1vbmFjb0VkaXRvclxuICAgICAgICAgICAgdmFsdWU9e3RleHR9XG4gICAgICAgICAgICBsYW5ndWFnZT17bGFuZ3VhZ2V9XG4gICAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgICByaWdodENoaWxkPXtcbiAgICAgICAgICA8T3V0cHV0IGhhc0Vycm9yPXtzdGF0dXMgPT09ICdlcnJvcid9IGFyaWEtbGl2ZT1cInBvbGl0ZVwiPlxuICAgICAgICAgICAge291dHB1dH1cbiAgICAgICAgICA8L091dHB1dD5cbiAgICAgICAgfVxuICAgICAgLz5cbiAgICAgIDxGbGV4Qm94XG4gICAgICAgIGp1c3RpZnlDb250ZW50PXtoaWRlQ29weUJ1dHRvbiA/ICdmbGV4LWVuZCcgOiAnc3BhY2UtYmV0d2Vlbid9XG4gICAgICAgIHBsPXs4fVxuICAgICAgPlxuICAgICAgICB7IWhpZGVDb3B5QnV0dG9uID8gKFxuICAgICAgICAgIDxUb29sVGlwXG4gICAgICAgICAgICBpZD1cImNvZGVieXRlLWNvcGllZFwiXG4gICAgICAgICAgICBhbGlnbm1lbnQ9XCJ0b3AtcmlnaHRcIlxuICAgICAgICAgICAgbW9kZT1cImRhcmtcIlxuICAgICAgICAgICAgdGFyZ2V0PXtcbiAgICAgICAgICAgICAgPFRleHRCdXR0b25cbiAgICAgICAgICAgICAgICB2YXJpYW50PVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvbkNvcHlDbGlja31cbiAgICAgICAgICAgICAgICBvbkJsdXI9eygpID0+IHNldElzQ29kZUJ5dGVDb3BpZWQoZmFsc2UpfVxuICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiY29weS1jb2RlYnl0ZS1idG5cIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPENvcHlJY29uU3R5bGVkIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIC8+IENvcHkgQ29kZWJ5dGVcbiAgICAgICAgICAgICAgPC9UZXh0QnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtpc0NvZGVCeXRlQ29waWVkID8gKFxuICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRlc3RpZD1cImNvcHktY29uZmlybWF0aW9uLXRvb2x0aXBcIiByb2xlPVwiYWxlcnRcIj5cbiAgICAgICAgICAgICAgICBDb3BpZWQhXG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxzcGFuIGRhdGEtdGVzdGlkPVwiY29weS1wcm9tcHQtdG9vbHRpcFwiPlxuICAgICAgICAgICAgICAgIENvcHkgdG8geW91ciBjbGlwYm9hcmRcbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1Rvb2xUaXA+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgICA8RmlsbEJ1dHRvbiBvbkNsaWNrPXtoYW5kbGVTdWJtaXR9PlxuICAgICAgICAgIHtzdGF0dXMgPT09ICd3YWl0aW5nJyA/IDxTcGlubmVyIC8+IDogJ1J1bid9XG4gICAgICAgIDwvRmlsbEJ1dHRvbj5cbiAgICAgIDwvRmxleEJveD5cbiAgICA8Lz5cbiAgKTtcbn07XG4iXX0= */"));
39
+ }, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lZGl0b3IudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVCZ0QiLCJmaWxlIjoiLi4vc3JjL2VkaXRvci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCb3gsXG4gIEZpbGxCdXR0b24sXG4gIEZsZXhCb3gsXG4gIE1vZGFsLFxuICBTcGlubmVyLFxuICBUZXh0QnV0dG9uLFxuICBUb29sVGlwLFxufSBmcm9tICdAY29kZWNhZGVteS9nYW11dCc7XG5pbXBvcnQgeyBDb3B5SWNvbiwgRWRpdG9ySWNvbiwgU2hhcmVJY29uIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtaWNvbnMnO1xuaW1wb3J0IHsgVXNlckNsaWNrRGF0YSB9IGZyb20gJ0Bjb2RlY2FkZW15L3RyYWNraW5nJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgcG9zdFNuaXBwZXQgfSBmcm9tICcuL2FwaSc7XG5pbXBvcnQgeyBCZXR0ZXJTb2NpYWxNZWRpYVNoYXJpbmcgfSBmcm9tICcuL0JldHRlclNvY2lhbFNoYXJpbmcvYmV0dGVyU29jaWFsU2hhcmluZyc7XG5pbXBvcnQgdHlwZSB7IExhbmd1YWdlT3B0aW9uIH0gZnJvbSAnLi9jb25zdHMnO1xuaW1wb3J0IHsgRHJhd2VycyB9IGZyb20gJy4vZHJhd2Vycyc7XG5pbXBvcnQgeyBFbWJlZENvZGVieXRlTW9kYWwgfSBmcm9tICcuL0VtYmVkTW9kYWwnO1xuaW1wb3J0IHsgZ2V0Q29kZWJ5dGVVcmwsIHRyYWNrQ2xpY2sgfSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHsgU2ltcGxlTW9uYWNvRWRpdG9yIH0gZnJvbSAnLi9Nb25hY29FZGl0b3InO1xuaW1wb3J0IHsgQ29kZWJ5dGVzQ2hhbmdlSGFuZGxlciB9IGZyb20gJy4vdHlwZXMnO1xuXG5jb25zdCBPdXRwdXQgPSBzdHlsZWQucHJlPHsgaGFzRXJyb3I6IGJvb2xlYW4gfT5gXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBmb250LWZhbWlseTogTW9uYWNvO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBvdmVyZmxvdzogYXV0bztcbiAgJHsoeyBoYXNFcnJvciwgdGhlbWUgfSkgPT4gYFxuICBjb2xvcjogJHtoYXNFcnJvciA/IHRoZW1lLmNvbG9ycy5vcmFuZ2UgOiB0aGVtZS5jb2xvcnMudGV4dH07XG4gIGJhY2tncm91bmQtY29sb3I6ICR7dGhlbWUuY29sb3JzWyduYXZ5LTkwMCddfTtcbmB9XG5gO1xuXG5jb25zdCBDb3B5SWNvblN0eWxlZCA9IHN0eWxlZChDb3B5SWNvbilgXG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuYDtcblxuY29uc3QgU2hhcmVJY29uU3R5bGVkID0gc3R5bGVkKFNoYXJlSWNvbilgXG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuYDtcblxuY29uc3QgRWRpdG9ySWNvblN0eWxlZCA9IHN0eWxlZChFZGl0b3JJY29uKWBcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG5gO1xuXG5jb25zdCBET0NLRVJfU0lHVEVSTSA9IDE0MztcblxudHlwZSBFZGl0b3JQcm9wcyA9IHtcbiAgaGlkZUNvcHlCdXR0b246IGJvb2xlYW47XG4gIGxhbmd1YWdlOiBMYW5ndWFnZU9wdGlvbjtcbiAgdGV4dDogc3RyaW5nO1xuICBvbkNoYW5nZTogKHRleHQ6IHN0cmluZykgPT4gdm9pZDtcbiAgc25pcHBldHNCYXNlVXJsPzogc3RyaW5nO1xuICBvbkNvcHk/OiBDb2RlYnl0ZXNDaGFuZ2VIYW5kbGVyO1xuICB0cmFja2luZ0RhdGE/OiBPbWl0PFVzZXJDbGlja0RhdGEsICd0YXJnZXQnPjtcbn07XG5cbmV4cG9ydCBjb25zdCBFZGl0b3I6IFJlYWN0LkZDPEVkaXRvclByb3BzPiA9ICh7XG4gIGxhbmd1YWdlLFxuICB0ZXh0LFxuICBoaWRlQ29weUJ1dHRvbixcbiAgb25DaGFuZ2UsXG4gIG9uQ29weSxcbiAgc25pcHBldHNCYXNlVXJsLFxuICB0cmFja2luZ0RhdGEsXG59KSA9PiB7XG4gIGNvbnN0IFtvdXRwdXQsIHNldE91dHB1dF0gPSB1c2VTdGF0ZSgnJyk7XG4gIGNvbnN0IFtzdGF0dXMsIHNldFN0YXR1c10gPSB1c2VTdGF0ZTwncmVhZHknIHwgJ3dhaXRpbmcnIHwgJ2Vycm9yJz4oJ3JlYWR5Jyk7XG4gIGNvbnN0IFtpc0NvZGVCeXRlQ29waWVkLCBzZXRJc0NvZGVCeXRlQ29waWVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2lzTGlua0NvcGllZCwgc2V0SXNMaW5rQ29waWVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICBjb25zdCBbc2hhcmVNb2RhbE9wZW4sIHNldFNoYXJlTW9kYWxPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2VtYmVkTW9kYWxPcGVuLCBzZXRFbWJlZE1vZGFsT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3Qgb25Db3B5Q2xpY2sgPSAoKSA9PiB7XG4gICAgaWYgKCFpc0NvZGVCeXRlQ29waWVkKSB7XG4gICAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkXG4gICAgICAgIC53cml0ZVRleHQodGV4dClcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgLmNhdGNoKCgpID0+IGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBjb3B5JykpO1xuICAgICAgc2V0SXNDb2RlQnl0ZUNvcGllZCh0cnVlKTtcbiAgICAgIG9uQ29weT8uKHRleHQsIGxhbmd1YWdlKTtcbiAgICAgIHRyYWNrQ2xpY2soJ2NvcHknLCB0cmFja2luZ0RhdGEpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBvbkNvcHlMaW5rQ2xpY2sgPSAoKSA9PiB7XG4gICAgbmF2aWdhdG9yLmNsaXBib2FyZFxuICAgICAgLndyaXRlVGV4dChnZXRDb2RlYnl0ZVVybChsYW5ndWFnZSwgdGV4dCkpXG4gICAgICAudGhlbigoKSA9PiBzZXRJc0xpbmtDb3BpZWQodHJ1ZSkpXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgLmNhdGNoKCgpID0+IGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBjb3B5IGxpbmsnKSk7XG4gIH07XG5cbiAgY29uc3Qgc2V0RXJyb3JTdGF0dXNBbmRPdXRwdXQgPSAobWVzc2FnZTogc3RyaW5nKSA9PiB7XG4gICAgc2V0T3V0cHV0KG1lc3NhZ2UpO1xuICAgIHNldFN0YXR1cygnZXJyb3InKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVTdWJtaXQgPSBhc3luYyAoKSA9PiB7XG4gICAgaWYgKHRleHQudHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBkYXRhID0ge1xuICAgICAgbGFuZ3VhZ2UsXG4gICAgICBjb2RlOiB0ZXh0LFxuICAgIH07XG4gICAgc2V0U3RhdHVzKCd3YWl0aW5nJyk7XG4gICAgc2V0T3V0cHV0KCcnKTtcbiAgICB0cmFja0NsaWNrKCdydW4nLCB0cmFja2luZ0RhdGEpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgcG9zdFNuaXBwZXQoZGF0YSwgc25pcHBldHNCYXNlVXJsKTtcbiAgICAgIGlmIChyZXNwb25zZS5zdGRlcnIubGVuZ3RoID4gMCkge1xuICAgICAgICBzZXRFcnJvclN0YXR1c0FuZE91dHB1dChyZXNwb25zZS5zdGRlcnIpO1xuICAgICAgfSBlbHNlIGlmIChyZXNwb25zZS5leGl0X2NvZGUgPT09IERPQ0tFUl9TSUdURVJNKSB7XG4gICAgICAgIHNldEVycm9yU3RhdHVzQW5kT3V0cHV0KFxuICAgICAgICAgICdZb3VyIGNvZGUgdG9vayB0b28gbG9uZyB0byByZXR1cm4gYSByZXN1bHQuIERvdWJsZSBjaGVjayB5b3VyIGNvZGUgZm9yIGFueSBpc3N1ZXMgYW5kIHRyeSBhZ2FpbiEnXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKHJlc3BvbnNlLmV4aXRfY29kZSAhPT0gMCkge1xuICAgICAgICBzZXRFcnJvclN0YXR1c0FuZE91dHB1dCgnQW4gdW5rbm93biBlcnJvciBvY2N1cmVkLicpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0T3V0cHV0KHJlc3BvbnNlLnN0ZG91dCk7XG4gICAgICAgIHNldFN0YXR1cygncmVhZHknKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgc2V0RXJyb3JTdGF0dXNBbmRPdXRwdXQoJ0Vycm9yOiAnICsgZXJyb3IpO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8RHJhd2Vyc1xuICAgICAgICBsZWZ0Q2hpbGQ9e1xuICAgICAgICAgIDxTaW1wbGVNb25hY29FZGl0b3JcbiAgICAgICAgICAgIHZhbHVlPXt0ZXh0fVxuICAgICAgICAgICAgbGFuZ3VhZ2U9e2xhbmd1YWdlfVxuICAgICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAgcmlnaHRDaGlsZD17XG4gICAgICAgICAgPE91dHB1dCBoYXNFcnJvcj17c3RhdHVzID09PSAnZXJyb3InfSBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAgICAgIHtvdXRwdXR9XG4gICAgICAgICAgPC9PdXRwdXQ+XG4gICAgICAgIH1cbiAgICAgIC8+XG4gICAgICA8RmxleEJveFxuICAgICAgICBqdXN0aWZ5Q29udGVudD17aGlkZUNvcHlCdXR0b24gPyAnZmxleC1lbmQnIDogJ3NwYWNlLWJldHdlZW4nfVxuICAgICAgICBwbD17OH1cbiAgICAgID5cbiAgICAgICAgeyFoaWRlQ29weUJ1dHRvbiA/IChcbiAgICAgICAgICA8VG9vbFRpcFxuICAgICAgICAgICAgaWQ9XCJjb2RlYnl0ZS1jb3BpZWRcIlxuICAgICAgICAgICAgYWxpZ25tZW50PVwidG9wLXJpZ2h0XCJcbiAgICAgICAgICAgIG1vZGU9XCJkYXJrXCJcbiAgICAgICAgICAgIHRhcmdldD17XG4gICAgICAgICAgICAgIDxUZXh0QnV0dG9uXG4gICAgICAgICAgICAgICAgdmFyaWFudD1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25Db3B5Q2xpY2t9XG4gICAgICAgICAgICAgICAgb25CbHVyPXsoKSA9PiBzZXRJc0NvZGVCeXRlQ29waWVkKGZhbHNlKX1cbiAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImNvcHktY29kZWJ5dGUtYnRuXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxDb3B5SWNvblN0eWxlZCBhcmlhLWhpZGRlbj1cInRydWVcIiAvPiBDb3B5XG4gICAgICAgICAgICAgIDwvVGV4dEJ1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7aXNDb2RlQnl0ZUNvcGllZCA/IChcbiAgICAgICAgICAgICAgPHNwYW4gZGF0YS10ZXN0aWQ9XCJjb3B5LWNvbmZpcm1hdGlvbi10b29sdGlwXCIgcm9sZT1cImFsZXJ0XCI+XG4gICAgICAgICAgICAgICAgQ29waWVkIVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRlc3RpZD1cImNvcHktcHJvbXB0LXRvb2x0aXBcIj5cbiAgICAgICAgICAgICAgICBDb3B5IHRvIHlvdXIgY2xpcGJvYXJkXG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Ub29sVGlwPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPFRleHRCdXR0b24gdmFyaWFudD1cInNlY29uZGFyeVwiIG9uQ2xpY2s9eygpID0+IHNldFNoYXJlTW9kYWxPcGVuKHRydWUpfT5cbiAgICAgICAgICA8U2hhcmVJY29uU3R5bGVkIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIC8+IFNoYXJlXG4gICAgICAgIDwvVGV4dEJ1dHRvbj5cbiAgICAgICAgPE1vZGFsXG4gICAgICAgICAgaXNPcGVuPXtzaGFyZU1vZGFsT3Blbn1cbiAgICAgICAgICBvblJlcXVlc3RDbG9zZT17KCkgPT4gc2V0U2hhcmVNb2RhbE9wZW4oZmFsc2UpfVxuICAgICAgICAgIHRpdGxlPVwiU2hhcmUgeW91ciBDb2RlYnl0ZSB3aXRoIHRoZSB3b3JsZCFcIlxuICAgICAgICA+XG4gICAgICAgICAgPEJldHRlclNvY2lhbE1lZGlhU2hhcmluZ1xuICAgICAgICAgICAgdXJsPXtnZXRDb2RlYnl0ZVVybChsYW5ndWFnZSwgdGV4dCl9XG4gICAgICAgICAgICBtZXNzYWdlPXtgQ2hlY2sgb3V0IHRoaXMgJHtsYW5ndWFnZX0gY29kZSBJIHdyb3RlIWB9XG4gICAgICAgICAgICBoYXNodGFncz17Wydjb2RlYnl0ZXMnLCBsYW5ndWFnZV19XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8Qm94IGRpc3BsYXk9XCJibG9ja1wiIGFsaWduSXRlbXM9XCJjZW50ZXJcIiBwPXs4fT5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIHNpemU9ezMwfVxuICAgICAgICAgICAgICB2YWx1ZT17Z2V0Q29kZWJ5dGVVcmwobGFuZ3VhZ2UsIHRleHQpfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxUb29sVGlwXG4gICAgICAgICAgICAgIGlkPVwibGluay1jb3BpZWRcIlxuICAgICAgICAgICAgICBhbGlnbm1lbnQ9XCJ0b3AtcmlnaHRcIlxuICAgICAgICAgICAgICBtb2RlPVwiZGFya1wiXG4gICAgICAgICAgICAgIHRhcmdldD17XG4gICAgICAgICAgICAgICAgPFRleHRCdXR0b25cbiAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgICAgb25DbGljaz17b25Db3B5TGlua0NsaWNrfVxuICAgICAgICAgICAgICAgICAgb25CbHVyPXsoKSA9PiBzZXRJc0xpbmtDb3BpZWQoZmFsc2UpfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxDb3B5SWNvblN0eWxlZCBhcmlhLWhpZGRlbj1cInRydWVcIiAvPiBDb3B5IExpbmtcbiAgICAgICAgICAgICAgICA8L1RleHRCdXR0b24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2lzTGlua0NvcGllZCA/IChcbiAgICAgICAgICAgICAgICA8c3BhbiByb2xlPVwiYWxlcnRcIj5Db3BpZWQhPC9zcGFuPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIDxzcGFuIHJvbGU9XCJhbGVydFwiPkNsaWNrIHRvIGNvcHk8L3NwYW4+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L1Rvb2xUaXA+XG4gICAgICAgICAgPC9Cb3g+XG4gICAgICAgIDwvTW9kYWw+XG4gICAgICAgIDxUZXh0QnV0dG9uIHZhcmlhbnQ9XCJzZWNvbmRhcnlcIiBvbkNsaWNrPXsoKSA9PiBzZXRFbWJlZE1vZGFsT3Blbih0cnVlKX0+XG4gICAgICAgICAgPEVkaXRvckljb25TdHlsZWQgYXJpYS1oaWRkZW49XCJ0cnVlXCIgLz4gRW1iZWRcbiAgICAgICAgPC9UZXh0QnV0dG9uPlxuICAgICAgICA8RW1iZWRDb2RlYnl0ZU1vZGFsXG4gICAgICAgICAgaXNNb2RhbE9wZW49e2VtYmVkTW9kYWxPcGVufVxuICAgICAgICAgIHNldElzTW9kYWxPcGVuPXtzZXRFbWJlZE1vZGFsT3Blbn1cbiAgICAgICAgICBsYW5ndWFnZT17bGFuZ3VhZ2V9XG4gICAgICAgICAgdGV4dD17dGV4dH1cbiAgICAgICAgLz5cbiAgICAgICAgPEZpbGxCdXR0b24gb25DbGljaz17aGFuZGxlU3VibWl0fT5cbiAgICAgICAgICB7c3RhdHVzID09PSAnd2FpdGluZycgPyA8U3Bpbm5lciAvPiA6ICdSdW4nfVxuICAgICAgICA8L0ZpbGxCdXR0b24+XG4gICAgICA8L0ZsZXhCb3g+XG4gICAgPC8+XG4gICk7XG59O1xuXG4vLyBUb0RvOlxuLy8gLSBNYWtlIGNvZGVieXRlcyB3b3JrIGluIEFydGljbGVzIG1hcmtkb3duIHJlbmRlcmVyXG4vLyAtIEFkZCBRUiBjb2RlIG9wdGlvbiwgaG9vayB1cCB0byBRUiBjb2RlIEFQSVxuLy8gLSBBZGQgU2hvcCBvcHRpb24sIGhvb2sgdXAgdG8gc29tZSBwcmludGlmeSBBUEkgdXNpbmcgdGhlIFFSIGNvZGUgaW1hZ2VcbiJdfQ== */"));
38
40
 
39
41
  var CopyIconStyled = /*#__PURE__*/_styled(CopyIcon, {
40
- target: "e1lzxy8e0",
42
+ target: "e1lzxy8e2",
41
43
  label: "CopyIconStyled"
42
44
  })(process.env.NODE_ENV === "production" ? {
43
45
  name: "u7ytkp",
@@ -45,7 +47,33 @@ var CopyIconStyled = /*#__PURE__*/_styled(CopyIcon, {
45
47
  } : {
46
48
  name: "u7ytkp",
47
49
  styles: "margin-right:0.5rem",
48
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lZGl0b3IudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlDdUMiLCJmaWxlIjoiLi4vc3JjL2VkaXRvci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBGaWxsQnV0dG9uLFxuICBGbGV4Qm94LFxuICBTcGlubmVyLFxuICBUZXh0QnV0dG9uLFxuICBUb29sVGlwLFxufSBmcm9tICdAY29kZWNhZGVteS9nYW11dCc7XG5pbXBvcnQgeyBDb3B5SWNvbiB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LWljb25zJztcbmltcG9ydCB7IFVzZXJDbGlja0RhdGEgfSBmcm9tICdAY29kZWNhZGVteS90cmFja2luZyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IHBvc3RTbmlwcGV0IH0gZnJvbSAnLi9hcGknO1xuaW1wb3J0IHR5cGUgeyBMYW5ndWFnZU9wdGlvbiB9IGZyb20gJy4vY29uc3RzJztcbmltcG9ydCB7IERyYXdlcnMgfSBmcm9tICcuL2RyYXdlcnMnO1xuaW1wb3J0IHsgdHJhY2tDbGljayB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyBTaW1wbGVNb25hY29FZGl0b3IgfSBmcm9tICcuL01vbmFjb0VkaXRvcic7XG5pbXBvcnQgeyBDb2RlYnl0ZXNDaGFuZ2VIYW5kbGVyIH0gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IE91dHB1dCA9IHN0eWxlZC5wcmU8eyBoYXNFcnJvcjogYm9vbGVhbiB9PmBcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGZvbnQtZmFtaWx5OiBNb25hY287XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIG92ZXJmbG93OiBhdXRvO1xuICAkeyh7IGhhc0Vycm9yLCB0aGVtZSB9KSA9PiBgXG4gIGNvbG9yOiAke2hhc0Vycm9yID8gdGhlbWUuY29sb3JzLm9yYW5nZSA6IHRoZW1lLmNvbG9ycy50ZXh0fTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHt0aGVtZS5jb2xvcnNbJ25hdnktOTAwJ119O1xuYH1cbmA7XG5cbmNvbnN0IENvcHlJY29uU3R5bGVkID0gc3R5bGVkKENvcHlJY29uKWBcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG5gO1xuXG5jb25zdCBET0NLRVJfU0lHVEVSTSA9IDE0MztcblxudHlwZSBFZGl0b3JQcm9wcyA9IHtcbiAgaGlkZUNvcHlCdXR0b246IGJvb2xlYW47XG4gIGxhbmd1YWdlOiBMYW5ndWFnZU9wdGlvbjtcbiAgdGV4dDogc3RyaW5nO1xuICBvbkNoYW5nZTogKHRleHQ6IHN0cmluZykgPT4gdm9pZDtcbiAgc25pcHBldHNCYXNlVXJsPzogc3RyaW5nO1xuICBvbkNvcHk/OiBDb2RlYnl0ZXNDaGFuZ2VIYW5kbGVyO1xuICB0cmFja2luZ0RhdGE/OiBPbWl0PFVzZXJDbGlja0RhdGEsICd0YXJnZXQnPjtcbn07XG5cbmV4cG9ydCBjb25zdCBFZGl0b3I6IFJlYWN0LkZDPEVkaXRvclByb3BzPiA9ICh7XG4gIGxhbmd1YWdlLFxuICB0ZXh0LFxuICBoaWRlQ29weUJ1dHRvbixcbiAgb25DaGFuZ2UsXG4gIG9uQ29weSxcbiAgc25pcHBldHNCYXNlVXJsLFxuICB0cmFja2luZ0RhdGEsXG59KSA9PiB7XG4gIGNvbnN0IFtvdXRwdXQsIHNldE91dHB1dF0gPSB1c2VTdGF0ZSgnJyk7XG4gIGNvbnN0IFtzdGF0dXMsIHNldFN0YXR1c10gPSB1c2VTdGF0ZTwncmVhZHknIHwgJ3dhaXRpbmcnIHwgJ2Vycm9yJz4oJ3JlYWR5Jyk7XG4gIGNvbnN0IFtpc0NvZGVCeXRlQ29waWVkLCBzZXRJc0NvZGVCeXRlQ29waWVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3Qgb25Db3B5Q2xpY2sgPSAoKSA9PiB7XG4gICAgaWYgKCFpc0NvZGVCeXRlQ29waWVkKSB7XG4gICAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkXG4gICAgICAgIC53cml0ZVRleHQodGV4dClcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgLmNhdGNoKCgpID0+IGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBjb3B5JykpO1xuICAgICAgc2V0SXNDb2RlQnl0ZUNvcGllZCh0cnVlKTtcbiAgICAgIG9uQ29weT8uKHRleHQsIGxhbmd1YWdlKTtcbiAgICAgIHRyYWNrQ2xpY2soJ2NvcHknLCB0cmFja2luZ0RhdGEpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBzZXRFcnJvclN0YXR1c0FuZE91dHB1dCA9IChtZXNzYWdlOiBzdHJpbmcpID0+IHtcbiAgICBzZXRPdXRwdXQobWVzc2FnZSk7XG4gICAgc2V0U3RhdHVzKCdlcnJvcicpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVN1Ym1pdCA9IGFzeW5jICgpID0+IHtcbiAgICBpZiAodGV4dC50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBsYW5ndWFnZSxcbiAgICAgIGNvZGU6IHRleHQsXG4gICAgfTtcbiAgICBzZXRTdGF0dXMoJ3dhaXRpbmcnKTtcbiAgICBzZXRPdXRwdXQoJycpO1xuICAgIHRyYWNrQ2xpY2soJ3J1bicsIHRyYWNraW5nRGF0YSk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBwb3N0U25pcHBldChkYXRhLCBzbmlwcGV0c0Jhc2VVcmwpO1xuICAgICAgaWYgKHJlc3BvbnNlLnN0ZGVyci5sZW5ndGggPiAwKSB7XG4gICAgICAgIHNldEVycm9yU3RhdHVzQW5kT3V0cHV0KHJlc3BvbnNlLnN0ZGVycik7XG4gICAgICB9IGVsc2UgaWYgKHJlc3BvbnNlLmV4aXRfY29kZSA9PT0gRE9DS0VSX1NJR1RFUk0pIHtcbiAgICAgICAgc2V0RXJyb3JTdGF0dXNBbmRPdXRwdXQoXG4gICAgICAgICAgJ1lvdXIgY29kZSB0b29rIHRvbyBsb25nIHRvIHJldHVybiBhIHJlc3VsdC4gRG91YmxlIGNoZWNrIHlvdXIgY29kZSBmb3IgYW55IGlzc3VlcyBhbmQgdHJ5IGFnYWluISdcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSBpZiAocmVzcG9uc2UuZXhpdF9jb2RlICE9PSAwKSB7XG4gICAgICAgIHNldEVycm9yU3RhdHVzQW5kT3V0cHV0KCdBbiB1bmtub3duIGVycm9yIG9jY3VyZWQuJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRPdXRwdXQocmVzcG9uc2Uuc3Rkb3V0KTtcbiAgICAgICAgc2V0U3RhdHVzKCdyZWFkeScpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBzZXRFcnJvclN0YXR1c0FuZE91dHB1dCgnRXJyb3I6ICcgKyBlcnJvcik7XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxEcmF3ZXJzXG4gICAgICAgIGxlZnRDaGlsZD17XG4gICAgICAgICAgPFNpbXBsZU1vbmFjb0VkaXRvclxuICAgICAgICAgICAgdmFsdWU9e3RleHR9XG4gICAgICAgICAgICBsYW5ndWFnZT17bGFuZ3VhZ2V9XG4gICAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgICByaWdodENoaWxkPXtcbiAgICAgICAgICA8T3V0cHV0IGhhc0Vycm9yPXtzdGF0dXMgPT09ICdlcnJvcid9IGFyaWEtbGl2ZT1cInBvbGl0ZVwiPlxuICAgICAgICAgICAge291dHB1dH1cbiAgICAgICAgICA8L091dHB1dD5cbiAgICAgICAgfVxuICAgICAgLz5cbiAgICAgIDxGbGV4Qm94XG4gICAgICAgIGp1c3RpZnlDb250ZW50PXtoaWRlQ29weUJ1dHRvbiA/ICdmbGV4LWVuZCcgOiAnc3BhY2UtYmV0d2Vlbid9XG4gICAgICAgIHBsPXs4fVxuICAgICAgPlxuICAgICAgICB7IWhpZGVDb3B5QnV0dG9uID8gKFxuICAgICAgICAgIDxUb29sVGlwXG4gICAgICAgICAgICBpZD1cImNvZGVieXRlLWNvcGllZFwiXG4gICAgICAgICAgICBhbGlnbm1lbnQ9XCJ0b3AtcmlnaHRcIlxuICAgICAgICAgICAgbW9kZT1cImRhcmtcIlxuICAgICAgICAgICAgdGFyZ2V0PXtcbiAgICAgICAgICAgICAgPFRleHRCdXR0b25cbiAgICAgICAgICAgICAgICB2YXJpYW50PVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvbkNvcHlDbGlja31cbiAgICAgICAgICAgICAgICBvbkJsdXI9eygpID0+IHNldElzQ29kZUJ5dGVDb3BpZWQoZmFsc2UpfVxuICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiY29weS1jb2RlYnl0ZS1idG5cIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPENvcHlJY29uU3R5bGVkIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIC8+IENvcHkgQ29kZWJ5dGVcbiAgICAgICAgICAgICAgPC9UZXh0QnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtpc0NvZGVCeXRlQ29waWVkID8gKFxuICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRlc3RpZD1cImNvcHktY29uZmlybWF0aW9uLXRvb2x0aXBcIiByb2xlPVwiYWxlcnRcIj5cbiAgICAgICAgICAgICAgICBDb3BpZWQhXG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxzcGFuIGRhdGEtdGVzdGlkPVwiY29weS1wcm9tcHQtdG9vbHRpcFwiPlxuICAgICAgICAgICAgICAgIENvcHkgdG8geW91ciBjbGlwYm9hcmRcbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1Rvb2xUaXA+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgICA8RmlsbEJ1dHRvbiBvbkNsaWNrPXtoYW5kbGVTdWJtaXR9PlxuICAgICAgICAgIHtzdGF0dXMgPT09ICd3YWl0aW5nJyA/IDxTcGlubmVyIC8+IDogJ1J1bid9XG4gICAgICAgIDwvRmlsbEJ1dHRvbj5cbiAgICAgIDwvRmxleEJveD5cbiAgICA8Lz5cbiAgKTtcbn07XG4iXX0= */",
50
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lZGl0b3IudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFDdUMiLCJmaWxlIjoiLi4vc3JjL2VkaXRvci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCb3gsXG4gIEZpbGxCdXR0b24sXG4gIEZsZXhCb3gsXG4gIE1vZGFsLFxuICBTcGlubmVyLFxuICBUZXh0QnV0dG9uLFxuICBUb29sVGlwLFxufSBmcm9tICdAY29kZWNhZGVteS9nYW11dCc7XG5pbXBvcnQgeyBDb3B5SWNvbiwgRWRpdG9ySWNvbiwgU2hhcmVJY29uIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtaWNvbnMnO1xuaW1wb3J0IHsgVXNlckNsaWNrRGF0YSB9IGZyb20gJ0Bjb2RlY2FkZW15L3RyYWNraW5nJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgcG9zdFNuaXBwZXQgfSBmcm9tICcuL2FwaSc7XG5pbXBvcnQgeyBCZXR0ZXJTb2NpYWxNZWRpYVNoYXJpbmcgfSBmcm9tICcuL0JldHRlclNvY2lhbFNoYXJpbmcvYmV0dGVyU29jaWFsU2hhcmluZyc7XG5pbXBvcnQgdHlwZSB7IExhbmd1YWdlT3B0aW9uIH0gZnJvbSAnLi9jb25zdHMnO1xuaW1wb3J0IHsgRHJhd2VycyB9IGZyb20gJy4vZHJhd2Vycyc7XG5pbXBvcnQgeyBFbWJlZENvZGVieXRlTW9kYWwgfSBmcm9tICcuL0VtYmVkTW9kYWwnO1xuaW1wb3J0IHsgZ2V0Q29kZWJ5dGVVcmwsIHRyYWNrQ2xpY2sgfSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHsgU2ltcGxlTW9uYWNvRWRpdG9yIH0gZnJvbSAnLi9Nb25hY29FZGl0b3InO1xuaW1wb3J0IHsgQ29kZWJ5dGVzQ2hhbmdlSGFuZGxlciB9IGZyb20gJy4vdHlwZXMnO1xuXG5jb25zdCBPdXRwdXQgPSBzdHlsZWQucHJlPHsgaGFzRXJyb3I6IGJvb2xlYW4gfT5gXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBmb250LWZhbWlseTogTW9uYWNvO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBvdmVyZmxvdzogYXV0bztcbiAgJHsoeyBoYXNFcnJvciwgdGhlbWUgfSkgPT4gYFxuICBjb2xvcjogJHtoYXNFcnJvciA/IHRoZW1lLmNvbG9ycy5vcmFuZ2UgOiB0aGVtZS5jb2xvcnMudGV4dH07XG4gIGJhY2tncm91bmQtY29sb3I6ICR7dGhlbWUuY29sb3JzWyduYXZ5LTkwMCddfTtcbmB9XG5gO1xuXG5jb25zdCBDb3B5SWNvblN0eWxlZCA9IHN0eWxlZChDb3B5SWNvbilgXG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuYDtcblxuY29uc3QgU2hhcmVJY29uU3R5bGVkID0gc3R5bGVkKFNoYXJlSWNvbilgXG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuYDtcblxuY29uc3QgRWRpdG9ySWNvblN0eWxlZCA9IHN0eWxlZChFZGl0b3JJY29uKWBcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG5gO1xuXG5jb25zdCBET0NLRVJfU0lHVEVSTSA9IDE0MztcblxudHlwZSBFZGl0b3JQcm9wcyA9IHtcbiAgaGlkZUNvcHlCdXR0b246IGJvb2xlYW47XG4gIGxhbmd1YWdlOiBMYW5ndWFnZU9wdGlvbjtcbiAgdGV4dDogc3RyaW5nO1xuICBvbkNoYW5nZTogKHRleHQ6IHN0cmluZykgPT4gdm9pZDtcbiAgc25pcHBldHNCYXNlVXJsPzogc3RyaW5nO1xuICBvbkNvcHk/OiBDb2RlYnl0ZXNDaGFuZ2VIYW5kbGVyO1xuICB0cmFja2luZ0RhdGE/OiBPbWl0PFVzZXJDbGlja0RhdGEsICd0YXJnZXQnPjtcbn07XG5cbmV4cG9ydCBjb25zdCBFZGl0b3I6IFJlYWN0LkZDPEVkaXRvclByb3BzPiA9ICh7XG4gIGxhbmd1YWdlLFxuICB0ZXh0LFxuICBoaWRlQ29weUJ1dHRvbixcbiAgb25DaGFuZ2UsXG4gIG9uQ29weSxcbiAgc25pcHBldHNCYXNlVXJsLFxuICB0cmFja2luZ0RhdGEsXG59KSA9PiB7XG4gIGNvbnN0IFtvdXRwdXQsIHNldE91dHB1dF0gPSB1c2VTdGF0ZSgnJyk7XG4gIGNvbnN0IFtzdGF0dXMsIHNldFN0YXR1c10gPSB1c2VTdGF0ZTwncmVhZHknIHwgJ3dhaXRpbmcnIHwgJ2Vycm9yJz4oJ3JlYWR5Jyk7XG4gIGNvbnN0IFtpc0NvZGVCeXRlQ29waWVkLCBzZXRJc0NvZGVCeXRlQ29waWVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2lzTGlua0NvcGllZCwgc2V0SXNMaW5rQ29waWVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICBjb25zdCBbc2hhcmVNb2RhbE9wZW4sIHNldFNoYXJlTW9kYWxPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2VtYmVkTW9kYWxPcGVuLCBzZXRFbWJlZE1vZGFsT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3Qgb25Db3B5Q2xpY2sgPSAoKSA9PiB7XG4gICAgaWYgKCFpc0NvZGVCeXRlQ29waWVkKSB7XG4gICAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkXG4gICAgICAgIC53cml0ZVRleHQodGV4dClcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgLmNhdGNoKCgpID0+IGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBjb3B5JykpO1xuICAgICAgc2V0SXNDb2RlQnl0ZUNvcGllZCh0cnVlKTtcbiAgICAgIG9uQ29weT8uKHRleHQsIGxhbmd1YWdlKTtcbiAgICAgIHRyYWNrQ2xpY2soJ2NvcHknLCB0cmFja2luZ0RhdGEpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBvbkNvcHlMaW5rQ2xpY2sgPSAoKSA9PiB7XG4gICAgbmF2aWdhdG9yLmNsaXBib2FyZFxuICAgICAgLndyaXRlVGV4dChnZXRDb2RlYnl0ZVVybChsYW5ndWFnZSwgdGV4dCkpXG4gICAgICAudGhlbigoKSA9PiBzZXRJc0xpbmtDb3BpZWQodHJ1ZSkpXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgLmNhdGNoKCgpID0+IGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBjb3B5IGxpbmsnKSk7XG4gIH07XG5cbiAgY29uc3Qgc2V0RXJyb3JTdGF0dXNBbmRPdXRwdXQgPSAobWVzc2FnZTogc3RyaW5nKSA9PiB7XG4gICAgc2V0T3V0cHV0KG1lc3NhZ2UpO1xuICAgIHNldFN0YXR1cygnZXJyb3InKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVTdWJtaXQgPSBhc3luYyAoKSA9PiB7XG4gICAgaWYgKHRleHQudHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBkYXRhID0ge1xuICAgICAgbGFuZ3VhZ2UsXG4gICAgICBjb2RlOiB0ZXh0LFxuICAgIH07XG4gICAgc2V0U3RhdHVzKCd3YWl0aW5nJyk7XG4gICAgc2V0T3V0cHV0KCcnKTtcbiAgICB0cmFja0NsaWNrKCdydW4nLCB0cmFja2luZ0RhdGEpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgcG9zdFNuaXBwZXQoZGF0YSwgc25pcHBldHNCYXNlVXJsKTtcbiAgICAgIGlmIChyZXNwb25zZS5zdGRlcnIubGVuZ3RoID4gMCkge1xuICAgICAgICBzZXRFcnJvclN0YXR1c0FuZE91dHB1dChyZXNwb25zZS5zdGRlcnIpO1xuICAgICAgfSBlbHNlIGlmIChyZXNwb25zZS5leGl0X2NvZGUgPT09IERPQ0tFUl9TSUdURVJNKSB7XG4gICAgICAgIHNldEVycm9yU3RhdHVzQW5kT3V0cHV0KFxuICAgICAgICAgICdZb3VyIGNvZGUgdG9vayB0b28gbG9uZyB0byByZXR1cm4gYSByZXN1bHQuIERvdWJsZSBjaGVjayB5b3VyIGNvZGUgZm9yIGFueSBpc3N1ZXMgYW5kIHRyeSBhZ2FpbiEnXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKHJlc3BvbnNlLmV4aXRfY29kZSAhPT0gMCkge1xuICAgICAgICBzZXRFcnJvclN0YXR1c0FuZE91dHB1dCgnQW4gdW5rbm93biBlcnJvciBvY2N1cmVkLicpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0T3V0cHV0KHJlc3BvbnNlLnN0ZG91dCk7XG4gICAgICAgIHNldFN0YXR1cygncmVhZHknKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgc2V0RXJyb3JTdGF0dXNBbmRPdXRwdXQoJ0Vycm9yOiAnICsgZXJyb3IpO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8RHJhd2Vyc1xuICAgICAgICBsZWZ0Q2hpbGQ9e1xuICAgICAgICAgIDxTaW1wbGVNb25hY29FZGl0b3JcbiAgICAgICAgICAgIHZhbHVlPXt0ZXh0fVxuICAgICAgICAgICAgbGFuZ3VhZ2U9e2xhbmd1YWdlfVxuICAgICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAgcmlnaHRDaGlsZD17XG4gICAgICAgICAgPE91dHB1dCBoYXNFcnJvcj17c3RhdHVzID09PSAnZXJyb3InfSBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAgICAgIHtvdXRwdXR9XG4gICAgICAgICAgPC9PdXRwdXQ+XG4gICAgICAgIH1cbiAgICAgIC8+XG4gICAgICA8RmxleEJveFxuICAgICAgICBqdXN0aWZ5Q29udGVudD17aGlkZUNvcHlCdXR0b24gPyAnZmxleC1lbmQnIDogJ3NwYWNlLWJldHdlZW4nfVxuICAgICAgICBwbD17OH1cbiAgICAgID5cbiAgICAgICAgeyFoaWRlQ29weUJ1dHRvbiA/IChcbiAgICAgICAgICA8VG9vbFRpcFxuICAgICAgICAgICAgaWQ9XCJjb2RlYnl0ZS1jb3BpZWRcIlxuICAgICAgICAgICAgYWxpZ25tZW50PVwidG9wLXJpZ2h0XCJcbiAgICAgICAgICAgIG1vZGU9XCJkYXJrXCJcbiAgICAgICAgICAgIHRhcmdldD17XG4gICAgICAgICAgICAgIDxUZXh0QnV0dG9uXG4gICAgICAgICAgICAgICAgdmFyaWFudD1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25Db3B5Q2xpY2t9XG4gICAgICAgICAgICAgICAgb25CbHVyPXsoKSA9PiBzZXRJc0NvZGVCeXRlQ29waWVkKGZhbHNlKX1cbiAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImNvcHktY29kZWJ5dGUtYnRuXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxDb3B5SWNvblN0eWxlZCBhcmlhLWhpZGRlbj1cInRydWVcIiAvPiBDb3B5XG4gICAgICAgICAgICAgIDwvVGV4dEJ1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7aXNDb2RlQnl0ZUNvcGllZCA/IChcbiAgICAgICAgICAgICAgPHNwYW4gZGF0YS10ZXN0aWQ9XCJjb3B5LWNvbmZpcm1hdGlvbi10b29sdGlwXCIgcm9sZT1cImFsZXJ0XCI+XG4gICAgICAgICAgICAgICAgQ29waWVkIVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRlc3RpZD1cImNvcHktcHJvbXB0LXRvb2x0aXBcIj5cbiAgICAgICAgICAgICAgICBDb3B5IHRvIHlvdXIgY2xpcGJvYXJkXG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Ub29sVGlwPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPFRleHRCdXR0b24gdmFyaWFudD1cInNlY29uZGFyeVwiIG9uQ2xpY2s9eygpID0+IHNldFNoYXJlTW9kYWxPcGVuKHRydWUpfT5cbiAgICAgICAgICA8U2hhcmVJY29uU3R5bGVkIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIC8+IFNoYXJlXG4gICAgICAgIDwvVGV4dEJ1dHRvbj5cbiAgICAgICAgPE1vZGFsXG4gICAgICAgICAgaXNPcGVuPXtzaGFyZU1vZGFsT3Blbn1cbiAgICAgICAgICBvblJlcXVlc3RDbG9zZT17KCkgPT4gc2V0U2hhcmVNb2RhbE9wZW4oZmFsc2UpfVxuICAgICAgICAgIHRpdGxlPVwiU2hhcmUgeW91ciBDb2RlYnl0ZSB3aXRoIHRoZSB3b3JsZCFcIlxuICAgICAgICA+XG4gICAgICAgICAgPEJldHRlclNvY2lhbE1lZGlhU2hhcmluZ1xuICAgICAgICAgICAgdXJsPXtnZXRDb2RlYnl0ZVVybChsYW5ndWFnZSwgdGV4dCl9XG4gICAgICAgICAgICBtZXNzYWdlPXtgQ2hlY2sgb3V0IHRoaXMgJHtsYW5ndWFnZX0gY29kZSBJIHdyb3RlIWB9XG4gICAgICAgICAgICBoYXNodGFncz17Wydjb2RlYnl0ZXMnLCBsYW5ndWFnZV19XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8Qm94IGRpc3BsYXk9XCJibG9ja1wiIGFsaWduSXRlbXM9XCJjZW50ZXJcIiBwPXs4fT5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIHNpemU9ezMwfVxuICAgICAgICAgICAgICB2YWx1ZT17Z2V0Q29kZWJ5dGVVcmwobGFuZ3VhZ2UsIHRleHQpfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxUb29sVGlwXG4gICAgICAgICAgICAgIGlkPVwibGluay1jb3BpZWRcIlxuICAgICAgICAgICAgICBhbGlnbm1lbnQ9XCJ0b3AtcmlnaHRcIlxuICAgICAgICAgICAgICBtb2RlPVwiZGFya1wiXG4gICAgICAgICAgICAgIHRhcmdldD17XG4gICAgICAgICAgICAgICAgPFRleHRCdXR0b25cbiAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgICAgb25DbGljaz17b25Db3B5TGlua0NsaWNrfVxuICAgICAgICAgICAgICAgICAgb25CbHVyPXsoKSA9PiBzZXRJc0xpbmtDb3BpZWQoZmFsc2UpfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxDb3B5SWNvblN0eWxlZCBhcmlhLWhpZGRlbj1cInRydWVcIiAvPiBDb3B5IExpbmtcbiAgICAgICAgICAgICAgICA8L1RleHRCdXR0b24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2lzTGlua0NvcGllZCA/IChcbiAgICAgICAgICAgICAgICA8c3BhbiByb2xlPVwiYWxlcnRcIj5Db3BpZWQhPC9zcGFuPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIDxzcGFuIHJvbGU9XCJhbGVydFwiPkNsaWNrIHRvIGNvcHk8L3NwYW4+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L1Rvb2xUaXA+XG4gICAgICAgICAgPC9Cb3g+XG4gICAgICAgIDwvTW9kYWw+XG4gICAgICAgIDxUZXh0QnV0dG9uIHZhcmlhbnQ9XCJzZWNvbmRhcnlcIiBvbkNsaWNrPXsoKSA9PiBzZXRFbWJlZE1vZGFsT3Blbih0cnVlKX0+XG4gICAgICAgICAgPEVkaXRvckljb25TdHlsZWQgYXJpYS1oaWRkZW49XCJ0cnVlXCIgLz4gRW1iZWRcbiAgICAgICAgPC9UZXh0QnV0dG9uPlxuICAgICAgICA8RW1iZWRDb2RlYnl0ZU1vZGFsXG4gICAgICAgICAgaXNNb2RhbE9wZW49e2VtYmVkTW9kYWxPcGVufVxuICAgICAgICAgIHNldElzTW9kYWxPcGVuPXtzZXRFbWJlZE1vZGFsT3Blbn1cbiAgICAgICAgICBsYW5ndWFnZT17bGFuZ3VhZ2V9XG4gICAgICAgICAgdGV4dD17dGV4dH1cbiAgICAgICAgLz5cbiAgICAgICAgPEZpbGxCdXR0b24gb25DbGljaz17aGFuZGxlU3VibWl0fT5cbiAgICAgICAgICB7c3RhdHVzID09PSAnd2FpdGluZycgPyA8U3Bpbm5lciAvPiA6ICdSdW4nfVxuICAgICAgICA8L0ZpbGxCdXR0b24+XG4gICAgICA8L0ZsZXhCb3g+XG4gICAgPC8+XG4gICk7XG59O1xuXG4vLyBUb0RvOlxuLy8gLSBNYWtlIGNvZGVieXRlcyB3b3JrIGluIEFydGljbGVzIG1hcmtkb3duIHJlbmRlcmVyXG4vLyAtIEFkZCBRUiBjb2RlIG9wdGlvbiwgaG9vayB1cCB0byBRUiBjb2RlIEFQSVxuLy8gLSBBZGQgU2hvcCBvcHRpb24sIGhvb2sgdXAgdG8gc29tZSBwcmludGlmeSBBUEkgdXNpbmcgdGhlIFFSIGNvZGUgaW1hZ2VcbiJdfQ== */",
51
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
52
+ });
53
+
54
+ var ShareIconStyled = /*#__PURE__*/_styled(ShareIcon, {
55
+ target: "e1lzxy8e1",
56
+ label: "ShareIconStyled"
57
+ })(process.env.NODE_ENV === "production" ? {
58
+ name: "u7ytkp",
59
+ styles: "margin-right:0.5rem"
60
+ } : {
61
+ name: "u7ytkp",
62
+ styles: "margin-right:0.5rem",
63
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lZGl0b3IudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlDeUMiLCJmaWxlIjoiLi4vc3JjL2VkaXRvci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCb3gsXG4gIEZpbGxCdXR0b24sXG4gIEZsZXhCb3gsXG4gIE1vZGFsLFxuICBTcGlubmVyLFxuICBUZXh0QnV0dG9uLFxuICBUb29sVGlwLFxufSBmcm9tICdAY29kZWNhZGVteS9nYW11dCc7XG5pbXBvcnQgeyBDb3B5SWNvbiwgRWRpdG9ySWNvbiwgU2hhcmVJY29uIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtaWNvbnMnO1xuaW1wb3J0IHsgVXNlckNsaWNrRGF0YSB9IGZyb20gJ0Bjb2RlY2FkZW15L3RyYWNraW5nJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgcG9zdFNuaXBwZXQgfSBmcm9tICcuL2FwaSc7XG5pbXBvcnQgeyBCZXR0ZXJTb2NpYWxNZWRpYVNoYXJpbmcgfSBmcm9tICcuL0JldHRlclNvY2lhbFNoYXJpbmcvYmV0dGVyU29jaWFsU2hhcmluZyc7XG5pbXBvcnQgdHlwZSB7IExhbmd1YWdlT3B0aW9uIH0gZnJvbSAnLi9jb25zdHMnO1xuaW1wb3J0IHsgRHJhd2VycyB9IGZyb20gJy4vZHJhd2Vycyc7XG5pbXBvcnQgeyBFbWJlZENvZGVieXRlTW9kYWwgfSBmcm9tICcuL0VtYmVkTW9kYWwnO1xuaW1wb3J0IHsgZ2V0Q29kZWJ5dGVVcmwsIHRyYWNrQ2xpY2sgfSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHsgU2ltcGxlTW9uYWNvRWRpdG9yIH0gZnJvbSAnLi9Nb25hY29FZGl0b3InO1xuaW1wb3J0IHsgQ29kZWJ5dGVzQ2hhbmdlSGFuZGxlciB9IGZyb20gJy4vdHlwZXMnO1xuXG5jb25zdCBPdXRwdXQgPSBzdHlsZWQucHJlPHsgaGFzRXJyb3I6IGJvb2xlYW4gfT5gXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBmb250LWZhbWlseTogTW9uYWNvO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBvdmVyZmxvdzogYXV0bztcbiAgJHsoeyBoYXNFcnJvciwgdGhlbWUgfSkgPT4gYFxuICBjb2xvcjogJHtoYXNFcnJvciA/IHRoZW1lLmNvbG9ycy5vcmFuZ2UgOiB0aGVtZS5jb2xvcnMudGV4dH07XG4gIGJhY2tncm91bmQtY29sb3I6ICR7dGhlbWUuY29sb3JzWyduYXZ5LTkwMCddfTtcbmB9XG5gO1xuXG5jb25zdCBDb3B5SWNvblN0eWxlZCA9IHN0eWxlZChDb3B5SWNvbilgXG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuYDtcblxuY29uc3QgU2hhcmVJY29uU3R5bGVkID0gc3R5bGVkKFNoYXJlSWNvbilgXG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuYDtcblxuY29uc3QgRWRpdG9ySWNvblN0eWxlZCA9IHN0eWxlZChFZGl0b3JJY29uKWBcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG5gO1xuXG5jb25zdCBET0NLRVJfU0lHVEVSTSA9IDE0MztcblxudHlwZSBFZGl0b3JQcm9wcyA9IHtcbiAgaGlkZUNvcHlCdXR0b246IGJvb2xlYW47XG4gIGxhbmd1YWdlOiBMYW5ndWFnZU9wdGlvbjtcbiAgdGV4dDogc3RyaW5nO1xuICBvbkNoYW5nZTogKHRleHQ6IHN0cmluZykgPT4gdm9pZDtcbiAgc25pcHBldHNCYXNlVXJsPzogc3RyaW5nO1xuICBvbkNvcHk/OiBDb2RlYnl0ZXNDaGFuZ2VIYW5kbGVyO1xuICB0cmFja2luZ0RhdGE/OiBPbWl0PFVzZXJDbGlja0RhdGEsICd0YXJnZXQnPjtcbn07XG5cbmV4cG9ydCBjb25zdCBFZGl0b3I6IFJlYWN0LkZDPEVkaXRvclByb3BzPiA9ICh7XG4gIGxhbmd1YWdlLFxuICB0ZXh0LFxuICBoaWRlQ29weUJ1dHRvbixcbiAgb25DaGFuZ2UsXG4gIG9uQ29weSxcbiAgc25pcHBldHNCYXNlVXJsLFxuICB0cmFja2luZ0RhdGEsXG59KSA9PiB7XG4gIGNvbnN0IFtvdXRwdXQsIHNldE91dHB1dF0gPSB1c2VTdGF0ZSgnJyk7XG4gIGNvbnN0IFtzdGF0dXMsIHNldFN0YXR1c10gPSB1c2VTdGF0ZTwncmVhZHknIHwgJ3dhaXRpbmcnIHwgJ2Vycm9yJz4oJ3JlYWR5Jyk7XG4gIGNvbnN0IFtpc0NvZGVCeXRlQ29waWVkLCBzZXRJc0NvZGVCeXRlQ29waWVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2lzTGlua0NvcGllZCwgc2V0SXNMaW5rQ29waWVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICBjb25zdCBbc2hhcmVNb2RhbE9wZW4sIHNldFNoYXJlTW9kYWxPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2VtYmVkTW9kYWxPcGVuLCBzZXRFbWJlZE1vZGFsT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3Qgb25Db3B5Q2xpY2sgPSAoKSA9PiB7XG4gICAgaWYgKCFpc0NvZGVCeXRlQ29waWVkKSB7XG4gICAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkXG4gICAgICAgIC53cml0ZVRleHQodGV4dClcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgLmNhdGNoKCgpID0+IGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBjb3B5JykpO1xuICAgICAgc2V0SXNDb2RlQnl0ZUNvcGllZCh0cnVlKTtcbiAgICAgIG9uQ29weT8uKHRleHQsIGxhbmd1YWdlKTtcbiAgICAgIHRyYWNrQ2xpY2soJ2NvcHknLCB0cmFja2luZ0RhdGEpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBvbkNvcHlMaW5rQ2xpY2sgPSAoKSA9PiB7XG4gICAgbmF2aWdhdG9yLmNsaXBib2FyZFxuICAgICAgLndyaXRlVGV4dChnZXRDb2RlYnl0ZVVybChsYW5ndWFnZSwgdGV4dCkpXG4gICAgICAudGhlbigoKSA9PiBzZXRJc0xpbmtDb3BpZWQodHJ1ZSkpXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgLmNhdGNoKCgpID0+IGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBjb3B5IGxpbmsnKSk7XG4gIH07XG5cbiAgY29uc3Qgc2V0RXJyb3JTdGF0dXNBbmRPdXRwdXQgPSAobWVzc2FnZTogc3RyaW5nKSA9PiB7XG4gICAgc2V0T3V0cHV0KG1lc3NhZ2UpO1xuICAgIHNldFN0YXR1cygnZXJyb3InKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVTdWJtaXQgPSBhc3luYyAoKSA9PiB7XG4gICAgaWYgKHRleHQudHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBkYXRhID0ge1xuICAgICAgbGFuZ3VhZ2UsXG4gICAgICBjb2RlOiB0ZXh0LFxuICAgIH07XG4gICAgc2V0U3RhdHVzKCd3YWl0aW5nJyk7XG4gICAgc2V0T3V0cHV0KCcnKTtcbiAgICB0cmFja0NsaWNrKCdydW4nLCB0cmFja2luZ0RhdGEpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgcG9zdFNuaXBwZXQoZGF0YSwgc25pcHBldHNCYXNlVXJsKTtcbiAgICAgIGlmIChyZXNwb25zZS5zdGRlcnIubGVuZ3RoID4gMCkge1xuICAgICAgICBzZXRFcnJvclN0YXR1c0FuZE91dHB1dChyZXNwb25zZS5zdGRlcnIpO1xuICAgICAgfSBlbHNlIGlmIChyZXNwb25zZS5leGl0X2NvZGUgPT09IERPQ0tFUl9TSUdURVJNKSB7XG4gICAgICAgIHNldEVycm9yU3RhdHVzQW5kT3V0cHV0KFxuICAgICAgICAgICdZb3VyIGNvZGUgdG9vayB0b28gbG9uZyB0byByZXR1cm4gYSByZXN1bHQuIERvdWJsZSBjaGVjayB5b3VyIGNvZGUgZm9yIGFueSBpc3N1ZXMgYW5kIHRyeSBhZ2FpbiEnXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKHJlc3BvbnNlLmV4aXRfY29kZSAhPT0gMCkge1xuICAgICAgICBzZXRFcnJvclN0YXR1c0FuZE91dHB1dCgnQW4gdW5rbm93biBlcnJvciBvY2N1cmVkLicpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0T3V0cHV0KHJlc3BvbnNlLnN0ZG91dCk7XG4gICAgICAgIHNldFN0YXR1cygncmVhZHknKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgc2V0RXJyb3JTdGF0dXNBbmRPdXRwdXQoJ0Vycm9yOiAnICsgZXJyb3IpO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8RHJhd2Vyc1xuICAgICAgICBsZWZ0Q2hpbGQ9e1xuICAgICAgICAgIDxTaW1wbGVNb25hY29FZGl0b3JcbiAgICAgICAgICAgIHZhbHVlPXt0ZXh0fVxuICAgICAgICAgICAgbGFuZ3VhZ2U9e2xhbmd1YWdlfVxuICAgICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAgcmlnaHRDaGlsZD17XG4gICAgICAgICAgPE91dHB1dCBoYXNFcnJvcj17c3RhdHVzID09PSAnZXJyb3InfSBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAgICAgIHtvdXRwdXR9XG4gICAgICAgICAgPC9PdXRwdXQ+XG4gICAgICAgIH1cbiAgICAgIC8+XG4gICAgICA8RmxleEJveFxuICAgICAgICBqdXN0aWZ5Q29udGVudD17aGlkZUNvcHlCdXR0b24gPyAnZmxleC1lbmQnIDogJ3NwYWNlLWJldHdlZW4nfVxuICAgICAgICBwbD17OH1cbiAgICAgID5cbiAgICAgICAgeyFoaWRlQ29weUJ1dHRvbiA/IChcbiAgICAgICAgICA8VG9vbFRpcFxuICAgICAgICAgICAgaWQ9XCJjb2RlYnl0ZS1jb3BpZWRcIlxuICAgICAgICAgICAgYWxpZ25tZW50PVwidG9wLXJpZ2h0XCJcbiAgICAgICAgICAgIG1vZGU9XCJkYXJrXCJcbiAgICAgICAgICAgIHRhcmdldD17XG4gICAgICAgICAgICAgIDxUZXh0QnV0dG9uXG4gICAgICAgICAgICAgICAgdmFyaWFudD1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25Db3B5Q2xpY2t9XG4gICAgICAgICAgICAgICAgb25CbHVyPXsoKSA9PiBzZXRJc0NvZGVCeXRlQ29waWVkKGZhbHNlKX1cbiAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImNvcHktY29kZWJ5dGUtYnRuXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxDb3B5SWNvblN0eWxlZCBhcmlhLWhpZGRlbj1cInRydWVcIiAvPiBDb3B5XG4gICAgICAgICAgICAgIDwvVGV4dEJ1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7aXNDb2RlQnl0ZUNvcGllZCA/IChcbiAgICAgICAgICAgICAgPHNwYW4gZGF0YS10ZXN0aWQ9XCJjb3B5LWNvbmZpcm1hdGlvbi10b29sdGlwXCIgcm9sZT1cImFsZXJ0XCI+XG4gICAgICAgICAgICAgICAgQ29waWVkIVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRlc3RpZD1cImNvcHktcHJvbXB0LXRvb2x0aXBcIj5cbiAgICAgICAgICAgICAgICBDb3B5IHRvIHlvdXIgY2xpcGJvYXJkXG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Ub29sVGlwPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPFRleHRCdXR0b24gdmFyaWFudD1cInNlY29uZGFyeVwiIG9uQ2xpY2s9eygpID0+IHNldFNoYXJlTW9kYWxPcGVuKHRydWUpfT5cbiAgICAgICAgICA8U2hhcmVJY29uU3R5bGVkIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIC8+IFNoYXJlXG4gICAgICAgIDwvVGV4dEJ1dHRvbj5cbiAgICAgICAgPE1vZGFsXG4gICAgICAgICAgaXNPcGVuPXtzaGFyZU1vZGFsT3Blbn1cbiAgICAgICAgICBvblJlcXVlc3RDbG9zZT17KCkgPT4gc2V0U2hhcmVNb2RhbE9wZW4oZmFsc2UpfVxuICAgICAgICAgIHRpdGxlPVwiU2hhcmUgeW91ciBDb2RlYnl0ZSB3aXRoIHRoZSB3b3JsZCFcIlxuICAgICAgICA+XG4gICAgICAgICAgPEJldHRlclNvY2lhbE1lZGlhU2hhcmluZ1xuICAgICAgICAgICAgdXJsPXtnZXRDb2RlYnl0ZVVybChsYW5ndWFnZSwgdGV4dCl9XG4gICAgICAgICAgICBtZXNzYWdlPXtgQ2hlY2sgb3V0IHRoaXMgJHtsYW5ndWFnZX0gY29kZSBJIHdyb3RlIWB9XG4gICAgICAgICAgICBoYXNodGFncz17Wydjb2RlYnl0ZXMnLCBsYW5ndWFnZV19XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8Qm94IGRpc3BsYXk9XCJibG9ja1wiIGFsaWduSXRlbXM9XCJjZW50ZXJcIiBwPXs4fT5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIHNpemU9ezMwfVxuICAgICAgICAgICAgICB2YWx1ZT17Z2V0Q29kZWJ5dGVVcmwobGFuZ3VhZ2UsIHRleHQpfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxUb29sVGlwXG4gICAgICAgICAgICAgIGlkPVwibGluay1jb3BpZWRcIlxuICAgICAgICAgICAgICBhbGlnbm1lbnQ9XCJ0b3AtcmlnaHRcIlxuICAgICAgICAgICAgICBtb2RlPVwiZGFya1wiXG4gICAgICAgICAgICAgIHRhcmdldD17XG4gICAgICAgICAgICAgICAgPFRleHRCdXR0b25cbiAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgICAgb25DbGljaz17b25Db3B5TGlua0NsaWNrfVxuICAgICAgICAgICAgICAgICAgb25CbHVyPXsoKSA9PiBzZXRJc0xpbmtDb3BpZWQoZmFsc2UpfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxDb3B5SWNvblN0eWxlZCBhcmlhLWhpZGRlbj1cInRydWVcIiAvPiBDb3B5IExpbmtcbiAgICAgICAgICAgICAgICA8L1RleHRCdXR0b24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2lzTGlua0NvcGllZCA/IChcbiAgICAgICAgICAgICAgICA8c3BhbiByb2xlPVwiYWxlcnRcIj5Db3BpZWQhPC9zcGFuPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIDxzcGFuIHJvbGU9XCJhbGVydFwiPkNsaWNrIHRvIGNvcHk8L3NwYW4+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L1Rvb2xUaXA+XG4gICAgICAgICAgPC9Cb3g+XG4gICAgICAgIDwvTW9kYWw+XG4gICAgICAgIDxUZXh0QnV0dG9uIHZhcmlhbnQ9XCJzZWNvbmRhcnlcIiBvbkNsaWNrPXsoKSA9PiBzZXRFbWJlZE1vZGFsT3Blbih0cnVlKX0+XG4gICAgICAgICAgPEVkaXRvckljb25TdHlsZWQgYXJpYS1oaWRkZW49XCJ0cnVlXCIgLz4gRW1iZWRcbiAgICAgICAgPC9UZXh0QnV0dG9uPlxuICAgICAgICA8RW1iZWRDb2RlYnl0ZU1vZGFsXG4gICAgICAgICAgaXNNb2RhbE9wZW49e2VtYmVkTW9kYWxPcGVufVxuICAgICAgICAgIHNldElzTW9kYWxPcGVuPXtzZXRFbWJlZE1vZGFsT3Blbn1cbiAgICAgICAgICBsYW5ndWFnZT17bGFuZ3VhZ2V9XG4gICAgICAgICAgdGV4dD17dGV4dH1cbiAgICAgICAgLz5cbiAgICAgICAgPEZpbGxCdXR0b24gb25DbGljaz17aGFuZGxlU3VibWl0fT5cbiAgICAgICAgICB7c3RhdHVzID09PSAnd2FpdGluZycgPyA8U3Bpbm5lciAvPiA6ICdSdW4nfVxuICAgICAgICA8L0ZpbGxCdXR0b24+XG4gICAgICA8L0ZsZXhCb3g+XG4gICAgPC8+XG4gICk7XG59O1xuXG4vLyBUb0RvOlxuLy8gLSBNYWtlIGNvZGVieXRlcyB3b3JrIGluIEFydGljbGVzIG1hcmtkb3duIHJlbmRlcmVyXG4vLyAtIEFkZCBRUiBjb2RlIG9wdGlvbiwgaG9vayB1cCB0byBRUiBjb2RlIEFQSVxuLy8gLSBBZGQgU2hvcCBvcHRpb24sIGhvb2sgdXAgdG8gc29tZSBwcmludGlmeSBBUEkgdXNpbmcgdGhlIFFSIGNvZGUgaW1hZ2VcbiJdfQ== */",
64
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
65
+ });
66
+
67
+ var EditorIconStyled = /*#__PURE__*/_styled(EditorIcon, {
68
+ target: "e1lzxy8e0",
69
+ label: "EditorIconStyled"
70
+ })(process.env.NODE_ENV === "production" ? {
71
+ name: "u7ytkp",
72
+ styles: "margin-right:0.5rem"
73
+ } : {
74
+ name: "u7ytkp",
75
+ styles: "margin-right:0.5rem",
76
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lZGl0b3IudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZDMkMiLCJmaWxlIjoiLi4vc3JjL2VkaXRvci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCb3gsXG4gIEZpbGxCdXR0b24sXG4gIEZsZXhCb3gsXG4gIE1vZGFsLFxuICBTcGlubmVyLFxuICBUZXh0QnV0dG9uLFxuICBUb29sVGlwLFxufSBmcm9tICdAY29kZWNhZGVteS9nYW11dCc7XG5pbXBvcnQgeyBDb3B5SWNvbiwgRWRpdG9ySWNvbiwgU2hhcmVJY29uIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtaWNvbnMnO1xuaW1wb3J0IHsgVXNlckNsaWNrRGF0YSB9IGZyb20gJ0Bjb2RlY2FkZW15L3RyYWNraW5nJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgcG9zdFNuaXBwZXQgfSBmcm9tICcuL2FwaSc7XG5pbXBvcnQgeyBCZXR0ZXJTb2NpYWxNZWRpYVNoYXJpbmcgfSBmcm9tICcuL0JldHRlclNvY2lhbFNoYXJpbmcvYmV0dGVyU29jaWFsU2hhcmluZyc7XG5pbXBvcnQgdHlwZSB7IExhbmd1YWdlT3B0aW9uIH0gZnJvbSAnLi9jb25zdHMnO1xuaW1wb3J0IHsgRHJhd2VycyB9IGZyb20gJy4vZHJhd2Vycyc7XG5pbXBvcnQgeyBFbWJlZENvZGVieXRlTW9kYWwgfSBmcm9tICcuL0VtYmVkTW9kYWwnO1xuaW1wb3J0IHsgZ2V0Q29kZWJ5dGVVcmwsIHRyYWNrQ2xpY2sgfSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHsgU2ltcGxlTW9uYWNvRWRpdG9yIH0gZnJvbSAnLi9Nb25hY29FZGl0b3InO1xuaW1wb3J0IHsgQ29kZWJ5dGVzQ2hhbmdlSGFuZGxlciB9IGZyb20gJy4vdHlwZXMnO1xuXG5jb25zdCBPdXRwdXQgPSBzdHlsZWQucHJlPHsgaGFzRXJyb3I6IGJvb2xlYW4gfT5gXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBmb250LWZhbWlseTogTW9uYWNvO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBvdmVyZmxvdzogYXV0bztcbiAgJHsoeyBoYXNFcnJvciwgdGhlbWUgfSkgPT4gYFxuICBjb2xvcjogJHtoYXNFcnJvciA/IHRoZW1lLmNvbG9ycy5vcmFuZ2UgOiB0aGVtZS5jb2xvcnMudGV4dH07XG4gIGJhY2tncm91bmQtY29sb3I6ICR7dGhlbWUuY29sb3JzWyduYXZ5LTkwMCddfTtcbmB9XG5gO1xuXG5jb25zdCBDb3B5SWNvblN0eWxlZCA9IHN0eWxlZChDb3B5SWNvbilgXG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuYDtcblxuY29uc3QgU2hhcmVJY29uU3R5bGVkID0gc3R5bGVkKFNoYXJlSWNvbilgXG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuYDtcblxuY29uc3QgRWRpdG9ySWNvblN0eWxlZCA9IHN0eWxlZChFZGl0b3JJY29uKWBcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG5gO1xuXG5jb25zdCBET0NLRVJfU0lHVEVSTSA9IDE0MztcblxudHlwZSBFZGl0b3JQcm9wcyA9IHtcbiAgaGlkZUNvcHlCdXR0b246IGJvb2xlYW47XG4gIGxhbmd1YWdlOiBMYW5ndWFnZU9wdGlvbjtcbiAgdGV4dDogc3RyaW5nO1xuICBvbkNoYW5nZTogKHRleHQ6IHN0cmluZykgPT4gdm9pZDtcbiAgc25pcHBldHNCYXNlVXJsPzogc3RyaW5nO1xuICBvbkNvcHk/OiBDb2RlYnl0ZXNDaGFuZ2VIYW5kbGVyO1xuICB0cmFja2luZ0RhdGE/OiBPbWl0PFVzZXJDbGlja0RhdGEsICd0YXJnZXQnPjtcbn07XG5cbmV4cG9ydCBjb25zdCBFZGl0b3I6IFJlYWN0LkZDPEVkaXRvclByb3BzPiA9ICh7XG4gIGxhbmd1YWdlLFxuICB0ZXh0LFxuICBoaWRlQ29weUJ1dHRvbixcbiAgb25DaGFuZ2UsXG4gIG9uQ29weSxcbiAgc25pcHBldHNCYXNlVXJsLFxuICB0cmFja2luZ0RhdGEsXG59KSA9PiB7XG4gIGNvbnN0IFtvdXRwdXQsIHNldE91dHB1dF0gPSB1c2VTdGF0ZSgnJyk7XG4gIGNvbnN0IFtzdGF0dXMsIHNldFN0YXR1c10gPSB1c2VTdGF0ZTwncmVhZHknIHwgJ3dhaXRpbmcnIHwgJ2Vycm9yJz4oJ3JlYWR5Jyk7XG4gIGNvbnN0IFtpc0NvZGVCeXRlQ29waWVkLCBzZXRJc0NvZGVCeXRlQ29waWVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2lzTGlua0NvcGllZCwgc2V0SXNMaW5rQ29waWVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICBjb25zdCBbc2hhcmVNb2RhbE9wZW4sIHNldFNoYXJlTW9kYWxPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2VtYmVkTW9kYWxPcGVuLCBzZXRFbWJlZE1vZGFsT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3Qgb25Db3B5Q2xpY2sgPSAoKSA9PiB7XG4gICAgaWYgKCFpc0NvZGVCeXRlQ29waWVkKSB7XG4gICAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkXG4gICAgICAgIC53cml0ZVRleHQodGV4dClcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgLmNhdGNoKCgpID0+IGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBjb3B5JykpO1xuICAgICAgc2V0SXNDb2RlQnl0ZUNvcGllZCh0cnVlKTtcbiAgICAgIG9uQ29weT8uKHRleHQsIGxhbmd1YWdlKTtcbiAgICAgIHRyYWNrQ2xpY2soJ2NvcHknLCB0cmFja2luZ0RhdGEpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBvbkNvcHlMaW5rQ2xpY2sgPSAoKSA9PiB7XG4gICAgbmF2aWdhdG9yLmNsaXBib2FyZFxuICAgICAgLndyaXRlVGV4dChnZXRDb2RlYnl0ZVVybChsYW5ndWFnZSwgdGV4dCkpXG4gICAgICAudGhlbigoKSA9PiBzZXRJc0xpbmtDb3BpZWQodHJ1ZSkpXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgLmNhdGNoKCgpID0+IGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBjb3B5IGxpbmsnKSk7XG4gIH07XG5cbiAgY29uc3Qgc2V0RXJyb3JTdGF0dXNBbmRPdXRwdXQgPSAobWVzc2FnZTogc3RyaW5nKSA9PiB7XG4gICAgc2V0T3V0cHV0KG1lc3NhZ2UpO1xuICAgIHNldFN0YXR1cygnZXJyb3InKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVTdWJtaXQgPSBhc3luYyAoKSA9PiB7XG4gICAgaWYgKHRleHQudHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBkYXRhID0ge1xuICAgICAgbGFuZ3VhZ2UsXG4gICAgICBjb2RlOiB0ZXh0LFxuICAgIH07XG4gICAgc2V0U3RhdHVzKCd3YWl0aW5nJyk7XG4gICAgc2V0T3V0cHV0KCcnKTtcbiAgICB0cmFja0NsaWNrKCdydW4nLCB0cmFja2luZ0RhdGEpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgcG9zdFNuaXBwZXQoZGF0YSwgc25pcHBldHNCYXNlVXJsKTtcbiAgICAgIGlmIChyZXNwb25zZS5zdGRlcnIubGVuZ3RoID4gMCkge1xuICAgICAgICBzZXRFcnJvclN0YXR1c0FuZE91dHB1dChyZXNwb25zZS5zdGRlcnIpO1xuICAgICAgfSBlbHNlIGlmIChyZXNwb25zZS5leGl0X2NvZGUgPT09IERPQ0tFUl9TSUdURVJNKSB7XG4gICAgICAgIHNldEVycm9yU3RhdHVzQW5kT3V0cHV0KFxuICAgICAgICAgICdZb3VyIGNvZGUgdG9vayB0b28gbG9uZyB0byByZXR1cm4gYSByZXN1bHQuIERvdWJsZSBjaGVjayB5b3VyIGNvZGUgZm9yIGFueSBpc3N1ZXMgYW5kIHRyeSBhZ2FpbiEnXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKHJlc3BvbnNlLmV4aXRfY29kZSAhPT0gMCkge1xuICAgICAgICBzZXRFcnJvclN0YXR1c0FuZE91dHB1dCgnQW4gdW5rbm93biBlcnJvciBvY2N1cmVkLicpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0T3V0cHV0KHJlc3BvbnNlLnN0ZG91dCk7XG4gICAgICAgIHNldFN0YXR1cygncmVhZHknKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgc2V0RXJyb3JTdGF0dXNBbmRPdXRwdXQoJ0Vycm9yOiAnICsgZXJyb3IpO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8RHJhd2Vyc1xuICAgICAgICBsZWZ0Q2hpbGQ9e1xuICAgICAgICAgIDxTaW1wbGVNb25hY29FZGl0b3JcbiAgICAgICAgICAgIHZhbHVlPXt0ZXh0fVxuICAgICAgICAgICAgbGFuZ3VhZ2U9e2xhbmd1YWdlfVxuICAgICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAgcmlnaHRDaGlsZD17XG4gICAgICAgICAgPE91dHB1dCBoYXNFcnJvcj17c3RhdHVzID09PSAnZXJyb3InfSBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAgICAgIHtvdXRwdXR9XG4gICAgICAgICAgPC9PdXRwdXQ+XG4gICAgICAgIH1cbiAgICAgIC8+XG4gICAgICA8RmxleEJveFxuICAgICAgICBqdXN0aWZ5Q29udGVudD17aGlkZUNvcHlCdXR0b24gPyAnZmxleC1lbmQnIDogJ3NwYWNlLWJldHdlZW4nfVxuICAgICAgICBwbD17OH1cbiAgICAgID5cbiAgICAgICAgeyFoaWRlQ29weUJ1dHRvbiA/IChcbiAgICAgICAgICA8VG9vbFRpcFxuICAgICAgICAgICAgaWQ9XCJjb2RlYnl0ZS1jb3BpZWRcIlxuICAgICAgICAgICAgYWxpZ25tZW50PVwidG9wLXJpZ2h0XCJcbiAgICAgICAgICAgIG1vZGU9XCJkYXJrXCJcbiAgICAgICAgICAgIHRhcmdldD17XG4gICAgICAgICAgICAgIDxUZXh0QnV0dG9uXG4gICAgICAgICAgICAgICAgdmFyaWFudD1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25Db3B5Q2xpY2t9XG4gICAgICAgICAgICAgICAgb25CbHVyPXsoKSA9PiBzZXRJc0NvZGVCeXRlQ29waWVkKGZhbHNlKX1cbiAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImNvcHktY29kZWJ5dGUtYnRuXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxDb3B5SWNvblN0eWxlZCBhcmlhLWhpZGRlbj1cInRydWVcIiAvPiBDb3B5XG4gICAgICAgICAgICAgIDwvVGV4dEJ1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7aXNDb2RlQnl0ZUNvcGllZCA/IChcbiAgICAgICAgICAgICAgPHNwYW4gZGF0YS10ZXN0aWQ9XCJjb3B5LWNvbmZpcm1hdGlvbi10b29sdGlwXCIgcm9sZT1cImFsZXJ0XCI+XG4gICAgICAgICAgICAgICAgQ29waWVkIVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRlc3RpZD1cImNvcHktcHJvbXB0LXRvb2x0aXBcIj5cbiAgICAgICAgICAgICAgICBDb3B5IHRvIHlvdXIgY2xpcGJvYXJkXG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Ub29sVGlwPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPFRleHRCdXR0b24gdmFyaWFudD1cInNlY29uZGFyeVwiIG9uQ2xpY2s9eygpID0+IHNldFNoYXJlTW9kYWxPcGVuKHRydWUpfT5cbiAgICAgICAgICA8U2hhcmVJY29uU3R5bGVkIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIC8+IFNoYXJlXG4gICAgICAgIDwvVGV4dEJ1dHRvbj5cbiAgICAgICAgPE1vZGFsXG4gICAgICAgICAgaXNPcGVuPXtzaGFyZU1vZGFsT3Blbn1cbiAgICAgICAgICBvblJlcXVlc3RDbG9zZT17KCkgPT4gc2V0U2hhcmVNb2RhbE9wZW4oZmFsc2UpfVxuICAgICAgICAgIHRpdGxlPVwiU2hhcmUgeW91ciBDb2RlYnl0ZSB3aXRoIHRoZSB3b3JsZCFcIlxuICAgICAgICA+XG4gICAgICAgICAgPEJldHRlclNvY2lhbE1lZGlhU2hhcmluZ1xuICAgICAgICAgICAgdXJsPXtnZXRDb2RlYnl0ZVVybChsYW5ndWFnZSwgdGV4dCl9XG4gICAgICAgICAgICBtZXNzYWdlPXtgQ2hlY2sgb3V0IHRoaXMgJHtsYW5ndWFnZX0gY29kZSBJIHdyb3RlIWB9XG4gICAgICAgICAgICBoYXNodGFncz17Wydjb2RlYnl0ZXMnLCBsYW5ndWFnZV19XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8Qm94IGRpc3BsYXk9XCJibG9ja1wiIGFsaWduSXRlbXM9XCJjZW50ZXJcIiBwPXs4fT5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIHNpemU9ezMwfVxuICAgICAgICAgICAgICB2YWx1ZT17Z2V0Q29kZWJ5dGVVcmwobGFuZ3VhZ2UsIHRleHQpfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxUb29sVGlwXG4gICAgICAgICAgICAgIGlkPVwibGluay1jb3BpZWRcIlxuICAgICAgICAgICAgICBhbGlnbm1lbnQ9XCJ0b3AtcmlnaHRcIlxuICAgICAgICAgICAgICBtb2RlPVwiZGFya1wiXG4gICAgICAgICAgICAgIHRhcmdldD17XG4gICAgICAgICAgICAgICAgPFRleHRCdXR0b25cbiAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgICAgb25DbGljaz17b25Db3B5TGlua0NsaWNrfVxuICAgICAgICAgICAgICAgICAgb25CbHVyPXsoKSA9PiBzZXRJc0xpbmtDb3BpZWQoZmFsc2UpfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxDb3B5SWNvblN0eWxlZCBhcmlhLWhpZGRlbj1cInRydWVcIiAvPiBDb3B5IExpbmtcbiAgICAgICAgICAgICAgICA8L1RleHRCdXR0b24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2lzTGlua0NvcGllZCA/IChcbiAgICAgICAgICAgICAgICA8c3BhbiByb2xlPVwiYWxlcnRcIj5Db3BpZWQhPC9zcGFuPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIDxzcGFuIHJvbGU9XCJhbGVydFwiPkNsaWNrIHRvIGNvcHk8L3NwYW4+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L1Rvb2xUaXA+XG4gICAgICAgICAgPC9Cb3g+XG4gICAgICAgIDwvTW9kYWw+XG4gICAgICAgIDxUZXh0QnV0dG9uIHZhcmlhbnQ9XCJzZWNvbmRhcnlcIiBvbkNsaWNrPXsoKSA9PiBzZXRFbWJlZE1vZGFsT3Blbih0cnVlKX0+XG4gICAgICAgICAgPEVkaXRvckljb25TdHlsZWQgYXJpYS1oaWRkZW49XCJ0cnVlXCIgLz4gRW1iZWRcbiAgICAgICAgPC9UZXh0QnV0dG9uPlxuICAgICAgICA8RW1iZWRDb2RlYnl0ZU1vZGFsXG4gICAgICAgICAgaXNNb2RhbE9wZW49e2VtYmVkTW9kYWxPcGVufVxuICAgICAgICAgIHNldElzTW9kYWxPcGVuPXtzZXRFbWJlZE1vZGFsT3Blbn1cbiAgICAgICAgICBsYW5ndWFnZT17bGFuZ3VhZ2V9XG4gICAgICAgICAgdGV4dD17dGV4dH1cbiAgICAgICAgLz5cbiAgICAgICAgPEZpbGxCdXR0b24gb25DbGljaz17aGFuZGxlU3VibWl0fT5cbiAgICAgICAgICB7c3RhdHVzID09PSAnd2FpdGluZycgPyA8U3Bpbm5lciAvPiA6ICdSdW4nfVxuICAgICAgICA8L0ZpbGxCdXR0b24+XG4gICAgICA8L0ZsZXhCb3g+XG4gICAgPC8+XG4gICk7XG59O1xuXG4vLyBUb0RvOlxuLy8gLSBNYWtlIGNvZGVieXRlcyB3b3JrIGluIEFydGljbGVzIG1hcmtkb3duIHJlbmRlcmVyXG4vLyAtIEFkZCBRUiBjb2RlIG9wdGlvbiwgaG9vayB1cCB0byBRUiBjb2RlIEFQSVxuLy8gLSBBZGQgU2hvcCBvcHRpb24sIGhvb2sgdXAgdG8gc29tZSBwcmludGlmeSBBUEkgdXNpbmcgdGhlIFFSIGNvZGUgaW1hZ2VcbiJdfQ== */",
49
77
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
50
78
  });
51
79
 
@@ -74,6 +102,21 @@ export var Editor = function Editor(_ref2) {
74
102
  isCodeByteCopied = _useState6[0],
75
103
  setIsCodeByteCopied = _useState6[1];
76
104
 
105
+ var _useState7 = useState(false),
106
+ _useState8 = _slicedToArray(_useState7, 2),
107
+ isLinkCopied = _useState8[0],
108
+ setIsLinkCopied = _useState8[1];
109
+
110
+ var _useState9 = useState(false),
111
+ _useState10 = _slicedToArray(_useState9, 2),
112
+ shareModalOpen = _useState10[0],
113
+ setShareModalOpen = _useState10[1];
114
+
115
+ var _useState11 = useState(false),
116
+ _useState12 = _slicedToArray(_useState11, 2),
117
+ embedModalOpen = _useState12[0],
118
+ setEmbedModalOpen = _useState12[1];
119
+
77
120
  var onCopyClick = function onCopyClick() {
78
121
  if (!isCodeByteCopied) {
79
122
  navigator.clipboard.writeText(text) // eslint-disable-next-line no-console
@@ -86,6 +129,15 @@ export var Editor = function Editor(_ref2) {
86
129
  }
87
130
  };
88
131
 
132
+ var onCopyLinkClick = function onCopyLinkClick() {
133
+ navigator.clipboard.writeText(getCodebyteUrl(language, text)).then(function () {
134
+ return setIsLinkCopied(true);
135
+ }) // eslint-disable-next-line no-console
136
+ ["catch"](function () {
137
+ return console.error('Failed to copy link');
138
+ });
139
+ };
140
+
89
141
  var setErrorStatusAndOutput = function setErrorStatusAndOutput(message) {
90
142
  setOutput(message);
91
143
  setStatus('error');
@@ -178,13 +230,70 @@ export var Editor = function Editor(_ref2) {
178
230
  "data-testid": "copy-codebyte-btn"
179
231
  }, /*#__PURE__*/React.createElement(CopyIconStyled, {
180
232
  "aria-hidden": "true"
181
- }), " Copy Codebyte")
233
+ }), " Copy")
182
234
  }, isCodeByteCopied ? /*#__PURE__*/React.createElement("span", {
183
235
  "data-testid": "copy-confirmation-tooltip",
184
236
  role: "alert"
185
237
  }, "Copied!") : /*#__PURE__*/React.createElement("span", {
186
238
  "data-testid": "copy-prompt-tooltip"
187
- }, "Copy to your clipboard")) : null, /*#__PURE__*/React.createElement(FillButton, {
239
+ }, "Copy to your clipboard")) : null, /*#__PURE__*/React.createElement(TextButton, {
240
+ variant: "secondary",
241
+ onClick: function onClick() {
242
+ return setShareModalOpen(true);
243
+ }
244
+ }, /*#__PURE__*/React.createElement(ShareIconStyled, {
245
+ "aria-hidden": "true"
246
+ }), " Share"), /*#__PURE__*/React.createElement(Modal, {
247
+ isOpen: shareModalOpen,
248
+ onRequestClose: function onRequestClose() {
249
+ return setShareModalOpen(false);
250
+ },
251
+ title: "Share your Codebyte with the world!"
252
+ }, /*#__PURE__*/React.createElement(BetterSocialMediaSharing, {
253
+ url: getCodebyteUrl(language, text),
254
+ message: "Check out this ".concat(language, " code I wrote!"),
255
+ hashtags: ['codebytes', language]
256
+ }), /*#__PURE__*/React.createElement(Box, {
257
+ display: "block",
258
+ alignItems: "center",
259
+ p: 8
260
+ }, /*#__PURE__*/React.createElement("input", {
261
+ type: "text",
262
+ size: 30,
263
+ value: getCodebyteUrl(language, text)
264
+ }), /*#__PURE__*/React.createElement(ToolTip, {
265
+ id: "link-copied",
266
+ alignment: "top-right",
267
+ mode: "dark",
268
+ target: /*#__PURE__*/React.createElement(TextButton, {
269
+ variant: "secondary",
270
+ onClick: onCopyLinkClick,
271
+ onBlur: function onBlur() {
272
+ return setIsLinkCopied(false);
273
+ }
274
+ }, /*#__PURE__*/React.createElement(CopyIconStyled, {
275
+ "aria-hidden": "true"
276
+ }), " Copy Link")
277
+ }, isLinkCopied ? /*#__PURE__*/React.createElement("span", {
278
+ role: "alert"
279
+ }, "Copied!") : /*#__PURE__*/React.createElement("span", {
280
+ role: "alert"
281
+ }, "Click to copy")))), /*#__PURE__*/React.createElement(TextButton, {
282
+ variant: "secondary",
283
+ onClick: function onClick() {
284
+ return setEmbedModalOpen(true);
285
+ }
286
+ }, /*#__PURE__*/React.createElement(EditorIconStyled, {
287
+ "aria-hidden": "true"
288
+ }), " Embed"), /*#__PURE__*/React.createElement(EmbedCodebyteModal, {
289
+ isModalOpen: embedModalOpen,
290
+ setIsModalOpen: setEmbedModalOpen,
291
+ language: language,
292
+ text: text
293
+ }), /*#__PURE__*/React.createElement(FillButton, {
188
294
  onClick: handleSubmit
189
295
  }, status === 'waiting' ? /*#__PURE__*/React.createElement(Spinner, null) : 'Run')));
190
- };
296
+ }; // ToDo:
297
+ // - Make codebytes work in Articles markdown renderer
298
+ // - Add QR code option, hook up to QR code API
299
+ // - Add Shop option, hook up to some printify API using the QR code image
@@ -1,2 +1,3 @@
1
1
  import { UserClickData } from '@codecademy/tracking';
2
2
  export declare const trackClick: (target: string, trackingData?: Omit<UserClickData, "target"> | undefined) => void;
3
+ export declare const getCodebyteUrl: (language: string, text: string) => string;
@@ -4,9 +4,13 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
4
4
 
5
5
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
6
 
7
+ import { encode } from 'js-base64';
7
8
  import { trackUserClick } from '../libs/eventTracking';
8
9
  export var trackClick = function trackClick(target, trackingData) {
9
10
  return trackUserClick(_objectSpread(_objectSpread({}, trackingData), {}, {
10
11
  target: target
11
12
  }));
13
+ };
14
+ export var getCodebyteUrl = function getCodebyteUrl(language, text) {
15
+ return "https://codecademy.com/codebyte-editor?lang=".concat(language, "&text=").concat(encode(text));
12
16
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@codecademy/codebytes",
3
3
  "description": "Codebytes Code Editor",
4
- "version": "0.6.13",
4
+ "version": "0.6.14-alpha.e5f2c6.0",
5
5
  "author": "Codecademy Engineering <dev@codecademy.com>",
6
6
  "sideEffects": [
7
7
  "**/*.css",
@@ -64,5 +64,5 @@
64
64
  "files": [
65
65
  "dist/**"
66
66
  ],
67
- "gitHead": "db1b7cddaba64cb5f14ad4a1e067624f852a4a1d"
67
+ "gitHead": "b795b2fc328f15a00ece5f0f19210559485b4581"
68
68
  }