mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2025-04-13 12:33:30 +00:00
1 line
67 KiB
Plaintext
Vendored
Generated
1 line
67 KiB
Plaintext
Vendored
Generated
{"version":3,"file":"InstallView-QxhYK8M7.js","sources":["../../node_modules/primevue/step/style/index.mjs","../../node_modules/primevue/step/index.mjs","../../node_modules/primevue/steplist/style/index.mjs","../../node_modules/primevue/steplist/index.mjs","../../node_modules/primevue/steppanel/style/index.mjs","../../node_modules/primevue/steppanel/index.mjs","../../node_modules/primevue/steppanels/style/index.mjs","../../node_modules/primevue/steppanels/index.mjs","../../node_modules/primevue/stepper/style/index.mjs","../../node_modules/primevue/stepper/index.mjs","../../src/components/install/DesktopSettingsConfiguration.vue","../../../../../../../assets/images/nvidia-logo.svg","../../../../../../../assets/images/apple-mps-logo.png","../../../../../../../assets/images/manual-configuration.svg","../../src/components/install/GpuPicker.vue","../../src/components/install/InstallLocationPicker.vue","../../src/components/install/MigrationPicker.vue","../../src/views/InstallView.vue"],"sourcesContent":["import BaseStyle from '@primevue/core/base/style';\n\nvar classes = {\n root: function root(_ref) {\n var instance = _ref.instance;\n return ['p-step', {\n 'p-step-active': instance.active,\n 'p-disabled': instance.isStepDisabled\n }];\n },\n header: 'p-step-header',\n number: 'p-step-number',\n title: 'p-step-title'\n};\nvar StepStyle = BaseStyle.extend({\n name: 'step',\n classes: classes\n});\n\nexport { StepStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { find } from '@primeuix/utils/dom';\nimport { findIndexInList } from '@primeuix/utils/object';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport { openBlock, createElementBlock, mergeProps, resolveComponent, createBlock, resolveDynamicComponent, withCtx, createElementVNode, toDisplayString, renderSlot, createCommentVNode, normalizeClass } from 'vue';\nimport StepStyle from 'primevue/step/style';\n\nvar script$2 = {\n name: 'StepperSeparator',\n hostName: 'Stepper',\n \"extends\": BaseComponent\n};\n\nfunction render$1(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps({\n \"class\": _ctx.cx('separator')\n }, _ctx.ptm('separator')), null, 16);\n}\n\nscript$2.render = render$1;\n\nvar script$1 = {\n name: 'BaseStep',\n \"extends\": BaseComponent,\n props: {\n value: {\n type: [String, Number],\n \"default\": undefined\n },\n disabled: {\n type: Boolean,\n \"default\": false\n },\n asChild: {\n type: Boolean,\n \"default\": false\n },\n as: {\n type: [String, Object],\n \"default\": 'DIV'\n }\n },\n style: StepStyle,\n provide: function provide() {\n return {\n $pcStep: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'Step',\n \"extends\": script$1,\n inheritAttrs: false,\n inject: {\n $pcStepper: {\n \"default\": null\n },\n $pcStepList: {\n \"default\": null\n },\n $pcStepItem: {\n \"default\": null\n }\n },\n data: function data() {\n return {\n isSeparatorVisible: false\n };\n },\n mounted: function mounted() {\n if (this.$el && this.$pcStepList) {\n var index = findIndexInList(this.$el, find(this.$pcStepper.$el, '[data-pc-name=\"step\"]'));\n var stepLen = find(this.$pcStepper.$el, '[data-pc-name=\"step\"]').length;\n this.isSeparatorVisible = index !== stepLen - 1;\n }\n },\n methods: {\n getPTOptions: function getPTOptions(key) {\n var _ptm = key === 'root' ? this.ptmi : this.ptm;\n return _ptm(key, {\n context: {\n active: this.active,\n disabled: this.isStepDisabled\n }\n });\n },\n onStepClick: function onStepClick() {\n this.$pcStepper.updateValue(this.activeValue);\n }\n },\n computed: {\n active: function active() {\n return this.$pcStepper.isStepActive(this.activeValue);\n },\n activeValue: function activeValue() {\n var _this$$pcStepItem;\n return !!this.$pcStepItem ? (_this$$pcStepItem = this.$pcStepItem) === null || _this$$pcStepItem === void 0 ? void 0 : _this$$pcStepItem.value : this.value;\n },\n isStepDisabled: function isStepDisabled() {\n return !this.active && (this.$pcStepper.isStepDisabled() || this.disabled);\n },\n id: function id() {\n var _this$$pcStepper;\n return \"\".concat((_this$$pcStepper = this.$pcStepper) === null || _this$$pcStepper === void 0 ? void 0 : _this$$pcStepper.id, \"_step_\").concat(this.activeValue);\n },\n ariaControls: function ariaControls() {\n var _this$$pcStepper2;\n return \"\".concat((_this$$pcStepper2 = this.$pcStepper) === null || _this$$pcStepper2 === void 0 ? void 0 : _this$$pcStepper2.id, \"_steppanel_\").concat(this.activeValue);\n },\n a11yAttrs: function a11yAttrs() {\n return {\n root: {\n role: 'presentation',\n 'aria-current': this.active ? 'step' : undefined,\n 'data-pc-name': 'step',\n 'data-pc-section': 'root',\n 'data-p-disabled': this.disabled,\n 'data-p-active': this.active\n },\n header: {\n id: this.id,\n role: 'tab',\n taindex: this.disabled ? -1 : undefined,\n 'aria-controls': this.ariaControls,\n 'data-pc-section': 'header',\n disabled: this.disabled,\n onClick: this.onStepClick\n }\n };\n }\n },\n components: {\n StepperSeparator: script$2\n }\n};\n\nvar _hoisted_1 = [\"id\", \"tabindex\", \"aria-controls\", \"disabled\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_StepperSeparator = resolveComponent(\"StepperSeparator\");\n return !_ctx.asChild ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps({\n key: 0,\n \"class\": _ctx.cx('root'),\n \"aria-current\": $options.active ? 'step' : undefined,\n role: \"presentation\",\n \"data-p-active\": $options.active,\n \"data-p-disabled\": $options.isStepDisabled\n }, $options.getPTOptions('root')), {\n \"default\": withCtx(function () {\n return [createElementVNode(\"button\", mergeProps({\n id: $options.id,\n \"class\": _ctx.cx('header'),\n role: \"tab\",\n type: \"button\",\n tabindex: $options.isStepDisabled ? -1 : undefined,\n \"aria-controls\": $options.ariaControls,\n disabled: $options.isStepDisabled,\n onClick: _cache[0] || (_cache[0] = function () {\n return $options.onStepClick && $options.onStepClick.apply($options, arguments);\n })\n }, $options.getPTOptions('header')), [createElementVNode(\"span\", mergeProps({\n \"class\": _ctx.cx('number')\n }, $options.getPTOptions('number')), toDisplayString($options.activeValue), 17), createElementVNode(\"span\", mergeProps({\n \"class\": _ctx.cx('title')\n }, $options.getPTOptions('title')), [renderSlot(_ctx.$slots, \"default\")], 16)], 16, _hoisted_1), $data.isSeparatorVisible ? (openBlock(), createBlock(_component_StepperSeparator, {\n key: 0\n })) : createCommentVNode(\"\", true)];\n }),\n _: 3\n }, 16, [\"class\", \"aria-current\", \"data-p-active\", \"data-p-disabled\"])) : renderSlot(_ctx.$slots, \"default\", {\n key: 1,\n \"class\": normalizeClass(_ctx.cx('root')),\n active: $options.active,\n value: _ctx.value,\n a11yAttrs: $options.a11yAttrs,\n activateCallback: $options.onStepClick\n });\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar classes = {\n root: 'p-steplist'\n};\nvar StepListStyle = BaseStyle.extend({\n name: 'steplist',\n classes: classes\n});\n\nexport { StepListStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseComponent from '@primevue/core/basecomponent';\nimport StepListStyle from 'primevue/steplist/style';\nimport { openBlock, createElementBlock, mergeProps, renderSlot } from 'vue';\n\nvar script$1 = {\n name: 'BaseStepList',\n \"extends\": BaseComponent,\n style: StepListStyle,\n provide: function provide() {\n return {\n $pcStepList: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'StepList',\n \"extends\": script$1,\n inheritAttrs: false\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root')\n }, _ctx.ptmi('root')), [renderSlot(_ctx.$slots, \"default\")], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar classes = {\n root: function root(_ref) {\n var instance = _ref.instance;\n return ['p-steppanel', {\n 'p-steppanel-active': instance.isVertical && instance.active\n }];\n },\n content: 'p-steppanel-content'\n};\nvar StepPanelStyle = BaseStyle.extend({\n name: 'steppanel',\n classes: classes\n});\n\nexport { StepPanelStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { find, findSingle } from '@primeuix/utils/dom';\nimport { findIndexInList } from '@primeuix/utils/object';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport { openBlock, createElementBlock, mergeProps, resolveComponent, Fragment, createBlock, Transition, withCtx, withDirectives, resolveDynamicComponent, createCommentVNode, createElementVNode, renderSlot, vShow } from 'vue';\nimport StepPanelStyle from 'primevue/steppanel/style';\n\nvar script$2 = {\n name: 'StepperSeparator',\n hostName: 'Stepper',\n \"extends\": BaseComponent\n};\n\nfunction render$1(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps({\n \"class\": _ctx.cx('separator')\n }, _ctx.ptm('separator')), null, 16);\n}\n\nscript$2.render = render$1;\n\nvar script$1 = {\n name: 'BaseStepPanel',\n \"extends\": BaseComponent,\n props: {\n value: {\n type: [String, Number],\n \"default\": undefined\n },\n asChild: {\n type: Boolean,\n \"default\": false\n },\n as: {\n type: [String, Object],\n \"default\": 'DIV'\n }\n },\n style: StepPanelStyle,\n provide: function provide() {\n return {\n $pcStepPanel: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'StepPanel',\n \"extends\": script$1,\n inheritAttrs: false,\n inject: {\n $pcStepper: {\n \"default\": null\n },\n $pcStepItem: {\n \"default\": null\n },\n $pcStepList: {\n \"default\": null\n }\n },\n data: function data() {\n return {\n isSeparatorVisible: false\n };\n },\n mounted: function mounted() {\n if (this.$el) {\n var _this$$pcStepItem, _this$$pcStepList;\n var stepElements = find(this.$pcStepper.$el, '[data-pc-name=\"step\"]');\n var stepPanelEl = findSingle(this.isVertical ? (_this$$pcStepItem = this.$pcStepItem) === null || _this$$pcStepItem === void 0 ? void 0 : _this$$pcStepItem.$el : (_this$$pcStepList = this.$pcStepList) === null || _this$$pcStepList === void 0 ? void 0 : _this$$pcStepList.$el, '[data-pc-name=\"step\"]');\n var stepPanelIndex = findIndexInList(stepPanelEl, stepElements);\n this.isSeparatorVisible = this.isVertical && stepPanelIndex !== stepElements.length - 1;\n }\n },\n methods: {\n getPTOptions: function getPTOptions(key) {\n var _ptm = key === 'root' ? this.ptmi : this.ptm;\n return _ptm(key, {\n context: {\n active: this.active\n }\n });\n },\n updateValue: function updateValue(val) {\n this.$pcStepper.updateValue(val);\n }\n },\n computed: {\n active: function active() {\n var _this$$pcStepItem2, _this$$pcStepper;\n var activeValue = !!this.$pcStepItem ? (_this$$pcStepItem2 = this.$pcStepItem) === null || _this$$pcStepItem2 === void 0 ? void 0 : _this$$pcStepItem2.value : this.value;\n return activeValue === ((_this$$pcStepper = this.$pcStepper) === null || _this$$pcStepper === void 0 ? void 0 : _this$$pcStepper.d_value);\n },\n isVertical: function isVertical() {\n return !!this.$pcStepItem;\n },\n activeValue: function activeValue() {\n var _this$$pcStepItem3;\n return this.isVertical ? (_this$$pcStepItem3 = this.$pcStepItem) === null || _this$$pcStepItem3 === void 0 ? void 0 : _this$$pcStepItem3.value : this.value;\n },\n id: function id() {\n var _this$$pcStepper2;\n return \"\".concat((_this$$pcStepper2 = this.$pcStepper) === null || _this$$pcStepper2 === void 0 ? void 0 : _this$$pcStepper2.id, \"_steppanel_\").concat(this.activeValue);\n },\n ariaControls: function ariaControls() {\n var _this$$pcStepper3;\n return \"\".concat((_this$$pcStepper3 = this.$pcStepper) === null || _this$$pcStepper3 === void 0 ? void 0 : _this$$pcStepper3.id, \"_step_\").concat(this.activeValue);\n },\n a11yAttrs: function a11yAttrs() {\n return {\n id: this.id,\n role: 'tabpanel',\n 'aria-controls': this.ariaControls,\n 'data-pc-name': 'steppanel',\n 'data-p-active': this.active\n };\n }\n },\n components: {\n StepperSeparator: script$2\n }\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_StepperSeparator = resolveComponent(\"StepperSeparator\");\n return $options.isVertical ? (openBlock(), createElementBlock(Fragment, {\n key: 0\n }, [!_ctx.asChild ? (openBlock(), createBlock(Transition, mergeProps({\n key: 0,\n name: \"p-toggleable-content\"\n }, _ctx.ptm('transition')), {\n \"default\": withCtx(function () {\n return [withDirectives((openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps({\n id: $options.id,\n \"class\": _ctx.cx('root'),\n role: \"tabpanel\",\n \"aria-controls\": $options.ariaControls\n }, $options.getPTOptions('root')), {\n \"default\": withCtx(function () {\n return [$data.isSeparatorVisible ? (openBlock(), createBlock(_component_StepperSeparator, {\n key: 0\n })) : createCommentVNode(\"\", true), createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('content')\n }, $options.getPTOptions('content')), [renderSlot(_ctx.$slots, \"default\", {\n active: $options.active,\n activateCallback: function activateCallback(val) {\n return $options.updateValue(val);\n }\n })], 16)];\n }),\n _: 3\n }, 16, [\"id\", \"class\", \"aria-controls\"])), [[vShow, $options.active]])];\n }),\n _: 3\n }, 16)) : renderSlot(_ctx.$slots, \"default\", {\n key: 1,\n active: $options.active,\n a11yAttrs: $options.a11yAttrs,\n activateCallback: function activateCallback(val) {\n return $options.updateValue(val);\n }\n })], 64)) : (openBlock(), createElementBlock(Fragment, {\n key: 1\n }, [!_ctx.asChild ? withDirectives((openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps({\n key: 0,\n id: $options.id,\n \"class\": _ctx.cx('root'),\n role: \"tabpanel\",\n \"aria-controls\": $options.ariaControls\n }, $options.getPTOptions('root')), {\n \"default\": withCtx(function () {\n return [renderSlot(_ctx.$slots, \"default\", {\n active: $options.active,\n activateCallback: function activateCallback(val) {\n return $options.updateValue(val);\n }\n })];\n }),\n _: 3\n }, 16, [\"id\", \"class\", \"aria-controls\"])), [[vShow, $options.active]]) : _ctx.asChild && $options.active ? renderSlot(_ctx.$slots, \"default\", {\n key: 1,\n active: $options.active,\n a11yAttrs: $options.a11yAttrs,\n activateCallback: function activateCallback(val) {\n return $options.updateValue(val);\n }\n }) : createCommentVNode(\"\", true)], 64));\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar classes = {\n root: 'p-steppanels'\n};\nvar StepPanelsStyle = BaseStyle.extend({\n name: 'steppanels',\n classes: classes\n});\n\nexport { StepPanelsStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseComponent from '@primevue/core/basecomponent';\nimport StepPanelsStyle from 'primevue/steppanels/style';\nimport { openBlock, createElementBlock, mergeProps, renderSlot } from 'vue';\n\nvar script$1 = {\n name: 'BaseStepPanels',\n \"extends\": BaseComponent,\n style: StepPanelsStyle,\n provide: function provide() {\n return {\n $pcStepPanels: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'StepPanels',\n \"extends\": script$1,\n inheritAttrs: false\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root')\n }, _ctx.ptmi('root')), [renderSlot(_ctx.$slots, \"default\")], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-steplist {\\n position: relative;\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n margin: 0;\\n padding: 0;\\n list-style-type: none;\\n overflow-x: auto;\\n}\\n\\n.p-step {\\n position: relative;\\n display: flex;\\n flex: 1 1 auto;\\n align-items: center;\\n gap: \".concat(dt('stepper.step.gap'), \";\\n padding: \").concat(dt('stepper.step.padding'), \";\\n}\\n\\n.p-step:last-of-type {\\n flex: initial;\\n}\\n\\n.p-step-header {\\n border: 0 none;\\n display: inline-flex;\\n align-items: center;\\n text-decoration: none;\\n cursor: pointer;\\n transition: background \").concat(dt('stepper.transition.duration'), \", color \").concat(dt('stepper.transition.duration'), \", border-color \").concat(dt('stepper.transition.duration'), \", outline-color \").concat(dt('stepper.transition.duration'), \", box-shadow \").concat(dt('stepper.transition.duration'), \";\\n border-radius: \").concat(dt('stepper.step.header.border.radius'), \";\\n outline-color: transparent;\\n background: transparent;\\n padding: \").concat(dt('stepper.step.header.padding'), \";\\n gap: \").concat(dt('stepper.step.header.gap'), \";\\n}\\n\\n.p-step-header:focus-visible {\\n box-shadow: \").concat(dt('stepper.step.header.focus.ring.shadow'), \";\\n outline: \").concat(dt('stepper.step.header.focus.ring.width'), \" \").concat(dt('stepper.step.header.focus.ring.style'), \" \").concat(dt('stepper.step.header.focus.ring.color'), \";\\n outline-offset: \").concat(dt('stepper.step.header.focus.ring.offset'), \";\\n}\\n\\n.p-stepper.p-stepper-readonly .p-step {\\n cursor: auto;\\n}\\n\\n.p-step-title {\\n display: block;\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n max-width: 100%;\\n color: \").concat(dt('stepper.step.title.color'), \";\\n font-weight: \").concat(dt('stepper.step.title.font.weight'), \";\\n transition: background \").concat(dt('stepper.transition.duration'), \", color \").concat(dt('stepper.transition.duration'), \", border-color \").concat(dt('stepper.transition.duration'), \", box-shadow \").concat(dt('stepper.transition.duration'), \", outline-color \").concat(dt('stepper.transition.duration'), \";\\n}\\n\\n.p-step-number {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n color: \").concat(dt('stepper.step.number.color'), \";\\n border: 2px solid \").concat(dt('stepper.step.number.border.color'), \";\\n background: \").concat(dt('stepper.step.number.background'), \";\\n min-width: \").concat(dt('stepper.step.number.size'), \";\\n height: \").concat(dt('stepper.step.number.size'), \";\\n line-height: \").concat(dt('stepper.step.number.size'), \";\\n font-size: \").concat(dt('stepper.step.number.font.size'), \";\\n z-index: 1;\\n border-radius: \").concat(dt('stepper.step.number.border.radius'), \";\\n position: relative;\\n font-weight: \").concat(dt('stepper.step.number.font.weight'), \";\\n}\\n\\n.p-step-number::after {\\n content: \\\" \\\";\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n border-radius: \").concat(dt('stepper.step.number.border.radius'), \";\\n box-shadow: \").concat(dt('stepper.step.number.shadow'), \";\\n}\\n\\n.p-step-active .p-step-header {\\n cursor: default;\\n}\\n\\n.p-step-active .p-step-number {\\n background: \").concat(dt('stepper.step.number.active.background'), \";\\n border-color: \").concat(dt('stepper.step.number.active.border.color'), \";\\n color: \").concat(dt('stepper.step.number.active.color'), \";\\n}\\n\\n.p-step-active .p-step-title {\\n color: \").concat(dt('stepper.step.title.active.color'), \";\\n}\\n\\n.p-step:not(.p-disabled):focus-visible {\\n outline: \").concat(dt('focus.ring.width'), \" \").concat(dt('focus.ring.style'), \" \").concat(dt('focus.ring.color'), \";\\n outline-offset: \").concat(dt('focus.ring.offset'), \";\\n}\\n\\n.p-step:has(~ .p-step-active) .p-stepper-separator {\\n background: \").concat(dt('stepper.separator.active.background'), \";\\n}\\n\\n.p-stepper-separator {\\n flex: 1 1 0;\\n background: \").concat(dt('stepper.separator.background'), \";\\n width: 100%;\\n height: \").concat(dt('stepper.separator.size'), \";\\n transition: background \").concat(dt('stepper.transition.duration'), \", color \").concat(dt('stepper.transition.duration'), \", border-color \").concat(dt('stepper.transition.duration'), \", box-shadow \").concat(dt('stepper.transition.duration'), \", outline-color \").concat(dt('stepper.transition.duration'), \";\\n}\\n\\n.p-steppanels {\\n padding: \").concat(dt('stepper.steppanels.padding'), \";\\n}\\n\\n.p-steppanel {\\n background: \").concat(dt('stepper.steppanel.background'), \";\\n color: \").concat(dt('stepper.steppanel.color'), \";\\n}\\n\\n.p-stepper:has(.p-stepitem) {\\n display: flex;\\n flex-direction: column;\\n}\\n\\n.p-stepitem {\\n display: flex;\\n flex-direction: column;\\n flex: initial;\\n}\\n\\n.p-stepitem.p-stepitem-active {\\n flex: 1 1 auto;\\n}\\n\\n.p-stepitem .p-step {\\n flex: initial;\\n}\\n\\n.p-stepitem .p-steppanel-content {\\n width: 100%;\\n padding: \").concat(dt('stepper.steppanel.padding'), \";\\n}\\n\\n.p-stepitem .p-steppanel {\\n display: flex;\\n flex: 1 1 auto;\\n}\\n\\n.p-stepitem .p-stepper-separator {\\n flex: 0 0 auto;\\n width: \").concat(dt('stepper.separator.size'), \";\\n height: auto;\\n margin: \").concat(dt('stepper.separator.margin'), \";\\n position: relative;\\n left: calc(-1 * \").concat(dt('stepper.separator.size'), \");\\n}\\n\\n.p-stepitem:has(~ .p-stepitem-active) .p-stepper-separator {\\n background: \").concat(dt('stepper.separator.active.background'), \";\\n}\\n\\n.p-stepitem:last-of-type .p-steppanel {\\n padding-inline-start: \").concat(dt('stepper.step.number.size'), \";\\n}\\n\");\n};\nvar classes = {\n root: function root(_ref2) {\n var props = _ref2.props;\n return ['p-stepper p-component', {\n 'p-readonly': props.linear\n }];\n },\n separator: 'p-stepper-separator'\n};\nvar StepperStyle = BaseStyle.extend({\n name: 'stepper',\n theme: theme,\n classes: classes\n});\n\nexport { StepperStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { UniqueComponentId } from '@primevue/core/utils';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport StepperStyle from 'primevue/stepper/style';\nimport { openBlock, createElementBlock, mergeProps, renderSlot, createCommentVNode } from 'vue';\n\nvar script$1 = {\n name: 'BaseStepper',\n \"extends\": BaseComponent,\n props: {\n value: {\n type: [String, Number],\n \"default\": undefined\n },\n linear: {\n type: Boolean,\n \"default\": false\n }\n },\n style: StepperStyle,\n provide: function provide() {\n return {\n $pcStepper: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'Stepper',\n \"extends\": script$1,\n inheritAttrs: false,\n emits: ['update:value'],\n data: function data() {\n return {\n id: this.$attrs.id,\n d_value: this.value\n };\n },\n watch: {\n '$attrs.id': function $attrsId(newValue) {\n this.id = newValue || UniqueComponentId();\n },\n value: function value(newValue) {\n this.d_value = newValue;\n }\n },\n mounted: function mounted() {\n this.id = this.id || UniqueComponentId();\n },\n methods: {\n updateValue: function updateValue(newValue) {\n if (this.d_value !== newValue) {\n this.d_value = newValue;\n this.$emit('update:value', newValue);\n }\n },\n isStepActive: function isStepActive(value) {\n return this.d_value === value;\n },\n isStepDisabled: function isStepDisabled() {\n return this.linear;\n }\n }\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root'),\n role: \"tablist\"\n }, _ctx.ptmi('root')), [_ctx.$slots.start ? renderSlot(_ctx.$slots, \"start\", {\n key: 0\n }) : createCommentVNode(\"\", true), renderSlot(_ctx.$slots, \"default\"), _ctx.$slots.end ? renderSlot(_ctx.$slots, \"end\", {\n key: 1\n }) : createCommentVNode(\"\", true)], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","<template>\n <div class=\"flex flex-col gap-6 w-[600px]\">\n <div class=\"flex flex-col gap-4\">\n <h2 class=\"text-2xl font-semibold text-neutral-100\">\n {{ $t('install.desktopAppSettings') }}\n </h2>\n\n <p class=\"text-neutral-400 my-0\">\n {{ $t('install.desktopAppSettingsDescription') }}\n </p>\n </div>\n\n <div class=\"flex flex-col bg-neutral-800 p-4 rounded-lg\">\n <!-- Auto Update Setting -->\n <div class=\"flex items-center gap-4\">\n <div class=\"flex-1\">\n <h3 class=\"text-lg font-medium text-neutral-100\">\n {{ $t('install.settings.autoUpdate') }}\n </h3>\n <p class=\"text-sm text-neutral-400 mt-1\">\n {{ $t('install.settings.autoUpdateDescription') }}\n </p>\n </div>\n <ToggleSwitch v-model=\"autoUpdate\" />\n </div>\n\n <Divider />\n\n <!-- Metrics Collection Setting -->\n <div class=\"flex items-center gap-4\">\n <div class=\"flex-1\">\n <h3 class=\"text-lg font-medium text-neutral-100\">\n {{ $t('install.settings.allowMetrics') }}\n </h3>\n <p class=\"text-sm text-neutral-400 mt-1\">\n {{ $t('install.settings.allowMetricsDescription') }}\n </p>\n <a\n href=\"#\"\n class=\"text-sm text-blue-400 hover:text-blue-300 mt-1 inline-block\"\n @click.prevent=\"showMetricsInfo\"\n >\n {{ $t('install.settings.learnMoreAboutData') }}\n </a>\n </div>\n <ToggleSwitch v-model=\"allowMetrics\" />\n </div>\n </div>\n\n <!-- Info Dialog -->\n <Dialog\n v-model:visible=\"showDialog\"\n modal\n :header=\"$t('install.settings.dataCollectionDialog.title')\"\n >\n <div class=\"text-neutral-300\">\n <h4 class=\"font-medium mb-2\">\n {{ $t('install.settings.dataCollectionDialog.whatWeCollect') }}\n </h4>\n <ul class=\"list-disc pl-6 space-y-1\">\n <li>\n {{ $t('install.settings.dataCollectionDialog.errorReports') }}\n </li>\n <li>\n {{ $t('install.settings.dataCollectionDialog.systemInfo') }}\n </li>\n </ul>\n\n <h4 class=\"font-medium mt-4 mb-2\">\n {{ $t('install.settings.dataCollectionDialog.whatWeDoNotCollect') }}\n </h4>\n <ul class=\"list-disc pl-6 space-y-1\">\n <li>\n {{\n $t('install.settings.dataCollectionDialog.personalInformation')\n }}\n </li>\n <li>\n {{ $t('install.settings.dataCollectionDialog.workflowContents') }}\n </li>\n <li>\n {{\n $t('install.settings.dataCollectionDialog.fileSystemInformation')\n }}\n </li>\n <li>\n {{\n $t(\n 'install.settings.dataCollectionDialog.customNodeConfigurations'\n )\n }}\n </li>\n </ul>\n </div>\n </Dialog>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport Dialog from 'primevue/dialog'\nimport Divider from 'primevue/divider'\nimport ToggleSwitch from 'primevue/toggleswitch'\nimport { ref } from 'vue'\n\nconst showDialog = ref(false)\nconst autoUpdate = defineModel('autoUpdate', { required: true })\nconst allowMetrics = defineModel('allowMetrics', { required: true })\n\nconst showMetricsInfo = () => {\n showDialog.value = true\n}\n</script>\n","export default \"__VITE_PUBLIC_ASSET__fe43f3f5__\"","export default \"__VITE_PUBLIC_ASSET__2bae65e3__\"","export default \"__VITE_PUBLIC_ASSET__57befc1b__\"","<template>\n <div class=\"flex flex-col gap-6 w-[600px] h-[30rem] select-none\">\n <!-- Installation Path Section -->\n <div class=\"grow flex flex-col gap-4 text-neutral-300\">\n <h2 class=\"text-2xl font-semibold text-neutral-100\">\n {{ $t('install.gpuSelection.selectGpu') }}\n </h2>\n\n <p class=\"m-1 text-neutral-400\">\n {{ $t('install.gpuSelection.selectGpuDescription') }}:\n </p>\n\n <!-- GPU Selection buttons -->\n <div\n class=\"flex gap-2 text-center transition-opacity\"\n :class=\"{ selected: selected }\"\n >\n <!-- NVIDIA -->\n <div\n v-if=\"platform !== 'darwin'\"\n class=\"gpu-button\"\n :class=\"{ selected: selected === 'nvidia' }\"\n role=\"button\"\n @click=\"pickGpu('nvidia')\"\n >\n <img\n class=\"m-12\"\n alt=\"NVIDIA logo\"\n width=\"196\"\n height=\"32\"\n src=\"/assets/images/nvidia-logo.svg\"\n />\n </div>\n <!-- MPS -->\n <div\n v-if=\"platform === 'darwin'\"\n class=\"gpu-button\"\n :class=\"{ selected: selected === 'mps' }\"\n role=\"button\"\n @click=\"pickGpu('mps')\"\n >\n <img\n class=\"rounded-lg hover-brighten\"\n alt=\"Apple Metal Performance Shaders Logo\"\n width=\"292\"\n ratio\n src=\"/assets/images/apple-mps-logo.png\"\n />\n </div>\n <!-- Manual configuration -->\n <div\n class=\"gpu-button\"\n :class=\"{ selected: selected === 'unsupported' }\"\n role=\"button\"\n @click=\"pickGpu('unsupported')\"\n >\n <img\n class=\"m-12\"\n alt=\"Manual configuration\"\n width=\"196\"\n src=\"/assets/images/manual-configuration.svg\"\n />\n </div>\n </div>\n\n <!-- Details on selected GPU -->\n <p v-if=\"selected === 'nvidia'\" class=\"m-1\">\n <Tag icon=\"pi pi-check\" severity=\"success\" :value=\"'CUDA'\" />\n {{ $t('install.gpuSelection.nvidiaDescription') }}\n </p>\n\n <p v-if=\"selected === 'mps'\" class=\"m-1\">\n <Tag icon=\"pi pi-check\" severity=\"success\" :value=\"'MPS'\" />\n {{ $t('install.gpuSelection.mpsDescription') }}\n </p>\n\n <div v-if=\"selected === 'unsupported'\" class=\"text-neutral-300\">\n <p class=\"m-1\">\n <Tag\n icon=\"pi pi-exclamation-triangle\"\n severity=\"warn\"\n :value=\"t('icon.exclamation-triangle')\"\n />\n {{ $t('install.gpuSelection.customSkipsPython') }}\n </p>\n\n <ul>\n <li>\n <strong>\n {{ $t('install.gpuSelection.customComfyNeedsPython') }}\n </strong>\n </li>\n <li>{{ $t('install.gpuSelection.customManualVenv') }}</li>\n <li>{{ $t('install.gpuSelection.customInstallRequirements') }}</li>\n <li>{{ $t('install.gpuSelection.customMayNotWork') }}</li>\n </ul>\n </div>\n\n <div v-if=\"selected === 'cpu'\">\n <p class=\"m-1\">\n <Tag\n icon=\"pi pi-exclamation-triangle\"\n severity=\"warn\"\n :value=\"t('icon.exclamation-triangle')\"\n ></Tag>\n {{ $t('install.gpuSelection.cpuModeDescription') }}\n </p>\n <p class=\"m-1\">\n {{ $t('install.gpuSelection.cpuModeDescription2') }}\n </p>\n </div>\n </div>\n\n <div\n class=\"transition-opacity flex gap-3 h-0\"\n :class=\"{\n 'opacity-40': selected && selected !== 'cpu'\n }\"\n >\n <ToggleSwitch\n v-model=\"cpuMode\"\n inputId=\"cpu-mode\"\n class=\"-translate-y-40\"\n />\n <label for=\"cpu-mode\" class=\"select-none\">\n {{ $t('install.gpuSelection.enableCpuMode') }}\n </label>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport Tag from 'primevue/tag'\nimport ToggleSwitch from 'primevue/toggleswitch'\nimport { computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\n\nimport { TorchDeviceType, electronAPI } from '@/utils/envUtil'\n\nconst { t } = useI18n()\n\nconst cpuMode = computed({\n get: () => selected.value === 'cpu',\n set: (value) => {\n selected.value = value ? 'cpu' : null\n }\n})\nconst selected = defineModel<TorchDeviceType>('device', {\n required: true\n})\n\nconst electron = electronAPI()\nconst platform = electron.getPlatform()\n\nconst pickGpu = (value: typeof selected.value) => {\n const newValue = selected.value === value ? null : value\n selected.value = newValue\n}\n</script>\n\n<style lang=\"postcss\">\n:root {\n --p-tag-gap: 0.5rem;\n}\n\n.hover-brighten {\n @apply transition-colors;\n transition-property: filter, box-shadow;\n\n &:hover {\n filter: brightness(107%) contrast(105%);\n box-shadow: 0 0 0.25rem #ffffff79;\n }\n}\n.p-accordioncontent-content {\n @apply bg-neutral-900 rounded-lg transition-colors;\n}\n\ndiv.selected {\n .gpu-button:not(.selected) {\n @apply opacity-50 hover:opacity-100;\n }\n}\n\n.gpu-button {\n @apply w-1/2 m-0 cursor-pointer rounded-lg flex flex-col items-center justify-around bg-neutral-800 bg-opacity-50 hover:bg-opacity-75 transition-colors;\n\n &.selected {\n @apply opacity-100 bg-neutral-700 bg-opacity-50 hover:bg-opacity-60;\n }\n}\n\n.disabled {\n @apply pointer-events-none opacity-40;\n}\n\n.p-card-header {\n @apply text-center grow;\n}\n\n.p-card-body {\n @apply text-center pt-0;\n}\n</style>\n","<template>\n <div class=\"flex flex-col gap-6 w-[600px]\">\n <!-- Installation Path Section -->\n <div class=\"flex flex-col gap-4\">\n <h2 class=\"text-2xl font-semibold text-neutral-100\">\n {{ $t('install.chooseInstallationLocation') }}\n </h2>\n\n <p class=\"text-neutral-400 my-0\">\n {{ $t('install.installLocationDescription') }}\n </p>\n\n <div class=\"flex gap-2\">\n <IconField class=\"flex-1\">\n <InputText\n v-model=\"installPath\"\n class=\"w-full\"\n :class=\"{ 'p-invalid': pathError }\"\n @update:modelValue=\"validatePath\"\n />\n <InputIcon\n class=\"pi pi-info-circle\"\n v-tooltip=\"$t('install.installLocationTooltip')\"\n />\n </IconField>\n <Button icon=\"pi pi-folder\" @click=\"browsePath\" class=\"w-12\" />\n </div>\n\n <Message v-if=\"pathError\" severity=\"error\" class=\"whitespace-pre-line\">\n {{ pathError }}\n </Message>\n <Message v-if=\"pathExists\" severity=\"warn\">\n {{ $t('install.pathExists') }}\n </Message>\n </div>\n\n <!-- System Paths Info -->\n <div class=\"bg-neutral-800 p-4 rounded-lg\">\n <h3 class=\"text-lg font-medium mt-0 mb-3 text-neutral-100\">\n {{ $t('install.systemLocations') }}\n </h3>\n <div class=\"flex flex-col gap-2\">\n <div class=\"flex items-center gap-2\">\n <i class=\"pi pi-folder text-neutral-400\" />\n <span class=\"text-neutral-400\">App Data:</span>\n <span class=\"text-neutral-200\">{{ appData }}</span>\n <span\n class=\"pi pi-info-circle\"\n v-tooltip=\"$t('install.appDataLocationTooltip')\"\n ></span>\n </div>\n <div class=\"flex items-center gap-2\">\n <i class=\"pi pi-desktop text-neutral-400\" />\n <span class=\"text-neutral-400\">App Path:</span>\n <span class=\"text-neutral-200\">{{ appPath }}</span>\n <span\n class=\"pi pi-info-circle\"\n v-tooltip=\"$t('install.appPathLocationTooltip')\"\n ></span>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport Button from 'primevue/button'\nimport IconField from 'primevue/iconfield'\nimport InputIcon from 'primevue/inputicon'\nimport InputText from 'primevue/inputtext'\nimport Message from 'primevue/message'\nimport { onMounted, ref } from 'vue'\nimport { useI18n } from 'vue-i18n'\n\nimport { electronAPI } from '@/utils/envUtil'\n\nconst { t } = useI18n()\n\nconst installPath = defineModel<string>('installPath', { required: true })\nconst pathError = defineModel<string>('pathError', { required: true })\nconst pathExists = ref(false)\nconst appData = ref('')\nconst appPath = ref('')\n\nconst electron = electronAPI()\n\n// Get system paths on component mount\nonMounted(async () => {\n const paths = await electron.getSystemPaths()\n appData.value = paths.appData\n appPath.value = paths.appPath\n installPath.value = paths.defaultInstallPath\n\n await validatePath(paths.defaultInstallPath)\n})\n\nconst validatePath = async (path: string) => {\n try {\n pathError.value = ''\n pathExists.value = false\n const validation = await electron.validateInstallPath(path)\n\n // Create a pre-formatted list of errors\n if (!validation.isValid) {\n const errors: string[] = []\n if (validation.cannotWrite) errors.push(t('install.cannotWrite'))\n if (validation.freeSpace < validation.requiredSpace) {\n const requiredGB = validation.requiredSpace / 1024 / 1024 / 1024\n errors.push(`${t('install.insufficientFreeSpace')}: ${requiredGB} GB`)\n }\n if (validation.parentMissing) errors.push(t('install.parentMissing'))\n if (validation.error)\n errors.push(`${t('install.unhandledError')}: ${validation.error}`)\n pathError.value = errors.join('\\n')\n }\n\n // Display the path exists warning\n if (validation.exists) pathExists.value = true\n } catch (error) {\n pathError.value = t('install.pathValidationFailed')\n }\n}\n\nconst browsePath = async () => {\n try {\n const result = await electron.showDirectoryPicker()\n if (result) {\n installPath.value = result\n await validatePath(result)\n }\n } catch (error) {\n pathError.value = t('install.failedToSelectDirectory')\n }\n}\n</script>\n","<template>\n <div class=\"flex flex-col gap-6 w-[600px]\">\n <!-- Source Location Section -->\n <div class=\"flex flex-col gap-4\">\n <h2 class=\"text-2xl font-semibold text-neutral-100\">\n {{ $t('install.migrateFromExistingInstallation') }}\n </h2>\n\n <p class=\"text-neutral-400 my-0\">\n {{ $t('install.migrationSourcePathDescription') }}\n </p>\n\n <div class=\"flex gap-2\">\n <InputText\n v-model=\"sourcePath\"\n placeholder=\"Select existing ComfyUI installation (optional)\"\n class=\"flex-1\"\n :class=\"{ 'p-invalid': pathError }\"\n @update:modelValue=\"validateSource\"\n />\n <Button icon=\"pi pi-folder\" @click=\"browsePath\" class=\"w-12\" />\n </div>\n\n <Message v-if=\"pathError\" severity=\"error\">\n {{ pathError }}\n </Message>\n </div>\n\n <!-- Migration Options -->\n <div\n v-if=\"isValidSource\"\n class=\"flex flex-col gap-4 bg-neutral-800 p-4 rounded-lg\"\n >\n <h3 class=\"text-lg mt-0 font-medium text-neutral-100\">\n {{ $t('install.selectItemsToMigrate') }}\n </h3>\n\n <div class=\"flex flex-col gap-3\">\n <div\n v-for=\"item in migrationItems\"\n :key=\"item.id\"\n class=\"flex items-center gap-3 p-2 hover:bg-neutral-700 rounded\"\n @click=\"item.selected = !item.selected\"\n >\n <Checkbox\n v-model=\"item.selected\"\n :inputId=\"item.id\"\n :binary=\"true\"\n @click.stop\n />\n <div>\n <label :for=\"item.id\" class=\"text-neutral-200 font-medium\">\n {{ item.label }}\n </label>\n <p class=\"text-sm text-neutral-400 my-1\">\n {{ item.description }}\n </p>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Skip Migration -->\n <div v-else class=\"text-neutral-400 italic\">\n {{ $t('install.migrationOptional') }}\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { MigrationItems } from '@comfyorg/comfyui-electron-types'\nimport Button from 'primevue/button'\nimport Checkbox from 'primevue/checkbox'\nimport InputText from 'primevue/inputtext'\nimport Message from 'primevue/message'\nimport { computed, ref, watchEffect } from 'vue'\nimport { useI18n } from 'vue-i18n'\n\nimport { electronAPI } from '@/utils/envUtil'\n\nconst { t } = useI18n()\n\nconst electron = electronAPI()\n\nconst sourcePath = defineModel<string>('sourcePath', { required: false })\nconst migrationItemIds = defineModel<string[]>('migrationItemIds', {\n required: false\n})\n\nconst migrationItems = ref(\n MigrationItems.map((item) => ({\n ...item,\n selected: true\n }))\n)\n\nconst pathError = ref('')\nconst isValidSource = computed(\n () => sourcePath.value !== '' && pathError.value === ''\n)\n\nconst validateSource = async (sourcePath: string) => {\n if (!sourcePath) {\n pathError.value = ''\n return\n }\n\n try {\n pathError.value = ''\n const validation = await electron.validateComfyUISource(sourcePath)\n\n if (!validation.isValid) pathError.value = validation.error\n } catch (error) {\n console.error(error)\n pathError.value = t('install.pathValidationFailed')\n }\n}\n\nconst browsePath = async () => {\n try {\n const result = await electron.showDirectoryPicker()\n if (result) {\n sourcePath.value = result\n await validateSource(result)\n }\n } catch (error) {\n console.error(error)\n pathError.value = t('install.failedToSelectDirectory')\n }\n}\n\nwatchEffect(() => {\n migrationItemIds.value = migrationItems.value\n .filter((item) => item.selected)\n .map((item) => item.id)\n})\n</script>\n","<template>\n <BaseViewTemplate dark>\n <!-- h-full to make sure the stepper does not layout shift between steps\n as for each step the stepper height is different. Inherit the center element\n placement from BaseViewTemplate would cause layout shift. -->\n <Stepper\n class=\"h-full p-8 2xl:p-16\"\n value=\"0\"\n @update:value=\"setHighestStep\"\n >\n <StepList class=\"select-none\">\n <Step value=\"0\">\n {{ $t('install.gpu') }}\n </Step>\n <Step value=\"1\" :disabled=\"noGpu\">\n {{ $t('install.installLocation') }}\n </Step>\n <Step value=\"2\" :disabled=\"noGpu || hasError || highestStep < 1\">\n {{ $t('install.migration') }}\n </Step>\n <Step value=\"3\" :disabled=\"noGpu || hasError || highestStep < 2\">\n {{ $t('install.desktopSettings') }}\n </Step>\n </StepList>\n <StepPanels>\n <StepPanel value=\"0\" v-slot=\"{ activateCallback }\">\n <GpuPicker v-model:device=\"device\" />\n <div class=\"flex pt-6 justify-end\">\n <Button\n :label=\"$t('g.next')\"\n icon=\"pi pi-arrow-right\"\n iconPos=\"right\"\n @click=\"activateCallback('1')\"\n :disabled=\"typeof device !== 'string'\"\n />\n </div>\n </StepPanel>\n <StepPanel value=\"1\" v-slot=\"{ activateCallback }\">\n <InstallLocationPicker\n v-model:installPath=\"installPath\"\n v-model:pathError=\"pathError\"\n />\n <div class=\"flex pt-6 justify-between\">\n <Button\n :label=\"$t('g.back')\"\n severity=\"secondary\"\n icon=\"pi pi-arrow-left\"\n @click=\"activateCallback('0')\"\n />\n <Button\n :label=\"$t('g.next')\"\n icon=\"pi pi-arrow-right\"\n iconPos=\"right\"\n @click=\"activateCallback('2')\"\n :disabled=\"pathError !== ''\"\n />\n </div>\n </StepPanel>\n <StepPanel value=\"2\" v-slot=\"{ activateCallback }\">\n <MigrationPicker\n v-model:sourcePath=\"migrationSourcePath\"\n v-model:migrationItemIds=\"migrationItemIds\"\n />\n <div class=\"flex pt-6 justify-between\">\n <Button\n :label=\"$t('g.back')\"\n severity=\"secondary\"\n icon=\"pi pi-arrow-left\"\n @click=\"activateCallback('1')\"\n />\n <Button\n :label=\"$t('g.next')\"\n icon=\"pi pi-arrow-right\"\n iconPos=\"right\"\n @click=\"activateCallback('3')\"\n />\n </div>\n </StepPanel>\n <StepPanel value=\"3\" v-slot=\"{ activateCallback }\">\n <DesktopSettingsConfiguration\n v-model:autoUpdate=\"autoUpdate\"\n v-model:allowMetrics=\"allowMetrics\"\n />\n <div class=\"flex pt-6 justify-between\">\n <Button\n :label=\"$t('g.back')\"\n severity=\"secondary\"\n icon=\"pi pi-arrow-left\"\n @click=\"activateCallback('2')\"\n />\n <Button\n :label=\"$t('g.install')\"\n icon=\"pi pi-check\"\n iconPos=\"right\"\n :disabled=\"hasError\"\n @click=\"install()\"\n />\n </div>\n </StepPanel>\n </StepPanels>\n </Stepper>\n </BaseViewTemplate>\n</template>\n\n<script setup lang=\"ts\">\nimport Button from 'primevue/button'\nimport Step from 'primevue/step'\nimport StepList from 'primevue/steplist'\nimport StepPanel from 'primevue/steppanel'\nimport StepPanels from 'primevue/steppanels'\nimport Stepper from 'primevue/stepper'\nimport { computed, onMounted, ref, toRaw } from 'vue'\nimport { useRouter } from 'vue-router'\n\nimport DesktopSettingsConfiguration from '@/components/install/DesktopSettingsConfiguration.vue'\nimport GpuPicker from '@/components/install/GpuPicker.vue'\nimport InstallLocationPicker from '@/components/install/InstallLocationPicker.vue'\nimport MigrationPicker from '@/components/install/MigrationPicker.vue'\nimport {\n type InstallOptions,\n type TorchDeviceType,\n electronAPI\n} from '@/utils/envUtil'\nimport BaseViewTemplate from '@/views/templates/BaseViewTemplate.vue'\n\nconst device = ref<TorchDeviceType>(null)\n\nconst installPath = ref('')\nconst pathError = ref('')\n\nconst migrationSourcePath = ref('')\nconst migrationItemIds = ref<string[]>([])\n\nconst autoUpdate = ref(true)\nconst allowMetrics = ref(true)\n\n/** Forces each install step to be visited at least once. */\nconst highestStep = ref(0)\n\nconst setHighestStep = (value: string | number) => {\n const int = typeof value === 'number' ? value : parseInt(value, 10)\n if (!isNaN(int) && int > highestStep.value) highestStep.value = int\n}\n\nconst hasError = computed(() => pathError.value !== '')\nconst noGpu = computed(() => typeof device.value !== 'string')\n\nconst electron = electronAPI()\nconst router = useRouter()\nconst install = () => {\n const options: InstallOptions = {\n installPath: installPath.value,\n autoUpdate: autoUpdate.value,\n allowMetrics: allowMetrics.value,\n migrationSourcePath: migrationSourcePath.value,\n migrationItemIds: toRaw(migrationItemIds.value),\n device: device.value\n }\n electron.installComfyUI(options)\n\n const nextPage =\n options.device === 'unsupported' ? '/manual-configuration' : '/server-start'\n router.push(nextPage)\n}\n\nonMounted(async () => {\n if (!electron) return\n\n const detectedGpu = await electron.Config.getDetectedGpu()\n if (detectedGpu === 'mps' || detectedGpu === 'nvidia')\n device.value = detectedGpu\n})\n</script>\n\n<style lang=\"postcss\" scoped>\n:deep(.p-steppanel) {\n @apply bg-transparent;\n}\n</style>\n"],"names":["classes","script$2","BaseComponent","render$1","script$1","script","_hoisted_1","render","createElementVNode","provide","root","data","mounted","getPTOptions","active","activeValue","id","ariaControls","a11yAttrs","theme","updateValue","value","isStepDisabled","_useModel","sourcePath"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9]} |