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