1import { p as prop, k as each, b as set_class, u as index, i as if_block, f as set_style, L as update_prop, t as remove_input_defaults, d as bind_this, r as rest_props, a as set_attribute } from './i18n-dpAHICcw.js'; 2import { a as append, f as from_svg, ak as delegate, R as push, X as sibling, V as child, t as template_effect, a0 as set_text, w as get, T as pop, a5 as user_derived, x as set, W as from_html, Y as reset, u as state, v as proxy, y as user_effect, af as onDestroy, S as first_child, a7 as text, Z as event, a8 as next } from './index-CDZuCcOm.js'; 3import { b as bind_value } from './input-UUW65DyE.js'; 4import { B as Block } from './Block-DntE23uJ.js'; 5import { B as BlockTitle } from './BlockTitle-Xgz-MKYS.js'; 6import './ScrollFade.svelte_svelte_type_style_lang-DUvCSfRk.js'; 7import './MarkdownCode.svelte_svelte_type_style_lang-GeNUGzep.js'; 8import { G as Gradio } from './utils.svelte-CyWLYi-B.js'; 9import { I as IconButtonWrapper } from './IconButtonWrapper-KjCt2Pl8.js'; 10export { default as BaseExample } from './Example-BMBLmTXi.js'; 11import './Info-CLoErKII.js'; 12import './MarkdownCode-Q694H4-C.js'; 13import './html-h_YSgefI.js'; 14import './snippet-DVkMfmSq.js'; 15import './prism-python-C_fanlsZ.js'; 16import './clone-dZfS06Ds.js'; 17 18var root$1 = from_svg(`<svg xmlns="http://www.w3.org/2000/svg" width="24px" height="24px" viewBox="0 0 24 24"><rect x="2" y="4" width="20" height="18" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" fill="none"></rect><line x1="2" y1="9" x2="22" y2="9" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" fill="none"></line><line x1="7" y1="2" x2="7" y2="6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" fill="none"></line><line x1="17" y1="2" x2="17" y2="6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" fill="none"></line></svg>`); 19 20function Calendar($$anchor) { 21 var svg = root$1(); 22 23 append($$anchor, svg); 24} 25 26const format_date = (date, include_time) => { 27 if (date.toJSON() === null) return ""; 28 const pad = (num) => num.toString().padStart(2, "0"); 29 const year = date.getFullYear();
30 const month = pad(date.getMonth() + 1); 31 const day = pad(date.getDate()); 32 const hours = pad(date.getHours()); 33 const minutes = pad(date.getMinutes()); 34 const seconds = pad(date.getSeconds()); 35 const date_str = `${year}-${month}-${day}`; 36 const time_str = `${hours}:${minutes}:${seconds}`; 37 if (include_time) { 38 return `${date_str} ${time_str}`; 39 } 40 return date_str; 41}; 42const date_is_valid_format = (date, include_time) => { 43 if (date == null || date === "") return true; 44 const valid_regex = include_time ? /^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/ : /^\d{4}-\d{2}-\d{2}$/; 45 const is_valid_date = date.match(valid_regex) !== null; 46 const is_valid_now = date.match(/^(?:\s*now\s*(?:-\s*\d+\s*[dmhs])?)?\s*$/) !== null; 47 return is_valid_date || is_valid_now; 48}; 49const get_days_in_month = (year, month) => { 50 return new Date(year, month + 1, 0).getDate(); 51}; 52const get_first_day_of_month = (year, month) => { 53 return new Date(year, month, 1).getDay(); 54}; 55const parse_date_value = (entered_value, include_time) => { 56 if (!entered_value || entered_value === "") { 57 const now2 = /* @__PURE__ */ new Date(); 58 return { 59 selected_date: now2, 60 current_year: now2.getFullYear(), 61 current_month: now2.getMonth(), 62 selected_hour: now2.getHours(), 63 selected_minute: now2.getMinutes(), 64 selected_second: now2.getSeconds(), 65 is_pm: now2.getHours() >= 12 66 }; 67 } 68 try { 69 let date_to_parse = entered_value; 70 if (!include_time && entered_value.match(/^\d{4}-\d{2}-\d{2}$/)) { 71 date_to_parse += " 00:00:00"; 72 } 73 const parsed = new Date(date_to_parse.replace(" ", "T")); 74 if (!isNaN(parsed.getTime())) { 75 return { 76 selected_date: parsed, 77 current_year: parsed.getFullYear(), 78 current_month: parsed.getMonth(), 79 selected_hour: parsed.getHours(), 80 selected_minute: parsed.getMinutes(), 81 selected_second: parsed.getSeconds(), 82 is_pm: parsed.getHours() >= 12 83 }; 84 } 85 } catch (e) { 86 } 87 const now = /* @__PURE__ */ new Date(); 88 return { 89 selected_date: now, 90 current_year: now.getFullYear(), 91 current_month: now.getMonth(), 92 selected_hour: now.getHours(), 93 selected_minute: now.getMinutes(), 94 selected_second: now.getSeconds(), 95 is_pm: now.getHours() >= 12 96 }; 97}; 98const generate_calendar_days = (current_year, current_month) => { 99 const days_in_month = get_days_in_month(current_year, current_month); 100 const first_day = get_first_day_of_month(current_year, current_month); 101 const days = []; 102 const prev_month = current_month === 0 ? 11 : current_month - 1; 103 const prev_year = current_month === 0 ? current_year - 1 : current_year; 104 const days_in_prev_month = get_days_in_month(prev_year, prev_month); 105 for (let i = first_day - 1; i >= 0; i--) { 106 days.push({ 107 day: days_in_prev_month - i, 108 is_current_month: false, 109 is_next_month: false 110 }); 111 } 112 for (let day = 1; day <= days_in_month; day++) { 113 days.push({ 114 day, 115 is_current_month: true, 116 is_next_month: false 117 }); 118 } 119 const remaining_slots = 42 - days.length; 120 for (let day = 1; day <= remaining_slots; day++) { 121 days.push({ 122 day, 123 is_current_month: false, 124 is_next_month: true 125 }); 126 } 127 return days; 128}; 129const calculate_display_hour = (selected_hour, is_pm) => { 130 return is_pm ? selected_hour === 0 ? 12 : selected_hour > 12 ? selected_hour - 12 : selected_hour : selected_hour === 0 ? 12 : selected_hour; 131}; 132const convert_display_hour_to_24h = (display_hour, is_pm) => { 133 if (is_pm) { 134 return display_hour === 12 ? 12 : display_hour + 12; 135 }
136 return display_hour === 12 ? 0 : display_hour; 137}; 138const month_names = [ 139 "January", 140 "February", 141 "March", 142 "April", 143 "May", 144 "June", 145 "July", 146 "August", 147 "September", 148 "October", 149 "November", 150 "December" 151]; 152 153var root_1$1 = from_html(`<button type="button"> </button>`); 154var root_2 = from_html(`<div class="time-picker svelte-s8mqj7"><div class="time-inputs svelte-s8mqj7"><div class="time-input-group svelte-s8mqj7"><label for="hour" class="svelte-s8mqj7">Hour</label> <input id="hour" type="number" min="1" max="12" class="svelte-s8mqj7"/></div> <div class="time-input-group svelte-s8mqj7"><label for="minute" class="svelte-s8mqj7">Min</label> <input id="minute" type="number" min="0" max="59" class="svelte-s8mqj7"/></div> <div class="time-input-group svelte-s8mqj7"><label for="second" class="svelte-s8mqj7">Sec</label> <input id="second" type="number" min="0" max="59" class="svelte-s8mqj7"/></div> <div class="time-input-group svelte-s8mqj7"><span class="am-pm-label svelte-s8mqj7">Period</span> <button type="button" class="am-pm-toggle svelte-s8mqj7" aria-label="Toggle AM/PM"> </button></div></div></div>`); 155var root = from_html(`<div class="picker-container svelte-s8mqj7"><div class="picker svelte-s8mqj7"><div class="picker-header svelte-s8mqj7"><button type="button" class="nav-button svelte-s8mqj7">â¹</button> <div class="month-year svelte-s8mqj7"> </div> <button type="button" class="nav-button svelte-s8mqj7">âº</button></div> <div class="calendar-grid svelte-s8mqj7"><div class="weekdays svelte-s8mqj7"><div class="weekday svelte-s8mqj7">Su</div> <div class="weekday svelte-s8mqj7">Mo</div> <div class="weekday svelte-s8mqj7">Tu</div> <div class="weekday svelte-s8mqj7">We</div> <div class="weekday svelte-s8mqj7">Th</div> <div class="weekday svelte-s8mqj7">Fr</div> <div class="weekday svelte-s8mqj7">Sa</div></div> <div class="days svelte-s8mqj7"></div></div> <!> <div class="picker-actions svelte-s8mqj7"><button type="button" class="action-button svelte-s8mqj7">Clear</button> <div class="picker-actions-right svelte-s8mqj7"><button type="button" class="action-button svelte-s8mqj7">Now</button> <button type="button" class="action-button svelte-s8mqj7">Done</button></div></div></div></div>`); 156 157function DateTimePicker($$anchor, $$props) { 158 push($$props, true); 159 160 let selected_date = prop($$props, 'selected_date', 15), 161 current_year = prop($$props, 'current_year', 15), 162 current_month = prop($$props, 'current_month', 15), 163 selected_hour = prop($$props, 'selected_hour', 15), 164 selected_minute = prop($$props, 'selected_minute', 15), 165 selected_second = prop($$props, 'selected_second', 15), 166 is_pm = prop($$props, 'is_pm', 15); 167 168 let display_hour = user_derived(() => calculate_display_hour(selected_hour(), is_pm())); 169 let calendar_days = user_derived(() => generate_calendar_days(current_year(), current_month())); 170 171 const select_date = (day) => { 172 selected_date(new Date(current_year(), current_month(), day, selected_hour(), selected_minute(), selected_second())); 173 update_value(); 174 }; 175 176 const update_value = () => { 177 const formatted = format_date(selected_date(), $$props.include_time); 178 179 $$props.onupdate?.(formatted); 180 }; 181 182 const update_time = () => { 183 selected_date(new Date(current_year(), current_month(), selected_date().getDate(), selected_hour(), selected_minute(), selected_second())); 184 update_value(); 185 }; 186 187 const previous_month = () => { 188 if (current_month() === 0) { 189 current_month(11); 190 update_prop(current_year, -1); 191 } else { 192 update_prop(current_month, -1); 193 } 194 }; 195
196 const next_month = () => { 197 if (current_month() === 11) { 198 current_month(0); 199 update_prop(current_year); 200 } else { 201 update_prop(current_month); 202 } 203 }; 204 205 const toggle_am_pm = () => { 206 is_pm(!is_pm()); 207 208 if (is_pm() && selected_hour() < 12) { 209 selected_hour(selected_hour() + 12); 210 } else if (!is_pm() && selected_hour() >= 12) { 211 selected_hour(selected_hour() - 12); 212 } 213 214 update_time(); 215 }; 216 217 const update_display_hour = (new_hour) => { 218 selected_hour(convert_display_hour_to_24h(new_hour, is_pm())); 219 update_time(); 220 }; 221 222 const handle_now = () => { 223 const now = new Date(); 224 225 selected_date(now); 226 current_year(now.getFullYear()); 227 current_month(now.getMonth()); 228 selected_hour(now.getHours()); 229 selected_minute(now.getMinutes()); 230 selected_second(now.getSeconds()); 231 is_pm(selected_hour() >= 12); 232 update_value(); 233 }; 234 235 var div = root(); 236 var div_1 = child(div); 237 var div_2 = child(div_1); 238 var button = child(div_2); 239 240 button.__click = previous_month; 241 242 var div_3 = sibling(button, 2); 243 var text = child(div_3); 244 245 reset(div_3); 246 247 var button_1 = sibling(div_3, 2); 248 249 button_1.__click = next_month; 250 reset(div_2); 251 252 var div_4 = sibling(div_2, 2); 253 var div_5 = sibling(child(div_4), 2); 254 255 each(div_5, 21, () => get(calendar_days), index, ($$anchor, $$item) => { 256 let day = () => get($$item).day; 257 let is_current_month = () => get($$item).is_current_month; 258 let is_next_month = () => get($$item).is_next_month; 259 var button_2 = root_1$1(); 260 let classes; 261 262 button_2.__click = () => { 263 if (is_current_month()) { 264 select_date(day()); 265 } else if (is_next_month()) { 266 next_month(); 267 select_date(day()); 268 } else { 269 previous_month(); 270 select_date(day()); 271 } 272 }; 273 274 var text_1 = child(button_2, true); 275 276 reset(button_2); 277 278 template_effect( 279 ($0) => { 280 classes = set_class(button_2, 1, 'day svelte-s8mqj7', null, classes, $0); 281 set_text(text_1, day()); 282 }, 283 [ 284 () => ({ 285 'other-month': !is_current_month(), 286 selected: is_current_month() && day() === selected_date().getDate() && current_month() === selected_date().getMonth() && current_year() === selected_date().getFullYear() 287 }) 288 ] 289 ); 290 291 append($$anchor, button_2); 292 }); 293 294 reset(div_5); 295 reset(div_4); 296 297 var node = sibling(div_4, 2); 298 299 { 300 var consequent = ($$anchor) => { 301 var div_6 = root_2(); 302 var div_7 = child(div_6); 303 var div_8 = child(div_7); 304 var input = sibling(child(div_8), 2); 305 306 remove_input_defaults(input); 307 input.__input = () => update_display_hour(get(display_hour)); 308 reset(div_8); 309 310 var div_9 = sibling(div_8, 2); 311 var input_1 = sibling(child(div_9), 2); 312 313 remove_input_defaults(input_1); 314 input_1.__input = update_time; 315 reset(div_9); 316 317 var div_10 = sibling(div_9, 2); 318 var input_2 = sibling(child(div_10), 2); 319 320 remove_input_defaults(input_2); 321 input_2.__input = update_time; 322 reset(div_10); 323 324 var div_11 = sibling(div_10, 2); 325 var button_3 = sibling(child(div_11), 2); 326 327 button_3.__click = toggle_am_pm; 328 329 var text_2 = child(button_3, true); 330 331 reset(button_3); 332 reset(div_11); 333 reset(div_7); 334 reset(div_6); 335 template_effect(() => set_text(text_2, is_pm() ? "PM" : "AM")); 336 bind_value(input, () => get(display_hour), ($$value) => set(display_hour, $$value)); 337 bind_value(input_1, selected_minute); 338 bind_value(input_2, selected_second); 339 append($$anchor, div_6); 340 }; 341 342 if_block(node, ($$render) => { 343 if ($$props.include_time) $$render(consequent); 344 }); 345 } 346 347 var div_12 = sibling(node, 2); 348 var button_4 = child(div_12); 349 350 button_4.__click = function (...$$args) { 351 $$props.onclear?.apply(this, $$args); 352 }; 353 354 var div_13 = sibling(button_4, 2); 355 var button_5 = child(div_13); 356 357 button_5.__click = handle_now; 358 359 var button_6 = sibling(button_5, 2); 360 361 button_6.__click = function (...$$args) { 362 $$props.onclose?.apply(this, $$args); 363 }; 364 365 reset(div_13); 366 reset(div_12); 367 reset(div_1); 368 reset(div); 369 370 template_effect(() => { 371 set_style(div, `top: ${$$props.position.top ?? ''}px; left: ${$$props.position.left ?? ''}px;`); 372 373 set_text(text, `${month_names[current_month()] ?? ''} 374 ${current_year() ?? ''}`); 375 }); 376 377 append($$anchor, div); 378 pop(); 379} 380 381delegate(['click', 'input']); 382 383var root_4 = from_html(`<button class="calendar svelte-16sct4k"><!></button>`); 384var root_5 = from_html(`<div class="svelte-16sct4k"><!></div>`); 385var root_1 = from_html(`<div class="label-content svelte-16sct4k"><!> <!></div> <div class="timebox svelte-16sct4k"><input/> <!></div> <!>`, 1); 386 387function Index($$anchor, $$props) { 388 push($$props, true); 389 390 const props = rest_props($$props, ['$$slots', '$$events', '$$legacy']); 391 const gradio = new Gradio(props); 392 let old_value = state(proxy(gradio.props.value)); 393 let show_picker = state(false); 394 let entered_value = state(proxy(gradio.props.value)); 395 let picker_ref; 396 let input_ref; 397 let calendar_button_ref; 398 let picker_position = state(proxy({ top: 0, left: 0 })); 399 let current_year = state(proxy(new Date().getFullYear()));
400 let current_month = state(proxy(new Date().getMonth())); 401 let selected_date = state(proxy(new Date())); 402 let selected_hour = state(proxy(new Date().getHours())); 403 let selected_minute = state(proxy(new Date().getMinutes())); 404 let selected_second = state(proxy(new Date().getSeconds())); 405 let is_pm = state(get(selected_hour) >= 12); 406 let valid = user_derived(() => date_is_valid_format(get(entered_value), gradio.props.include_time)); 407 let disabled = user_derived(() => !gradio.shared.interactive); 408 409 user_effect(() => { 410 if (get(old_value) != gradio.props.value) { 411 set(old_value, gradio.props.value, true); 412 set(entered_value, gradio.props.value, true); 413 update_picker_from_value(); 414 gradio.dispatch("change"); 415 } 416 }); 417 418 const update_picker_from_value = () => { 419 const parsed = parse_date_value(get(entered_value), gradio.props.include_time); 420 421 set(selected_date, parsed.selected_date, true); 422 set(current_year, parsed.current_year, true); 423 set(current_month, parsed.current_month, true); 424 set(selected_hour, parsed.selected_hour, true); 425 set(selected_minute, parsed.selected_minute, true); 426 set(selected_second, parsed.selected_second, true); 427 set(is_pm, parsed.is_pm, true); 428 }; 429 430 const submit_values = () => { 431 if (get(entered_value) === gradio.props.value) return; 432 if (!date_is_valid_format(get(entered_value), gradio.props.include_time)) return; 433 434 set(old_value, gradio.props.value = get(entered_value), true); 435 gradio.dispatch("change"); 436 }; 437 438 const calculate_picker_position = () => { 439 if (calendar_button_ref) { 440 const rect = calendar_button_ref.getBoundingClientRect(); 441 442 set(picker_position, { top: rect.bottom + 4, left: rect.right - 280 }, true); 443 } 444 }; 445 446 const toggle_picker = (event) => { 447 if (!get(disabled)) { 448 event.stopPropagation(); 449 set(show_picker, !get(show_picker)); 450 451 if (get(show_picker)) { 452 update_picker_from_value(); 453 calculate_picker_position(); 454 455 setTimeout( 456 () => { 457 if (typeof window !== "undefined") { 458 window.addEventListener("click", handle_click_outside); 459 window.addEventListener("scroll", handle_scroll, true); 460 } 461 }, 462 10 463 ); 464 } else if (typeof window !== "undefined") { 465 window.removeEventListener("click", handle_click_outside); 466 window.removeEventListener("scroll", handle_scroll, true); 467 } 468 } 469 }; 470 471 const close_picker = () => { 472 set(show_picker, false); 473 474 if (typeof window !== "undefined") { 475 window.removeEventListener("click", handle_click_outside); 476 window.removeEventListener("scroll", handle_scroll, true); 477 } 478 }; 479 480 const handle_click_outside = (event) => { 481 if (get(show_picker) && picker_ref && !picker_ref.contains(event.target) && calendar_button_ref && !calendar_button_ref.contains(event.target)) { 482 close_picker(); 483 } 484 }; 485 486 const handle_scroll = () => { 487 if (get(show_picker)) { 488 calculate_picker_position(); 489 } 490 }; 491 492 const handle_picker_update = (formatted) => { 493 set(entered_value, formatted, true); 494 submit_values(); 495 }; 496 497 const handle_picker_clear = () => { 498 set(entered_value, ""); 499 gradio.props.value = ""; 500 close_picker(); 501 gradio.dispatch("change"); 502 }; 503 504 onDestroy(() => { 505 if (typeof window !== "undefined") { 506 window.removeEventListener("click", handle_click_outside); 507 window.removeEventListener("scroll", handle_scroll, true); 508 } 509 }); 510 511 update_picker_from_value(); 512 513 Block($$anchor, { 514 get visible() { 515 return gradio.shared.visible; 516 }, 517 518 get elem_id() { 519 return gradio.shared.elem_id; 520 }, 521 522 get elem_classes() { 523 return gradio.shared.elem_classes; 524 }, 525 526 get scale() { 527 return gradio.shared.scale; 528 }, 529 530 get min_width() { 531 return gradio.shared.min_width; 532 }, 533 allow_overflow: false, 534 padding: true, 535 children: ($$anchor, $$slotProps) => { 536 var fragment_1 = root_1(); 537 var div = first_child(fragment_1); 538 var node = child(div); 539 540 { 541 var consequent = ($$anchor) => { 542 IconButtonWrapper($$anchor, { 543 get buttons() { 544 return gradio.props.buttons; 545 }, 546 547 on_custom_button_click: (id) => { 548 gradio.dispatch("custom_button_click", { id }); 549 } 550 }); 551 }; 552 553 if_block(node, ($$render) => { 554 if (gradio.shared.show_label && gradio.props.buttons && gradio.props.buttons.length > 0) $$render(consequent); 555 }); 556 } 557
558 var node_1 = sibling(node, 2); 559 560 BlockTitle(node_1, { 561 get show_label() { 562 return gradio.shared.show_label; 563 }, 564 565 get info() { 566 return gradio.props.info; 567 }, 568 569 children: ($$anchor, $$slotProps) => { 570 next(); 571 572 var text$1 = text(); 573 574 template_effect(() => set_text(text$1, gradio.shared.label || "Date")); 575 append($$anchor, text$1); 576 }, 577 $$slots: { default: true } 578 }); 579 580 reset(div); 581 582 var div_1 = sibling(div, 2); 583 var input = child(div_1); 584 585 remove_input_defaults(input); 586 587 let classes; 588 589 input.__keydown = (evt) => { 590 if (evt.key === "Enter") { 591 submit_values(); 592 gradio.dispatch("submit"); 593 } 594 }; 595 596 bind_this(input, ($$value) => input_ref = $$value, () => input_ref); 597 598 var node_2 = sibling(input, 2); 599 600 { 601 var consequent_1 = ($$anchor) => { 602 var button = root_4(); 603 604 button.__click = toggle_picker; 605 606 var node_3 = child(button); 607 608 Calendar(node_3); 609 reset(button); 610 bind_this(button, ($$value) => calendar_button_ref = $$value, () => calendar_button_ref); 611 template_effect(() => button.disabled = get(disabled)); 612 append($$anchor, button); 613 }; 614 615 if_block(node_2, ($$render) => { 616 if (gradio.shared.interactive) $$render(consequent_1); 617 }); 618 } 619 620 reset(div_1); 621 622 var node_4 = sibling(div_1, 2); 623 624 { 625 var consequent_2 = ($$anchor) => { 626 var div_2 = root_5(); 627 var node_5 = child(div_2); 628 629 DateTimePicker(node_5, { 630 get include_time() { 631 return gradio.props.include_time; 632 }, 633 634 get position() { 635 return get(picker_position); 636 }, 637 onupdate: handle_picker_update, 638 onclear: handle_picker_clear, 639 onclose: close_picker, 640 get selected_date() { 641 return get(selected_date); 642 }, 643 644 set selected_date($$value) { 645 set(selected_date, $$value, true); 646 }, 647 648 get current_year() { 649 return get(current_year); 650 }, 651 652 set current_year($$value) { 653 set(current_year, $$value, true); 654 }, 655 656 get current_month() { 657 return get(current_month); 658 }, 659 660 set current_month($$value) { 661 set(current_month, $$value, true); 662 }, 663 664 get selected_hour() { 665 return get(selected_hour); 666 }, 667 668 set selected_hour($$value) { 669 set(selected_hour, $$value, true); 670 }, 671 672 get selected_minute() { 673 return get(selected_minute); 674 }, 675 676 set selected_minute($$value) { 677 set(selected_minute, $$value, true); 678 }, 679 680 get selected_second() { 681 return get(selected_second); 682 }, 683 684 set selected_second($$value) { 685 set(selected_second, $$value, true); 686 }, 687 688 get is_pm() { 689 return get(is_pm); 690 }, 691 692 set is_pm($$value) { 693 set(is_pm, $$value, true); 694 } 695 }); 696 697 reset(div_2); 698 bind_this(div_2, ($$value) => picker_ref = $$value, () => picker_ref); 699 append($$anchor, div_2); 700 }; 701 702 if_block(node_4, ($$render) => { 703 if (get(show_picker)) $$render(consequent_2); 704 }); 705 } 706 707 template_effect(() => { 708 classes = set_class(input, 1, 'time svelte-16sct4k', null, classes, { invalid: !get(valid) }); 709 input.disabled = get(disabled); 710 set_attribute(input, 'placeholder', gradio.props.include_time ? "YYYY-MM-DD HH:MM:SS" : "YYYY-MM-DD"); 711 }); 712 713 event('blur', input, submit_values); 714 bind_value(input, () => get(entered_value), ($$value) => set(entered_value, $$value)); 715 append($$anchor, fragment_1); 716 }, 717 $$slots: { default: true } 718 }); 719 720 pop(); 721} 722 723delegate(['keydown', 'click']); 724 725export { Index as default }; 726//# sourceMappingURL=Index-CH_KrwC3.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.