{"version":3,"file":"index.mjs","sources":["../../src/organizationchart/BaseOrganizationChart.vue","../../src/organizationchart/OrganizationChartNode.vue","../../src/organizationchart/OrganizationChartNode.vue?vue&type=template&id=0c60435f&lang.js","../../src/organizationchart/OrganizationChart.vue","../../src/organizationchart/OrganizationChart.vue?vue&type=template&id=2cf815ac&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport OrganizationChartStyle from 'primevue/organizationchart/style';\n\nexport default {\n    name: 'BaseOrganizationChart',\n    extends: BaseComponent,\n    props: {\n        value: {\n            type: null,\n            default: null\n        },\n        selectionKeys: {\n            type: null,\n            default: null\n        },\n        selectionMode: {\n            type: String,\n            default: null\n        },\n        collapsible: {\n            type: Boolean,\n            default: false\n        },\n        collapsedKeys: {\n            type: null,\n            default: null\n        }\n    },\n    style: OrganizationChartStyle,\n    provide() {\n        return {\n            $pcOrganizationChart: this,\n            $parentInstance: this\n        };\n    }\n};\n</script>\n","<template>\n    <table :class=\"cx('table')\" v-bind=\"ptm('table')\">\n        <tbody v-bind=\"ptm('body')\">\n            <tr v-if=\"node\" v-bind=\"ptm('row')\">\n                <td :colspan=\"colspan\" v-bind=\"ptm('cell')\">\n                    <div :class=\"[cx('node'), node.styleClass]\" @click=\"onNodeClick\" v-bind=\"getPTOptions('node')\">\n                        <component :is=\"templates[node.type] || templates['default']\" :node=\"node\" />\n                        <a v-if=\"toggleable\" tabindex=\"0\" :class=\"cx('nodeToggleButton')\" @click=\"toggleNode\" @keydown=\"onKeydown\" v-bind=\"getPTOptions('nodeToggleButton')\">\n                            <!--TODO: togglericon deprecated since v4.0-->\n                            <component v-if=\"templates.toggleicon || templates.togglericon\" :is=\"templates.toggleicon || templates.togglericon\" :expanded=\"expanded\" :class=\"cx('nodeToggleButtonIcon')\" v-bind=\"getPTOptions('nodeToggleButtonIcon')\" />\n                            <component v-else :is=\"expanded ? 'ChevronDownIcon' : 'ChevronUpIcon'\" :class=\"cx('nodeToggleButtonIcon')\" v-bind=\"getPTOptions('nodeToggleButtonIcon')\" />\n                        </a>\n                    </div>\n                </td>\n            </tr>\n            <tr :style=\"childStyle\" :class=\"cx('connectors')\" v-bind=\"ptm('connectors')\">\n                <td :colspan=\"colspan\" v-bind=\"ptm('lineCell')\">\n                    <div :class=\"cx('connectorDown')\" v-bind=\"ptm('connectorDown')\"></div>\n                </td>\n            </tr>\n            <tr :style=\"childStyle\" :class=\"cx('connectors')\" v-bind=\"ptm('connectors')\">\n                <template v-if=\"node.children && node.children.length === 1\">\n                    <td :colspan=\"colspan\" v-bind=\"ptm('lineCell')\">\n                        <div :class=\"cx('connectorDown')\" v-bind=\"ptm('connectorDown')\"></div>\n                    </td>\n                </template>\n                <template v-if=\"node.children && node.children.length > 1\">\n                    <template v-for=\"(child, i) of node.children\" :key=\"child.key\">\n                        <td :class=\"cx('connectorLeft', { index: i })\" v-bind=\"getNodeOptions(!(i === 0), 'connectorLeft')\">&nbsp;</td>\n                        <td :class=\"cx('connectorRight', { index: i })\" v-bind=\"getNodeOptions(!(i === node.children.length - 1), 'connectorRight')\">&nbsp;</td>\n                    </template>\n                </template>\n            </tr>\n            <tr :style=\"childStyle\" :class=\"cx('nodeChildren')\" v-bind=\"ptm('nodeChildren')\">\n                <td v-for=\"child of node.children\" :key=\"child.key\" colspan=\"2\" v-bind=\"ptm('nodeCell')\">\n                    <OrganizationChartNode\n                        :node=\"child\"\n                        :templates=\"templates\"\n                        :collapsedKeys=\"collapsedKeys\"\n                        @node-toggle=\"onChildNodeToggle\"\n                        :collapsible=\"collapsible\"\n                        :selectionMode=\"selectionMode\"\n                        :selectionKeys=\"selectionKeys\"\n                        @node-click=\"onChildNodeClick\"\n                        :pt=\"pt\"\n                        :unstyled=\"unstyled\"\n                    />\n                </td>\n            </tr>\n        </tbody>\n    </table>\n</template>\n\n<script>\nimport { isAttributeEquals } from '@primeuix/utils/dom';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport ChevronUpIcon from '@primevue/icons/chevronup';\n\nexport default {\n    name: 'OrganizationChartNode',\n    hostName: 'OrganizationChart',\n    extends: BaseComponent,\n    emits: ['node-click', 'node-toggle'],\n    props: {\n        node: {\n            type: null,\n            default: null\n        },\n        templates: {\n            type: null,\n            default: null\n        },\n        collapsible: {\n            type: Boolean,\n            default: false\n        },\n        collapsedKeys: {\n            type: null,\n            default: null\n        },\n        selectionKeys: {\n            type: null,\n            default: null\n        },\n        selectionMode: {\n            type: String,\n            default: null\n        }\n    },\n    methods: {\n        getPTOptions(key) {\n            return this.ptm(key, {\n                context: {\n                    expanded: this.expanded,\n                    selectable: this.selectable,\n                    selected: this.selected,\n                    toggleable: this.toggleable,\n                    active: this.selected\n                }\n            });\n        },\n        getNodeOptions(lineTop, key) {\n            return this.ptm(key, {\n                context: {\n                    lineTop\n                }\n            });\n        },\n        onNodeClick(event) {\n            if (isAttributeEquals(event.target, 'data-pc-section', 'nodetogglebutton') || isAttributeEquals(event.target, 'data-pc-section', 'nodetogglebuttonicon')) {\n                return;\n            }\n\n            if (this.selectionMode) {\n                this.$emit('node-click', this.node);\n            }\n        },\n        onChildNodeClick(node) {\n            this.$emit('node-click', node);\n        },\n        toggleNode() {\n            this.$emit('node-toggle', this.node);\n        },\n        onChildNodeToggle(node) {\n            this.$emit('node-toggle', node);\n        },\n        onKeydown(event) {\n            if (event.code === 'Enter' || event.code === 'NumpadEnter' || event.code === 'Space') {\n                this.toggleNode();\n                event.preventDefault();\n            }\n        }\n    },\n    computed: {\n        leaf() {\n            return this.node.leaf === false ? false : !(this.node.children && this.node.children.length);\n        },\n        colspan() {\n            return this.node.children && this.node.children.length ? this.node.children.length * 2 : null;\n        },\n        childStyle() {\n            return {\n                visibility: !this.leaf && this.expanded ? 'inherit' : 'hidden'\n            };\n        },\n        expanded() {\n            return this.collapsedKeys[this.node.key] === undefined;\n        },\n        selectable() {\n            return this.selectionMode && this.node.selectable !== false;\n        },\n        selected() {\n            return this.selectable && this.selectionKeys && this.selectionKeys[this.node.key] === true;\n        },\n        toggleable() {\n            return this.collapsible && this.node.collapsible !== false && !this.leaf;\n        }\n    },\n    components: {\n        ChevronDownIcon: ChevronDownIcon,\n        ChevronUpIcon: ChevronUpIcon\n    }\n};\n</script>\n","<template>\n    <table :class=\"cx('table')\" v-bind=\"ptm('table')\">\n        <tbody v-bind=\"ptm('body')\">\n            <tr v-if=\"node\" v-bind=\"ptm('row')\">\n                <td :colspan=\"colspan\" v-bind=\"ptm('cell')\">\n                    <div :class=\"[cx('node'), node.styleClass]\" @click=\"onNodeClick\" v-bind=\"getPTOptions('node')\">\n                        <component :is=\"templates[node.type] || templates['default']\" :node=\"node\" />\n                        <a v-if=\"toggleable\" tabindex=\"0\" :class=\"cx('nodeToggleButton')\" @click=\"toggleNode\" @keydown=\"onKeydown\" v-bind=\"getPTOptions('nodeToggleButton')\">\n                            <!--TODO: togglericon deprecated since v4.0-->\n                            <component v-if=\"templates.toggleicon || templates.togglericon\" :is=\"templates.toggleicon || templates.togglericon\" :expanded=\"expanded\" :class=\"cx('nodeToggleButtonIcon')\" v-bind=\"getPTOptions('nodeToggleButtonIcon')\" />\n                            <component v-else :is=\"expanded ? 'ChevronDownIcon' : 'ChevronUpIcon'\" :class=\"cx('nodeToggleButtonIcon')\" v-bind=\"getPTOptions('nodeToggleButtonIcon')\" />\n                        </a>\n                    </div>\n                </td>\n            </tr>\n            <tr :style=\"childStyle\" :class=\"cx('connectors')\" v-bind=\"ptm('connectors')\">\n                <td :colspan=\"colspan\" v-bind=\"ptm('lineCell')\">\n                    <div :class=\"cx('connectorDown')\" v-bind=\"ptm('connectorDown')\"></div>\n                </td>\n            </tr>\n            <tr :style=\"childStyle\" :class=\"cx('connectors')\" v-bind=\"ptm('connectors')\">\n                <template v-if=\"node.children && node.children.length === 1\">\n                    <td :colspan=\"colspan\" v-bind=\"ptm('lineCell')\">\n                        <div :class=\"cx('connectorDown')\" v-bind=\"ptm('connectorDown')\"></div>\n                    </td>\n                </template>\n                <template v-if=\"node.children && node.children.length > 1\">\n                    <template v-for=\"(child, i) of node.children\" :key=\"child.key\">\n                        <td :class=\"cx('connectorLeft', { index: i })\" v-bind=\"getNodeOptions(!(i === 0), 'connectorLeft')\">&nbsp;</td>\n                        <td :class=\"cx('connectorRight', { index: i })\" v-bind=\"getNodeOptions(!(i === node.children.length - 1), 'connectorRight')\">&nbsp;</td>\n                    </template>\n                </template>\n            </tr>\n            <tr :style=\"childStyle\" :class=\"cx('nodeChildren')\" v-bind=\"ptm('nodeChildren')\">\n                <td v-for=\"child of node.children\" :key=\"child.key\" colspan=\"2\" v-bind=\"ptm('nodeCell')\">\n                    <OrganizationChartNode\n                        :node=\"child\"\n                        :templates=\"templates\"\n                        :collapsedKeys=\"collapsedKeys\"\n                        @node-toggle=\"onChildNodeToggle\"\n                        :collapsible=\"collapsible\"\n                        :selectionMode=\"selectionMode\"\n                        :selectionKeys=\"selectionKeys\"\n                        @node-click=\"onChildNodeClick\"\n                        :pt=\"pt\"\n                        :unstyled=\"unstyled\"\n                    />\n                </td>\n            </tr>\n        </tbody>\n    </table>\n</template>\n\n<script>\nimport { isAttributeEquals } from '@primeuix/utils/dom';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport ChevronUpIcon from '@primevue/icons/chevronup';\n\nexport default {\n    name: 'OrganizationChartNode',\n    hostName: 'OrganizationChart',\n    extends: BaseComponent,\n    emits: ['node-click', 'node-toggle'],\n    props: {\n        node: {\n            type: null,\n            default: null\n        },\n        templates: {\n            type: null,\n            default: null\n        },\n        collapsible: {\n            type: Boolean,\n            default: false\n        },\n        collapsedKeys: {\n            type: null,\n            default: null\n        },\n        selectionKeys: {\n            type: null,\n            default: null\n        },\n        selectionMode: {\n            type: String,\n            default: null\n        }\n    },\n    methods: {\n        getPTOptions(key) {\n            return this.ptm(key, {\n                context: {\n                    expanded: this.expanded,\n                    selectable: this.selectable,\n                    selected: this.selected,\n                    toggleable: this.toggleable,\n                    active: this.selected\n                }\n            });\n        },\n        getNodeOptions(lineTop, key) {\n            return this.ptm(key, {\n                context: {\n                    lineTop\n                }\n            });\n        },\n        onNodeClick(event) {\n            if (isAttributeEquals(event.target, 'data-pc-section', 'nodetogglebutton') || isAttributeEquals(event.target, 'data-pc-section', 'nodetogglebuttonicon')) {\n                return;\n            }\n\n            if (this.selectionMode) {\n                this.$emit('node-click', this.node);\n            }\n        },\n        onChildNodeClick(node) {\n            this.$emit('node-click', node);\n        },\n        toggleNode() {\n            this.$emit('node-toggle', this.node);\n        },\n        onChildNodeToggle(node) {\n            this.$emit('node-toggle', node);\n        },\n        onKeydown(event) {\n            if (event.code === 'Enter' || event.code === 'NumpadEnter' || event.code === 'Space') {\n                this.toggleNode();\n                event.preventDefault();\n            }\n        }\n    },\n    computed: {\n        leaf() {\n            return this.node.leaf === false ? false : !(this.node.children && this.node.children.length);\n        },\n        colspan() {\n            return this.node.children && this.node.children.length ? this.node.children.length * 2 : null;\n        },\n        childStyle() {\n            return {\n                visibility: !this.leaf && this.expanded ? 'inherit' : 'hidden'\n            };\n        },\n        expanded() {\n            return this.collapsedKeys[this.node.key] === undefined;\n        },\n        selectable() {\n            return this.selectionMode && this.node.selectable !== false;\n        },\n        selected() {\n            return this.selectable && this.selectionKeys && this.selectionKeys[this.node.key] === true;\n        },\n        toggleable() {\n            return this.collapsible && this.node.collapsible !== false && !this.leaf;\n        }\n    },\n    components: {\n        ChevronDownIcon: ChevronDownIcon,\n        ChevronUpIcon: ChevronUpIcon\n    }\n};\n</script>\n","<template>\n    <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n        <OrganizationChartNode\n            :node=\"value\"\n            :templates=\"$slots\"\n            @node-toggle=\"onNodeToggle\"\n            :collapsedKeys=\"d_collapsedKeys\"\n            :collapsible=\"collapsible\"\n            @node-click=\"onNodeClick\"\n            :selectionMode=\"selectionMode\"\n            :selectionKeys=\"selectionKeys\"\n            :pt=\"pt\"\n            :unstyled=\"unstyled\"\n        />\n    </div>\n</template>\n\n<script>\nimport BaseOrganizationChart from './BaseOrganizationChart.vue';\nimport OrganizationChartNode from './OrganizationChartNode.vue';\n\nexport default {\n    name: 'OrganizationChart',\n    extends: BaseOrganizationChart,\n    inheritAttrs: false,\n    emits: ['node-unselect', 'node-select', 'update:selectionKeys', 'node-expand', 'node-collapse', 'update:collapsedKeys'],\n    data() {\n        return {\n            d_collapsedKeys: this.collapsedKeys || {}\n        };\n    },\n    watch: {\n        collapsedKeys(newValue) {\n            this.d_collapsedKeys = newValue;\n        }\n    },\n    methods: {\n        onNodeClick(node) {\n            const key = node.key;\n\n            if (this.selectionMode) {\n                let _selectionKeys = this.selectionKeys ? { ...this.selectionKeys } : {};\n\n                if (_selectionKeys[key]) {\n                    delete _selectionKeys[key];\n                    this.$emit('node-unselect', node);\n                } else {\n                    if (this.selectionMode === 'single') {\n                        _selectionKeys = {};\n                    }\n\n                    _selectionKeys[key] = true;\n                    this.$emit('node-select', node);\n                }\n\n                this.$emit('update:selectionKeys', _selectionKeys);\n            }\n        },\n        onNodeToggle(node) {\n            const key = node.key;\n\n            if (this.d_collapsedKeys[key]) {\n                delete this.d_collapsedKeys[key];\n                this.$emit('node-expand', node);\n            } else {\n                this.d_collapsedKeys[key] = true;\n                this.$emit('node-collapse', node);\n            }\n\n            this.d_collapsedKeys = { ...this.d_collapsedKeys };\n            this.$emit('update:collapsedKeys', this.d_collapsedKeys);\n        }\n    },\n    components: {\n        OrganizationChartNode: OrganizationChartNode\n    }\n};\n</script>\n","<template>\n    <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n        <OrganizationChartNode\n            :node=\"value\"\n            :templates=\"$slots\"\n            @node-toggle=\"onNodeToggle\"\n            :collapsedKeys=\"d_collapsedKeys\"\n            :collapsible=\"collapsible\"\n            @node-click=\"onNodeClick\"\n            :selectionMode=\"selectionMode\"\n            :selectionKeys=\"selectionKeys\"\n            :pt=\"pt\"\n            :unstyled=\"unstyled\"\n        />\n    </div>\n</template>\n\n<script>\nimport BaseOrganizationChart from './BaseOrganizationChart.vue';\nimport OrganizationChartNode from './OrganizationChartNode.vue';\n\nexport default {\n    name: 'OrganizationChart',\n    extends: BaseOrganizationChart,\n    inheritAttrs: false,\n    emits: ['node-unselect', 'node-select', 'update:selectionKeys', 'node-expand', 'node-collapse', 'update:collapsedKeys'],\n    data() {\n        return {\n            d_collapsedKeys: this.collapsedKeys || {}\n        };\n    },\n    watch: {\n        collapsedKeys(newValue) {\n            this.d_collapsedKeys = newValue;\n        }\n    },\n    methods: {\n        onNodeClick(node) {\n            const key = node.key;\n\n            if (this.selectionMode) {\n                let _selectionKeys = this.selectionKeys ? { ...this.selectionKeys } : {};\n\n                if (_selectionKeys[key]) {\n                    delete _selectionKeys[key];\n                    this.$emit('node-unselect', node);\n                } else {\n                    if (this.selectionMode === 'single') {\n                        _selectionKeys = {};\n                    }\n\n                    _selectionKeys[key] = true;\n                    this.$emit('node-select', node);\n                }\n\n                this.$emit('update:selectionKeys', _selectionKeys);\n            }\n        },\n        onNodeToggle(node) {\n            const key = node.key;\n\n            if (this.d_collapsedKeys[key]) {\n                delete this.d_collapsedKeys[key];\n                this.$emit('node-expand', node);\n            } else {\n                this.d_collapsedKeys[key] = true;\n                this.$emit('node-collapse', node);\n            }\n\n            this.d_collapsedKeys = { ...this.d_collapsedKeys };\n            this.$emit('update:collapsedKeys', this.d_collapsedKeys);\n        }\n    },\n    components: {\n        OrganizationChartNode: OrganizationChartNode\n    }\n};\n</script>\n"],"names":["name","BaseComponent","props","value","type","selectionKeys","selectionMode","String","collapsible","Boolean","collapsedKeys","style","OrganizationChartStyle","provide","$pcOrganizationChart","$parentInstance","hostName","emits","node","templates","methods","getPTOptions","key","ptm","context","expanded","selectable","selected","toggleable","active","getNodeOptions","lineTop","onNodeClick","event","isAttributeEquals","target","$emit","onChildNodeClick","toggleNode","onChildNodeToggle","onKeydown","code","preventDefault","computed","leaf","children","length","colspan","childStyle","visibility","undefined","components","ChevronDownIcon","ChevronUpIcon","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","_createElementVNode","$props","$options","styleClass","onClick","apply","arguments","_createBlock","_resolveDynamicComponent","tabindex","toggleicon","togglericon","_Fragment","child","i","index","_renderList","_createVNode","_component_OrganizationChartNode","onNodeToggle","pt","unstyled","BaseOrganizationChart","inheritAttrs","data","d_collapsedKeys","watch","newValue","_selectionKeys","_objectSpread","OrganizationChartNode","ptmi","$slots","$data"],"mappings":"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"}