@cfxjs/react-ui
Version:
Modern and minimalist React UI library.
912 lines (726 loc) • 67.4 kB
JavaScript
(function(e, a) { for(var i in a) e[i] = a[i]; }(exports, /******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 711);
/******/ })
/************************************************************************/
/******/ ({
/***/ 19:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
var withDefaults = function withDefaults(component, defaultProps) {
component.defaultProps = defaultProps;
return component;
};
/* harmony default export */ __webpack_exports__["default"] = (withDefaults);
/***/ }),
/***/ 2:
/***/ (function(module, exports) {
module.exports = require("styled-jsx/style");
/***/ }),
/***/ 27:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getId", function() { return getId; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasChild", function() { return hasChild; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "pickChild", function() { return pickChild; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "pickChildByProps", function() { return pickChildByProps; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "pickChildrenFirst", function() { return pickChildrenFirst; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setChildrenProps", function() { return setChildrenProps; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setChildrenIndex", function() { return setChildrenIndex; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getReactNode", function() { return getReactNode; });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
var getId = function getId() {
return Math.random().toString(32).slice(2, 10);
};
var hasChild = function hasChild(children, child) {
var types = react__WEBPACK_IMPORTED_MODULE_0___default.a.Children.map(children, function (item) {
if (!react__WEBPACK_IMPORTED_MODULE_0___default.a.isValidElement(item)) return null;
return item.type;
});
return (types || []).includes(child);
};
var pickChild = function pickChild(children, targetChild) {
var target = [];
var withoutTargetChildren = react__WEBPACK_IMPORTED_MODULE_0___default.a.Children.map(children, function (item) {
if (!react__WEBPACK_IMPORTED_MODULE_0___default.a.isValidElement(item)) return item;
if (item.type === targetChild) {
target.push(item);
return null;
}
return item;
});
var targetChildren = target.length >= 0 ? target : undefined;
return [withoutTargetChildren, targetChildren];
};
var pickChildByProps = function pickChildByProps(children, key, value) {
var target = [];
var isArray = Array.isArray(value);
var withoutPropChildren = react__WEBPACK_IMPORTED_MODULE_0___default.a.Children.map(children, function (item) {
if (!react__WEBPACK_IMPORTED_MODULE_0___default.a.isValidElement(item)) return null;
if (!item.props) return item;
if (isArray) {
if (value.includes(item.props[key])) {
target.push(item);
return null;
}
return item;
}
if (item.props[key] === value) {
target.push(item);
return null;
}
return item;
});
var targetChildren = target.length >= 0 ? target : undefined;
return [withoutPropChildren, targetChildren];
};
var pickChildrenFirst = function pickChildrenFirst(children) {
return react__WEBPACK_IMPORTED_MODULE_0___default.a.Children.toArray(children)[0];
};
var setChildrenProps = function setChildrenProps(children) {
var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var targetComponents = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
if (react__WEBPACK_IMPORTED_MODULE_0___default.a.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 react__WEBPACK_IMPORTED_MODULE_0___default.a.cloneElement(child, props);
};
return react__WEBPACK_IMPORTED_MODULE_0___default.a.Children.map(children, function (item) {
if (!react__WEBPACK_IMPORTED_MODULE_0___default.a.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 setChildrenIndex = function setChildrenIndex(children) {
var targetComponents = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
if (react__WEBPACK_IMPORTED_MODULE_0___default.a.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 react__WEBPACK_IMPORTED_MODULE_0___default.a.cloneElement(child, props);
};
var index = 0;
return react__WEBPACK_IMPORTED_MODULE_0___default.a.Children.map(children, function (item) {
if (!react__WEBPACK_IMPORTED_MODULE_0___default.a.isValidElement(item)) return item;
index = index + 1;
if (allowAll) return clone(item, {
index: index
});
var isAllowed = targetComponents.find(function (child) {
return child === item.type;
});
if (isAllowed) return clone(item, {
index: index
});
index = index - 1;
return item;
});
};
var getReactNode = function getReactNode(node) {
if (!node) return null;
if (typeof node !== 'function') return node;
return node();
};
/***/ }),
/***/ 3:
/***/ (function(module, exports) {
module.exports = require("react");
/***/ }),
/***/ 43:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "tuple", function() { return tuple; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "variantsTuple", function() { return variantsTuple; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "normalSizes", function() { return normalSizes; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "inputVariants", function() { return inputVariants; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "inputColors", function() { return inputColors; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "normalTypes", function() { return normalTypes; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "themeTypes", function() { return themeTypes; });
var tuple = function tuple() {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return args;
}; //todo better syntax related to tuple?
var variantsTuple = function variantsTuple() {
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
args[_key2] = arguments[_key2];
}
return args;
};
var buttonVariants = variantsTuple('solid', 'line', 'text');
var tabVariants = variantsTuple('solid', 'line');
var inputVariants = tuple('solid', 'line');
var buttonColors = tuple('default', 'primary', 'secondary', 'success', 'warning', 'error');
var tagColors = tuple('default', 'primary', 'secondary', 'success', 'warning', 'error');
var messageColors = tuple('default', 'primary', 'success', 'warning', 'error');
var notificationColors = tuple('default', 'primary', 'success', 'warning', 'error');
var notificationPlacement = tuple('right-start', 'left-start');
var selectVariants = tuple('line', 'text');
var normalSizes = tuple('mini', 'small', 'medium', 'large');
var tagSizes = tuple('small', 'medium', 'large');
var normalTypes = tuple('default', 'primary', 'secondary', 'success', 'warning', 'error');
var inputColors = tuple('default', 'primary', 'success', 'warning', 'error');
var themeTypes = tuple('dark', 'light');
var snippetColors = tuple('default', 'secondary', 'success', 'warning', 'error', 'dark', 'lite');
var cardVariants = tuple('solid', 'line');
var cardColors = tuple('default', 'primary', 'success', 'warning', 'error');
var copyTypes = tuple('default', 'slient', 'prevent');
var triggerTypes = tuple('hover', 'click');
var placement = tuple('auto', 'auto-start', 'auto-end', 'top', 'top-start', 'top-end', 'left', 'left-start', 'left-end', 'bottom', 'bottom-start', 'bottom-end', 'right', 'right-start', 'right-end');
var dividerAlign = tuple('start', 'center', 'end', 'left', 'right');
var paginationVariants = tuple('line', 'solid');
var skeletonVariants = tuple('text', 'circle', 'rect');
var skeletonAnimations = tuple('pulse', 'wave', 'none');
/***/ }),
/***/ 441:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var styled_jsx_style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
/* harmony import */ var styled_jsx_style__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(styled_jsx_style__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _utils_with_defaults__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(19);
/* harmony import */ var _utils_use_real_shape__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(85);
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
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 _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 _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_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 _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
var defaultProps = {
isExpanded: false,
delay: 200
};
var Expand = function Expand(_ref) {
var isExpanded = _ref.isExpanded,
delay = _ref.delay,
children = _ref.children;
var _useState = Object(react__WEBPACK_IMPORTED_MODULE_1__["useState"])(isExpanded ? 'auto' : '0'),
_useState2 = _slicedToArray(_useState, 2),
height = _useState2[0],
setHeight = _useState2[1];
var _useState3 = Object(react__WEBPACK_IMPORTED_MODULE_1__["useState"])(isExpanded),
_useState4 = _slicedToArray(_useState3, 2),
selfExpanded = _useState4[0],
setSelfExpanded = _useState4[1];
var _useState5 = Object(react__WEBPACK_IMPORTED_MODULE_1__["useState"])(isExpanded),
_useState6 = _slicedToArray(_useState5, 2),
visible = _useState6[0],
setVisible = _useState6[1];
var contentRef = Object(react__WEBPACK_IMPORTED_MODULE_1__["useRef"])(null);
var entryTimer = Object(react__WEBPACK_IMPORTED_MODULE_1__["useRef"])();
var leaveTimer = Object(react__WEBPACK_IMPORTED_MODULE_1__["useRef"])();
var resetTimer = Object(react__WEBPACK_IMPORTED_MODULE_1__["useRef"])();
var _useRealShape = Object(_utils_use_real_shape__WEBPACK_IMPORTED_MODULE_3__["default"])(contentRef),
_useRealShape2 = _slicedToArray(_useRealShape, 2),
state = _useRealShape2[0],
updateShape = _useRealShape2[1];
Object(react__WEBPACK_IMPORTED_MODULE_1__["useEffect"])(function () {
return setHeight("".concat(state.height, "px"));
}, [state.height]);
Object(react__WEBPACK_IMPORTED_MODULE_1__["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__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", {
className: styled_jsx_style__WEBPACK_IMPORTED_MODULE_0___default.a.dynamic([["1918690829", [visible ? 'visible' : 'hidden', delay, height]]]) + " " + "container ".concat(selfExpanded ? 'expanded' : '')
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", {
ref: contentRef,
className: styled_jsx_style__WEBPACK_IMPORTED_MODULE_0___default.a.dynamic([["1918690829", [visible ? 'visible' : 'hidden', delay, height]]]) + " " + "content"
}, children), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(styled_jsx_style__WEBPACK_IMPORTED_MODULE_0___default.a, {
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;}")));
};
/* harmony default export */ __webpack_exports__["default"] = (Object(_utils_with_defaults__WEBPACK_IMPORTED_MODULE_2__["default"])(Expand, defaultProps));
/***/ }),
/***/ 5:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _use_theme__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _use_theme__WEBPACK_IMPORTED_MODULE_0__["default"]; });
/***/ }),
/***/ 6:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _theme_context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7);
var useTheme = function useTheme() {
return react__WEBPACK_IMPORTED_MODULE_0___default.a.useContext(_theme_context__WEBPACK_IMPORTED_MODULE_1__["default"]);
};
/* harmony default export */ __webpack_exports__["default"] = (useTheme);
/***/ }),
/***/ 7:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _themes_default__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8);
var ThemeContext = react__WEBPACK_IMPORTED_MODULE_0___default.a.createContext(_themes_default__WEBPACK_IMPORTED_MODULE_1__["default"]);
/* harmony default export */ __webpack_exports__["default"] = (ThemeContext);
/***/ }),
/***/ 711:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _tree__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(712);
/* harmony import */ var _tree_file__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(713);
/* harmony import */ var _tree_folder__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(718);
_tree__WEBPACK_IMPORTED_MODULE_0__["default"].File = _tree_file__WEBPACK_IMPORTED_MODULE_1__["default"];
_tree__WEBPACK_IMPORTED_MODULE_0__["default"].Folder = _tree_folder__WEBPACK_IMPORTED_MODULE_2__["default"];
/* harmony default export */ __webpack_exports__["default"] = (_tree__WEBPACK_IMPORTED_MODULE_0__["default"]);
/***/ }),
/***/ 712:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var styled_jsx_style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
/* harmony import */ var styled_jsx_style__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(styled_jsx_style__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _tree_file__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(713);
/* harmony import */ var _tree_folder__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(718);
/* harmony import */ var _tree_context__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(715);
/* harmony import */ var _utils_prop_types__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(43);
/* harmony import */ var _tree_help__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(717);
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 _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 _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; }
var FileTreeValueType = Object(_utils_prop_types__WEBPACK_IMPORTED_MODULE_5__["tuple"])('directory', 'file');
var directoryType = FileTreeValueType[0];
var defaultProps = {
initialExpand: false,
className: ''
};
var makeChildren = function makeChildren() {
var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
if (!value || !value.length) return null;
return value.sort(function (a, b) {
if (a.type !== b.type) return a.type !== directoryType ? 1 : -1;
return "".concat(a.name).charCodeAt(0) - "".concat(b.name).charCodeAt(0);
}).map(function (item, index) {
if (item.type === directoryType) return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_tree_folder__WEBPACK_IMPORTED_MODULE_3__["default"], {
name: item.name,
extra: item.extra,
key: "folder-".concat(item.name, "-").concat(index)
}, makeChildren(item.files));
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_tree_file__WEBPACK_IMPORTED_MODULE_2__["default"], {
name: item.name,
extra: item.extra,
key: "file-".concat(item.name, "-").concat(index)
});
});
};
var Tree = function Tree(_ref) {
var children = _ref.children,
onClick = _ref.onClick,
initialExpand = _ref.initialExpand,
value = _ref.value,
className = _ref.className,
props = _objectWithoutProperties(_ref, ["children", "onClick", "initialExpand", "value", "className"]);
var isImperative = Boolean(value && value.length > 0);
var onFileClick = function onFileClick(path) {
onClick && onClick(path);
};
var initialValue = Object(react__WEBPACK_IMPORTED_MODULE_1__["useMemo"])(function () {
return {
onFileClick: onFileClick,
initialExpand: initialExpand,
isImperative: isImperative
};
}, [initialExpand]);
var customChildren = isImperative ? makeChildren(value) : Object(_tree_help__WEBPACK_IMPORTED_MODULE_6__["sortChildren"])(children, _tree_folder__WEBPACK_IMPORTED_MODULE_3__["default"]);
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_tree_context__WEBPACK_IMPORTED_MODULE_4__["TreeContext"].Provider, {
value: initialValue
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", _extends({}, props, {
className: "jsx-2273069862" + " " + (props && props.className != null && props.className || "tree ".concat(className))
}), customChildren, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(styled_jsx_style__WEBPACK_IMPORTED_MODULE_0___default.a, {
id: "2273069862"
}, ".tree.jsx-2273069862{padding-left:1.625rem;}")));
};
Tree.defaultProps = defaultProps;
/* harmony default export */ __webpack_exports__["default"] = (Tree);
/***/ }),
/***/ 713:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var styled_jsx_style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
/* harmony import */ var styled_jsx_style__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(styled_jsx_style__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _utils_with_defaults__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(19);
/* harmony import */ var _styles_use_theme__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5);
/* harmony import */ var _tree_file_icon__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(714);
/* harmony import */ var _tree_context__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(715);
/* harmony import */ var _tree_indents__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(716);
/* harmony import */ var _tree_help__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(717);
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 _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 _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; }
var defaultProps = {
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, ["name", "parentPath", "level", "extra", "className"]);
var theme = Object(_styles_use_theme__WEBPACK_IMPORTED_MODULE_3__["default"])();
var _useTreeContext = Object(_tree_context__WEBPACK_IMPORTED_MODULE_5__["useTreeContext"])(),
onFileClick = _useTreeContext.onFileClick;
var currentPath = Object(react__WEBPACK_IMPORTED_MODULE_1__["useMemo"])(function () {
return Object(_tree_help__WEBPACK_IMPORTED_MODULE_7__["makeChildPath"])(name, parentPath);
}, []);
var clickHandler = function clickHandler(event) {
Object(_tree_help__WEBPACK_IMPORTED_MODULE_7__["stopPropagation"])(event);
onFileClick && onFileClick(currentPath);
};
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", _extends({
onClick: clickHandler
}, props, {
className: styled_jsx_style__WEBPACK_IMPORTED_MODULE_0___default.a.dynamic([["4220802947", [level, theme.palette.accents_2, theme.palette.accents_8, theme.palette.accents_5]]]) + " " + (props && props.className != null && props.className || "file ".concat(className))
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", {
className: styled_jsx_style__WEBPACK_IMPORTED_MODULE_0___default.a.dynamic([["4220802947", [level, theme.palette.accents_2, theme.palette.accents_8, theme.palette.accents_5]]]) + " " + "names"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_tree_indents__WEBPACK_IMPORTED_MODULE_6__["default"], {
count: level
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("span", {
className: styled_jsx_style__WEBPACK_IMPORTED_MODULE_0___default.a.dynamic([["4220802947", [level, theme.palette.accents_2, theme.palette.accents_8, theme.palette.accents_5]]]) + " " + "icon"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_tree_file_icon__WEBPACK_IMPORTED_MODULE_4__["default"], null)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("span", {
className: styled_jsx_style__WEBPACK_IMPORTED_MODULE_0___default.a.dynamic([["4220802947", [level, theme.palette.accents_2, theme.palette.accents_8, theme.palette.accents_5]]]) + " " + "name"
}, name, extra && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("span", {
className: styled_jsx_style__WEBPACK_IMPORTED_MODULE_0___default.a.dynamic([["4220802947", [level, theme.palette.accents_2, theme.palette.accents_8, theme.palette.accents_5]]]) + " " + "extra"
}, extra))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(styled_jsx_style__WEBPACK_IMPORTED_MODULE_0___default.a, {
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;}")));
};
/* harmony default export */ __webpack_exports__["default"] = (Object(_utils_with_defaults__WEBPACK_IMPORTED_MODULE_2__["default"])(TreeFile, defaultProps));
/***/ }),
/***/ 714:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var styled_jsx_style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
/* harmony import */ var styled_jsx_style__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(styled_jsx_style__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _styles_use_theme__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5);
/* harmony import */ var _utils_with_defaults__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(19);
var defaultProps = {
width: 22,
height: 22
};
var TreeFileIcon = function TreeFileIcon(_ref) {
var color = _ref.color,
width = _ref.width,
height = _ref.height;
var theme = Object(_styles_use_theme__WEBPACK_IMPORTED_MODULE_2__["default"])();
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("svg", {
viewBox: "0 0 24 24",
width: width,
height: height,
stroke: "currentColor",
strokeWidth: "1",
strokeLinecap: "round",
strokeLinejoin: "round",
fill: "none",
shapeRendering: "geometricPrecision",
className: styled_jsx_style__WEBPACK_IMPORTED_MODULE_0___default.a.dynamic([["4043754792", [color || theme.palette.accents_8]]])
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("path", {
d: "M13 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V9z",
className: styled_jsx_style__WEBPACK_IMPORTED_MODULE_0___default.a.dynamic([["4043754792", [color || theme.palette.accents_8]]])
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("path", {
d: "M13 2v7h7",
className: styled_jsx_style__WEBPACK_IMPORTED_MODULE_0___default.a.dynamic([["4043754792", [color || theme.palette.accents_8]]])
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(styled_jsx_style__WEBPACK_IMPORTED_MODULE_0___default.a, {
id: "4043754792",
dynamic: [color || theme.palette.accents_8]
}, "svg.__jsx-style-dynamic-selector{color:".concat(color || theme.palette.accents_8, ";}")));
};
var MemoTreeFileIcon = react__WEBPACK_IMPORTED_MODULE_1___default.a.memo(TreeFileIcon);
/* harmony default export */ __webpack_exports__["default"] = (Object(_utils_with_defaults__WEBPACK_IMPORTED_MODULE_3__["default"])(MemoTreeFileIcon, defaultProps));
/***/ }),
/***/ 715:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TreeContext", function() { return TreeContext; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useTreeContext", function() { return useTreeContext; });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
var defaultContext = {
initialExpand: false,
isImperative: false
};
var TreeContext = react__WEBPACK_IMPORTED_MODULE_0___default.a.createContext(defaultContext);
var useTreeContext = function useTreeContext() {
return react__WEBPACK_IMPORTED_MODULE_0___default.a.useContext(TreeContext);
};
/***/ }),
/***/ 716:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var styled_jsx_style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
/* harmony import */ var styled_jsx_style__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(styled_jsx_style__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
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 _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 _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
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; }
var TreeIndents = function TreeIndents(_ref) {
var count = _ref.count;
if (count === 0) return null;
return (
/*#__PURE__*/
/* eslint-disable react/jsx-no-useless-fragment */
react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_1___default.a.Fragment, null, _toConsumableArray(new Array(count)).map(function (_, index) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("span", {
key: "indent-".concat(index),
className: styled_jsx_style__WEBPACK_IMPORTED_MODULE_0___default.a.dynamic([["2622387629", [index + 1]]]) + " " + "indent"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(styled_jsx_style__WEBPACK_IMPORTED_MODULE_0___default.a, {
id: "2622387629",
dynamic: [index + 1]
}, "span.indent.__jsx-style-dynamic-selector{left:calc(-1.875rem * ".concat(index + 1, " + 0.75rem);}")));
}))
/* eslint-enable */
);
};
/* harmony default export */ __webpack_exports__["default"] = (TreeIndents);
/***/ }),
/***/ 717:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "sortChildren", function() { return sortChildren; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "makeChildPath", function() { return makeChildPath; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "stopPropagation", function() { return stopPropagation; });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
var sortChildren = function sortChildren(children, folderComponentType) {
return react__WEBPACK_IMPORTED_MODULE_0___default.a.Children.toArray(children).sort(function (a, b) {
if (!react__WEBPACK_IMPORTED_MODULE_0___default.a.isValidElement(a) || !react__WEBPACK_IMPORTED_MODULE_0___default.a.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();
};
/***/ }),
/***/ 718:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var styled_jsx_style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
/* harmony import */ var styled_jsx_style__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(styled_jsx_style__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _styles_use_theme__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5);
/* harmony import */ var _utils_with_defaults__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(19);
/* harmony import */ var _utils_collections__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(27);
/* harmony import */ var _tree_file__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(713);
/* harmony import */ var _shared_expand__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(441);
/* harmony import */ var _tree_indents__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(716);
/* harmony import */ var _tree_context__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(715);
/* harmony import */ var _tree_folder_icon__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(719);
/* harmony import */ var _tree_status_icon__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(720);
/* harmony import */ var _tree_help__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(717);
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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
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 _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 _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_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 _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
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 _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; }
var defaultProps = {
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, ["name", "children", "parentPath", "level", "extra", "className"]);
var theme = Object(_styles_use_theme__WEBPACK_IMPORTED_MODULE_2__["default"])();
var _useTreeContext = Object(_tree_context__WEBPACK_IMPORTED_MODULE_8__["useTreeContext"])(),
initialExpand = _useTreeContext.initialExpand,
isImperative = _useTreeContext.isImperative;
var _useState = Object(react__WEBPACK_IMPORTED_MODULE_1__["useState"])(initialExpand),
_useState2 = _slicedToArray(_useState, 2),
expanded = _useState2[0],
setExpanded = _useState2[1];
Object(react__WEBPACK_IMPORTED_MODULE_1__["useEffect"])(function () {
return setExpanded(initialExpand);
}, []);
var currentPath = Object(react__WEBPACK_IMPORTED_MODULE_1__["useMemo"])(function () {
return Object(_tree_help__WEBPACK_IMPORTED_MODULE_11__["makeChildPath"])(name, parentPath);
}, []);
var clickHandler = function clickHandler() {
return setExpanded(!expanded);
};
var nextChildren = Object(_utils_collections__WEBPACK_IMPORTED_MODULE_4__["setChildrenProps"])(children, {
parentPath: currentPath,
level: parentLevel + 1
}, [TreeFolder, _tree_file__WEBPACK_IMPORTED_MODULE_5__["default"]]);
var sortedChildren = isImperative ? nextChildren : Object(_tree_help__WEBPACK_IMPORTED_MODULE_11__["sortChildren"])(nextChildren, TreeFolder);
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", _extends({
onClick: clickHandler
}, props, {
className: styled_jsx_style__WEBPACK_IMPORTED_MODULE_0___default.a.dynamic([["1983983326", [parentLevel, theme.palette.accents_2, theme.palette.background, theme.palette.accents_8, theme.palette.accents_5]]]) + " " + (props && props.className != null && props.className || "folder ".concat(className))
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", {
className: styled_jsx_style__WEBPACK_IMPORTED_MODULE_0___default.a.dynamic([["1983983326", [parentLevel, theme.palette.accents_2, theme.palette.background, theme.palette.accents_8, theme.palette.accents_5]]]) + " " + "names"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_tree_indents__WEBPACK_IMPORTED_MODULE_7__["default"], {
count: parentLevel
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("span", {
className: styled_jsx_style__WEBPACK_IMPORTED_MODULE_0___default.a.dynamic([["1983983326", [parentLevel, theme.palette.accents_2, theme.palette.background, theme.palette.accents_8, theme.palette.accents_5]]]) + " " + "status"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_tree_status_icon__WEBPACK_IMPORTED_MODULE_10__["default"], {
active: expanded
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("span", {
className: styled_jsx_style__WEBPACK_IMPORTED_MODULE_0___default.a.dynamic([["1983983326", [parentLevel, theme.palette.accents_2, theme.palette.background, theme.palette.accents_8, theme.palette.accents_5]]]) + " " + "icon"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_tree_folder_icon__WEBPACK_IMPORTED_MODULE_9__["default"], null)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("span", {
className: styled_jsx_style__WEBPACK_IMPORTED_MODULE_0___default.a.dynamic([["1983983326", [parentLevel, theme.palette.accents_2, theme.palette.background, theme.palette.accents_8, theme.palette.accents_5]]]) + " " + "name"
}, name, extra && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("span", {
className: styled_jsx_style__WEBPACK_IMPORTED_MODULE_0___default.a.dynamic([["1983983326", [parentLevel, theme.palette.accents_2, theme.palette.background, theme.pale