UNPKG

@geist-ui/react

Version:

Modern and minimalist React UI library.

1,112 lines (964 loc) 47.3 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var styledJsx_cjs = require('../styled-jsx.cjs.js'); var React = require('react'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var React__default = /*#__PURE__*/_interopDefaultLegacy(React); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } 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; } function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : 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; } 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); } 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; } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _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."); } function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function () {}; return { s: F, n: function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function (e) { throw e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function () { it = it.call(o); }, n: function () { var step = it.next(); normalCompletion = step.done; return step; }, e: function (e) { didErr = true; err = e; }, f: function () { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } var defaultFont = { sans: '"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif', mono: 'Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace' }; var defaultBreakpoints = { xs: { min: '0', max: '650px' }, sm: { min: '650px', max: '900px' }, md: { min: '900px', max: '1280px' }, lg: { min: '1280px', max: '1920px' }, xl: { min: '1920px', max: '10000px' } }; var defaultLayout = { gap: '16pt', gapNegative: '-16pt', gapHalf: '8pt', gapHalfNegative: '-8pt', gapQuarter: '4pt', gapQuarterNegative: '-4pt', pageMargin: '16pt', pageWidth: '750pt', pageWidthWithMargin: '782pt', breakpointMobile: defaultBreakpoints.xs.max, breakpointTablet: defaultBreakpoints.sm.max, radius: '5px', unit: '16px' }; var palette$1 = { accents_1: '#fafafa', accents_2: '#eaeaea', accents_3: '#999', accents_4: '#888', accents_5: '#666', accents_6: '#444', accents_7: '#333', accents_8: '#111', background: '#fff', foreground: '#000', selection: '#79ffe1', secondary: '#666', code: '#f81ce5', border: '#eaeaea', error: '#e00', errorLight: '#ff1a1a', errorLighter: '#f7d4d6', errorDark: '#c50000', success: '#0070f3', successLight: '#3291ff', successLighter: '#d3e5ff', successDark: '#0761d1', warning: '#f5a623', warningLight: '#f7b955', warningLighter: '#ffefcf', warningDark: '#ab570a', cyan: '#50e3c2', cyanLighter: '#aaffec', cyanLight: '#79ffe1', cyanDark: '#29bc9b', violet: '#7928ca', violetLighter: '#e3d7fc', violetLight: '#8a63d2', violetDark: '#4c2889', purple: '#f81ce5', alert: '#ff0080', magenta: '#eb367f', link: '#0070f3' }; var expressiveness$1 = { linkStyle: 'none', linkHoverStyle: 'none', dropdownBoxShadow: '0 4px 4px 0 rgba(0, 0, 0, 0.02)', scrollerStart: 'rgba(255, 255, 255, 1)', scrollerEnd: 'rgba(255, 255, 255, 0)', shadowSmall: '0 5px 10px rgba(0, 0, 0, 0.12)', shadowMedium: '0 8px 30px rgba(0, 0, 0, 0.12)', shadowLarge: '0 30px 60px rgba(0, 0, 0, 0.12)', portalOpacity: 0.25 }; var font$1 = defaultFont; var breakpoints$1 = defaultBreakpoints; var layout$1 = defaultLayout; var themes$1 = { type: 'light', font: font$1, layout: layout$1, palette: palette$1, breakpoints: breakpoints$1, expressiveness: expressiveness$1 }; var palette = { accents_1: '#111', accents_2: '#333', accents_3: '#444', accents_4: '#666', accents_5: '#888', accents_6: '#999', accents_7: '#eaeaea', accents_8: '#fafafa', background: '#000', foreground: '#fff', selection: '#f81ce5', secondary: '#888', code: '#79ffe1', border: '#333', error: '#e00', errorLighter: '#f7d4d6', errorLight: '#ff1a1a', errorDark: '#c50000', success: '#0070f3', successLighter: '#d3e5ff', successLight: '#3291ff', successDark: '#0761d1', warning: '#f5a623', warningLighter: '#ffefcf', warningLight: '#f7b955', warningDark: '#ab570a', cyan: '#50e3c2', cyanLighter: '#aaffec', cyanLight: '#79ffe1', cyanDark: '#29bc9b', violet: '#7928ca', violetLighter: '#e3d7fc', violetLight: '#8a63d2', violetDark: '#4c2889', purple: '#f81ce5', alert: '#ff0080', magenta: '#eb367f', link: '#3291ff' }; var expressiveness = { linkStyle: 'none', linkHoverStyle: 'none', dropdownBoxShadow: '0 0 0 1px #333', scrollerStart: 'rgba(255, 255, 255, 1)', scrollerEnd: 'rgba(255, 255, 255, 0)', shadowSmall: '0 0 0 1px #333', shadowMedium: '0 0 0 1px #333', shadowLarge: '0 0 0 1px #333', portalOpacity: 0.75 }; var font = defaultFont; var breakpoints = defaultBreakpoints; var layout = defaultLayout; var themes = { type: 'dark', font: font, layout: layout, palette: palette, breakpoints: breakpoints, expressiveness: expressiveness }; var isObject = function isObject(target) { return target && _typeof(target) === 'object'; }; var deepDuplicable = function deepDuplicable(source, target) { if (!isObject(target) || !isObject(source)) return source; var sourceKeys = Object.keys(source); var result = {}; for (var _i = 0, _sourceKeys = sourceKeys; _i < _sourceKeys.length; _i++) { var key = _sourceKeys[_i]; var sourceValue = source[key]; var targetValue = target[key]; if (Array.isArray(sourceValue) && Array.isArray(targetValue)) { result[key] = targetValue.concat(sourceValue); } else if (isObject(sourceValue) && isObject(targetValue)) { result[key] = deepDuplicable(sourceValue, _objectSpread2({}, targetValue)); } else if (targetValue) { result[key] = targetValue; } else { result[key] = sourceValue; } } return result; }; var getPresets = function getPresets() { return [themes$1, themes]; }; var getPresetStaticTheme = function getPresetStaticTheme() { return themes$1; }; var isAvailableThemeType = function isAvailableThemeType(type) { if (!type) return false; var presetThemes = getPresets(); var hasType = presetThemes.find(function (theme) { return theme.type === type; }); return !hasType; }; var isPresetTheme = function isPresetTheme(themeOrType) { if (!themeOrType) return false; var isType = typeof themeOrType === 'string'; var type = isType ? themeOrType : themeOrType.type; return !isAvailableThemeType(type); }; var hasUserCustomTheme = function hasUserCustomTheme() { var themes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; return !!themes.find(function (item) { return isAvailableThemeType(item.type); }); }; var create = function create(base, custom) { if (!isAvailableThemeType(custom.type)) { throw new Error('Duplicate or unavailable theme type'); } return deepDuplicable(base, custom); }; var createFromDark = function createFromDark(custom) { return create(themes, custom); }; var createFromLight = function createFromLight(custom) { return create(themes$1, custom); }; var Themes = { isPresetTheme: isPresetTheme, isAvailableThemeType: isAvailableThemeType, hasUserCustomTheme: hasUserCustomTheme, getPresets: getPresets, getPresetStaticTheme: getPresetStaticTheme, create: create, createFromDark: createFromDark, createFromLight: createFromLight }; var defaultTheme = Themes.getPresetStaticTheme(); var ThemeContext = /*#__PURE__*/React__default["default"].createContext(defaultTheme); var useTheme = function useTheme() { return React__default["default"].useContext(ThemeContext); }; var getStyles = function getStyles(type, palette, fill) { var styles = { "default": { color: palette.foreground, border: palette.border, bgColor: palette.background }, success: { color: palette.success, border: palette.success, bgColor: palette.background }, warning: { color: palette.warning, border: palette.warning, bgColor: palette.background }, error: { color: palette.error, border: palette.error, bgColor: palette.background }, secondary: { color: palette.secondary, border: palette.secondary, bgColor: palette.background }, lite: { color: palette.foreground, border: palette.border, bgColor: palette.accents_1 }, dark: { color: palette.background, border: palette.foreground, bgColor: palette.foreground } }; var filledTypes = ['success', 'warning', 'error', 'secondary']; var style = styles[type]; var shouldFilled = filledTypes.includes(type); if (!fill || !shouldFilled) return style; return _objectSpread2(_objectSpread2({}, style), {}, { color: style.bgColor, bgColor: style.color }); }; var SnippetIconComponent = function SnippetIconComponent() { return /*#__PURE__*/React__default["default"].createElement("svg", { viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", fill: "none", shapeRendering: "geometricPrecision", style: { color: 'currentcolor' }, className: "jsx-418323402" }, /*#__PURE__*/React__default["default"].createElement("path", { d: "M8 17.929H6c-1.105 0-2-.912-2-2.036V5.036C4 3.91 4.895 3 6 3h8c1.105 0 2 .911 2 2.036v1.866m-6 .17h8c1.105 0 2 .91 2 2.035v10.857C20 21.09 19.105 22 18 22h-8c-1.105 0-2-.911-2-2.036V9.107c0-1.124.895-2.036 2-2.036z", className: "jsx-418323402" }), /*#__PURE__*/React__default["default"].createElement(styledJsx_cjs.style, { id: "418323402" }, "svg.jsx-418323402{width:calc(var(--snippet-font-size) * 1.69);height:calc(var(--snippet-font-size) * 1.69);}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNuaXBwZXQtaWNvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBY2tCLEFBR3VELDRDQUNDLDZDQUMvQyIsImZpbGUiOiJzbmlwcGV0LWljb24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuXG5jb25zdCBTbmlwcGV0SWNvbkNvbXBvbmVudDogUmVhY3QuRkM8dW5rbm93bj4gPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPHN2Z1xuICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgc3Ryb2tlV2lkdGg9XCIxLjVcIlxuICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgc2hhcGVSZW5kZXJpbmc9XCJnZW9tZXRyaWNQcmVjaXNpb25cIlxuICAgICAgc3R5bGU9e3sgY29sb3I6ICdjdXJyZW50Y29sb3InIH19PlxuICAgICAgPHBhdGggZD1cIk04IDE3LjkyOUg2Yy0xLjEwNSAwLTItLjkxMi0yLTIuMDM2VjUuMDM2QzQgMy45MSA0Ljg5NSAzIDYgM2g4YzEuMTA1IDAgMiAuOTExIDIgMi4wMzZ2MS44NjZtLTYgLjE3aDhjMS4xMDUgMCAyIC45MSAyIDIuMDM1djEwLjg1N0MyMCAyMS4wOSAxOS4xMDUgMjIgMTggMjJoLThjLTEuMTA1IDAtMi0uOTExLTItMi4wMzZWOS4xMDdjMC0xLjEyNC44OTUtMi4wMzYgMi0yLjAzNnpcIiAvPlxuICAgICAgPHN0eWxlIGpzeD57YFxuICAgICAgICBzdmcge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKHZhcigtLXNuaXBwZXQtZm9udC1zaXplKSAqIDEuNjkpO1xuICAgICAgICAgIGhlaWdodDogY2FsYyh2YXIoLS1zbmlwcGV0LWZvbnQtc2l6ZSkgKiAxLjY5KTtcbiAgICAgICAgfVxuICAgICAgYH08L3N0eWxlPlxuICAgIDwvc3ZnPlxuICApXG59XG5cblNuaXBwZXRJY29uQ29tcG9uZW50LmRpc3BsYXlOYW1lID0gJ0dlaXN0U25pcHBldEljb24nXG5jb25zdCBTbmlwcGV0SWNvbiA9IFJlYWN0Lm1lbW8oU25pcHBldEljb25Db21wb25lbnQpXG5leHBvcnQgZGVmYXVsdCBTbmlwcGV0SWNvblxuIl19 */\n/*@ sourceURL=snippet-icon.tsx */")); }; SnippetIconComponent.displayName = 'GeistSnippetIcon'; var SnippetIcon = /*#__PURE__*/React__default["default"].memo(SnippetIconComponent); var getId = function getId() { return Math.random().toString(32).slice(2, 10); }; var isBrowser = function isBrowser() { return Boolean(typeof window !== 'undefined' && window.document && window.document.createElement); }; var isCSSNumberValue = function isCSSNumberValue(value) { return value !== undefined && !Number.isNaN(+value); }; var useSSR = function useSSR() { var _useState = React.useState(false), _useState2 = _slicedToArray(_useState, 2), browser = _useState2[0], setBrowser = _useState2[1]; React.useEffect(function () { setBrowser(isBrowser()); }, []); return { isBrowser: browser, isServer: !browser }; }; var createElement = function createElement(id) { var el = document.createElement('div'); el.setAttribute('id', id); return el; }; var usePortal = function usePortal() { var selectId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getId(); var getContainer = arguments.length > 1 ? arguments[1] : undefined; var id = "geist-ui-".concat(selectId); var _useSSR = useSSR(), isBrowser = _useSSR.isBrowser; var _useState = React.useState(isBrowser ? createElement(id) : null), _useState2 = _slicedToArray(_useState, 2), elSnapshot = _useState2[0], setElSnapshot = _useState2[1]; React.useEffect(function () { var customContainer = getContainer ? getContainer() : null; var parentElement = customContainer || document.body; var hasElement = parentElement.querySelector("#".concat(id)); var el = hasElement || createElement(id); if (!hasElement) { parentElement.appendChild(el); } setElSnapshot(el); }, []); return elSnapshot; }; var warningStack = {}; var useWarning = function useWarning(message, component) { var tag = component ? " [".concat(component, "]") : ' '; var log = "[Geist UI]".concat(tag, ": ").concat(message); if (typeof console === 'undefined') return; if (warningStack[log]) return; warningStack[log] = true; if (process.env.NODE_ENV !== 'production') { return console.error(log); } console.warn(log); }; var defaultOptions = { onError: function onError() { return useWarning('Failed to copy.', 'use-clipboard'); } }; var useClipboard = function useClipboard() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultOptions; var el = usePortal('clipboard'); var copyText = function copyText(el, text) { if (!el || !text) return; var selection = window.getSelection(); if (!selection) return; el.style.whiteSpace = 'pre'; el.textContent = text; var range = window.document.createRange(); selection.removeAllRanges(); range.selectNode(el); selection.addRange(range); try { window.document.execCommand('copy'); } catch (e) { options.onError && options.onError(); } selection.removeAllRanges(); if (el) { el.textContent = ''; } }; var copy = React.useCallback(function (text) { copyText(el, text); }, [el]); return { copy: copy }; }; var useCurrentState = function useCurrentState(initialState) { var _useState = React.useState(function () { return typeof initialState === 'function' ? initialState() : initialState; }), _useState2 = _slicedToArray(_useState, 2), state = _useState2[0], setState = _useState2[1]; var ref = React.useRef(initialState); React.useEffect(function () { ref.current = state; }, [state]); var setValue = function setValue(val) { var result = typeof val === 'function' ? val(ref.current) : val; ref.current = result; setState(result); }; return [state, setValue, ref]; }; var defaultParams = { toasts: [], toastHovering: false, updateToasts: function updateToasts(t) { return t; }, updateToastHoverStatus: function updateToastHoverStatus() {} }; var GeistUIContent = /*#__PURE__*/React__default["default"].createContext(defaultParams); var useGeistUIContext = function useGeistUIContext() { return React__default["default"].useContext(GeistUIContent); }; var defaultToast = { delay: 2000 }; var destoryStack = []; var maxDestoryTime = 0; var destoryTimer; var useToasts = function useToasts() { var _useGeistUIContext = useGeistUIContext(), updateToasts = _useGeistUIContext.updateToasts, toastHovering = _useGeistUIContext.toastHovering, toasts = _useGeistUIContext.toasts; var _useCurrentState = useCurrentState(toastHovering), _useCurrentState2 = _slicedToArray(_useCurrentState, 3), setHovering = _useCurrentState2[1], hoveringRef = _useCurrentState2[2]; React.useEffect(function () { return setHovering(toastHovering); }, [toastHovering]); var destoryAll = function destoryAll(delay, time) { /* istanbul ignore next */ if (time <= maxDestoryTime) return; clearTimeout(destoryTimer); maxDestoryTime = time; destoryTimer = window.setTimeout(function () { /* istanbul ignore next */ updateToasts(function (currentToasts) { if (destoryStack.length < currentToasts.length) { return currentToasts; } destoryStack = []; return []; }); clearTimeout(destoryTimer); }, delay + 350); }; var setToast = function setToast(toast) { var id = "toast-".concat(getId()); var delay = toast.delay || defaultToast.delay; var cancel = function cancel(id, delay) { updateToasts(function (currentToasts) { return currentToasts.map(function (item) { if (item.id !== id) return item; return _objectSpread2(_objectSpread2({}, item), {}, { willBeDestroy: true }); }); }); destoryStack.push(id); destoryAll(delay, performance.now()); }; updateToasts(function (currentToasts) { var newToast = _objectSpread2(_objectSpread2({}, toast), {}, { id: id, delay: delay, cancel: function (_cancel) { function cancel() { return _cancel.apply(this, arguments); } cancel.toString = function () { return _cancel.toString(); }; return cancel; }(function () { return cancel(id, delay); }) }); return [].concat(_toConsumableArray(currentToasts), [newToast]); }); var hideToast = function hideToast(id, delay) { var hideTimer = window.setTimeout(function () { if (hoveringRef.current) { hideToast(id, delay); return clearTimeout(hideTimer); } cancel(id, delay); clearTimeout(hideTimer); }, delay); }; hideToast(id, delay); }; return [toasts, setToast]; }; var defaultDynamicLayoutPipe = function defaultDynamicLayoutPipe(scale1x) { return "".concat(scale1x); }; var defaultContext = { getScaleableProps: function getScaleableProps() { return undefined; }, SCALES: { pl: defaultDynamicLayoutPipe, pr: defaultDynamicLayoutPipe, pb: defaultDynamicLayoutPipe, pt: defaultDynamicLayoutPipe, px: defaultDynamicLayoutPipe, py: defaultDynamicLayoutPipe, mb: defaultDynamicLayoutPipe, ml: defaultDynamicLayoutPipe, mr: defaultDynamicLayoutPipe, mt: defaultDynamicLayoutPipe, mx: defaultDynamicLayoutPipe, my: defaultDynamicLayoutPipe, width: defaultDynamicLayoutPipe, height: defaultDynamicLayoutPipe, font: defaultDynamicLayoutPipe }, unit: '16px' }; var ScaleableContext = /*#__PURE__*/React__default["default"].createContext(defaultContext); var useScaleable = function useScaleable() { return React__default["default"].useContext(ScaleableContext); }; var _excluded$1 = ["children"]; var reduceScaleCoefficient = function reduceScaleCoefficient(scale) { if (scale === 1) return scale; var diff = Math.abs((scale - 1) / 2); return scale > 1 ? 1 + diff : 1 - diff; }; var withScaleable = function withScaleable(Render) { var ScaleableFC = /*#__PURE__*/React.forwardRef(function (_ref, ref) { var _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12, _ref13, _ref14, _ref15, _ref16, _ref17, _ref18, _ref19, _ref20, _ref21, _ref22, _ref23, _ref24, _ref25, _ref26, _ref27, _ref28, _ref29, _ref30, _ref31, _ref32, _ref33; var children = _ref.children, props = _objectWithoutProperties(_ref, _excluded$1); var _useTheme = useTheme(), layout = _useTheme.layout; var paddingLeft = props.paddingLeft, pl = props.pl, paddingRight = props.paddingRight, pr = props.pr, paddingTop = props.paddingTop, pt = props.pt, paddingBottom = props.paddingBottom, pb = props.pb, marginTop = props.marginTop, mt = props.mt, marginRight = props.marginRight, mr = props.mr, marginBottom = props.marginBottom, mb = props.mb, marginLeft = props.marginLeft, ml = props.ml, px = props.px, py = props.py, mx = props.mx, my = props.my, width = props.width, height = props.height, font = props.font, w = props.w, h = props.h, margin = props.margin, padding = props.padding, _props$unit = props.unit, unit = _props$unit === void 0 ? layout.unit : _props$unit, _props$scale = props.scale, scale = _props$scale === void 0 ? 1 : _props$scale; var makeScaleHandler = function makeScaleHandler(attrValue) { return function (scale1x, defaultValue) { // 0 means disable scale and the default value is 0 if (scale1x === 0) { scale1x = 1; defaultValue = defaultValue || 0; } var factor = reduceScaleCoefficient(scale) * scale1x; if (typeof attrValue === 'undefined') { if (typeof defaultValue !== 'undefined') return "".concat(defaultValue); return "calc(".concat(factor, " * ").concat(unit, ")"); } if (!isCSSNumberValue(attrValue)) return "".concat(attrValue); var customFactor = factor * Number(attrValue); return "calc(".concat(customFactor, " * ").concat(unit, ")"); }; }; var getScaleableProps = function getScaleableProps(keyOrKeys) { if (!Array.isArray(keyOrKeys)) return props[keyOrKeys]; var value = undefined; var _iterator = _createForOfIteratorHelper(keyOrKeys), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var key = _step.value; var currentValue = props[key]; if (typeof currentValue !== 'undefined') { value = currentValue; } } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } return value; }; var value = { unit: unit, SCALES: { pt: makeScaleHandler((_ref2 = (_ref3 = paddingTop !== null && paddingTop !== void 0 ? paddingTop : pt) !== null && _ref3 !== void 0 ? _ref3 : py) !== null && _ref2 !== void 0 ? _ref2 : padding), pr: makeScaleHandler((_ref4 = (_ref5 = paddingRight !== null && paddingRight !== void 0 ? paddingRight : pr) !== null && _ref5 !== void 0 ? _ref5 : px) !== null && _ref4 !== void 0 ? _ref4 : padding), pb: makeScaleHandler((_ref6 = (_ref7 = paddingBottom !== null && paddingBottom !== void 0 ? paddingBottom : pb) !== null && _ref7 !== void 0 ? _ref7 : py) !== null && _ref6 !== void 0 ? _ref6 : padding), pl: makeScaleHandler((_ref8 = (_ref9 = paddingLeft !== null && paddingLeft !== void 0 ? paddingLeft : pl) !== null && _ref9 !== void 0 ? _ref9 : px) !== null && _ref8 !== void 0 ? _ref8 : padding), px: makeScaleHandler((_ref10 = (_ref11 = (_ref12 = (_ref13 = px !== null && px !== void 0 ? px : paddingLeft) !== null && _ref13 !== void 0 ? _ref13 : paddingRight) !== null && _ref12 !== void 0 ? _ref12 : pl) !== null && _ref11 !== void 0 ? _ref11 : pr) !== null && _ref10 !== void 0 ? _ref10 : padding), py: makeScaleHandler((_ref14 = (_ref15 = (_ref16 = (_ref17 = py !== null && py !== void 0 ? py : paddingTop) !== null && _ref17 !== void 0 ? _ref17 : paddingBottom) !== null && _ref16 !== void 0 ? _ref16 : pt) !== null && _ref15 !== void 0 ? _ref15 : pb) !== null && _ref14 !== void 0 ? _ref14 : padding), mt: makeScaleHandler((_ref18 = (_ref19 = marginTop !== null && marginTop !== void 0 ? marginTop : mt) !== null && _ref19 !== void 0 ? _ref19 : my) !== null && _ref18 !== void 0 ? _ref18 : margin), mr: makeScaleHandler((_ref20 = (_ref21 = marginRight !== null && marginRight !== void 0 ? marginRight : mr) !== null && _ref21 !== void 0 ? _ref21 : mx) !== null && _ref20 !== void 0 ? _ref20 : margin), mb: makeScaleHandler((_ref22 = (_ref23 = marginBottom !== null && marginBottom !== void 0 ? marginBottom : mb) !== null && _ref23 !== void 0 ? _ref23 : my) !== null && _ref22 !== void 0 ? _ref22 : margin), ml: makeScaleHandler((_ref24 = (_ref25 = marginLeft !== null && marginLeft !== void 0 ? marginLeft : ml) !== null && _ref25 !== void 0 ? _ref25 : mx) !== null && _ref24 !== void 0 ? _ref24 : margin), mx: makeScaleHandler((_ref26 = (_ref27 = (_ref28 = (_ref29 = mx !== null && mx !== void 0 ? mx : marginLeft) !== null && _ref29 !== void 0 ? _ref29 : marginRight) !== null && _ref28 !== void 0 ? _ref28 : ml) !== null && _ref27 !== void 0 ? _ref27 : mr) !== null && _ref26 !== void 0 ? _ref26 : margin), my: makeScaleHandler((_ref30 = (_ref31 = (_ref32 = (_ref33 = my !== null && my !== void 0 ? my : marginTop) !== null && _ref33 !== void 0 ? _ref33 : marginBottom) !== null && _ref32 !== void 0 ? _ref32 : mt) !== null && _ref31 !== void 0 ? _ref31 : mb) !== null && _ref30 !== void 0 ? _ref30 : margin), width: makeScaleHandler(width !== null && width !== void 0 ? width : w), height: makeScaleHandler(height !== null && height !== void 0 ? height : h), font: makeScaleHandler(font) }, getScaleableProps: getScaleableProps }; return /*#__PURE__*/React__default["default"].createElement(ScaleableContext.Provider, { value: value }, /*#__PURE__*/React__default["default"].createElement(Render, _extends({}, props, { ref: ref }), children)); }); ScaleableFC.displayName = "Scaleable".concat(Render.displayName || 'Wrapper'); return ScaleableFC; }; var ScaleablePropKeys = ['paddingLeft', 'pl', 'paddingRight', 'pr', 'paddingTop', 'pt', 'paddingBottom', 'pb', 'marginTop', 'mt', 'marginRight', 'mr', 'marginBottom', 'mb', 'marginLeft', 'ml', 'px', 'py', 'mx', 'my', 'width', 'height', 'font', 'unit', 'scale', 'size']; var withPureProps = function withPureProps(props) { if (!props) return {}; var keys = Object.keys(props).filter(function (key) { return key !== ''; }); var nextProps = {}; var _iterator = _createForOfIteratorHelper(keys), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var key = _step.value; if (!ScaleablePropKeys.includes(key)) { nextProps[key] = props[key]; } } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } return nextProps; }; var _excluded = ["type", "filled", "children", "symbol", "toastText", "toastType", "text", "copy", "className"]; var defaultProps = { filled: false, symbol: '$', toastText: 'Copied to clipboard!', toastType: 'success', copy: 'default', type: 'default', className: '' }; var textArrayToString = function textArrayToString(text) { return text.reduce(function (pre, current) { if (!current) return pre; return pre ? "".concat(pre, "\n").concat(current) : current; }, ''); }; var SnippetComponent = function SnippetComponent(_ref) { var type = _ref.type, filled = _ref.filled, children = _ref.children, symbol = _ref.symbol, toastText = _ref.toastText, toastType = _ref.toastType, text = _ref.text, copyType = _ref.copy, className = _ref.className, props = _objectWithoutProperties(_ref, _excluded); var theme = useTheme(); var _useScaleable = useScaleable(), SCALES = _useScaleable.SCALES; var _useClipboard = useClipboard(), copy = _useClipboard.copy; var _useToasts = useToasts(), _useToasts2 = _slicedToArray(_useToasts, 2), setToast = _useToasts2[1]; var ref = React.useRef(null); var isMultiLine = text && Array.isArray(text); var style = React.useMemo(function () { return getStyles(type, theme.palette, filled); }, [type, theme.palette, filled]); var showCopyIcon = React.useMemo(function () { return copyType !== 'prevent'; }, [copyType]); var childText = React.useMemo(function () { if (isMultiLine) return textArrayToString(text); if (!children) return text; if (!ref.current) return ''; return ref.current.textContent; }, [ref.current, children, text]); var symbolBefore = React.useMemo(function () { var str = symbol.trim(); return str ? "".concat(str, " ") : ''; }, [symbol]); var clickHandler = function clickHandler() { if (!childText || !showCopyIcon) return; copy(childText); if (copyType === 'silent') return; setToast({ text: toastText, type: toastType }); }; return /*#__PURE__*/React__default["default"].createElement("div", _extends({}, withPureProps(props), { className: styledJsx_cjs.style.dynamic([["1687463382", [style.color, style.bgColor, style.border, theme.layout.radius, SCALES.font(0.8125), SCALES.pt(0.667), SCALES.width(1, 'initial'), SCALES.height(1, 'auto'), SCALES.pt(0.667), SCALES.pr(2.667), SCALES.pb(0.667), SCALES.pl(0.667), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), style.color, symbolBefore, style.bgColor, isMultiLine ? 'flex-start' : 'center', theme.layout.radius, isMultiLine ? 'var(--snippet-padding-top)' : 0]]]) + " " + "snippet ".concat(className) }), isMultiLine ? text.map(function (t, index) { return /*#__PURE__*/React__default["default"].createElement("pre", { key: "snippet-".concat(index, "-").concat(t), className: styledJsx_cjs.style.dynamic([["1687463382", [style.color, style.bgColor, style.border, theme.layout.radius, SCALES.font(0.8125), SCALES.pt(0.667), SCALES.width(1, 'initial'), SCALES.height(1, 'auto'), SCALES.pt(0.667), SCALES.pr(2.667), SCALES.pb(0.667), SCALES.pl(0.667), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), style.color, symbolBefore, style.bgColor, isMultiLine ? 'flex-start' : 'center', theme.layout.radius, isMultiLine ? 'var(--snippet-padding-top)' : 0]]]) }, t); }) : /*#__PURE__*/React__default["default"].createElement("pre", { ref: ref, className: styledJsx_cjs.style.dynamic([["1687463382", [style.color, style.bgColor, style.border, theme.layout.radius, SCALES.font(0.8125), SCALES.pt(0.667), SCALES.width(1, 'initial'), SCALES.height(1, 'auto'), SCALES.pt(0.667), SCALES.pr(2.667), SCALES.pb(0.667), SCALES.pl(0.667), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), style.color, symbolBefore, style.bgColor, isMultiLine ? 'flex-start' : 'center', theme.layout.radius, isMultiLine ? 'var(--snippet-padding-top)' : 0]]]) }, children || text), showCopyIcon && /*#__PURE__*/React__default["default"].createElement("div", { onClick: clickHandler, className: styledJsx_cjs.style.dynamic([["1687463382", [style.color, style.bgColor, style.border, theme.layout.radius, SCALES.font(0.8125), SCALES.pt(0.667), SCALES.width(1, 'initial'), SCALES.height(1, 'auto'), SCALES.pt(0.667), SCALES.pr(2.667), SCALES.pb(0.667), SCALES.pl(0.667), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), style.color, symbolBefore, style.bgColor, isMultiLine ? 'flex-start' : 'center', theme.layout.radius, isMultiLine ? 'var(--snippet-padding-top)' : 0]]]) + " " + "copy" }, /*#__PURE__*/React__default["default"].createElement(SnippetIcon, null)), /*#__PURE__*/React__default["default"].createElement(styledJsx_cjs.style, { id: "1687463382", dynamic: [style.color, style.bgColor, style.border, theme.layout.radius, SCALES.font(0.8125), SCALES.pt(0.667), SCALES.width(1, 'initial'), SCALES.height(1, 'auto'), SCALES.pt(0.667), SCALES.pr(2.667), SCALES.pb(0.667), SCALES.pl(0.667), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), style.color, symbolBefore, style.bgColor, isMultiLine ? 'flex-start' : 'center', theme.layout.radius, isMultiLine ? 'var(--snippet-padding-top)' : 0] }, ".snippet.__jsx-style-dynamic-selector{position:relative;max-width:100%;color:".concat(style.color, ";background-color:").concat(style.bgColor, ";border:1px solid ").concat(style.border, ";border-radius:").concat(theme.layout.radius, ";--snippet-font-size:").concat(SCALES.font(0.8125), ";--snippet-padding-top:").concat(SCALES.pt(0.667), ";font-size:var(--snippet-font-size);width:").concat(SCALES.width(1, 'initial'), ";height:").concat(SCALES.height(1, 'auto'), ";padding:").concat(SCALES.pt(0.667), " ").concat(SCALES.pr(2.667), " ").concat(SCALES.pb(0.667), " ").concat(SCALES.pl(0.667), ";margin:").concat(SCALES.mt(0), " ").concat(SCALES.mr(0), " ").concat(SCALES.mb(0), " ").concat(SCALES.ml(0), ";}pre.__jsx-style-dynamic-selector{margin:0;padding:0;border:none;background-color:transparent;color:").concat(style.color, ";font-size:inherit;}pre.__jsx-style-dynamic-selector::before{content:'").concat(symbolBefore, "';-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}pre.__jsx-style-dynamic-selector *{margin:0;padding:0;font-size:inherit;color:inherit;}.copy.__jsx-style-dynamic-selector{position:absolute;right:0;top:0;bottom:0;height:calc(100% - 2px);background-color:").concat(style.bgColor, ";display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:").concat(isMultiLine ? 'flex-start' : 'center', ";-webkit-box-align:").concat(isMultiLine ? 'flex-start' : 'center', ";-ms-flex-align:").concat(isMultiLine ? 'flex-start' : 'center', ";align-items:").concat(isMultiLine ? 'flex-start' : 'center', ";width:calc(3.281 * var(--snippet-font-size));color:inherit;-webkit-transition:opacity 0.2s ease 0s;transition:opacity 0.2s ease 0s;border-radius:").concat(theme.layout.radius, ";cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding-top:").concat(isMultiLine ? 'var(--snippet-padding-top)' : 0, ";}.copy.__jsx-style-dynamic-selector:hover{opacity:0.7;}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNuaXBwZXQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStGa0IsQUFHNkIsQUFpQlQsQUFTK0IsQUFLL0IsQUFPUyxBQW1CTixTQXZDRixBQWNBLEdBMEJaLE1BekRpQixBQXNDUCxDQXBCSSxBQWNNLE9BT1osS0FwQnVCLENBcUJwQixDQXZDMEIsSUFnQ3JCLEdBUEcsQ0FlTyxVQVAxQixTQWRzQyxLQXNCVyxHQXhDRCw0QkFtQjVCLGdCQXNCRSxFQXhDMEIsQUFtQmhELFdBS0EsbUNBdkI2QywyQ0FDTSxXQXVDMUIsc0NBdEM0QixtREFDaEIsVUFzQ08seUJBckNQLG1DQUNDLG9DQUVMLHlGQW1DYyxxQ0FsQ2tGLFFBbUNqSCxjQUNrQix3RUFDWSxpQ0FwQzlDLFdBcUNpQixlQUNFLHFGQUN5QiwwQ0FDNUMiLCJmaWxlIjoic25pcHBldC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlTWVtbywgdXNlUmVmIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgdXNlVGhlbWUgZnJvbSAnLi4vdXNlLXRoZW1lJ1xuaW1wb3J0IHsgU25pcHBldFR5cGVzLCBDb3B5VHlwZXMsIE5vcm1hbFR5cGVzIH0gZnJvbSAnLi4vdXRpbHMvcHJvcC10eXBlcydcbmltcG9ydCB7IGdldFN0eWxlcyB9IGZyb20gJy4vc3R5bGVzJ1xuaW1wb3J0IFNuaXBwZXRJY29uIGZyb20gJy4vc25pcHBldC1pY29uJ1xuaW1wb3J0IHVzZUNsaXBib2FyZCBmcm9tICcuLi91dGlscy91c2UtY2xpcGJvYXJkJ1xuaW1wb3J0IHVzZVRvYXN0cyBmcm9tICcuLi91c2UtdG9hc3RzJ1xuaW1wb3J0IHVzZVNjYWxlYWJsZSwgeyB3aXRoUHVyZVByb3BzLCB3aXRoU2NhbGVhYmxlIH0gZnJvbSAnLi4vdXNlLXNjYWxlYWJsZSdcblxuZXhwb3J0IHR5cGUgVG9hc3RUeXBlcyA9IE5vcm1hbFR5cGVzXG5pbnRlcmZhY2UgUHJvcHMge1xuICB0ZXh0Pzogc3RyaW5nIHwgc3RyaW5nW11cbiAgc3ltYm9sPzogc3RyaW5nXG4gIHRvYXN0VGV4dD86IHN0cmluZ1xuICB0b2FzdFR5cGU/OiBUb2FzdFR5cGVzXG4gIGZpbGxlZD86IGJvb2xlYW5cbiAgY29weT86IENvcHlUeXBlc1xuICB0eXBlPzogU25pcHBldFR5cGVzXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xufVxuXG5jb25zdCBkZWZhdWx0UHJvcHMgPSB7XG4gIGZpbGxlZDogZmFsc2UsXG4gIHN5bWJvbDogJyQnLFxuICB0b2FzdFRleHQ6ICdDb3BpZWQgdG8gY2xpcGJvYXJkIScsXG4gIHRvYXN0VHlwZTogJ3N1Y2Nlc3MnIGFzIFRvYXN0VHlwZXMsXG4gIGNvcHk6ICdkZWZhdWx0JyBhcyBDb3B5VHlwZXMsXG4gIHR5cGU6ICdkZWZhdWx0JyBhcyBTbmlwcGV0VHlwZXMsXG4gIGNsYXNzTmFtZTogJycsXG59XG5cbnR5cGUgTmF0aXZlQXR0cnMgPSBPbWl0PFJlYWN0LkhUTUxBdHRyaWJ1dGVzPGFueT4sIGtleW9mIFByb3BzPlxuZXhwb3J0IHR5cGUgU25pcHBldFByb3BzID0gUHJvcHMgJiBOYXRpdmVBdHRyc1xuXG5jb25zdCB0ZXh0QXJyYXlUb1N0cmluZyA9ICh0ZXh0OiBzdHJpbmdbXSk6IHN0cmluZyA9PiB7XG4gIHJldHVybiB0ZXh0LnJlZHVjZSgocHJlLCBjdXJyZW50KSA9PiB7XG4gICAgaWYgKCFjdXJyZW50KSByZXR1cm4gcHJlXG4gICAgcmV0dXJuIHByZSA/IGAke3ByZX1cXG4ke2N1cnJlbnR9YCA6IGN1cnJlbnRcbiAgfSwgJycpXG59XG5cbmNvbnN0IFNuaXBwZXRDb21wb25lbnQ6IFJlYWN0LkZDPFJlYWN0LlByb3BzV2l0aENoaWxkcmVuPFNuaXBwZXRQcm9wcz4+ID0gKHtcbiAgdHlwZSxcbiAgZmlsbGVkLFxuICBjaGlsZHJlbixcbiAgc3ltYm9sLFxuICB0b2FzdFRleHQsXG4gIHRvYXN0VHlwZSxcbiAgdGV4dCxcbiAgY29weTogY29weVR5cGUsXG4gIGNsYXNzTmFtZSxcbiAgLi4ucHJvcHNcbn06IFJlYWN0LlByb3BzV2l0aENoaWxkcmVuPFNuaXBwZXRQcm9wcz4gJiB0eXBlb2YgZGVmYXVsdFByb3BzKSA9PiB7XG4gIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKVxuICBjb25zdCB7IFNDQUxFUyB9ID0gdXNlU2NhbGVhYmxlKClcbiAgY29uc3QgeyBjb3B5IH0gPSB1c2VDbGlwYm9hcmQoKVxuICBjb25zdCBbLCBzZXRUb2FzdF0gPSB1c2VUb2FzdHMoKVxuICBjb25zdCByZWYgPSB1c2VSZWY8SFRNTFByZUVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IGlzTXVsdGlMaW5lID0gdGV4dCAmJiBBcnJheS5pc0FycmF5KHRleHQpXG5cbiAgY29uc3Qgc3R5bGUgPSB1c2VNZW1vKFxuICAgICgpID0+IGdldFN0eWxlcyh0eXBlLCB0aGVtZS5wYWxldHRlLCBmaWxsZWQpLFxuICAgIFt0eXBlLCB0aGVtZS5wYWxldHRlLCBmaWxsZWRdLFxuICApXG4gIGNvbnN0IHNob3dDb3B5SWNvbiA9IHVzZU1lbW8oKCkgPT4gY29weVR5cGUgIT09ICdwcmV2ZW50JywgW2NvcHlUeXBlXSlcbiAgY29uc3QgY2hpbGRUZXh0ID0gdXNlTWVtbzxzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsPigoKSA9PiB7XG4gICAgaWYgKGlzTXVsdGlMaW5lKSByZXR1cm4gdGV4dEFycmF5VG9TdHJpbmcodGV4dCBhcyBzdHJpbmdbXSlcbiAgICBpZiAoIWNoaWxkcmVuKSByZXR1cm4gdGV4dCBhcyBzdHJpbmdcbiAgICBpZiAoIXJlZi5jdXJyZW50KSByZXR1cm4gJydcbiAgICByZXR1cm4gcmVmLmN1cnJlbnQudGV4dENvbnRlbnRcbiAgfSwgW3JlZi5jdXJyZW50LCBjaGlsZHJlbiwgdGV4dF0pXG4gIGNvbnN0IHN5bWJvbEJlZm9yZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IHN0ciA9IHN5bWJvbC50cmltKClcbiAgICByZXR1cm4gc3RyID8gYCR7c3RyfSBgIDogJydcbiAgfSwgW3N5bWJvbF0pXG5cbiAgY29uc3QgY2xpY2tIYW5kbGVyID0gKCkgPT4ge1xuICAgIGlmICghY2hpbGRUZXh0IHx8ICFzaG93Q29weUljb24pIHJldHVyblxuICAgIGNvcHkoY2hpbGRUZXh0KVxuICAgIGlmIChjb3B5VHlwZSA9PT0gJ3NpbGVudCcpIHJldHVyblxuICAgIHNldFRvYXN0KHsgdGV4dDogdG9hc3RUZXh0LCB0eXBlOiB0b2FzdFR5cGUgfSlcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2BzbmlwcGV0ICR7Y2xhc3NOYW1lfWB9IHsuLi53aXRoUHVyZVByb3BzKHByb3BzKX0+XG4gICAgICB7aXNNdWx0aUxpbmUgPyAoXG4gICAgICAgICh0ZXh0IGFzIHN0cmluZ1tdKS5tYXAoKHQsIGluZGV4KSA9PiA8cHJlIGtleT17YHNuaXBwZXQtJHtpbmRleH0tJHt0fWB9Pnt0fTwvcHJlPilcbiAgICAgICkgOiAoXG4gICAgICAgIDxwcmUgcmVmPXtyZWZ9PntjaGlsZHJlbiB8fCB0ZXh0fTwvcHJlPlxuICAgICAgKX1cbiAgICAgIHtzaG93Q29weUljb24gJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvcHlcIiBvbkNsaWNrPXtjbGlja0hhbmRsZXJ9PlxuICAgICAgICAgIDxTbmlwcGV0SWNvbiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgICA8c3R5bGUganN4PntgXG4gICAgICAgIC5zbmlwcGV0IHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIGNvbG9yOiAke3N0eWxlLmNvbG9yfTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3N0eWxlLmJnQ29sb3J9O1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7c3R5bGUuYm9yZGVyfTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAke3RoZW1lLmxheW91dC5yYWRpdXN9O1xuICAgICAgICAgIC0tc25pcHBldC1mb250LXNpemU6ICR7U0NBTEVTLmZvbnQoMC44MTI1KX07XG4gICAgICAgICAgLS1zbmlwcGV0LXBhZGRpbmctdG9wOiAke1NDQUxFUy5wdCgwLjY2Nyl9O1xuICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tc25pcHBldC1mb250LXNpemUpO1xuICAgICAgICAgIHdpZHRoOiAke1NDQUxFUy53aWR0aCgxLCAnaW5pdGlhbCcpfTtcbiAgICAgICAgICBoZWlnaHQ6ICR7U0NBTEVTLmhlaWdodCgxLCAnYXV0bycpfTtcbiAgICAgICAgICBwYWRkaW5nOiAke1NDQUxFUy5wdCgwLjY2Nyl9ICR7U0NBTEVTLnByKDIuNjY3KX0gJHtTQ0FMRVMucGIoMC42NjcpfVxuICAgICAgICAgICAgJHtTQ0FMRVMucGwoMC42NjcpfTtcbiAgICAgICAgICBtYXJnaW46ICR7U0NBTEVTLm10KDApfSAke1NDQUxFUy5tcigwKX0gJHtTQ0FMRVMubWIoMCl9ICR7U0NBTEVTLm1sKDApfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHByZSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGNvbG9yOiAke3N0eWxlLmNvbG9yfTtcbiAgICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICBwcmU6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyR7c3ltYm9sQmVmb3JlfSc7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBwcmUgOmdsb2JhbCgqKSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvcHkge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMnB4KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3N0eWxlLmJnQ29sb3J9O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAke2lzTXVsdGlMaW5lID8gJ2ZsZXgtc3RhcnQnIDogJ2NlbnRlcid9O1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDMuMjgxICogdmFyKC0tc25pcHBldC1mb250LXNpemUpKTtcbiAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZSAwcztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAke3RoZW1lLmxheW91dC5yYWRpdXN9O1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogJHtpc011bHRpTGluZSA/ICd2YXIoLS1zbmlwcGV0LXBhZGRpbmctdG9wKScgOiAwfTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb3B5OmhvdmVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgIH1cbiAgICAgIGB9PC9zdHlsZT5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5TbmlwcGV0Q29tcG9uZW50LmRlZmF1bHRQcm9wcyA9IGRlZmF1bHRQcm9wc1xuU25pcHBldENvbXBvbmVudC5kaXNwbGF5TmFtZSA9ICdHZWlzdFNuaXBwZXQnXG5jb25zdCBTbmlwcGV0ID0gd2l0aFNjYWxlYWJsZShTbmlwcGV0Q29tcG9uZW50KVxuZXhwb3J0IGRlZmF1bHQgU25pcHBldFxuIl19 */\n/*@ sourceURL=snippet.tsx */"))); }; SnippetComponent.defaultProps = defaultProps; SnippetComponent.displayName = 'GeistSnippet'; var Snippet = withScaleable(SnippetComponent); exports["default"] = Snippet;