{"version":3,"sources":["webpack:///./node_modules/@ionic/core/dist/esm-es5/ion-split-pane-ios.entry.js"],"names":["SPLIT_PANE_MAIN","SPLIT_PANE_SIDE","QUERY","SplitPane","prototype","visibleChanged","visible","detail","isPane","this","bind","ionSplitPaneVisible","emit","connectedCallback","styleChildren","updateState","disconnectedCallback","rmL","undefined","componentWillLoad","contentId","console","warn","mediaQuery","callback_1","mediaList_1","_this","disabled","query","when","length","window","matchMedia","q","matches","addListener","removeListener","element","parentElement","el","classList","contains","children","nu","childElementCount","foundMain","i","child","isMain","id","hasAttribute","setPaneClass","render","_a","mode","class","Object","defineProperty","get","enumerable","configurable","hostRef","toAdd","toRemove","add","remove"],"mappings":"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","file":"js/chunk-2d22bf12.bca7803a.js","sourcesContent":["import { r as registerInstance, d as createEvent, c as getIonMode, h, e as getElement, H as Host } from './core-feeeff0d.js';\nimport './config-3c7f3790.js';\nvar SPLIT_PANE_MAIN = 'split-pane-main';\nvar SPLIT_PANE_SIDE = 'split-pane-side';\nvar QUERY = {\n    'xs': '(min-width: 0px)',\n    'sm': '(min-width: 576px)',\n    'md': '(min-width: 768px)',\n    'lg': '(min-width: 992px)',\n    'xl': '(min-width: 1200px)',\n    'never': ''\n};\nvar SplitPane = /** @class */ (function () {\n    function SplitPane(hostRef) {\n        registerInstance(this, hostRef);\n        this.visible = false;\n        /**\n         * If `true`, the split pane will be hidden.\n         */\n        this.disabled = false;\n        /**\n         * When the split-pane should be shown.\n         * Can be a CSS media query expression, or a shortcut expression.\n         * Can also be a boolean expression.\n         */\n        this.when = QUERY['lg'];\n        this.ionSplitPaneVisible = createEvent(this, \"ionSplitPaneVisible\", 7);\n    }\n    SplitPane.prototype.visibleChanged = function (visible) {\n        var detail = { visible: visible, isPane: this.isPane.bind(this) };\n        this.ionSplitPaneVisible.emit(detail);\n    };\n    SplitPane.prototype.connectedCallback = function () {\n        this.styleChildren();\n        this.updateState();\n    };\n    SplitPane.prototype.disconnectedCallback = function () {\n        if (this.rmL) {\n            this.rmL();\n            this.rmL = undefined;\n        }\n    };\n    SplitPane.prototype.componentWillLoad = function () {\n        if (this.contentId === undefined) {\n            console.warn(\"[DEPRECATED][ion-split-pane] Using the [main] attribute is deprecated, please use the \\\"contentId\\\" property instead:\\nBEFORE:\\n  <ion-split-pane>\\n    ...\\n    <div main>...</div>\\n  </ion-split-pane>\\n\\nAFTER:\\n  <ion-split-pane contentId=\\\"main-content\\\">\\n    ...\\n    <div id=\\\"main-content\\\">...</div>\\n  </ion-split-pane>\\n\");\n        }\n    };\n    SplitPane.prototype.updateState = function () {\n        var _this = this;\n        if (this.rmL) {\n            this.rmL();\n            this.rmL = undefined;\n        }\n        // Check if the split-pane is disabled\n        if (this.disabled) {\n            this.visible = false;\n            return;\n        }\n        // When query is a boolean\n        var query = this.when;\n        if (typeof query === 'boolean') {\n            this.visible = query;\n            return;\n        }\n        // When query is a string, let's find first if it is a shortcut\n        var mediaQuery = QUERY[query] || query;\n        // Media query is empty or null, we hide it\n        if (mediaQuery.length === 0) {\n            this.visible = false;\n            return;\n        }\n        if (window.matchMedia) {\n            // Listen on media query\n            var callback_1 = function (q) {\n                _this.visible = q.matches;\n            };\n            var mediaList_1 = window.matchMedia(mediaQuery);\n            mediaList_1.addListener(callback_1);\n            this.rmL = function () { return mediaList_1.removeListener(callback_1); };\n            this.visible = mediaList_1.matches;\n        }\n    };\n    SplitPane.prototype.isPane = function (element) {\n        if (!this.visible) {\n            return false;\n        }\n        return element.parentElement === this.el\n            && element.classList.contains(SPLIT_PANE_SIDE);\n    };\n    SplitPane.prototype.styleChildren = function () {\n        var contentId = this.contentId;\n        var children = this.el.children;\n        var nu = this.el.childElementCount;\n        var foundMain = false;\n        for (var i = 0; i < nu; i++) {\n            var child = children[i];\n            var isMain = contentId !== undefined ? child.id === contentId : child.hasAttribute('main');\n            if (isMain) {\n                if (foundMain) {\n                    console.warn('split pane cannot have more than one main node');\n                    return;\n                }\n                foundMain = true;\n            }\n            setPaneClass(child, isMain);\n        }\n        if (!foundMain) {\n            console.warn('split pane does not have a specified main node');\n        }\n    };\n    SplitPane.prototype.render = function () {\n        var _a;\n        var mode = getIonMode(this);\n        return (h(Host, { class: (_a = {},\n                _a[mode] = true,\n                // Used internally for styling\n                _a[\"split-pane-\" + mode] = true,\n                _a['split-pane-visible'] = this.visible,\n                _a) }));\n    };\n    Object.defineProperty(SplitPane.prototype, \"el\", {\n        get: function () { return getElement(this); },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(SplitPane, \"watchers\", {\n        get: function () {\n            return {\n                \"visible\": [\"visibleChanged\"],\n                \"disabled\": [\"updateState\"],\n                \"when\": [\"updateState\"]\n            };\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(SplitPane, \"style\", {\n        get: function () { return \"ion-split-pane{left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;flex-wrap:nowrap;contain:strict}.split-pane-visible>.split-pane-main,.split-pane-visible>.split-pane-side{left:0;right:0;top:0;bottom:0;position:relative;-ms-flex:1;flex:1;-webkit-box-shadow:none!important;box-shadow:none!important;z-index:0}.split-pane-visible>.split-pane-side:not(ion-menu),.split-pane-visible>ion-menu.split-pane-side.menu-enabled{display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}.split-pane-side:not(ion-menu){display:none}.split-pane-visible>.split-pane-side{-ms-flex-order:-1;order:-1}.split-pane-visible>.split-pane-side[side=end]{-ms-flex-order:1;order:1}.split-pane-ios{--border:0.55px solid var(--ion-item-border-color,var(--ion-border-color,var(--ion-color-step-250,#c8c7cc)))}.split-pane-ios.split-pane-visible>.split-pane-side{min-width:270px;max-width:28%;border-right:var(--border);border-left:0}.split-pane-ios.split-pane-visible>.split-pane-side[side=end]{min-width:270px;max-width:28%;border-right:0;border-left:var(--border)}\"; },\n        enumerable: true,\n        configurable: true\n    });\n    return SplitPane;\n}());\nvar setPaneClass = function (el, isMain) {\n    var toAdd;\n    var toRemove;\n    if (isMain) {\n        toAdd = SPLIT_PANE_MAIN;\n        toRemove = SPLIT_PANE_SIDE;\n    }\n    else {\n        toAdd = SPLIT_PANE_SIDE;\n        toRemove = SPLIT_PANE_MAIN;\n    }\n    var classList = el.classList;\n    classList.add(toAdd);\n    classList.remove(toRemove);\n};\nexport { SplitPane as ion_split_pane };\n"],"sourceRoot":""}