UNPKG

@geist-ui/react

Version:

Modern and minimalist React UI library.

976 lines (850 loc) 64 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 defaultProps$6 = { width: 22, height: 22 }; var TreeFileIcon = function TreeFileIcon(_ref) { var color = _ref.color, width = _ref.width, height = _ref.height; var theme = useTheme(); return /*#__PURE__*/React__default["default"].createElement("svg", { viewBox: "0 0 24 24", width: width, height: height, stroke: "currentColor", strokeWidth: "1", strokeLinecap: "round", strokeLinejoin: "round", fill: "none", shapeRendering: "geometricPrecision", className: styledJsx_cjs.style.dynamic([["4043754792", [color || theme.palette.accents_8]]]) }, /*#__PURE__*/React__default["default"].createElement("path", { d: "M13 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V9z", className: styledJsx_cjs.style.dynamic([["4043754792", [color || theme.palette.accents_8]]]) }), /*#__PURE__*/React__default["default"].createElement("path", { d: "M13 2v7h7", className: styledJsx_cjs.style.dynamic([["4043754792", [color || theme.palette.accents_8]]]) }), /*#__PURE__*/React__default["default"].createElement(styledJsx_cjs.style, { id: "4043754792", dynamic: [color || theme.palette.accents_8] }, "svg.__jsx-style-dynamic-selector{color:".concat(color || theme.palette.accents_8, ";}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRyZWUtZmlsZS1pY29uLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQ2tCLEFBRzhDLG1DQUNyQyIsImZpbGUiOiJ0cmVlLWZpbGUtaWNvbi50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgdXNlVGhlbWUgZnJvbSAnLi4vdXNlLXRoZW1lJ1xuXG5leHBvcnQgaW50ZXJmYWNlIFRyZWVGaWxlSWNvblByb3BzIHtcbiAgY29sb3I/OiBzdHJpbmdcbiAgd2lkdGg/OiBudW1iZXJcbiAgaGVpZ2h0PzogbnVtYmVyXG59XG5cbmNvbnN0IGRlZmF1bHRQcm9wcyA9IHtcbiAgd2lkdGg6IDIyLFxuICBoZWlnaHQ6IDIyLFxufVxuXG5jb25zdCBUcmVlRmlsZUljb246IFJlYWN0LkZDPFRyZWVGaWxlSWNvblByb3BzPiA9ICh7XG4gIGNvbG9yLFxuICB3aWR0aCxcbiAgaGVpZ2h0LFxufTogVHJlZUZpbGVJY29uUHJvcHMgJiB0eXBlb2YgZGVmYXVsdFByb3BzKSA9PiB7XG4gIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKVxuICByZXR1cm4gKFxuICAgIDxzdmdcbiAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgaGVpZ2h0PXtoZWlnaHR9XG4gICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgc3Ryb2tlV2lkdGg9XCIxXCJcbiAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgIHNoYXBlUmVuZGVyaW5nPVwiZ2VvbWV0cmljUHJlY2lzaW9uXCI+XG4gICAgICA8cGF0aCBkPVwiTTEzIDJINmEyIDIgMCAwMC0yIDJ2MTZhMiAyIDAgMDAyIDJoMTJhMiAyIDAgMDAyLTJWOXpcIiAvPlxuICAgICAgPHBhdGggZD1cIk0xMyAydjdoN1wiIC8+XG4gICAgICA8c3R5bGUganN4PntgXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgY29sb3I6ICR7Y29sb3IgfHwgdGhlbWUucGFsZXR0ZS5hY2NlbnRzXzh9O1xuICAgICAgICB9XG4gICAgICBgfTwvc3R5bGU+XG4gICAgPC9zdmc+XG4gIClcbn1cblxuVHJlZUZpbGVJY29uLmRlZmF1bHRQcm9wcyA9IGRlZmF1bHRQcm9wc1xuVHJlZUZpbGVJY29uLmRpc3BsYXlOYW1lID0gJ0dlaXN0VHJlZUZpbGVJY29uJ1xuZXhwb3J0IGRlZmF1bHQgVHJlZUZpbGVJY29uXG4iXX0= */\n/*@ sourceURL=tree-file-icon.tsx */"))); }; TreeFileIcon.defaultProps = defaultProps$6; TreeFileIcon.displayName = 'GeistTreeFileIcon'; var defaultContext = { initialExpand: false, isImperative: false }; var TreeContext = /*#__PURE__*/React__default["default"].createContext(defaultContext); var useTreeContext = function useTreeContext() { return React__default["default"].useContext(TreeContext); }; var TreeIndents = function TreeIndents(_ref) { var count = _ref.count; if (count === 0) return null; return ( /*#__PURE__*/ /* eslint-disable react/jsx-no-useless-fragment */ React__default["default"].createElement(React__default["default"].Fragment, null, _toConsumableArray(new Array(count)).map(function (_, index) { return /*#__PURE__*/React__default["default"].createElement("span", { key: "indent-".concat(index), className: styledJsx_cjs.style.dynamic([["2622387629", [index + 1]]]) + " " + "indent" }, /*#__PURE__*/React__default["default"].createElement(styledJsx_cjs.style, { id: "2622387629", dynamic: [index + 1] }, "span.indent.__jsx-style-dynamic-selector{left:calc(-1.875rem * ".concat(index + 1, " + 0.75rem);}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRyZWUtaW5kZW50cy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBYXNCLEFBRzZFLDhEQUNoRSIsImZpbGUiOiJ0cmVlLWluZGVudHMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuICBjb3VudDogbnVtYmVyXG59XG5cbmNvbnN0IFRyZWVJbmRlbnRzOiBSZWFjdC5GQzxQcm9wcz4gPSAoeyBjb3VudCB9KSA9PiB7XG4gIGlmIChjb3VudCA9PT0gMCkgcmV0dXJuIG51bGxcbiAgcmV0dXJuIChcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9qc3gtbm8tdXNlbGVzcy1mcmFnbWVudCAqL1xuICAgIDw+XG4gICAgICB7Wy4uLm5ldyBBcnJheShjb3VudCldLm1hcCgoXywgaW5kZXgpID0+IChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiaW5kZW50XCIga2V5PXtgaW5kZW50LSR7aW5kZXh9YH0+XG4gICAgICAgICAgPHN0eWxlIGpzeD57YFxuICAgICAgICAgICAgc3Bhbi5pbmRlbnQge1xuICAgICAgICAgICAgICBsZWZ0OiBjYWxjKC0xLjg3NXJlbSAqICR7aW5kZXggKyAxfSArIDAuNzVyZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIGB9PC9zdHlsZT5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKSl9XG4gICAgPC8+XG4gICAgLyogZXNsaW50LWVuYWJsZSAqL1xuICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IFRyZWVJbmRlbnRzXG4iXX0= */\n/*@ sourceURL=tree-indents.tsx */"))); })) /* eslint-enable */ ); }; var sortChildren = function sortChildren(children, folderComponentType) { return React__default["default"].Children.toArray(children).sort(function (a, b) { if (! /*#__PURE__*/React__default["default"].isValidElement(a) || ! /*#__PURE__*/React__default["default"].isValidElement(b)) return 0; if (a.type !== b.type) return a.type !== folderComponentType ? 1 : -1; return "".concat(a.props.name).charCodeAt(0) - "".concat(b.props.name).charCodeAt(0); }); }; var makeChildPath = function makeChildPath(name, parentPath) { if (!parentPath) return name; return "".concat(parentPath, "/").concat(name); }; var stopPropagation = function stopPropagation(event) { event.stopPropagation(); event.nativeEvent.stopImmediatePropagation(); }; var setChildrenProps = function setChildrenProps(children, props) { var targetComponents = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; if (React__default["default"].Children.count(children) === 0) return []; var allowAll = targetComponents.length === 0; var clone = function clone(child) { var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; return /*#__PURE__*/React__default["default"].cloneElement(child, props); }; return React__default["default"].Children.map(children, function (item) { if (! /*#__PURE__*/React__default["default"].isValidElement(item)) return item; if (allowAll) return clone(item, props); var isAllowed = targetComponents.find(function (child) { return child === item.type; }); if (isAllowed) return clone(item, props); return item; }); }; 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$2 = ["name", "parentPath", "level", "extra", "className"]; var defaultProps$5 = { level: 0, className: '', parentPath: '' }; var TreeFile = function TreeFile(_ref) { var name = _ref.name, parentPath = _ref.parentPath, level = _ref.level, extra = _ref.extra, className = _ref.className, props = _objectWithoutProperties(_ref, _excluded$2); var theme = useTheme(); var _useTreeContext = useTreeContext(), onFileClick = _useTreeContext.onFileClick; var currentPath = React.useMemo(function () { return makeChildPath(name, parentPath); }, []); var clickHandler = function clickHandler(event) { stopPropagation(event); onFileClick && onFileClick(currentPath); }; return /*#__PURE__*/React__default["default"].createElement("div", _extends({ onClick: clickHandler }, withPureProps(props), { className: styledJsx_cjs.style.dynamic([["4220802947", [level, theme.palette.accents_2, theme.palette.accents_8, theme.palette.accents_5]]]) + " " + "file ".concat(className) }), /*#__PURE__*/React__default["default"].createElement("div", { className: styledJsx_cjs.style.dynamic([["4220802947", [level, theme.palette.accents_2, theme.palette.accents_8, theme.palette.accents_5]]]) + " " + "names" }, /*#__PURE__*/React__default["default"].createElement(TreeIndents, { count: level }), /*#__PURE__*/React__default["default"].createElement("span", { className: styledJsx_cjs.style.dynamic([["4220802947", [level, theme.palette.accents_2, theme.palette.accents_8, theme.palette.accents_5]]]) + " " + "icon" }, /*#__PURE__*/React__default["default"].createElement(TreeFileIcon, null)), /*#__PURE__*/React__default["default"].createElement("span", { className: styledJsx_cjs.style.dynamic([["4220802947", [level, theme.palette.accents_2, theme.palette.accents_8, theme.palette.accents_5]]]) + " " + "name" }, name, extra && /*#__PURE__*/React__default["default"].createElement("span", { className: styledJsx_cjs.style.dynamic([["4220802947", [level, theme.palette.accents_2, theme.palette.accents_8, theme.palette.accents_5]]]) + " " + "extra" }, extra))), /*#__PURE__*/React__default["default"].createElement(styledJsx_cjs.style, { id: "4220802947", dynamic: [level, theme.palette.accents_2, theme.palette.accents_8, theme.palette.accents_5] }, ".file.__jsx-style-dynamic-selector{cursor:pointer;line-height:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-left:calc(1.875rem * ".concat(level, ");}.names.__jsx-style-dynamic-selector{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:1.75rem;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;}.names.__jsx-style-dynamic-selector>.indent{position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);width:1px;height:100%;background-color:").concat(theme.palette.accents_2, ";margin-left:-1px;}.icon.__jsx-style-dynamic-selector{width:1.5rem;height:100%;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-right:0.5rem;}.name.__jsx-style-dynamic-selector{-webkit-transition:opacity 100ms ease 0ms;transition:opacity 100ms ease 0ms;color:").concat(theme.palette.accents_8, ";white-space:nowrap;font-size:0.875rem;}.extra.__jsx-style-dynamic-selector{font-size:0.75rem;-webkit-align-self:baseline;-ms-flex-item-align:baseline;align-self:baseline;padding-left:4px;color:").concat(theme.palette.accents_5, ";}.name.__jsx-style-dynamic-selector:hover{opacity:0.7;}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRyZWUtZmlsZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcURrQixBQUcwQixBQU9GLEFBT0ssQUFVTCxBQVFxQixBQU9oQixBQU9OLFlBQ2QsQ0F0QmMsRUF4QkUsR0FjTixBQXlCWSxPQWRBLENBVk8sR0FkViw2Q0FNRixFQXlCb0IsYUF4QmhCLE1BZ0NGLGdCQVBFLENBUWdCLEVBdkN1QixLQWNoRCxRQVVTLEVBVFAsQ0FpQk8sV0FoQjJCLE1Bd0JoRCxFQVBBLHVCQWhDQSxVQU1vQixLQVVELGFBVG5CLElBVUEsZ0JBT3NCLG9CQUN0QiIsImZpbGUiOiJ0cmVlLWZpbGUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZU1lbW8gfSBmcm9tICdyZWFjdCdcbmltcG9ydCB1c2VUaGVtZSBmcm9tICcuLi91c2UtdGhlbWUnXG5pbXBvcnQgVHJlZUZpbGVJY29uIGZyb20gJy4vdHJlZS1maWxlLWljb24nXG5pbXBvcnQgeyB1c2VUcmVlQ29udGV4dCB9IGZyb20gJy4vdHJlZS1jb250ZXh0J1xuaW1wb3J0IFRyZWVJbmRlbnRzIGZyb20gJy4vdHJlZS1pbmRlbnRzJ1xuaW1wb3J0IHsgbWFrZUNoaWxkUGF0aCwgc3RvcFByb3BhZ2F0aW9uIH0gZnJvbSAnLi90cmVlLWhlbHAnXG5pbXBvcnQgeyB3aXRoUHVyZVByb3BzIH0gZnJvbSAnLi4vdXNlLXNjYWxlYWJsZSdcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgbmFtZTogc3RyaW5nXG4gIGV4dHJhPzogc3RyaW5nXG4gIHBhcmVudFBhdGg/OiBzdHJpbmdcbiAgbGV2ZWw/OiBudW1iZXJcbiAgY2xhc3NOYW1lPzogc3RyaW5nXG59XG5cbmNvbnN0IGRlZmF1bHRQcm9wcyA9IHtcbiAgbGV2ZWw6IDAsXG4gIGNsYXNzTmFtZTogJycsXG4gIHBhcmVudFBhdGg6ICcnLFxufVxuXG50eXBlIE5hdGl2ZUF0dHJzID0gT21pdDxSZWFjdC5IVE1MQXR0cmlidXRlczxhbnk+LCBrZXlvZiBQcm9wcz5cbmV4cG9ydCB0eXBlIFRyZWVGaWxlUHJvcHMgPSBQcm9wcyAmIE5hdGl2ZUF0dHJzXG5cbmNvbnN0IFRyZWVGaWxlOiBSZWFjdC5GQzxSZWFjdC5Qcm9wc1dpdGhDaGlsZHJlbjxUcmVlRmlsZVByb3BzPj4gPSAoe1xuICBuYW1lLFxuICBwYXJlbnRQYXRoLFxuICBsZXZlbCxcbiAgZXh0cmEsXG4gIGNsYXNzTmFtZSxcbiAgLi4ucHJvcHNcbn06IFJlYWN0LlByb3BzV2l0aENoaWxkcmVuPFRyZWVGaWxlUHJvcHM+ICYgdHlwZW9mIGRlZmF1bHRQcm9wcykgPT4ge1xuICBjb25zdCB0aGVtZSA9IHVzZVRoZW1lKClcbiAgY29uc3QgeyBvbkZpbGVDbGljayB9ID0gdXNlVHJlZUNvbnRleHQoKVxuICBjb25zdCBjdXJyZW50UGF0aCA9IHVzZU1lbW8oKCkgPT4gbWFrZUNoaWxkUGF0aChuYW1lLCBwYXJlbnRQYXRoKSwgW10pXG4gIGNvbnN0IGNsaWNrSGFuZGxlciA9IChldmVudDogUmVhY3QuTW91c2VFdmVudCkgPT4ge1xuICAgIHN0b3BQcm9wYWdhdGlvbihldmVudClcbiAgICBvbkZpbGVDbGljayAmJiBvbkZpbGVDbGljayhjdXJyZW50UGF0aClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2BmaWxlICR7Y2xhc3NOYW1lfWB9IG9uQ2xpY2s9e2NsaWNrSGFuZGxlcn0gey4uLndpdGhQdXJlUHJvcHMocHJvcHMpfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibmFtZXNcIj5cbiAgICAgICAgPFRyZWVJbmRlbnRzIGNvdW50PXtsZXZlbH0gLz5cbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiaWNvblwiPlxuICAgICAgICAgIDxUcmVlRmlsZUljb24gLz5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJuYW1lXCI+XG4gICAgICAgICAge25hbWV9XG4gICAgICAgICAge2V4dHJhICYmIDxzcGFuIGNsYXNzTmFtZT1cImV4dHJhXCI+e2V4dHJhfTwvc3Bhbj59XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHN0eWxlIGpzeD57YFxuICAgICAgICAuZmlsZSB7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDEuODc1cmVtICogJHtsZXZlbH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hbWVzIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGhlaWdodDogMS43NXJlbTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYW1lcyA+IDpnbG9iYWwoLmluZGVudCkge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHt0aGVtZS5wYWxldHRlLmFjY2VudHNfMn07XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgd2lkdGg6IDEuNXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYW1lIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEwMG1zIGVhc2UgMG1zO1xuICAgICAgICAgIGNvbG9yOiAke3RoZW1lLnBhbGV0dGUuYWNjZW50c184fTtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuZXh0cmEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBiYXNlbGluZTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcbiAgICAgICAgICBjb2xvcjogJHt0aGVtZS5wYWxldHRlLmFjY2VudHNfNX07XG4gICAgICAgIH1cblxuICAgICAgICAubmFtZTpob3ZlciB7XG4gICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICB9XG4gICAgICBgfTwvc3R5bGU+XG4gICAgPC9kaXY+XG4gIClcbn1cblxuVHJlZUZpbGUuZGVmYXVsdFByb3BzID0gZGVmYXVsdFByb3BzXG5UcmVlRmlsZS5kaXNwbGF5TmFtZSA9ICdHZWlzdFRyZWVGaWxlJ1xuZXhwb3J0IGRlZmF1bHQgVHJlZUZpbGVcbiJdfQ== */\n/*@ sourceURL=tree-file.tsx */"))); }; TreeFile.defaultProps = defaultProps$5; TreeFile.displayName = 'GeistTreeFile'; var getRealShape = function getRealShape(el) { var defaultShape = { width: 0, height: 0 }; if (!el || typeof window === 'undefined') return defaultShape; var rect = el.getBoundingClientRect(); var _window$getComputedSt = window.getComputedStyle(el), width = _window$getComputedSt.width, height = _window$getComputedSt.height; var getCSSStyleVal = function getCSSStyleVal(str, parentNum) { if (!str) return 0; var strVal = str.includes('px') ? +str.split('px')[0] : str.includes('%') ? +str.split('%')[0] * parentNum * 0.01 : str; return Number.isNaN(+strVal) ? 0 : +strVal; }; return { width: getCSSStyleVal("".concat(width), rect.width), height: getCSSStyleVal("".concat(height), rect.height) }; }; var useRealShape = function useRealShape(ref) { var _useState = React.useState({ width: 0, height: 0 }), _useState2 = _slicedToArray(_useState, 2), state = _useState2[0], setState = _useState2[1]; var update = function update() { var _getRealShape = getRealShape(ref.current), width = _getRealShape.width, height = _getRealShape.height; setState({ width: width, height: height }); }; React.useEffect(function () { return update(); }, [ref.current]); return [state, update]; }; var defaultProps$4 = { isExpanded: false, delay: 200 }; var Expand = function Expand(_ref) { var isExpanded = _ref.isExpanded, delay = _ref.delay, children = _ref.children; var _useState = React.useState(isExpanded ? 'auto' : '0'), _useState2 = _slicedToArray(_useState, 2), height = _useState2[0], setHeight = _useState2[1]; var _useState3 = React.useState(isExpanded), _useState4 = _slicedToArray(_useState3, 2), selfExpanded = _useState4[0], setSelfExpanded = _useState4[1]; var _useState5 = React.useState(isExpanded), _useState6 = _slicedToArray(_useState5, 2), visible = _useState6[0], setVisible = _useState6[1]; var contentRef = React.useRef(null); var entryTimer = React.useRef(); var leaveTimer = React.useRef(); var resetTimer = React.useRef(); var _useRealShape = useRealShape(contentRef), _useRealShape2 = _slicedToArray(_useRealShape, 2), state = _useRealShape2[0], updateShape = _useRealShape2[1]; React.useEffect(function () { return setHeight("".concat(state.height, "px")); }, [state.height]); React.useEffect(function () { // show element or reset height. // force an update once manually, even if the element does not change. // (the height of the element might be "auto") if (isExpanded) { setVisible(isExpanded); } else { updateShape(); setHeight("".concat(state.height, "px")); } // show expand animation entryTimer.current = window.setTimeout(function () { setSelfExpanded(isExpanded); clearTimeout(entryTimer.current); }, 30); // Reset height after animation if (isExpanded) { resetTimer.current = window.setTimeout(function () { setHeight('auto'); clearTimeout(resetTimer.current); }, delay); } else { leaveTimer.current = window.setTimeout(function () { setVisible(isExpanded); clearTimeout(leaveTimer.current); }, delay / 2); } return function () { clearTimeout(entryTimer.current); clearTimeout(leaveTimer.current); clearTimeout(resetTimer.current); }; }, [isExpanded]); return /*#__PURE__*/React__default["default"].createElement("div", { className: styledJsx_cjs.style.dynamic([["1918690829", [visible ? 'visible' : 'hidden', delay, height]]]) + " " + "container ".concat(selfExpanded ? 'expanded' : '') }, /*#__PURE__*/React__default["default"].createElement("div", { ref: contentRef, className: styledJsx_cjs.style.dynamic([["1918690829", [visible ? 'visible' : 'hidden', delay, height]]]) + " " + "content" }, children), /*#__PURE__*/React__default["default"].createElement(styledJsx_cjs.style, { id: "1918690829", dynamic: [visible ? 'visible' : 'hidden', delay, height] }, ".container.__jsx-style-dynamic-selector{padding:0;margin:0;height:0;overflow:hidden;visibility:".concat(visible ? 'visible' : 'hidden', ";-webkit-transition:height ").concat(delay, "ms ease;transition:height ").concat(delay, "ms ease;}.expanded.__jsx-style-dynamic-selector{height:").concat(height, ";visibility:visible;}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImV4cGFuZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUVrQixBQUdxQixBQVMwQixVQVIzQixTQUNBLFNBQ08sUUFPRyxRQU5xQixXQU8xQyw2QkFOd0Qsb0hBQ3hEIiwiZmlsZSI6ImV4cGFuZC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgdXNlUmVhbFNoYXBlIGZyb20gJy4uL3V0aWxzL3VzZS1yZWFsLXNoYXBlJ1xuXG5leHBvcnQgdHlwZSBFeHBhbmRQcm9wcyA9IHtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW5cbiAgZGVsYXk/OiBudW1iZXJcbn1cblxuY29uc3QgZGVmYXVsdFByb3BzID0ge1xuICBpc0V4cGFuZGVkOiBmYWxzZSxcbiAgZGVsYXk6IDIwMCxcbn1cblxuY29uc3QgRXhwYW5kOiBSZWFjdC5GQzxSZWFjdC5Qcm9wc1dpdGhDaGlsZHJlbjxFeHBhbmRQcm9wcz4+ID0gKHtcbiAgaXNFeHBhbmRlZCxcbiAgZGVsYXksXG4gIGNoaWxkcmVuLFxufTogUmVhY3QuUHJvcHNXaXRoQ2hpbGRyZW48RXhwYW5kUHJvcHM+ICYgdHlwZW9mIGRlZmF1bHRQcm9wcykgPT4ge1xuICBjb25zdCBbaGVpZ2h0LCBzZXRIZWlnaHRdID0gdXNlU3RhdGU8c3RyaW5nPihpc0V4cGFuZGVkID8gJ2F1dG8nIDogJzAnKVxuICBjb25zdCBbc2VsZkV4cGFuZGVkLCBzZXRTZWxmRXhwYW5kZWRdID0gdXNlU3RhdGU8Ym9vbGVhbj4oaXNFeHBhbmRlZClcbiAgY29uc3QgW3Zpc2libGUsIHNldFZpc2libGVdID0gdXNlU3RhdGU8Ym9vbGVhbj4oaXNFeHBhbmRlZClcbiAgY29uc3QgY29udGVudFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgZW50cnlUaW1lciA9IHVzZVJlZjxudW1iZXI+KClcbiAgY29uc3QgbGVhdmVUaW1lciA9IHVzZVJlZjxudW1iZXI+KClcbiAgY29uc3QgcmVzZXRUaW1lciA9IHVzZVJlZjxudW1iZXI+KClcbiAgY29uc3QgW3N0YXRlLCB1cGRhdGVTaGFwZV0gPSB1c2VSZWFsU2hhcGU8SFRNTERpdkVsZW1lbnQ+KGNvbnRlbnRSZWYpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHNldEhlaWdodChgJHtzdGF0ZS5oZWlnaHR9cHhgKSwgW3N0YXRlLmhlaWdodF0pXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gc2hvdyBlbGVtZW50IG9yIHJlc2V0IGhlaWdodC5cbiAgICAvLyBmb3JjZSBhbiB1cGRhdGUgb25jZSBtYW51YWxseSwgZXZlbiBpZiB0aGUgZWxlbWVudCBkb2VzIG5vdCBjaGFuZ2UuXG4gICAgLy8gKHRoZSBoZWlnaHQgb2YgdGhlIGVsZW1lbnQgbWlnaHQgYmUgXCJhdXRvXCIpXG4gICAgaWYgKGlzRXhwYW5kZWQpIHtcbiAgICAgIHNldFZpc2libGUoaXNFeHBhbmRlZClcbiAgICB9IGVsc2Uge1xuICAgICAgdXBkYXRlU2hhcGUoKVxuICAgICAgc2V0SGVpZ2h0KGAke3N0YXRlLmhlaWdodH1weGApXG4gICAgfVxuXG4gICAgLy8gc2hvdyBleHBhbmQgYW5pbWF0aW9uXG4gICAgZW50cnlUaW1lci5jdXJyZW50ID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgc2V0U2VsZkV4cGFuZGVkKGlzRXhwYW5kZWQpXG4gICAgICBjbGVhclRpbWVvdXQoZW50cnlUaW1lci5jdXJyZW50KVxuICAgIH0sIDMwKVxuXG4gICAgLy8gUmVzZXQgaGVpZ2h0IGFmdGVyIGFuaW1hdGlvblxuICAgIGlmIChpc0V4cGFuZGVkKSB7XG4gICAgICByZXNldFRpbWVyLmN1cnJlbnQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHNldEhlaWdodCgnYXV0bycpXG4gICAgICAgIGNsZWFyVGltZW91dChyZXNldFRpbWVyLmN1cnJlbnQpXG4gICAgICB9LCBkZWxheSlcbiAgICB9IGVsc2Uge1xuICAgICAgbGVhdmVUaW1lci5jdXJyZW50ID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBzZXRWaXNpYmxlKGlzRXhwYW5kZWQpXG4gICAgICAgIGNsZWFyVGltZW91dChsZWF2ZVRpbWVyLmN1cnJlbnQpXG4gICAgICB9LCBkZWxheSAvIDIpXG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGNsZWFyVGltZW91dChlbnRyeVRpbWVyLmN1cnJlbnQpXG4gICAgICBjbGVhclRpbWVvdXQobGVhdmVUaW1lci5jdXJyZW50KVxuICAgICAgY2xlYXJUaW1lb3V0KHJlc2V0VGltZXIuY3VycmVudClcbiAgICB9XG4gIH0sIFtpc0V4cGFuZGVkXSlcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtgY29udGFpbmVyICR7c2VsZkV4cGFuZGVkID8gJ2V4cGFuZGVkJyA6ICcnfWB9PlxuICAgICAgPGRpdiByZWY9e2NvbnRlbnRSZWZ9IGNsYXNzTmFtZT1cImNvbnRlbnRcIj5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxzdHlsZSBqc3g+e2BcbiAgICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgdmlzaWJpbGl0eTogJHt2aXNpYmxlID8gJ3Zpc2libGUnIDogJ2hpZGRlbid9O1xuICAgICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAke2RlbGF5fW1zIGVhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAuZXhwYW5kZWQge1xuICAgICAgICAgIGhlaWdodDogJHtoZWlnaHR9O1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIH1cbiAgICAgIGB9PC9zdHlsZT5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5FeHBhbmQuZGVmYXVsdFByb3BzID0gZGVmYXVsdFByb3BzXG5FeHBhbmQuZGlzcGxheU5hbWUgPSAnR2Vpc3RFeHBhbmQnXG5leHBvcnQgZGVmYXVsdCBFeHBhbmRcbiJdfQ== */\n/*@ sourceURL=expand.tsx */"))); }; Expand.defaultProps = defaultProps$4; Expand.displayName = 'GeistExpand'; var defaultProps$3 = { width: 22, height: 22 }; var TreeFolderIcon = function TreeFolderIcon(_ref) { var color = _ref.color, width = _ref.width, height = _ref.height; var theme = useTheme(); return /*#__PURE__*/React__default["default"].createElement("svg", { viewBox: "0 0 24 24", width: width, height: height, stroke: "currentColor", strokeWidth: "1", strokeLinecap: "round", strokeLinejoin: "round", fill: "none", shapeRendering: "geometricPrecision", className: styledJsx_cjs.style.dynamic([["4043754792", [color || theme.palette.accents_8]]]) }, /*#__PURE__*/React__default["default"].createElement("path", { d: "M2.707 7.454V5.62C2.707 4.725 3.469 4 4.409 4h4.843c.451 0 .884.17 1.204.474l.49.467c.126.12.296.186.473.186h8.399c.94 0 1.55.695 1.55 1.59v.737m-18.661 0h-.354a.344.344 0 00-.353.35l.508 11.587c.015.34.31.609.668.609h17.283c.358 0 .652-.269.667-.61L22 7.805a.344.344 0 00-.353-.35h-.278m-18.662 0h18.662", className: styledJsx_cjs.style.dynamic([["4043754792", [color || theme.palette.accents_8]]]) }), /*#__PURE__*/React__default["default"].createElement(styledJsx_cjs.style, { id: "4043754792", dynamic: [color || theme.palette.accents_8] }, "svg.__jsx-style-dynamic-selector{color:".concat(color || theme.palette.accents_8, ";}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRyZWUtZm9sZGVyLWljb24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdDa0IsQUFHOEMsbUNBQ3JDIiwiZmlsZSI6InRyZWUtZm9sZGVyLWljb24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHVzZVRoZW1lIGZyb20gJy4uL3VzZS10aGVtZSdcblxuZXhwb3J0IGludGVyZmFjZSBUcmVlRm9sZGVySWNvblByb3BzIHtcbiAgY29sb3I/OiBzdHJpbmdcbiAgd2lkdGg/OiBudW1iZXJcbiAgaGVpZ2h0PzogbnVtYmVyXG59XG5cbmNvbnN0IGRlZmF1bHRQcm9wcyA9IHtcbiAgd2lkdGg6IDIyLFxuICBoZWlnaHQ6IDIyLFxufVxuXG5jb25zdCBUcmVlRm9sZGVySWNvbjogUmVhY3QuRkM8VHJlZUZvbGRlckljb25Qcm9wcz4gPSAoe1xuICBjb2xvcixcbiAgd2lkdGgsXG4gIGhlaWdodCxcbn06IFRyZWVGb2xkZXJJY29uUHJvcHMgJiB0eXBlb2YgZGVmYXVsdFByb3BzKSA9PiB7XG4gIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKVxuICByZXR1cm4gKFxuICAgIDxzdmdcbiAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgaGVpZ2h0PXtoZWlnaHR9XG4gICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgc3Ryb2tlV2lkdGg9XCIxXCJcbiAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgIHNoYXBlUmVuZGVyaW5nPVwiZ2VvbWV0cmljUHJlY2lzaW9uXCI+XG4gICAgICA8cGF0aCBkPVwiTTIuNzA3IDcuNDU0VjUuNjJDMi43MDcgNC43MjUgMy40NjkgNCA0LjQwOSA0aDQuODQzYy40NTEgMCAuODg0LjE3IDEuMjA0LjQ3NGwuNDkuNDY3Yy4xMjYuMTIuMjk2LjE4Ni40NzMuMTg2aDguMzk5Yy45NCAwIDEuNTUuNjk1IDEuNTUgMS41OXYuNzM3bS0xOC42NjEgMGgtLjM1NGEuMzQ0LjM0NCAwIDAwLS4zNTMuMzVsLjUwOCAxMS41ODdjLjAxNS4zNC4zMS42MDkuNjY4LjYwOWgxNy4yODNjLjM1OCAwIC42NTItLjI2OS42NjctLjYxTDIyIDcuODA1YS4zNDQuMzQ0IDAgMDAtLjM1My0uMzVoLS4yNzhtLTE4LjY2MiAwaDE4LjY2MlwiIC8+XG4gICAgICA8c3R5bGUganN4PntgXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgY29sb3I6ICR7Y29sb3IgfHwgdGhlbWUucGFsZXR0ZS5hY2NlbnRzXzh9O1xuICAgICAgICB9XG4gICAgICBgfTwvc3R5bGU+XG4gICAgPC9zdmc+XG4gIClcbn1cblxuVHJlZUZvbGRlckljb24uZGVmYXVsdFByb3BzID0gZGVmYXVsdFByb3BzXG5UcmVlRm9sZGVySWNvbi5kaXNwbGF5TmFtZSA9ICdHZWlzdFRyZWVGb2xkZXJJY29uJ1xuZXhwb3J0IGRlZmF1bHQgVHJlZUZvbGRlckljb25cbiJdfQ== */\n/*@ sourceURL=tree-folder-icon.tsx */"))); }; TreeFolderIcon.defaultProps = defaultProps$3; TreeFolderIcon.displayName = 'GeistTreeFolderIcon'; var defaultProps$2 = { width: 12, height: 12, active: false }; var TreeStatusIcon = function TreeStatusIcon(_ref) { var color = _ref.color, width = _ref.width, height = _ref.height, active = _ref.active; var theme = useTheme(); return /*#__PURE__*/React__default["default"].createElement("svg", { viewBox: "0 0 24 24", width: width, height: height, stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", fill: "none", shapeRendering: "geometricPrecision", className: styledJsx_cjs.style.dynamic([["4043754792", [color || theme.palette.accents_8]]]) }, /*#__PURE__*/React__default["default"].createElement("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2", ry: "2", className: styledJsx_cjs.style.dynamic([["4043754792", [color || theme.palette.accents_8]]]) }), !active && /*#__PURE__*/React__default["default"].createElement("path", { d: "M12 8v8", className: styledJsx_cjs.style.dynamic([["4043754792", [color || theme.palette.accents_8]]]) }), /*#__PURE__*/React__default["default"].createElement("path", { d: "M8 12h8", className: styledJsx_cjs.style.dynamic([["4043754792", [color || theme.palette.accents_8]]]) }), /*#__PURE__*/React__default["default"].createElement(styledJsx_cjs.style, { id: "4043754792", dynamic: [color || theme.palette.accents_8] }, "svg.__jsx-style-dynamic-selector{color:".concat(color || theme.palette.accents_8, ";}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRyZWUtc3RhdHVzLWljb24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNDa0IsQUFHOEMsbUNBQ3JDIiwiZmlsZSI6InRyZWUtc3RhdHVzLWljb24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHVzZVRoZW1lIGZyb20gJy4uL3VzZS10aGVtZSdcblxuZXhwb3J0IGludGVyZmFjZSBUcmVlU3RhdHVzSWNvblByb3BzIHtcbiAgY29sb3I/OiBzdHJpbmdcbiAgd2lkdGg/OiBudW1iZXJcbiAgaGVpZ2h0PzogbnVtYmVyXG4gIGFjdGl2ZT86IGJvb2xlYW5cbn1cblxuY29uc3QgZGVmYXVsdFByb3BzID0ge1xuICB3aWR0aDogMTIsXG4gIGhlaWdodDogMTIsXG4gIGFjdGl2ZTogZmFsc2UsXG59XG5cbmNvbnN0IFRyZWVTdGF0dXNJY29uOiBSZWFjdC5GQzxUcmVlU3RhdHVzSWNvblByb3BzPiA9ICh7XG4gIGNvbG9yLFxuICB3aWR0aCxcbiAgaGVpZ2h0LFxuICBhY3RpdmUsXG59OiBUcmVlU3RhdHVzSWNvblByb3BzICYgdHlwZW9mIGRlZmF1bHRQcm9wcykgPT4ge1xuICBjb25zdCB0aGVtZSA9IHVzZVRoZW1lKClcbiAgcmV0dXJuIChcbiAgICA8c3ZnXG4gICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgIGhlaWdodD17aGVpZ2h0fVxuICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICAgIHN0cm9rZVdpZHRoPVwiMS41XCJcbiAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgIHNoYXBlUmVuZGVyaW5nPVwiZ2VvbWV0cmljUHJlY2lzaW9uXCI+XG4gICAgICA8cmVjdCB4PVwiM1wiIHk9XCIzXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgcng9XCIyXCIgcnk9XCIyXCIgLz5cbiAgICAgIHshYWN0aXZlICYmIDxwYXRoIGQ9XCJNMTIgOHY4XCIgLz59XG4gICAgICA8cGF0aCBkPVwiTTggMTJoOFwiIC8+XG5cbiAgICAgIDxzdHlsZSBqc3g+e2BcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICBjb2xvcjogJHtjb2xvciB8fCB0aGVtZS5wYWxldHRlLmFjY2VudHNfOH07XG4gICAgICAgIH1cbiAgICAgIGB9PC9zdHlsZT5cbiAgICA8L3N2Zz5cbiAgKVxufVxuXG5UcmVlU3RhdHVzSWNvbi5kZWZhdWx0UHJvcHMgPSBkZWZhdWx0UHJvcHNcblRyZWVTdGF0dXNJY29uLmRpc3BsYXlOYW1lID0gJ0dlaXN0VHJlZVN0YXR1c0ljb24nXG5leHBvcnQgZGVmYXVsdCBUcmVlU3RhdHVzSWNvblxuIl19 */\n/*@ sourceURL=tree-status-icon.tsx */"))); }; TreeStatusIcon.defaultProps = defaultProps$2; TreeStatusIcon.displayName = 'GeistTreeStatusIcon'; var _excluded$1 = ["name", "children", "parentPath", "level", "extra", "className"]; var defaultProps$1 = { level: 0, className: '', parentPath: '' }; var TreeFolder = function TreeFolder(_ref) { var name = _ref.name, children = _ref.children, parentPath = _ref.parentPath, parentLevel = _ref.level, extra = _ref.extra, className = _ref.className, props = _objectWithoutProperties(_ref, _excluded$1); var theme = useTheme(); var _useTreeContext = useTreeContext(), initialExpand = _useTreeContext.initialExpand, isImperative = _useTreeContext.isImperative; var _useState = React.useState(initialExpand), _useState2 = _slicedToArray(_useState, 2), expanded = _useState2[0], setExpanded = _useState2[1]; React.useEffect(function () { return setExpanded(initialExpand); }, []); var currentPath = React.useMemo(function () { return makeChildPath(name, parentPath); }, []); var clickHandler = function clickHandler() { return setExpanded(!expanded); }; var nextChildren = setChildrenProps(children, { parentPath: currentPath, level: parentLevel + 1 }, [TreeFolder, TreeFile]); var sortedChildren = isImperative ? nextChildren : sortChildren(nextChildren, TreeFolder); return /*#__PURE__*/React__default["default"].createElement("div", _extends({ onClick: clickHandler }, withPureProps(props), { className: styledJsx_cjs.style.dynamic([["1983983326", [parentLevel, theme.palette.accents_2, theme.palette.background, theme.palette.accents_8, theme.palette.accents_5]]]) + " " + "folder ".concat(className) }), /*#__PURE__*/React__default["default"].createElement("div", { className: styledJsx_cjs.style.dynamic([["1983983326", [parentLevel, theme.palette.accents_2, theme.palette.background, theme.palette.accents_8, theme.palette.accents_5]]]) + " " + "names" }, /*#__PURE__*/React__default["default"].createElement(TreeIndents, { count: parentLevel }), /*#__PURE__*/React__default["default"].createElement("span", { className: styledJsx_cjs.style.dynamic([["1983983326", [parentLevel, theme.palette.accents_2, theme.palette.background, theme.palette.accents_8, theme.palette.accents_5]]]) + " " + "status" }, /*#__PURE__*/React__default["default"].createElement(TreeStatusIcon, { active: expanded })), /*#__PURE__*/React__default["default"].createElement("span", { className: styledJsx_cjs.style.dynamic([["1983983326", [parentLevel, theme.palette.accents_2, theme.palette.background, theme.palette.accents_8, theme.palette.accents_5]]]) + " " + "icon" }, /*#__PURE__*/React__default["default"].createElement(TreeFolderIcon, null)), /*#__PURE__*/React__default["default"].createElement("span", { className: styledJsx_cjs.style.dynamic([["1983983326", [parentLevel, theme.palette.accents_2, theme.palette.background, theme.palette.accents_8, theme.palette.accents_5]]]) + " " + "name" }, name, extra && /*#__PURE__*/React__default["default"].createElement("span", { className: styledJsx_cjs.style.dynamic([["1983983326", [parentLevel, theme.palette.accents_2, theme.palette.background, theme.palette.accents_8, theme.palette.accents_5]]]) + " " + "extra" }, extra))), /*#__PURE__*/React__default["default"].createElement(Expand, { isExpanded: expanded }, /*#__PURE__*/React__default["default"].createElement("div", { onClick: stopPropagation, className: styledJsx_cjs.style.dynamic([["1983983326", [parentLevel, theme.palette.accents_2, theme.palette.background, theme.palette.accents_8, theme.palette.accents_5]]]) + " " + "content" }, sortedChildren)), /*#__PURE__*/React__default["default"].createElement(styledJsx_cjs.style, { id: "1983983326", dynamic: [parentLevel, theme.palette.accents_2, theme.palette.background, theme.palette.accents_8, theme.palette.accents_5] }, ".folder.__jsx-style-dynamic-selector{cursor:pointer;line-height:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.names.__jsx-style-dynamic-selector{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:1.75rem;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-left:calc(1.875rem * ".concat(parentLevel, ");position:relative;}.names.__jsx-style-dynamic-selector>.indent{position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);width:1px;height:100%;background-color:").concat(theme.palette.accents_2, ";margin-left:-1px;}.status.__jsx-style-dynamic-selector{position:absolute;left:calc(-1.125rem);top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:0.875rem;height:0.875rem;z-index:10;background-color:").concat(theme.palette.background, ";}.icon.__jsx-style-dynamic-selector{width:1.5rem;height:100%;margin-right:0.5rem;}.status.__jsx-style-dynamic-selector,.icon.__jsx-style-dynamic-selector{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}.name.__jsx-style-dynamic-selector{-webkit-transition:opacity 100ms ease 0ms;transition:opacity 100ms ease 0ms;color:").concat(theme.palett