"use strict";
/*
 * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
 * This devtool is neither made for production nor for readable output files.
 * It uses "eval()" calls to create a separate source file in the browser devtools.
 * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
 * or disable the default devtool with "devtool: false".
 * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
 */
(self["webpackChunk_JUPYTERLAB_CORE_OUTPUT"] = self["webpackChunk_JUPYTERLAB_CORE_OUTPUT"] || []).push([["node_modules_jupyterlab_property-inspector_lib_index_js-_90690"],{

/***/ "../node_modules/@jupyterlab/property-inspector/lib/index.js":
/*!*******************************************************************!*\
  !*** ../node_modules/@jupyterlab/property-inspector/lib/index.js ***!
  \*******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   IPropertyInspectorProvider: () => (/* reexport safe */ _token__WEBPACK_IMPORTED_MODULE_4__.IPropertyInspectorProvider),\n/* harmony export */   SideBarPropertyInspectorProvider: () => (/* binding */ SideBarPropertyInspectorProvider)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @lumino/widgets */ \"webpack/sharing/consume/default/@lumino/widgets/@lumino/widgets\");\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _token__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./token */ \"../node_modules/@jupyterlab/property-inspector/lib/token.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/**\n * @packageDocumentation\n * @module property-inspector\n */\n\n\n\n\n\n\n/**\n * The implementation of the PropertyInspector.\n */\nclass PropertyInspectorProvider extends _lumino_widgets__WEBPACK_IMPORTED_MODULE_3__.Widget {\n    /**\n     * Construct a new Property Inspector.\n     */\n    constructor() {\n        super();\n        this._tracker = new _lumino_widgets__WEBPACK_IMPORTED_MODULE_3__.FocusTracker();\n        this._inspectors = new Map();\n        this.addClass('jp-PropertyInspector');\n        this._tracker = new _lumino_widgets__WEBPACK_IMPORTED_MODULE_3__.FocusTracker();\n        this._tracker.currentChanged.connect(this._onCurrentChanged, this);\n    }\n    /**\n     * Register a widget in the property inspector provider.\n     *\n     * @param widget The owner widget to register.\n     */\n    register(widget) {\n        if (this._inspectors.has(widget)) {\n            throw new Error('Widget is already registered');\n        }\n        const inspector = new Private.PropertyInspector(widget);\n        widget.disposed.connect(this._onWidgetDisposed, this);\n        this._inspectors.set(widget, inspector);\n        inspector.onAction.connect(this._onInspectorAction, this);\n        this._tracker.add(widget);\n        return inspector;\n    }\n    /**\n     * The current widget being tracked by the inspector.\n     */\n    get currentWidget() {\n        return this._tracker.currentWidget;\n    }\n    /**\n     * Refresh the content for the current widget.\n     */\n    refresh() {\n        const current = this._tracker.currentWidget;\n        if (!current) {\n            this.setContent(null);\n            return;\n        }\n        const inspector = this._inspectors.get(current);\n        if (inspector) {\n            this.setContent(inspector.content);\n        }\n    }\n    /**\n     * Handle the disposal of a widget.\n     */\n    _onWidgetDisposed(sender) {\n        const inspector = this._inspectors.get(sender);\n        if (inspector) {\n            inspector.dispose();\n            this._inspectors.delete(sender);\n        }\n    }\n    /**\n     * Handle inspector actions.\n     */\n    _onInspectorAction(sender, action) {\n        const owner = sender.owner;\n        const current = this._tracker.currentWidget;\n        switch (action) {\n            case 'content':\n                if (current === owner) {\n                    this.setContent(sender.content);\n                }\n                break;\n            case 'dispose':\n                if (owner) {\n                    this._tracker.remove(owner);\n                    this._inspectors.delete(owner);\n                }\n                break;\n            case 'show-panel':\n                if (current === owner) {\n                    this.showPanel();\n                }\n                break;\n            default:\n                throw new Error('Unsupported inspector action');\n        }\n    }\n    /**\n     * Handle a change to the current widget in the tracker.\n     */\n    _onCurrentChanged() {\n        const current = this._tracker.currentWidget;\n        if (current) {\n            const inspector = this._inspectors.get(current);\n            const content = inspector.content;\n            this.setContent(content);\n        }\n        else {\n            this.setContent(null);\n        }\n    }\n}\n/**\n * A class that adds a property inspector provider to the\n * JupyterLab sidebar.\n */\nclass SideBarPropertyInspectorProvider extends PropertyInspectorProvider {\n    /**\n     * Construct a new Side Bar Property Inspector.\n     */\n    constructor({ shell, placeholder, translator }) {\n        super();\n        this._labshell = shell;\n        this.translator = translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__.nullTranslator;\n        this._trans = this.translator.load('jupyterlab');\n        const layout = (this.layout = new _lumino_widgets__WEBPACK_IMPORTED_MODULE_3__.SingletonLayout());\n        if (placeholder) {\n            this._placeholder = placeholder;\n        }\n        else {\n            const node = document.createElement('div');\n            const content = document.createElement('div');\n            content.textContent = this._trans.__('No properties to inspect.');\n            content.className = 'jp-PropertyInspector-placeholderContent';\n            node.appendChild(content);\n            this._placeholder = new _lumino_widgets__WEBPACK_IMPORTED_MODULE_3__.Widget({ node });\n            this._placeholder.addClass('jp-PropertyInspector-placeholder');\n        }\n        layout.widget = this._placeholder;\n        this._labshell.currentChanged.connect(this._onShellCurrentChanged, this);\n        this._onShellCurrentChanged();\n    }\n    /**\n     * Set the content of the sidebar panel.\n     */\n    setContent(content) {\n        const layout = this.layout;\n        if (layout.widget) {\n            layout.widget.removeClass('jp-PropertyInspector-content');\n            layout.removeWidget(layout.widget);\n        }\n        if (!content) {\n            content = this._placeholder;\n        }\n        content.addClass('jp-PropertyInspector-content');\n        layout.widget = content;\n    }\n    /**\n     * Show the sidebar panel.\n     */\n    showPanel() {\n        this._labshell.activateById(this.id);\n    }\n    /**\n     * Handle the case when the current widget is not in our tracker.\n     */\n    _onShellCurrentChanged() {\n        const current = this.currentWidget;\n        if (!current) {\n            this.setContent(null);\n            return;\n        }\n        const currentShell = this._labshell.currentWidget;\n        if (currentShell === null || currentShell === void 0 ? void 0 : currentShell.node.contains(current.node)) {\n            this.refresh();\n        }\n        else {\n            this.setContent(null);\n        }\n    }\n}\n/**\n * A namespace for module private data.\n */\nvar Private;\n(function (Private) {\n    /**\n     * An implementation of the property inspector used by the\n     * property inspector provider.\n     */\n    class PropertyInspector {\n        /**\n         * Construct a new property inspector.\n         */\n        constructor(owner) {\n            this._isDisposed = false;\n            this._content = null;\n            this._owner = null;\n            this._onAction = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_2__.Signal(this);\n            this._owner = owner;\n        }\n        /**\n         * The owner widget for the property inspector.\n         */\n        get owner() {\n            return this._owner;\n        }\n        /**\n         * The current content for the property inspector.\n         */\n        get content() {\n            return this._content;\n        }\n        /**\n         * Whether the property inspector is disposed.\n         */\n        get isDisposed() {\n            return this._isDisposed;\n        }\n        /**\n         * A signal used for actions related to the property inspector.\n         */\n        get onAction() {\n            return this._onAction;\n        }\n        /**\n         * Show the property inspector panel.\n         */\n        showPanel() {\n            if (this._isDisposed) {\n                return;\n            }\n            this._onAction.emit('show-panel');\n        }\n        /**\n         * Render the property inspector content.\n         */\n        render(widget) {\n            if (this._isDisposed) {\n                return;\n            }\n            if (widget instanceof _lumino_widgets__WEBPACK_IMPORTED_MODULE_3__.Widget) {\n                this._content = widget;\n            }\n            else {\n                this._content = _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.ReactWidget.create(widget);\n            }\n            this._onAction.emit('content');\n        }\n        /**\n         * Dispose of the property inspector.\n         */\n        dispose() {\n            if (this._isDisposed) {\n                return;\n            }\n            this._isDisposed = true;\n            this._content = null;\n            this._owner = null;\n            _lumino_signaling__WEBPACK_IMPORTED_MODULE_2__.Signal.clearData(this);\n        }\n    }\n    Private.PropertyInspector = PropertyInspector;\n})(Private || (Private = {}));\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/property-inspector/lib/index.js?");

/***/ }),

/***/ "../node_modules/@jupyterlab/property-inspector/lib/token.js":
/*!*******************************************************************!*\
  !*** ../node_modules/@jupyterlab/property-inspector/lib/token.js ***!
  \*******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   IPropertyInspectorProvider: () => (/* binding */ IPropertyInspectorProvider)\n/* harmony export */ });\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/coreutils */ \"webpack/sharing/consume/default/@lumino/coreutils/@lumino/coreutils\");\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n/**\n * The property inspector provider token.\n */\nconst IPropertyInspectorProvider = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__.Token('@jupyterlab/property-inspector:IPropertyInspectorProvider', 'A service to registry new widget in the property inspector side panel.');\n//# sourceMappingURL=token.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/property-inspector/lib/token.js?");

/***/ })

}]);