import{isEmpty,deepClone}from"../../base/helpers.mjs";import{FormView}from"../base.mjs";import{CheckboxInputView,NumberInputView,MaskTypeInputView,SchedulerInputView,FormInputView,RepeatableInputView,UpscaleAmountInputView,UpscaleMethodInputView,UpscaleDiffusionControlnetInputView,UpscaleDiffusionPromptInputView,UpscaleDiffusionNegativePromptInputView,UpscaleDiffusionStepsInputView,UpscaleDiffusionStrengthInputView,UpscaleDiffusionPipelineInputView,UpscaleDiffusionGuidanceScaleInputView}from"../input.mjs";class UpscaleFormView extends FormView{static fieldSets={"Upscaling Step":{amount:{label:"Upscale Amount",class:UpscaleAmountInputView},method:{label:"Upscale Method",class:UpscaleMethodInputView},strength:{label:"Denoising Strength",class:UpscaleDiffusionStrengthInputView},pipeline:{label:"Pipeline",class:UpscaleDiffusionPipelineInputView},controlnet:{label:"ControlNet",class:UpscaleDiffusionControlnetInputView},prompt:{label:"Detail Prompt",class:UpscaleDiffusionPromptInputView},negativePrompt:{label:"Detail Negative Prompt",class:UpscaleDiffusionNegativePromptInputView},scheduler:{label:"Scheduler",class:SchedulerInputView},inferenceSteps:{label:"Inference Steps",class:UpscaleDiffusionStepsInputView},guidanceScale:{label:"Guidance Scale",class:UpscaleDiffusionGuidanceScaleInputView},chunkingSize:{label:"Chunking Size",class:NumberInputView,config:{minimum:32,maximum:512,step:8,value:128,tooltip:"The number of pixels to move the frame by during diffusion. Smaller values produce better results, but take longer."}},chunkingMaskType:{label:"Chunking Mask",class:MaskTypeInputView}}};static fieldSetConditions={"Upscale Diffusion":e=>e.diffusion}}class AutoSubmitUpscaleFormView extends UpscaleFormView{static autoSubmit=!0}class UpscaleFormInputView extends FormInputView{static formClass=AutoSubmitUpscaleFormView}class UpscaleStepsInputView extends RepeatableInputView{static noItemsLabel="No Upscaling";static addItemLabel="Add Upscaling Step";static memberClass=UpscaleFormInputView}class UpscaleStepsFormView extends FormView{static autoSubmit=!0;static collapseFieldSets=!0;static fieldSets={Upscaling:{steps:{class:UpscaleStepsInputView}}}}class DownscaleFormView extends FormView{static showCancel=!0;static fieldSets={"Downscale Amount":{downscale:{class:UpscaleAmountInputView,config:{tooltip:"Select the amount of downscaling to apply. Downscaling is performed via repeated bi-linear sampling."}}}}}export{UpscaleFormView,UpscaleStepsFormView,DownscaleFormView};
