1import { g as spread_props, d as bind_this, i as if_block, r as rest_props, a as set_attribute, t as remove_input_defaults } from './i18n-dpAHICcw.js'; 2import { R as push, u as state, v as proxy, y as user_effect, w as get, x as set, Z as event, S as first_child, a7 as text, t as template_effect, a as append, V as child, X as sibling, T as pop, a5 as user_derived, N as tick, ax as $window, W as from_html, a0 as set_text, a8 as next, Y as reset } from './index-CDZuCcOm.js'; 3import { b as bind_value } from './input-UUW65DyE.js'; 4import { G as Gradio } from './utils.svelte-CyWLYi-B.js'; 5import { B as Block } from './Block-DntE23uJ.js'; 6import { B as BlockTitle } from './BlockTitle-Xgz-MKYS.js'; 7import './ScrollFade.svelte_svelte_type_style_lang-DUvCSfRk.js'; 8import './MarkdownCode.svelte_svelte_type_style_lang-GeNUGzep.js'; 9import { S as Static } from './index-DyDpuTN9.js'; 10import './StreamingBar.svelte_svelte_type_style_lang-BxBb9ZZb.js'; 11import './clone-dZfS06Ds.js'; 12import './Info-CLoErKII.js'; 13import './MarkdownCode-Q694H4-C.js'; 14import './html-h_YSgefI.js'; 15import './snippet-DVkMfmSq.js'; 16import './prism-python-C_fanlsZ.js'; 17import './Clear-tvJMRS4J.js'; 18 19let _id = 0; 20var root_3 = from_html(`<button class="reset-button svelte-8epfm4" aria-label="Reset to default value" data-testid="reset-button">âº</button>`); 21var root_1 = from_html(`<!> <div class="wrap svelte-8epfm4"><div class="head svelte-8epfm4"><label class="svelte-8epfm4"><!></label> <div class="tab-like-container svelte-8epfm4"><input data-testid="number-input" type="number" class="svelte-8epfm4"/> <!></div></div> <div class="slider_input_container svelte-8epfm4"><span class="min_value svelte-8epfm4"> </span> <input type="range" name="cowbell" class="svelte-8epfm4"/> <span class="max_value svelte-8epfm4"> </span></div></div>`, 1); 22 23function Index($$anchor, $$props) { 24 push($$props, true); 25 26 let props = rest_props($$props, ['$$slots', '$$events', '$$legacy']); 27 let gradio = new Gradio(props); 28 const INITIAL_VALUE = gradio.props.value; 29 let old_value = state(proxy(gradio.props.value)); 30 let range_input; 31 let number_input; 32 const id = `range_id_${_id++}`; 33 let minimum_value = user_derived(() => gradio.props.minimum ?? 0); 34 35 let percentage = user_derived(() => { 36 const min = gradio.props.minimum; 37 const max = gradio.props.maximum; 38 const val = gradio.props.value; 39 40 if (val > max) { 41 return 100; 42 } else if (val < min) { 43 return 0; 44 } 45 46 return (val - min) / (max - min) * 100; 47 }); 48 49 user_effect(() => { 50 if (gradio.props.value == null) return; 51 52 range_input.style.setProperty("--range_progress", `${get(percentage)}%`); 53 range_input.value = gradio.props.value.toString(); 54 }); 55 56 async function handle_change() { 57 await tick(); 58 gradio.dispatch("change"); 59 } 60 61 async function handle_release(e) { 62 await tick(); 63 gradio.dispatch("release", gradio.props.value); 64 } 65 66 function clamp() { 67 gradio.dispatch("release", gradio.props.value); 68 gradio.props.value = Math.min(Math.max(gradio.props.value, gradio.props.minimum), gradio.props.maximum); 69 } 70 71 let disabled = user_derived(() => !gradio.shared.interactive); 72 73 // When the value changes, dispatch the change event via handle_change() 74 // See the docs for an explanation: https://svelte.dev/docs/svelte-components#script-3-$-marks-a-statement-as-reactive 75 user_effect(() => { 76 if (gradio.props.value != get(old_value)) { 77 set(old_value, gradio.props.value, true); 78 handle_change(); 79 } 80 }); 81 82 function handle_resize() { 83 } 84 85 function reset_value() { 86 gradio.props.value = INITIAL_VALUE; 87 gradio.dispatch("change"); 88 gradio.dispatch("release", gradio.props.value); 89 } 90 91 async function handle_input() { 92 await tick(); 93 gradio.dispatch("input"); 94 } 95 96 event('resize', $window, handle_resize); 97 98 Block($$anchor, { 99 get visible() { 100 return gradio.shared.visible; 101 }, 102 103 get elem_id() { 104 return gradio.shared.elem_id; 105 }, 106 107 get elem_classes() { 108 return gradio.shared.elem_classes; 109 }, 110 111 get container() { 112 return gradio.shared.container; 113 }, 114 115 get scale() { 116 return gradio.shared.scale; 117 }, 118 119 get min_width() { 120 return gradio.shared.min_width; 121 }, 122 123 children: ($$anchor, $$slotProps) => { 124 var fragment_1 = root_1(); 125 var node = first_child(fragment_1); 126 127 Static(node, spread_props( 128 { 129 get autoscroll() { 130 return gradio.shared.autoscroll; 131 }, 132 133 get i18n() { 134 return gradio.i18n; 135 } 136 }, 137 () => gradio.shared.loading_status, 138 { 139 on_clear_status: () => gradio.dispatch("clear_status", gradio.shared.loading_status) 140 } 141 )); 142 143 var div = sibling(node, 2); 144 var div_1 = child(div); 145 var label = child(div_1);
146 var node_1 = child(label); 147 148 BlockTitle(node_1, { 149 get show_label() { 150 return gradio.shared.show_label; 151 }, 152 153 get info() { 154 return gradio.props.info; 155 }, 156 157 children: ($$anchor, $$slotProps) => { 158 next(); 159 160 var text$1 = text(); 161 162 template_effect(() => set_text(text$1, gradio.shared.label || "Slider")); 163 append($$anchor, text$1); 164 }, 165 $$slots: { default: true } 166 }); 167 168 reset(label); 169 170 var div_2 = sibling(label, 2); 171 var input = child(div_2); 172 173 remove_input_defaults(input); 174 bind_this(input, ($$value) => number_input = $$value, () => number_input); 175 176 var node_2 = sibling(input, 2); 177 178 { 179 var consequent = ($$anchor) => { 180 var button = root_3(); 181 182 template_effect(() => button.disabled = get(disabled)); 183 event('click', button, reset_value); 184 append($$anchor, button); 185 }; 186 187 if_block(node_2, ($$render) => { 188 if (gradio.props.buttons?.includes("reset") ?? true) $$render(consequent); 189 }); 190 } 191 192 reset(div_2); 193 reset(div_1); 194 195 var div_3 = sibling(div_1, 2); 196 var span = child(div_3); 197 var text_1 = child(span, true); 198 199 reset(span); 200 201 var input_1 = sibling(span, 2); 202 203 remove_input_defaults(input_1); 204 bind_this(input_1, ($$value) => range_input = $$value, () => range_input); 205 206 var span_1 = sibling(input_1, 2); 207 var text_2 = child(span_1, true); 208 209 reset(span_1); 210 reset(div_3); 211 reset(div); 212 213 template_effect(() => { 214 set_attribute(label, 'for', id); 215 set_attribute(input, 'aria-label', `number input for ${gradio.shared.label}`); 216 set_attribute(input, 'min', gradio.props.minimum); 217 set_attribute(input, 'max', gradio.props.maximum); 218 set_attribute(input, 'step', gradio.props.step); 219 input.disabled = get(disabled); 220 set_text(text_1, get(minimum_value)); 221 set_attribute(input_1, 'id', id); 222 set_attribute(input_1, 'min', gradio.props.minimum); 223 set_attribute(input_1, 'max', gradio.props.maximum); 224 set_attribute(input_1, 'step', gradio.props.step); 225 input_1.disabled = get(disabled); 226 set_attribute(input_1, 'aria-label', `range slider for ${gradio.shared.label}`); 227 set_text(text_2, gradio.props.maximum); 228 }); 229 230 bind_value(input, () => gradio.props.value, ($$value) => gradio.props.value = $$value); 231 event('input', input, handle_input); 232 event('blur', input, clamp); 233 event('pointerup', input, handle_release); 234 bind_value(input_1, () => gradio.props.value, ($$value) => gradio.props.value = $$value); 235 event('input', input_1, handle_input); 236 event('pointerup', input_1, handle_release); 237 append($$anchor, fragment_1); 238 }, 239 $$slots: { default: true } 240 }); 241 242 pop(); 243} 244 245export { Index as default }; 246//# sourceMappingURL=Index-Yy1r-iy4.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.