{
  "version": 3,
  "sources": ["/cdn/shop/t/25/assets/up-print-clock.js?nocache=9137"],
  "sourcesContent": ["/*\r\n * U Press same-day print clock - v1.3.0 (12 Nov 2026: \"Current TAT: Order now, ships <date>\" wording)\r\n * Section: sections/up-print-clock.liquid. Styles: assets/up-print-clock.css.\r\n * Look: the TEST header strip's own pattern (pink tag pill, white text, grey lead, dark clock pill).\r\n *\r\n * All times are SHOP time (America/New_York), never the visitor's time zone.\r\n * Rules come from the section settings (JSON in [data-up-pc-config]). When the\r\n * \"Live settings URL\" setting is filled in, the same rule fields are fetched once\r\n * per page load (2.5 s timeout, cached 5 min) and fall back to the theme settings\r\n * on any failure. Phase 2 JSON shape:\r\n *   { standard_cutoff, rush_cutoff, days, holidays[], override, updated_at }\r\n *\r\n * Test hook (never on the published theme): ?up_pc_now=2026-11-12T10:58 sets the\r\n * shop-time clock, which then keeps ticking from there.\r\n */\r\n(function () {\r\n  \"use strict\";\r\n\r\n  var VERSION = \"1.3.0\";\r\n  var DAY = 864e5;\r\n  var DOW = { sun: 0, mon: 1, tue: 2, wed: 3, thu: 4, fri: 5, sat: 6 };\r\n  var WD = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\r\n  var MO = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\r\n  var LIVE_TIMEOUT_MS = 2500;\r\n  var LIVE_CACHE_MS = 5 * 60 * 1000;\r\n\r\n  var DEFAULT_COPY = {\r\n    tag_open: \"Current TAT\",\r\n    text_open: \"Order now, ships today\",\r\n    lead_open: \"Time left\",\r\n    tag_rush: \"Current TAT\",\r\n    text_rush: \"Order now, ships {date} \u2013 or add {rush} to ship today\",\r\n    lead_rush: \"Rush closes in\",\r\n    tag_next: \"Current TAT\",\r\n    text_next: \"Order now, ships {date}\",\r\n    tag_closed: \"Current TAT\",\r\n    text_holiday: \"Closed for {holiday} \u2013 order now, ships {date}\",\r\n    text_closed_today: \"Closed today \u2013 order now, ships {date}\",\r\n    tag_closed_early: \"Current TAT\",\r\n    text_closed_early: \"Same-day closed early \u2013 order now, ships {date}\",\r\n    short_open: \"Ships today\",\r\n    short_rush: \"Rush today\",\r\n    short_next: \"Ships {date}\",\r\n    est_label: \"Estimate\",\r\n    disclaimer: \"Ship dates are estimates based on our daily cut-off (Eastern Time), not a guarantee. Artwork issues, file problems, high order volume and holidays can change them. Carrier transit time comes after your order ships.\"\r\n  };\r\n\r\n  /* ---------- time helpers (shop time zone) ---------- */\r\n\r\n  function pad(n) { return (n < 10 ? \"0\" : \"\") + n; }\r\n  function key(y, mo, d) { return y + \"-\" + pad(mo) + \"-\" + pad(d); }\r\n  function keyParts(k) { return { y: +k.slice(0, 4), mo: +k.slice(5, 7), d: +k.slice(8, 10) }; }\r\n  function keyUTC(k) { var p = keyParts(k); return Date.UTC(p.y, p.mo - 1, p.d); }\r\n  function addDays(k, n) {\r\n    var dt = new Date(keyUTC(k) + n * DAY);\r\n    return key(dt.getUTCFullYear(), dt.getUTCMonth() + 1, dt.getUTCDate());\r\n  }\r\n  function dowOf(k) { return new Date(keyUTC(k)).getUTCDay(); }\r\n  function dateLabel(k) {\r\n    var dt = new Date(keyUTC(k));\r\n    return WD[dt.getUTCDay()] + \", \" + MO[dt.getUTCMonth()] + \" \" + dt.getUTCDate();\r\n  }\r\n  function clockLabel(mins) {\r\n    var h = Math.floor(mins / 60), m = mins % 60, ap = h >= 12 ? \"PM\" : \"AM\";\r\n    h = h % 12 || 12;\r\n    return h + \":\" + pad(m) + \" \" + ap;\r\n  }\r\n\r\n  function makeZoner(tz) {\r\n    var fmt;\r\n    try {\r\n      fmt = new Intl.DateTimeFormat(\"en-US\", {\r\n        timeZone: tz, hourCycle: \"h23\", year: \"numeric\", month: \"numeric\", day: \"numeric\",\r\n        hour: \"numeric\", minute: \"numeric\", second: \"numeric\"\r\n      });\r\n    } catch (e) {\r\n      fmt = new Intl.DateTimeFormat(\"en-US\", {\r\n        timeZone: \"America/New_York\", hour12: false, year: \"numeric\", month: \"numeric\", day: \"numeric\",\r\n        hour: \"numeric\", minute: \"numeric\", second: \"numeric\"\r\n      });\r\n    }\r\n    function zoned(ms) {\r\n      var o = {};\r\n      fmt.formatToParts(new Date(ms)).forEach(function (p) { o[p.type] = p.value; });\r\n      var h = +o.hour;\r\n      if (h === 24) h = 0;\r\n      return { y: +o.year, mo: +o.month, d: +o.day, h: h, mi: +o.minute, s: +o.second };\r\n    }\r\n    /* Epoch ms for a wall-clock time (minutes after midnight) on shop date k. DST-safe. */\r\n    function epochAt(k, mins) {\r\n      var p = keyParts(k);\r\n      var want = Date.UTC(p.y, p.mo - 1, p.d, Math.floor(mins / 60), mins % 60, 0);\r\n      var t = want;\r\n      for (var i = 0; i < 3; i++) {\r\n        var z = zoned(t);\r\n        var diff = want - Date.UTC(z.y, z.mo - 1, z.d, z.h, z.mi, z.s);\r\n        if (!diff) break;\r\n        t += diff;\r\n      }\r\n      return t;\r\n    }\r\n    return { zoned: zoned, epochAt: epochAt };\r\n  }\r\n\r\n  /* ---------- rule parsing (theme settings or live JSON) ---------- */\r\n\r\n  function parseTime(v) {\r\n    if (v === null || v === undefined) return null;\r\n    var s = String(v).trim().toLowerCase().replace(/\\./g, \"\");\r\n    if (!s) return null;\r\n    var m = s.match(/^(\\d{1,2})(?::(\\d{2}))?\\s*(am|pm|a|p)?$/);\r\n    if (!m) return null;\r\n    var h = +m[1], mi = m[2] ? +m[2] : 0, ap = m[3];\r\n    if (mi > 59) return null;\r\n    if (ap) {\r\n      if (h < 1 || h > 12) return null;\r\n      if (ap.charAt(0) === \"p\" && h !== 12) h += 12;\r\n      if (ap.charAt(0) === \"a\" && h === 12) h = 0;\r\n    } else if (h > 23) {\r\n      return null;\r\n    }\r\n    return h * 60 + mi;\r\n  }\r\n\r\n  function parseDate(v) {\r\n    var s = String(v === null || v === undefined ? \"\" : v).trim();\r\n    var m = s.match(/^(\\d{4})-(\\d{1,2})-(\\d{1,2})/);\r\n    if (m) return key(+m[1], +m[2], +m[3]);\r\n    m = s.match(/^(\\d{1,2})\\/(\\d{1,2})\\/(\\d{4})/);\r\n    if (m) return key(+m[3], +m[1], +m[2]);\r\n    return null;\r\n  }\r\n\r\n  function parseDays(v) {\r\n    var set = {}, n = 0;\r\n    var arr = Array.isArray(v) ? v : String(v || \"\").split(/[\\s,]+/);\r\n    arr.forEach(function (x) {\r\n      if (typeof x === \"number\" && x >= 0 && x <= 6) { set[x] = 1; n++; return; }\r\n      var k = String(x).toLowerCase().slice(0, 3);\r\n      if (Object.prototype.hasOwnProperty.call(DOW, k)) { set[DOW[k]] = 1; n++; }\r\n    });\r\n    if (!n) [1, 2, 3, 4, 5].forEach(function (d) { set[d] = 1; });\r\n    return set;\r\n  }\r\n\r\n  /* Accepts \"2026-11-26 Thanksgiving\" lines (theme textarea) or [{date, name}] (live JSON). */\r\n  function parseHolidays(src) {\r\n    var out = {};\r\n    var list = Array.isArray(src) ? src : String(src || \"\").split(/\\r?\\n/);\r\n    list.forEach(function (it) {\r\n      var date = null, name = \"\";\r\n      if (it && typeof it === \"object\") {\r\n        date = parseDate(it.date);\r\n        name = it.name || \"\";\r\n      } else {\r\n        var s = String(it || \"\").trim();\r\n        if (!s || s.charAt(0) === \"#\") return;\r\n        date = parseDate(s);\r\n        name = s.replace(/^(\\d{4}-\\d{1,2}-\\d{1,2}|\\d{1,2}\\/\\d{1,2}\\/\\d{4})\\s*[-\u2013:,]?\\s*/, \"\");\r\n      }\r\n      if (date) out[date] = String(name).trim();\r\n    });\r\n    return out;\r\n  }\r\n\r\n  function parseOverride(o) {\r\n    if (!o || typeof o !== \"object\") return null;\r\n    var type = String(o.type || \"none\");\r\n    if (type === \"none\" || !type) return null;\r\n    if ([\"closed_early\", \"closed_today\", \"custom\"].indexOf(type) < 0) return null;\r\n    var date = parseDate(o.date);\r\n    if (!date) return null; /* an override must name its date, so it can never stick past that day */\r\n    return {\r\n      type: type,\r\n      date: date,\r\n      std: parseTime(o.standard_cutoff),\r\n      rush: parseTime(o.rush_cutoff),\r\n      rushGiven: o.rush_cutoff !== undefined && o.rush_cutoff !== null && String(o.rush_cutoff).trim() !== \"\"\r\n    };\r\n  }\r\n\r\n  function buildRules(src) {\r\n    var std = parseTime(src.standard_cutoff);\r\n    var rush = parseTime(src.rush_cutoff);\r\n    if (std !== null && rush !== null && rush <= std) rush = null;\r\n    return {\r\n      std: std,\r\n      rush: rush,\r\n      days: parseDays(src.days),\r\n      hol: parseHolidays(src.holidays),\r\n      ov: parseOverride(src.override)\r\n    };\r\n  }\r\n\r\n  /* Live JSON wins field by field, only where the field is present. */\r\n  function mergeLive(base, live) {\r\n    if (!live || typeof live !== \"object\") return base;\r\n    var out = {};\r\n    [\"standard_cutoff\", \"rush_cutoff\", \"days\", \"holidays\", \"override\"].forEach(function (f) {\r\n      out[f] = Object.prototype.hasOwnProperty.call(live, f) ? live[f] : base[f];\r\n    });\r\n    return out;\r\n  }\r\n\r\n  /* ---------- the rule ---------- */\r\n\r\n  function isProductionDay(k, R) {\r\n    if (!R.days[dowOf(k)]) return false;\r\n    if (Object.prototype.hasOwnProperty.call(R.hol, k)) return false;\r\n    if (R.ov && R.ov.date === k && R.ov.type === \"closed_today\") return false;\r\n    return true;\r\n  }\r\n\r\n  function nextProductionDay(k, R) {\r\n    for (var i = 1; i <= 90; i++) {\r\n      var n = addDays(k, i);\r\n      if (isProductionDay(n, R)) return n;\r\n    }\r\n    return null;\r\n  }\r\n\r\n  function compute(now, R, Z) {\r\n    var z = Z.zoned(now);\r\n    var today = key(z.y, z.mo, z.d);\r\n    var mins = z.h * 60 + z.mi;\r\n    var ov = R.ov && R.ov.date === today ? R.ov : null;\r\n    var next = nextProductionDay(today, R);\r\n\r\n    if (!isProductionDay(today, R)) {\r\n      var why = \"weekend\";\r\n      if (ov && ov.type === \"closed_today\") why = \"closed_today\";\r\n      else if (Object.prototype.hasOwnProperty.call(R.hol, today)) why = \"holiday\";\r\n      return { state: \"CLOSED\", why: why, holiday: R.hol[today] || \"\", today: today, printDate: next };\r\n    }\r\n    if (ov && ov.type === \"closed_early\") {\r\n      return { state: \"CLOSED_EARLY\", today: today, printDate: next };\r\n    }\r\n\r\n    var std = R.std, rush = R.rush;\r\n    if (ov && ov.type === \"custom\") {\r\n      if (ov.std !== null) std = ov.std;\r\n      if (ov.rushGiven) rush = ov.rush;\r\n      if (std !== null && rush !== null && rush <= std) rush = null;\r\n    }\r\n\r\n    if (std !== null && mins < std) {\r\n      return { state: \"BEFORE\", today: today, printDate: today, nextDate: next, cutoff: std, until: Z.epochAt(today, std) };\r\n    }\r\n    if (rush !== null && mins < rush) {\r\n      return { state: \"RUSH\", today: today, printDate: next, cutoff: rush, standardCutoff: std, until: Z.epochAt(today, rush) };\r\n    }\r\n    return { state: \"AFTER\", today: today, printDate: next };\r\n  }\r\n\r\n  function countdown(ms) {\r\n    var t = Math.max(0, Math.ceil(ms / 1000));\r\n    var h = Math.floor(t / 3600), m = Math.floor((t % 3600) / 60), s = t % 60;\r\n    return h > 0 ? h + \"h \" + pad(m) + \"m \" + pad(s) + \"s\" : m + \"m \" + pad(s) + \"s\";\r\n  }\r\n\r\n  /* ---------- live settings (phase 2; empty URL = off) ---------- */\r\n\r\n  function loadLive(url) {\r\n    var ck = \"upPc.live:\" + url;\r\n    try {\r\n      var c = JSON.parse(window.sessionStorage.getItem(ck) || \"null\");\r\n      if (c && Date.now() - c.t < LIVE_CACHE_MS) return Promise.resolve(c.v);\r\n    } catch (e) { /* storage blocked: fetch instead */ }\r\n    var ctl = window.AbortController ? new AbortController() : null;\r\n    var timer = setTimeout(function () { if (ctl) ctl.abort(); }, LIVE_TIMEOUT_MS);\r\n    return fetch(url, {\r\n      credentials: \"omit\", cache: \"no-store\", headers: { Accept: \"application/json\" },\r\n      signal: ctl ? ctl.signal : undefined\r\n    }).then(function (r) {\r\n      if (!r.ok) throw new Error(\"live settings http \" + r.status);\r\n      return r.json();\r\n    }).then(function (v) {\r\n      clearTimeout(timer);\r\n      if (!v || typeof v !== \"object\") throw new Error(\"live settings not an object\");\r\n      try { window.sessionStorage.setItem(ck, JSON.stringify({ t: Date.now(), v: v })); } catch (e) { /* ignore */ }\r\n      return v;\r\n    }, function (e) {\r\n      clearTimeout(timer);\r\n      throw e;\r\n    });\r\n  }\r\n\r\n  /* ---------- test clock ---------- */\r\n\r\n  function testAllowed() {\r\n    var S = window.Shopify;\r\n    if (S && S.designMode) return true;\r\n    return !(S && S.theme && S.theme.role === \"main\");\r\n  }\r\n\r\n  function testOffset(Z) {\r\n    if (!testAllowed()) return 0;\r\n    var m = String(window.location.search).match(/[?&]up_pc_now=([^&]+)/);\r\n    if (!m) return 0;\r\n    var v = decodeURIComponent(m[1]);\r\n    var d = parseDate(v);\r\n    var t = v.match(/T(\\d{1,2}):(\\d{2})(?::(\\d{2}))?/);\r\n    if (!d || !t) return 0;\r\n    var at = Z.epochAt(d, +t[1] * 60 + +t[2]) + (t[3] ? +t[3] * 1000 : 0);\r\n    return at - Date.now();\r\n  }\r\n\r\n  /* ---------- rendering ---------- */\r\n\r\n  function el(tag, cls, text) {\r\n    var n = document.createElement(tag);\r\n    if (cls) n.className = cls;\r\n    if (text !== undefined) n.textContent = text;\r\n    return n;\r\n  }\r\n\r\n  /* Fills a node from a template. {date}/{holiday} become bold white, {rush} the word RUSH,\r\n     {time} a small live countdown (only if the owner puts it in the wording). */\r\n  function fill(node, tpl, vals, rushUrl) {\r\n    node.textContent = \"\";\r\n    var parts = String(tpl || \"\").split(/(\\{(?:time|date|holiday|rush)\\})/);\r\n    var timeNodes = [];\r\n    parts.forEach(function (p) {\r\n      if (p === \"{time}\") {\r\n        var t = el(\"b\", \"up-pc__inl-time\", vals.time || \"\");\r\n        timeNodes.push(t);\r\n        node.appendChild(t);\r\n      } else if (p === \"{date}\" || p === \"{holiday}\") {\r\n        var v = p === \"{date}\" ? vals.date : vals.holiday;\r\n        if (v) node.appendChild(el(\"b\", \"up-pc__em\", v));\r\n      } else if (p === \"{rush}\") {\r\n        if (rushUrl) {\r\n          var a = el(\"a\", \"up-pc__em up-pc__rush\", \"RUSH\");\r\n          a.href = rushUrl;\r\n          node.appendChild(a);\r\n        } else {\r\n          node.appendChild(el(\"b\", \"up-pc__em up-pc__rush\", \"RUSH\"));\r\n        }\r\n      } else if (p) {\r\n        node.appendChild(document.createTextNode(p));\r\n      }\r\n    });\r\n    return timeNodes;\r\n  }\r\n\r\n  /* Which tag, sentence and lead each state uses. */\r\n  function view(st, copy) {\r\n    switch (st.state) {\r\n      case \"BEFORE\": return { tag: copy.tag_open, text: copy.text_open, lead: copy.lead_open, tone: \"open\" };\r\n      case \"RUSH\": return { tag: copy.tag_rush, text: copy.text_rush, lead: copy.lead_rush, tone: \"rush\" };\r\n      case \"CLOSED_EARLY\": return { tag: copy.tag_closed_early, text: copy.text_closed_early, lead: \"\", tone: \"closed\" };\r\n      case \"CLOSED\":\r\n        if (st.why === \"holiday\" && st.holiday) return { tag: copy.tag_closed, text: copy.text_holiday, lead: \"\", tone: \"closed\" };\r\n        if (st.why === \"closed_today\") return { tag: copy.tag_closed, text: copy.text_closed_today, lead: \"\", tone: \"closed\" };\r\n        return { tag: copy.tag_next, text: copy.text_next, lead: \"\", tone: \"next\" };\r\n      default: return { tag: copy.tag_next, text: copy.text_next, lead: \"\", tone: \"next\" };\r\n    }\r\n  }\r\n\r\n  function srText(st) {\r\n    var on = st.printDate ? dateLabel(st.printDate) : \"the next print day\";\r\n    var next = \"Current turnaround: order now and it ships \" + on + \".\";\r\n    switch (st.state) {\r\n      case \"BEFORE\":\r\n        return \"Current turnaround: order before \" + clockLabel(st.cutoff) + \" Eastern and it ships today, \" + dateLabel(st.today) + \".\";\r\n      case \"RUSH\":\r\n        return next + \" Add Rush by \" + clockLabel(st.cutoff) + \" Eastern to ship today.\";\r\n      case \"CLOSED_EARLY\":\r\n        return \"Same-day closed early today. \" + next;\r\n      case \"CLOSED\":\r\n        return (st.why === \"holiday\" && st.holiday ? \"Closed today for \" + st.holiday + \". \" : st.why === \"closed_today\" ? \"Closed today. \" : \"\") + next;\r\n      default:\r\n        return next;\r\n    }\r\n  }\r\n\r\n\r\n  function init(root) {\r\n    if (!root || root.__upPc) return;\r\n    root.__upPc = true;\r\n\r\n    var cfgEl = root.querySelector(\"[data-up-pc-config]\");\r\n    var base = {};\r\n    try { base = JSON.parse(cfgEl ? cfgEl.textContent : \"{}\") || {}; } catch (e) { base = {}; }\r\n\r\n    var copy = {};\r\n    Object.keys(DEFAULT_COPY).forEach(function (k) {\r\n      var v = base.copy && base.copy[k];\r\n      copy[k] = v && String(v).trim() ? String(v) : DEFAULT_COPY[k];\r\n    });\r\n    var urgentMs = Math.max(0, +base.urgent_minutes || 0) * 60000;\r\n    var rushUrl = base.rush_url && /^(\\/|https:\\/\\/)/.test(String(base.rush_url)) ? String(base.rush_url) : \"\";\r\n\r\n    var Z = makeZoner(base.tz || \"America/New_York\");\r\n    var offset = testOffset(Z);\r\n    var R = buildRules(base);\r\n    var source = \"theme\";\r\n\r\n    function q(sel) { return root.querySelector(sel); }\r\n    var tagEls = root.querySelectorAll(\"[data-up-pc-tag]\");\r\n    var textEl = q(\"[data-up-pc-text]\");\r\n    var whenEl = q(\"[data-up-pc-when]\");\r\n    var leadEl = q(\"[data-up-pc-lead]\");\r\n    var clockEls = root.querySelectorAll(\"[data-up-pc-clock]\");\r\n    var mdateEl = q(\"[data-up-pc-mdate]\");\r\n    var shortEl = q(\"[data-up-pc-short]\");\r\n    var moreEl = q(\"[data-up-pc-more]\");\r\n    var moreMsg = q(\"[data-up-pc-more-msg]\");\r\n    var moreCut = q(\"[data-up-pc-more-cut]\");\r\n    var estBtn = q(\"[data-up-pc-est]\");\r\n    var tipEl = q(\"[data-up-pc-tip]\");\r\n    var liveEl = q(\"[data-up-pc-live]\");\r\n\r\n    root.querySelectorAll(\"[data-up-pc-est-label]\").forEach(function (n) { n.textContent = copy.est_label; });\r\n    root.querySelectorAll(\"[data-up-pc-disclaimer]\").forEach(function (n) { n.textContent = copy.disclaimer; });\r\n\r\n    var lastKey = \"\", inlineTimes = [], cur = null, timer = null;\r\n\r\n    function now() { return Date.now() + offset; }\r\n    function each(list, fn) { for (var i = 0; i < list.length; i++) fn(list[i]); }\r\n\r\n    function render() {\r\n      var t = now();\r\n      var st = compute(t, R, Z);\r\n      if (st.until && st.until - t <= 0) st = compute(t + 1000, R, Z);\r\n      cur = st;\r\n      var stateKey = [st.state, st.why || \"\", st.today, st.printDate, st.cutoff || \"\"].join(\"|\");\r\n      var left = st.until ? st.until - t : 0;\r\n      var time = st.until ? countdown(left) : \"\";\r\n\r\n      if (stateKey !== lastKey) {\r\n        lastKey = stateKey;\r\n        var v = view(st, copy);\r\n        var printLabel = st.printDate ? dateLabel(st.printDate) : \"\";\r\n        var vals = { time: time, date: st.state === \"BEFORE\" ? dateLabel(st.today) : printLabel, holiday: st.holiday || \"\" };\r\n\r\n        each(tagEls, function (n) { n.textContent = v.tag; });\r\n        inlineTimes = textEl ? fill(textEl, v.text, vals, rushUrl) : [];\r\n        if (moreMsg) inlineTimes = inlineTimes.concat(fill(moreMsg, v.text, vals, rushUrl));\r\n        if (leadEl) leadEl.textContent = v.lead;\r\n        if (whenEl) whenEl.hidden = !st.until;\r\n        each(clockEls, function (n) { n.hidden = !st.until; });\r\n        /* Phone line: pill + short words (+ the clock when one is running). */\r\n        if (mdateEl) {\r\n          var shortTpl = st.state === \"BEFORE\" ? copy.short_open : st.state === \"RUSH\" ? copy.short_rush : copy.short_next;\r\n          mdateEl.hidden = !shortTpl;\r\n          inlineTimes = inlineTimes.concat(fill(mdateEl, shortTpl, vals, \"\"));\r\n        }\r\n        if (moreCut) {\r\n          moreCut.hidden = !st.until;\r\n          moreCut.textContent = st.until ? (st.state === \"RUSH\" ? \"Rush cut-off \" : \"Same-day cut-off \") + clockLabel(st.cutoff) + \" Eastern\" : \"\";\r\n        }\r\n        root.setAttribute(\"data-state\", st.state.toLowerCase());\r\n        root.setAttribute(\"data-tone\", v.tone);\r\n        if (liveEl) liveEl.textContent = srText(st);\r\n      }\r\n      each(clockEls, function (n) { if (!n.hidden) n.textContent = time; });\r\n      for (var i = 0; i < inlineTimes.length; i++) inlineTimes[i].textContent = time;\r\n      root.classList.toggle(\"is-urgent\", !!st.until && left <= urgentMs);\r\n    }\r\n\r\n    function start() {\r\n      render();\r\n      root.classList.remove(\"is-pending\");\r\n      if (timer) clearInterval(timer);\r\n      timer = setInterval(function () { if (!document.hidden) render(); }, 1000);\r\n    }\r\n\r\n    /* Disclosure: \"Estimate (i)\" pop-up on desktop, tap-to-expand line on phones. */\r\n    function setOpen(btn, panel, open) {\r\n      if (!btn || !panel) return;\r\n      btn.setAttribute(\"aria-expanded\", open ? \"true\" : \"false\");\r\n      panel.hidden = !open;\r\n    }\r\n    /* One tap = one toggle, even where a touch sends two click events. */\r\n    function toggler(btn, panel) {\r\n      var last = 0;\r\n      return function (e) {\r\n        e.stopPropagation();\r\n        var t = Date.now();\r\n        if (t - last < 350) return;\r\n        last = t;\r\n        setOpen(btn, panel, btn.getAttribute(\"aria-expanded\") !== \"true\");\r\n      };\r\n    }\r\n    if (estBtn && tipEl) estBtn.addEventListener(\"click\", toggler(estBtn, tipEl));\r\n    if (shortEl && moreEl) shortEl.addEventListener(\"click\", toggler(shortEl, moreEl));\r\n    function onDocClick(e) {\r\n      if (tipEl && !tipEl.hidden && !tipEl.contains(e.target) && !estBtn.contains(e.target)) setOpen(estBtn, tipEl, false);\r\n    }\r\n    function onKey(e) {\r\n      if (e.key !== \"Escape\") return;\r\n      if (tipEl && !tipEl.hidden) { setOpen(estBtn, tipEl, false); estBtn.focus(); }\r\n      if (moreEl && !moreEl.hidden) { setOpen(shortEl, moreEl, false); shortEl.focus(); }\r\n    }\r\n    document.addEventListener(\"click\", onDocClick);\r\n    document.addEventListener(\"keydown\", onKey);\r\n    function onVisible() { if (!document.hidden) render(); }\r\n    document.addEventListener(\"visibilitychange\", onVisible);\r\n\r\n    root.__upPcStop = function () {\r\n      if (timer) clearInterval(timer);\r\n      document.removeEventListener(\"click\", onDocClick);\r\n      document.removeEventListener(\"keydown\", onKey);\r\n      document.removeEventListener(\"visibilitychange\", onVisible);\r\n    };\r\n    root.__upPcInfo = function () {\r\n      return { version: VERSION, source: source, state: cur, now: new Date(now()).toISOString(), testOffsetMs: offset };\r\n    };\r\n\r\n    start();\r\n\r\n    var liveUrl = String(base.live_url || \"\").trim();\r\n    if (liveUrl && /^(\\/|https:\\/\\/)/.test(liveUrl) && window.fetch) {\r\n      loadLive(liveUrl).then(function (live) {\r\n        R = buildRules(mergeLive(base, live));\r\n        source = \"live\";\r\n        lastKey = \"\";\r\n        render();\r\n      }).catch(function () { /* keep the theme settings */ });\r\n    }\r\n  }\r\n\r\n  function initAll(scope) {\r\n    var roots = (scope || document).querySelectorAll(\"[data-up-pc]\");\r\n    for (var i = 0; i < roots.length; i++) {\r\n      try { init(roots[i]); } catch (e) { roots[i].hidden = true; }\r\n    }\r\n  }\r\n\r\n  window.upPrintClock = {\r\n    version: VERSION,\r\n    _test: {\r\n      parseTime: parseTime, parseDate: parseDate, parseDays: parseDays, parseHolidays: parseHolidays,\r\n      buildRules: buildRules, mergeLive: mergeLive, compute: compute, makeZoner: makeZoner,\r\n      dateLabel: dateLabel, countdown: countdown\r\n    },\r\n    info: function () {\r\n      var r = document.querySelector(\"[data-up-pc]\");\r\n      return r && r.__upPcInfo ? r.__upPcInfo() : null;\r\n    }\r\n  };\r\n\r\n  if (document.readyState === \"loading\") {\r\n    document.addEventListener(\"DOMContentLoaded\", function () { initAll(); });\r\n  } else {\r\n    initAll();\r\n  }\r\n\r\n  /* Theme editor: re-run when the section is re-rendered after a settings change. */\r\n  document.addEventListener(\"shopify:section:unload\", function (e) {\r\n    var r = e.target && e.target.querySelector && e.target.querySelector(\"[data-up-pc]\");\r\n    if (r && r.__upPcStop) r.__upPcStop();\r\n  });\r\n  document.addEventListener(\"shopify:section:load\", function (e) { initAll(e.target); });\r\n})();\r\n"],
  "mappings": "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",
  "names": []
}
