@getmicdrop/venue-calendar 4.0.115 → 4.0.116
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{CartView-4T-7HFyB.js → CartView-C2qWvcu9.js} +312 -312
- package/dist/{CartView-4T-7HFyB.js.map → CartView-C2qWvcu9.js.map} +1 -1
- package/dist/{Checkout-D_Oejycp.js → Checkout-B0yjUtQN.js} +81 -81
- package/dist/{Checkout-D_Oejycp.js.map → Checkout-B0yjUtQN.js.map} +1 -1
- package/dist/{Checkout-BceqI7nY.js → Checkout-CLPqxfgY.js} +229 -227
- package/dist/Checkout-CLPqxfgY.js.map +1 -0
- package/dist/{CheckoutTimer-DNh-ztpC.js → CheckoutTimer-DUaGudBw.js} +5 -5
- package/dist/{CheckoutTimer-DNh-ztpC.js.map → CheckoutTimer-DUaGudBw.js.map} +1 -1
- package/dist/{ClockIcon-T8Cu8VkV.js → ClockIcon-DXTGNR0v.js} +2 -2
- package/dist/{ClockIcon-T8Cu8VkV.js.map → ClockIcon-DXTGNR0v.js.map} +1 -1
- package/dist/{CollectionView-D6dGCwL_.js → CollectionView-Ct_JkveS.js} +5 -5
- package/dist/{CollectionView-D6dGCwL_.js.map → CollectionView-Ct_JkveS.js.map} +1 -1
- package/dist/{Event-D7yUNFIS.js → Event-D22-oJCk.js} +8 -8
- package/dist/{Event-D7yUNFIS.js.map → Event-D22-oJCk.js.map} +1 -1
- package/dist/{EventPage-z1l0rQQX.js → EventPage-C4Jcsmcl.js} +8 -8
- package/dist/{EventPage-z1l0rQQX.js.map → EventPage-C4Jcsmcl.js.map} +1 -1
- package/dist/{Heading-CQSdvzhn.js → Heading-DmDM683H.js} +2 -2
- package/dist/{Heading-CQSdvzhn.js.map → Heading-DmDM683H.js.map} +1 -1
- package/dist/{ScarcityBadge-BNFcEGrF.js → ScarcityBadge-DVABGyGB.js} +2 -2
- package/dist/{ScarcityBadge-BNFcEGrF.js.map → ScarcityBadge-DVABGyGB.js.map} +1 -1
- package/dist/{SeriesPage-a4AjaK0i.js → SeriesPage-DYl7X0jU.js} +5 -5
- package/dist/{SeriesPage-a4AjaK0i.js.map → SeriesPage-DYl7X0jU.js.map} +1 -1
- package/dist/{Spinner-ld3abpnF.js → Spinner-BvsY6lCr.js} +2 -2
- package/dist/{Spinner-ld3abpnF.js.map → Spinner-BvsY6lCr.js.map} +1 -1
- package/dist/{Success-DhenNA6w.js → Success-CAT0qgqe.js} +46 -46
- package/dist/{Success-DhenNA6w.js.map → Success-CAT0qgqe.js.map} +1 -1
- package/dist/{Text-Dqd8oqp_.js → Text-DZgYiCzf.js} +2 -2
- package/dist/{Text-Dqd8oqp_.js.map → Text-DZgYiCzf.js.map} +1 -1
- package/dist/{VenueCalendar-DPP0DBVa.js → VenueCalendar-BtwCvhg2.js} +1364 -1365
- package/dist/VenueCalendar-BtwCvhg2.js.map +1 -0
- package/dist/{ViewTicketsEmbed-DbHEdIcU.js → ViewTicketsEmbed-DFb5-m-P.js} +5 -5
- package/dist/{ViewTicketsEmbed-DbHEdIcU.js.map → ViewTicketsEmbed-DFb5-m-P.js.map} +1 -1
- package/dist/{labels-BcNmRQMq.js → labels-CHkp2z_E.js} +7 -7
- package/dist/{labels-BcNmRQMq.js.map → labels-CHkp2z_E.js.map} +1 -1
- package/dist/{modalManager.svelte-BCfN7QnY.js → modalManager.svelte-BM1iScYq.js} +2 -2
- package/dist/{modalManager.svelte-BCfN7QnY.js.map → modalManager.svelte-BM1iScYq.js.map} +1 -1
- package/dist/{promo-CssskYki.js → promo-Cgqwc60_.js} +2 -2
- package/dist/{promo-CssskYki.js.map → promo-Cgqwc60_.js.map} +1 -1
- package/dist/{showcase-state-options-9cKjzwqK.js → showcase-state-options-Cl1xIaUe.js} +2 -2
- package/dist/{showcase-state-options-9cKjzwqK.js.map → showcase-state-options-Cl1xIaUe.js.map} +1 -1
- package/dist/{transform-BoNzY6UU.js → transform-DpGRIz3T.js} +2 -2
- package/dist/{transform-BoNzY6UU.js.map → transform-DpGRIz3T.js.map} +1 -1
- package/dist/{utm-C38tor1W.js → utm-BPToBF7V.js} +2 -2
- package/dist/{utm-C38tor1W.js.map → utm-BPToBF7V.js.map} +1 -1
- package/dist/venue-calendar.css +1 -1
- package/dist/venue-calendar.es.js +2 -2
- package/dist/venue-calendar.iife.js +35 -35
- package/dist/venue-calendar.iife.js.map +1 -1
- package/dist/venue-calendar.umd.js +31 -31
- package/dist/venue-calendar.umd.js.map +1 -1
- package/package.json +2 -2
- package/dist/Checkout-BceqI7nY.js.map +0 -1
- package/dist/VenueCalendar-DPP0DBVa.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScarcityBadge-BNFcEGrF.js","sources":["../node_modules/@getmicdrop/svelte-components/dist/primitives/Icons/ChevronDownOutline.svelte","../node_modules/@getmicdrop/svelte-components/dist/primitives/Icons/phosphor/AddIcon.svelte","../node_modules/@getmicdrop/svelte-components/dist/primitives/Icons/phosphor/SubtractIcon.svelte","../node_modules/@getmicdrop/svelte-components/dist/primitives/Icons/phosphor/WarningCircleIcon.svelte","../__SKIP_NAVIGATION__","../src/components/ScarcityBadge.svelte"],"sourcesContent":["<script lang=\"ts\">\r\n interface Props {\r\n size?: string;\r\n color?: string;\r\n class?: string;\r\n }\r\n let { size = \"24\", color = \"currentColor\", class: className = \"\" }: Props = $props();\r\n</script>\r\n\r\n<svg\r\n class={className}\r\n aria-hidden=\"true\"\r\n width={size}\r\n height={size}\r\n fill=\"none\"\r\n stroke={color}\r\n stroke-width=\"2\"\r\n viewBox=\"0 0 24 24\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n>\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19.5 8.25l-7.5 7.5-7.5-7.5\" />\r\n</svg>\r\n","<script lang=\"ts\">\r\n /**\r\n * Add — Phosphor icon (canonical Micdrop icon family).\r\n * Outline by default; pass `weight=\"fill\"` for solid, or let a stateful parent\r\n * (NavItem / Tabs / BottomNav / status badge) drive it via icon-weight context.\r\n */\r\n import { useIconWeight, type IconWeight } from './iconWeight.js';\r\n\r\n interface Props {\r\n /** Pixel size (width + height). */\r\n size?: string;\r\n /** Icon color; defaults to `currentColor` (inherits text color). */\r\n color?: string;\r\n /** Extra classes. */\r\n class?: string;\r\n /** `regular` (outline) or `fill` (solid). Overrides ambient state weight. */\r\n weight?: IconWeight;\r\n }\r\n\r\n let { size = '24', color = 'currentColor', class: className = '', weight }: Props = $props();\r\n\r\n const ctx = useIconWeight();\r\n let resolved: IconWeight = $derived(weight ?? ctx?.weight ?? 'regular');\r\n</script>\r\n\r\n<svg\r\n class={className}\r\n aria-hidden=\"true\"\r\n width={size}\r\n height={size}\r\n viewBox=\"0 0 256 256\"\r\n fill=\"currentColor\"\r\n style:color={color}\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n>\r\n {#if resolved === 'fill'}<path d=\"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM184,136H136v48a8,8,0,0,1-16,0V136H72a8,8,0,0,1,0-16h48V72a8,8,0,0,1,16,0v48h48a8,8,0,0,1,0,16Z\"/>{:else}<line x1=\"40\" y1=\"128\" x2=\"216\" y2=\"128\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"16\"/><line x1=\"128\" y1=\"40\" x2=\"128\" y2=\"216\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"16\"/>{/if}\r\n</svg>\r\n","<script lang=\"ts\">\r\n /**\r\n * Subtract — Phosphor icon (canonical Micdrop icon family).\r\n * Outline by default; pass `weight=\"fill\"` for solid, or let a stateful parent\r\n * (NavItem / Tabs / BottomNav / status badge) drive it via icon-weight context.\r\n */\r\n import { useIconWeight, type IconWeight } from './iconWeight.js';\r\n\r\n interface Props {\r\n /** Pixel size (width + height). */\r\n size?: string;\r\n /** Icon color; defaults to `currentColor` (inherits text color). */\r\n color?: string;\r\n /** Extra classes. */\r\n class?: string;\r\n /** `regular` (outline) or `fill` (solid). Overrides ambient state weight. */\r\n weight?: IconWeight;\r\n }\r\n\r\n let { size = '24', color = 'currentColor', class: className = '', weight }: Props = $props();\r\n\r\n const ctx = useIconWeight();\r\n let resolved: IconWeight = $derived(weight ?? ctx?.weight ?? 'regular');\r\n</script>\r\n\r\n<svg\r\n class={className}\r\n aria-hidden=\"true\"\r\n width={size}\r\n height={size}\r\n viewBox=\"0 0 256 256\"\r\n fill=\"currentColor\"\r\n style:color={color}\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n>\r\n {#if resolved === 'fill'}<path d=\"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM184,136H72a8,8,0,0,1,0-16H184a8,8,0,0,1,0,16Z\"/>{:else}<line x1=\"40\" y1=\"128\" x2=\"216\" y2=\"128\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"16\"/>{/if}\r\n</svg>\r\n","<script lang=\"ts\">\r\n /**\r\n * WarningCircle — Phosphor icon (canonical Micdrop icon family).\r\n * Outline by default; pass `weight=\"fill\"` for solid, or let a stateful parent\r\n * (NavItem / Tabs / BottomNav / status badge) drive it via icon-weight context.\r\n */\r\n import { useIconWeight, type IconWeight } from './iconWeight.js';\r\n\r\n interface Props {\r\n /** Pixel size (width + height). */\r\n size?: string;\r\n /** Icon color; defaults to `currentColor` (inherits text color). */\r\n color?: string;\r\n /** Extra classes. */\r\n class?: string;\r\n /** `regular` (outline) or `fill` (solid). Overrides ambient state weight. */\r\n weight?: IconWeight;\r\n }\r\n\r\n let { size = '24', color = 'currentColor', class: className = '', weight }: Props = $props();\r\n\r\n const ctx = useIconWeight();\r\n let resolved: IconWeight = $derived(weight ?? ctx?.weight ?? 'regular');\r\n</script>\r\n\r\n<svg\r\n class={className}\r\n aria-hidden=\"true\"\r\n width={size}\r\n height={size}\r\n viewBox=\"0 0 256 256\"\r\n fill=\"currentColor\"\r\n style:color={color}\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n>\r\n {#if resolved === 'fill'}<path d=\"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm-8,56a8,8,0,0,1,16,0v56a8,8,0,0,1-16,0Zm8,104a12,12,0,1,1,12-12A12,12,0,0,1,128,184Z\"/>{:else}<circle cx=\"128\" cy=\"128\" r=\"96\" fill=\"none\" stroke=\"currentColor\" stroke-miterlimit=\"10\" stroke-width=\"16\"/><line x1=\"128\" y1=\"136\" x2=\"128\" y2=\"80\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"16\"/><circle cx=\"128\" cy=\"172\" r=\"12\"/>{/if}\r\n</svg>\r\n","\n export function goto(url, opts) {\n if (typeof window !== 'undefined' && window.location) {\n if (opts?.replaceState) {\n window.history.replaceState({}, '', url);\n } else {\n window.location.href = url;\n }\n }\n }\n export function beforeNavigate(callback) {\n // No-op for library builds\n }\n export function afterNavigate(callback) {\n // No-op for library builds\n }\n export function disable() {\n // No-op for library builds\n }\n export function enable() {\n // No-op for library builds\n }\n ","<script>\r\n import { Badge } from '@getmicdrop/svelte-components';\r\n import { WarningCircleIcon } from '@getmicdrop/svelte-components/primitives/Icons/phosphor/index.js';\r\n import { computeScarcityLevel } from '$lib/constants/scarcity';\r\n\r\n /**\r\n * ScarcityBadge - Shows urgency indicators based on ticket availability.\r\n *\r\n * Wraps SC <Badge> with venue-calendar's threshold logic. Renders to\r\n * the same primitive every other status badge uses (List, Gallery,\r\n * Calendar embed) so a \"Selling fast\" / \"Sold out\" pill is visually\r\n * identical wherever it appears.\r\n *\r\n * The tier itself comes from the ONE canonical computeScarcityLevel in\r\n * $lib/constants/scarcity — a sliding scale (base low <=20% remaining, urgent\r\n * <=10%, bent toward an absolute floor of 5 and cap of 30). TicketBlock.svelte\r\n * and the browse grid route through the same function, so the badge tier\r\n * matches the urgency copy everywhere. This component only maps the tier to\r\n * copy and decides whether to reveal the exact count (event/ticket) or stay\r\n * vague (browse).\r\n *\r\n * - sold-out tier: \"Sold out\" (red, no flame)\r\n * - urgent tier (event/ticket): \"Only X left\" with exact count (warning + flame)\r\n * - low/urgent tier (browse) or low tier (event/ticket): \"Selling fast\" (warning + flame)\r\n * - plenty tier: No badge\r\n *\r\n * @prop {\"browse\"|\"event\"|\"ticket\"} context - browse=vague only; event/ticket=exact at urgent\r\n * @prop {\"default\"|\"minimal\"} variant - default=SC Badge pill; minimal=transparent text+icon\r\n * @prop {boolean} isFree - Suppress scarcity badges for free events/tickets\r\n */\r\n let {\r\n remaining,\r\n total,\r\n context = 'browse',\r\n variant = 'default',\r\n isFree = false,\r\n labels = {},\r\n } = $props();\r\n\r\n let level = $derived(computeScarcityLevel(remaining, total));\r\n\r\n let badgeInfo = $derived.by(() => {\r\n const soldOutText = labels.statusSoldOut || 'Sold out';\r\n const sellingFastText = labels.statusSellingFast || 'Selling fast';\r\n const onlyNLeftTemplate =\r\n labels.scarcityOnlyNLeft || 'Only {remaining} left';\r\n\r\n if (level === 'sold-out') {\r\n return { type: 'sold-out', text: soldOutText, showFlame: false };\r\n }\r\n if (isFree) return null;\r\n\r\n // Browse surfaces show only the vague badge — never an exact count — so the\r\n // urgent and low tiers collapse to the same \"Selling fast\" pill.\r\n if (context === 'browse') {\r\n if (level === 'urgent' || level === 'low') {\r\n return { type: 'scarcity', text: sellingFastText, showFlame: true };\r\n }\r\n return null;\r\n }\r\n\r\n // Event / ticket surfaces reveal the exact count at the urgent tier (the\r\n // canon already caps that to MAX_EXACT_COUNT), vague at low.\r\n if (level === 'urgent') {\r\n return {\r\n type: 'scarcity',\r\n text: onlyNLeftTemplate.replace('{remaining}', String(remaining)),\r\n showFlame: true,\r\n };\r\n }\r\n if (level === 'low') {\r\n return { type: 'scarcity', text: sellingFastText, showFlame: true };\r\n }\r\n return null;\r\n });\r\n\r\n let scVariant = $derived(\r\n /** @type {'error' | 'warning'} */ (\r\n badgeInfo?.type === 'sold-out' ? 'error' : 'warning'\r\n )\r\n );\r\n let ariaLabel = $derived(\r\n badgeInfo?.type === 'sold-out'\r\n ? labels.statusSoldOut || 'Sold out'\r\n : `${labels.scarcityLowAvailability || 'Low availability'}: ${badgeInfo?.text}`\r\n );\r\n</script>\r\n\r\n{#if badgeInfo}\r\n {#if variant === 'minimal'}\r\n <span\r\n class=\"inline-flex items-center gap-1 type-caption {badgeInfo.type ===\r\n 'sold-out'\r\n ? 'text-status-error-text'\r\n : 'text-accent-warning'}\"\r\n role=\"status\"\r\n aria-live=\"polite\"\r\n aria-label={ariaLabel}\r\n >\r\n {#if badgeInfo.showFlame}\r\n <WarningCircleIcon size=\"16\" />\r\n {/if}\r\n {badgeInfo.text}\r\n </span>\r\n {:else}\r\n <Badge variant={scVariant} size=\"sm\">\r\n {#snippet leftIcon()}\r\n {#if badgeInfo.showFlame}\r\n <WarningCircleIcon size=\"16\" />\r\n {/if}\r\n {/snippet}\r\n {badgeInfo.text}\r\n </Badge>\r\n {/if}\r\n{/if}\r\n"],"names":["size","$","$$props","color","className","svg","root","ctx","useIconWeight","resolved","root_2","path","$$render","consequent","alternate","styles","line","root_1","goto","url","opts","context","variant","isFree","labels","level","computeScarcityLevel","badgeInfo","soldOutText","sellingFastText","onlyNLeftTemplate","scVariant","ariaLabel","span","WarningCircleIcon","$$anchor","text","Badge","consequent_2","text_1","consequent_1","consequent_3"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
|
|
1
|
+
{"version":3,"file":"ScarcityBadge-DVABGyGB.js","sources":["../node_modules/@getmicdrop/svelte-components/dist/primitives/Icons/ChevronDownOutline.svelte","../node_modules/@getmicdrop/svelte-components/dist/primitives/Icons/phosphor/AddIcon.svelte","../node_modules/@getmicdrop/svelte-components/dist/primitives/Icons/phosphor/SubtractIcon.svelte","../node_modules/@getmicdrop/svelte-components/dist/primitives/Icons/phosphor/WarningCircleIcon.svelte","../__SKIP_NAVIGATION__","../src/components/ScarcityBadge.svelte"],"sourcesContent":["<script lang=\"ts\">\r\n interface Props {\r\n size?: string;\r\n color?: string;\r\n class?: string;\r\n }\r\n let { size = \"24\", color = \"currentColor\", class: className = \"\" }: Props = $props();\r\n</script>\r\n\r\n<svg\r\n class={className}\r\n aria-hidden=\"true\"\r\n width={size}\r\n height={size}\r\n fill=\"none\"\r\n stroke={color}\r\n stroke-width=\"2\"\r\n viewBox=\"0 0 24 24\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n>\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19.5 8.25l-7.5 7.5-7.5-7.5\" />\r\n</svg>\r\n","<script lang=\"ts\">\r\n /**\r\n * Add — Phosphor icon (canonical Micdrop icon family).\r\n * Outline by default; pass `weight=\"fill\"` for solid, or let a stateful parent\r\n * (NavItem / Tabs / BottomNav / status badge) drive it via icon-weight context.\r\n */\r\n import { useIconWeight, type IconWeight } from './iconWeight.js';\r\n\r\n interface Props {\r\n /** Pixel size (width + height). */\r\n size?: string;\r\n /** Icon color; defaults to `currentColor` (inherits text color). */\r\n color?: string;\r\n /** Extra classes. */\r\n class?: string;\r\n /** `regular` (outline) or `fill` (solid). Overrides ambient state weight. */\r\n weight?: IconWeight;\r\n }\r\n\r\n let { size = '24', color = 'currentColor', class: className = '', weight }: Props = $props();\r\n\r\n const ctx = useIconWeight();\r\n let resolved: IconWeight = $derived(weight ?? ctx?.weight ?? 'regular');\r\n</script>\r\n\r\n<svg\r\n class={className}\r\n aria-hidden=\"true\"\r\n width={size}\r\n height={size}\r\n viewBox=\"0 0 256 256\"\r\n fill=\"currentColor\"\r\n style:color={color}\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n>\r\n {#if resolved === 'fill'}<path d=\"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM184,136H136v48a8,8,0,0,1-16,0V136H72a8,8,0,0,1,0-16h48V72a8,8,0,0,1,16,0v48h48a8,8,0,0,1,0,16Z\"/>{:else}<line x1=\"40\" y1=\"128\" x2=\"216\" y2=\"128\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"16\"/><line x1=\"128\" y1=\"40\" x2=\"128\" y2=\"216\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"16\"/>{/if}\r\n</svg>\r\n","<script lang=\"ts\">\r\n /**\r\n * Subtract — Phosphor icon (canonical Micdrop icon family).\r\n * Outline by default; pass `weight=\"fill\"` for solid, or let a stateful parent\r\n * (NavItem / Tabs / BottomNav / status badge) drive it via icon-weight context.\r\n */\r\n import { useIconWeight, type IconWeight } from './iconWeight.js';\r\n\r\n interface Props {\r\n /** Pixel size (width + height). */\r\n size?: string;\r\n /** Icon color; defaults to `currentColor` (inherits text color). */\r\n color?: string;\r\n /** Extra classes. */\r\n class?: string;\r\n /** `regular` (outline) or `fill` (solid). Overrides ambient state weight. */\r\n weight?: IconWeight;\r\n }\r\n\r\n let { size = '24', color = 'currentColor', class: className = '', weight }: Props = $props();\r\n\r\n const ctx = useIconWeight();\r\n let resolved: IconWeight = $derived(weight ?? ctx?.weight ?? 'regular');\r\n</script>\r\n\r\n<svg\r\n class={className}\r\n aria-hidden=\"true\"\r\n width={size}\r\n height={size}\r\n viewBox=\"0 0 256 256\"\r\n fill=\"currentColor\"\r\n style:color={color}\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n>\r\n {#if resolved === 'fill'}<path d=\"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM184,136H72a8,8,0,0,1,0-16H184a8,8,0,0,1,0,16Z\"/>{:else}<line x1=\"40\" y1=\"128\" x2=\"216\" y2=\"128\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"16\"/>{/if}\r\n</svg>\r\n","<script lang=\"ts\">\r\n /**\r\n * WarningCircle — Phosphor icon (canonical Micdrop icon family).\r\n * Outline by default; pass `weight=\"fill\"` for solid, or let a stateful parent\r\n * (NavItem / Tabs / BottomNav / status badge) drive it via icon-weight context.\r\n */\r\n import { useIconWeight, type IconWeight } from './iconWeight.js';\r\n\r\n interface Props {\r\n /** Pixel size (width + height). */\r\n size?: string;\r\n /** Icon color; defaults to `currentColor` (inherits text color). */\r\n color?: string;\r\n /** Extra classes. */\r\n class?: string;\r\n /** `regular` (outline) or `fill` (solid). Overrides ambient state weight. */\r\n weight?: IconWeight;\r\n }\r\n\r\n let { size = '24', color = 'currentColor', class: className = '', weight }: Props = $props();\r\n\r\n const ctx = useIconWeight();\r\n let resolved: IconWeight = $derived(weight ?? ctx?.weight ?? 'regular');\r\n</script>\r\n\r\n<svg\r\n class={className}\r\n aria-hidden=\"true\"\r\n width={size}\r\n height={size}\r\n viewBox=\"0 0 256 256\"\r\n fill=\"currentColor\"\r\n style:color={color}\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n>\r\n {#if resolved === 'fill'}<path d=\"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm-8,56a8,8,0,0,1,16,0v56a8,8,0,0,1-16,0Zm8,104a12,12,0,1,1,12-12A12,12,0,0,1,128,184Z\"/>{:else}<circle cx=\"128\" cy=\"128\" r=\"96\" fill=\"none\" stroke=\"currentColor\" stroke-miterlimit=\"10\" stroke-width=\"16\"/><line x1=\"128\" y1=\"136\" x2=\"128\" y2=\"80\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"16\"/><circle cx=\"128\" cy=\"172\" r=\"12\"/>{/if}\r\n</svg>\r\n","\n export function goto(url, opts) {\n if (typeof window !== 'undefined' && window.location) {\n if (opts?.replaceState) {\n window.history.replaceState({}, '', url);\n } else {\n window.location.href = url;\n }\n }\n }\n export function beforeNavigate(callback) {\n // No-op for library builds\n }\n export function afterNavigate(callback) {\n // No-op for library builds\n }\n export function disable() {\n // No-op for library builds\n }\n export function enable() {\n // No-op for library builds\n }\n ","<script>\r\n import { Badge } from '@getmicdrop/svelte-components';\r\n import { WarningCircleIcon } from '@getmicdrop/svelte-components/primitives/Icons/phosphor/index.js';\r\n import { computeScarcityLevel } from '$lib/constants/scarcity';\r\n\r\n /**\r\n * ScarcityBadge - Shows urgency indicators based on ticket availability.\r\n *\r\n * Wraps SC <Badge> with venue-calendar's threshold logic. Renders to\r\n * the same primitive every other status badge uses (List, Gallery,\r\n * Calendar embed) so a \"Selling fast\" / \"Sold out\" pill is visually\r\n * identical wherever it appears.\r\n *\r\n * The tier itself comes from the ONE canonical computeScarcityLevel in\r\n * $lib/constants/scarcity — a sliding scale (base low <=20% remaining, urgent\r\n * <=10%, bent toward an absolute floor of 5 and cap of 30). TicketBlock.svelte\r\n * and the browse grid route through the same function, so the badge tier\r\n * matches the urgency copy everywhere. This component only maps the tier to\r\n * copy and decides whether to reveal the exact count (event/ticket) or stay\r\n * vague (browse).\r\n *\r\n * - sold-out tier: \"Sold out\" (red, no flame)\r\n * - urgent tier (event/ticket): \"Only X left\" with exact count (warning + flame)\r\n * - low/urgent tier (browse) or low tier (event/ticket): \"Selling fast\" (warning + flame)\r\n * - plenty tier: No badge\r\n *\r\n * @prop {\"browse\"|\"event\"|\"ticket\"} context - browse=vague only; event/ticket=exact at urgent\r\n * @prop {\"default\"|\"minimal\"} variant - default=SC Badge pill; minimal=transparent text+icon\r\n * @prop {boolean} isFree - Suppress scarcity badges for free events/tickets\r\n */\r\n let {\r\n remaining,\r\n total,\r\n context = 'browse',\r\n variant = 'default',\r\n isFree = false,\r\n labels = {},\r\n } = $props();\r\n\r\n let level = $derived(computeScarcityLevel(remaining, total));\r\n\r\n let badgeInfo = $derived.by(() => {\r\n const soldOutText = labels.statusSoldOut || 'Sold out';\r\n const sellingFastText = labels.statusSellingFast || 'Selling fast';\r\n const onlyNLeftTemplate =\r\n labels.scarcityOnlyNLeft || 'Only {remaining} left';\r\n\r\n if (level === 'sold-out') {\r\n return { type: 'sold-out', text: soldOutText, showFlame: false };\r\n }\r\n if (isFree) return null;\r\n\r\n // Browse surfaces show only the vague badge — never an exact count — so the\r\n // urgent and low tiers collapse to the same \"Selling fast\" pill.\r\n if (context === 'browse') {\r\n if (level === 'urgent' || level === 'low') {\r\n return { type: 'scarcity', text: sellingFastText, showFlame: true };\r\n }\r\n return null;\r\n }\r\n\r\n // Event / ticket surfaces reveal the exact count at the urgent tier (the\r\n // canon already caps that to MAX_EXACT_COUNT), vague at low.\r\n if (level === 'urgent') {\r\n return {\r\n type: 'scarcity',\r\n text: onlyNLeftTemplate.replace('{remaining}', String(remaining)),\r\n showFlame: true,\r\n };\r\n }\r\n if (level === 'low') {\r\n return { type: 'scarcity', text: sellingFastText, showFlame: true };\r\n }\r\n return null;\r\n });\r\n\r\n let scVariant = $derived(\r\n /** @type {'error' | 'warning'} */ (\r\n badgeInfo?.type === 'sold-out' ? 'error' : 'warning'\r\n )\r\n );\r\n let ariaLabel = $derived(\r\n badgeInfo?.type === 'sold-out'\r\n ? labels.statusSoldOut || 'Sold out'\r\n : `${labels.scarcityLowAvailability || 'Low availability'}: ${badgeInfo?.text}`\r\n );\r\n</script>\r\n\r\n{#if badgeInfo}\r\n {#if variant === 'minimal'}\r\n <span\r\n class=\"inline-flex items-center gap-1 type-caption {badgeInfo.type ===\r\n 'sold-out'\r\n ? 'text-status-error-text'\r\n : 'text-accent-warning'}\"\r\n role=\"status\"\r\n aria-live=\"polite\"\r\n aria-label={ariaLabel}\r\n >\r\n {#if badgeInfo.showFlame}\r\n <WarningCircleIcon size=\"16\" />\r\n {/if}\r\n {badgeInfo.text}\r\n </span>\r\n {:else}\r\n <Badge variant={scVariant} size=\"sm\">\r\n {#snippet leftIcon()}\r\n {#if badgeInfo.showFlame}\r\n <WarningCircleIcon size=\"16\" />\r\n {/if}\r\n {/snippet}\r\n {badgeInfo.text}\r\n </Badge>\r\n {/if}\r\n{/if}\r\n"],"names":["size","$","$$props","color","className","svg","root","ctx","useIconWeight","resolved","root_2","path","$$render","consequent","alternate","styles","line","root_1","goto","url","opts","context","variant","isFree","labels","level","computeScarcityLevel","badgeInfo","soldOutText","sellingFastText","onlyNLeftTemplate","scVariant","ariaLabel","span","WarningCircleIcon","$$anchor","text","Badge","consequent_2","text_1","consequent_1","consequent_3"],"mappings":";;;;iBAAA;AAME,MAAMA,IAAIC,EAAA,KAAAC,GAAA,QAAA,GAAG,IAAI,GAAEC,0BAAQ,cAAc,GAASC,0BAAY,EAAE;MAGjEC,IAAGC,EAAA;;AAAH,IAAAL,EAAA,UAAAI,aACQD,EAAS,CAAA,CAAA,GADjBH,EAAA,cAAAI,YAGQL,EAAI,CAAA,GAHZC,EAAA,cAAAI,aAISL,EAAI,CAAA,GAJbC,EAAA,cAAAI,aAMSF,EAAK,CAAA;AAAA,kBANdE,CAAG;AAFI;;iBCPR;;AAmBE,MAAML,IAAIC,EAAA,KAAAC,GAAA,QAAA,GAAG,IAAI,GAAEC,0BAAQ,cAAc,GAASC,0BAAY,EAAE;AAEhE,QAAMG,IAAMC,EAAa;AACzB,MAAIC,IAAoBR,EAAA,QAAA,MAAAC,EAAA,UAAsBK,GAAK,UAAU,SAAS;MAGvEF,IAAGK,EAAA;;kBAAHL,CAAG;;;UAUwBM,IAAIL,EAAA;kBAAJK,CAAI;AAAA;;;;;AAAzB,MAAAV,EAAA,IAAAQ,CAAQ,MAAK,SAAMG,EAAAC,CAAA,IAAAD,EAAAE,GAAA,EAAA;AAAA;;UAVzBT,CAAG;AAAH,IAAAJ,EAAA,UAAAI,aACQD,EAAS,CAAA,CAAA,GADjBH,EAAA,cAAAI,YAGQL,EAAI,CAAA,GAHZC,EAAA,cAAAI,aAISL,EAAI,CAAA,GAJbe,IAAAd,EAAA,UAAAI,mBAOcF,EAAK,GAAA;AAAA,kBAPnBE,CAAG;AAFI;;iBCvBR;;AAmBE,MAAML,IAAIC,EAAA,KAAAC,GAAA,QAAA,GAAG,IAAI,GAAEC,0BAAQ,cAAc,GAASC,0BAAY,EAAE;AAEhE,QAAMG,IAAMC,EAAa;AACzB,MAAIC,IAAoBR,EAAA,QAAA,MAAAC,EAAA,UAAsBK,GAAK,UAAU,SAAS;MAGvEF,IAAGK,EAAA;;kBAAHL,CAAG;;;UAUwBM,IAAIL,EAAA;kBAAJK,CAAI;AAAA;UAA4JK,IAAIC,EAAA;kBAAJD,CAAI;AAAA;;AAAzL,MAAAf,EAAA,IAAAQ,CAAQ,MAAK,SAAMG,EAAAC,CAAA,IAAAD,EAAAE,GAAA,EAAA;AAAA;;UAVzBT,CAAG;AAAH,IAAAJ,EAAA,UAAAI,aACQD,EAAS,CAAA,CAAA,GADjBH,EAAA,cAAAI,YAGQL,EAAI,CAAA,GAHZC,EAAA,cAAAI,aAISL,EAAI,CAAA,GAJbe,IAAAd,EAAA,UAAAI,mBAOcF,EAAK,GAAA;AAAA,kBAPnBE,CAAG;AAFI;;iBCvBR;;AAmBE,MAAML,IAAIC,EAAA,KAAAC,GAAA,QAAA,GAAG,IAAI,GAAEC,0BAAQ,cAAc,GAASC,0BAAY,EAAE;AAEhE,QAAMG,IAAMC,EAAa;AACzB,MAAIC,IAAoBR,EAAA,QAAA,MAAAC,EAAA,UAAsBK,GAAK,UAAU,SAAS;MAGvEF,IAAGK,EAAA;;kBAAHL,CAAG;;;UAUwBM,IAAIL,EAAA;kBAAJK,CAAI;AAAA;;;;;AAAzB,MAAAV,EAAA,IAAAQ,CAAQ,MAAK,SAAMG,EAAAC,CAAA,IAAAD,EAAAE,GAAA,EAAA;AAAA;;UAVzBT,CAAG;AAAH,IAAAJ,EAAA,UAAAI,aACQD,EAAS,CAAA,CAAA,GADjBH,EAAA,cAAAI,YAGQL,EAAI,CAAA,GAHZC,EAAA,cAAAI,aAISL,EAAI,CAAA,GAJbe,IAAAd,EAAA,UAAAI,mBAOcF,EAAK,GAAA;AAAA,kBAPnBE,CAAG;AAFI;ACtBO,SAASa,EAAKC,GAAKC,GAAM;AAC9B,EAAI,OAAO,SAAW,OAAe,OAAO,aACtCA,GAAM,eACR,OAAO,QAAQ,aAAa,CAAA,GAAI,IAAID,CAAG,IAEvC,OAAO,SAAS,OAAOA;AAG7B;;iBCTR;;AA8BE,MAGEE,IAAOpB,EAAA,KAAAC,GAAA,WAAA,GAAG,QAAQ,GAClBoB,4BAAU,SAAS,GACnBC,2BAAS,EAAK,GACdC,IAAMvB,EAAA,KAAAC,GAAA,UAAA,IAAA,OAAA,CAAA,EAAA,GAGJuB,oBAAiBC,EAAoBxB,EAAA,WAAAA,EAAA,KAAA,CAAA,GAErCyB,oBAA8B;AAChC,UAAMC,IAAcJ,IAAO,iBAAiB,YACtCK,IAAkBL,IAAO,qBAAqB,gBAC9CM,IACJN,IAAO,qBAAqB;AAE9B,WAAEvB,EAAA,IAAEwB,CAAK,MAAK,aACN,EAAG,MAAM,YAAY,MAAMG,GAAa,WAAW,GAAK,IAE5DL,EAAM,IAAS,OAIfF,EAAO,MAAK,WACZpB,EAAA,IAAEwB,CAAK,MAAK,kBAAYA,CAAK,MAAK,QAC5B,EAAG,MAAM,YAAY,MAAMI,GAAiB,WAAW,GAAI,IAE5D,OAKP5B,EAAA,IAAEwB,CAAK,MAAK,WACN;AAAA,MACJ,MAAM;AAAA,MACN,MAAMK,EAAkB,QAAQ,eAAe,OAAM5B,EAAA,SAAA,CAAA;AAAA,MACrD,WAAW;AAAA,QAGbD,EAAA,IAAEwB,CAAK,MAAK,QACN,EAAG,MAAM,YAAY,MAAMI,GAAiB,WAAW,GAAI,IAE5D;AAAA,EACT,CAAC,GAEGE,IAAS9B,EAAA,QAAA,MAETA,EAAA,IAAA0B,CAAS,GAAE,SAAS,aAAa,UAAU,SAAS,GAGpDK,IAAS/B,EAAA,QAAA,MAAAA,EAAA,IACX0B,CAAS,GAAE,SAAS,aAChBH,EAAM,EAAC,iBAAiB,aACrB,GAAAA,EAAM,EAAC,2BAA2B,kBAAkB,KAAAvB,EAAA,IAAK0B,CAAS,GAAE,IAAI,EAAA;;;;;;;cAM9EM,IAAI3B,EAAA,eAAJ2B,CAAI;;;AAUA,cAAAC,EAAiBC,GAAA,EAAA,MAAA,KAAA,CAAA;AAAA;;AADf,cAAAlC,EAAA,IAAA0B,CAAS,EAAC,aAASf,EAAAC,CAAA;AAAA;;;kBATzBoB,CAAI;wBAAJA,GAAI,GAAA,+CAAAhC,EAAA,IACiD0B,CAAS,EAAC,SAC9D,aACI,2BACA,qBAAqB,EAAA,GAJ1B1B,EAAA,cAAAgC,uBAOaD,CAAS,CAAA,GAKpB/B,EAAA,SAAAmC,GAAA,IAAAnC,EAAA,IAAA0B,CAAS,EAAC,QAAI,EAAA,EAAA;AAAA,0BAZhBM,CAAI;AAAA;AAeJ,UAAAI,EAAKF,GAAA;AAAA;2BAAUJ,CAAS;AAAA;;YACb,UAAQ,CAAAI,MAAA;;;;AAEb,kBAAAD,EAAiBC,GAAA,EAAA,MAAA,KAAA,CAAA;AAAA;;AADf,kBAAAlC,EAAA,IAAA0B,CAAS,EAAC,aAASf,EAAA0B,CAAA;AAAA;;;;;;;AAIzB,cAAArC,EAAA,gBAAA,MAAAA,EAAA,SAAAsC,GAAAtC,EAAA,IAAA0B,CAAS,EAAC,IAAI,CAAA;;;;;;AAtBd,UAAAL,EAAO,MAAK,YAASV,EAAA4B,CAAA,IAAA5B,EAAAE,GAAA,EAAA;AAAA;;;;;YADvBa,CAAS,KAAAf,EAAA6B,CAAA;AAAA;;;AAFN;","x_google_ignoreList":[0,1,2,3]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import "svelte/internal/disclose-version";
|
|
2
2
|
import * as e from "svelte/internal/client";
|
|
3
|
-
import { g as f } from "./ScarcityBadge-
|
|
3
|
+
import { g as f } from "./ScarcityBadge-DVABGyGB.js";
|
|
4
4
|
import { r as l } from "./__SKIP_PATHS__-BtJ0tS93.js";
|
|
5
|
-
import { E as d } from "./Event-
|
|
6
|
-
import { a as u } from "./transform-
|
|
7
|
-
import { j as v } from "./VenueCalendar-
|
|
5
|
+
import { E as d } from "./Event-D22-oJCk.js";
|
|
6
|
+
import { a as u } from "./transform-DpGRIz3T.js";
|
|
7
|
+
import { j as v } from "./VenueCalendar-BtwCvhg2.js";
|
|
8
8
|
function w(s, i) {
|
|
9
9
|
e.push(i, !0), v("SeriesPage");
|
|
10
10
|
let r = e.prop(i, "onNavigateToOccurrence", 3, void 0), a = e.derived(() => i.series ? u(i.series) : null);
|
|
@@ -31,4 +31,4 @@ function w(s, i) {
|
|
|
31
31
|
export {
|
|
32
32
|
w as default
|
|
33
33
|
};
|
|
34
|
-
//# sourceMappingURL=SeriesPage-
|
|
34
|
+
//# sourceMappingURL=SeriesPage-DYl7X0jU.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SeriesPage-
|
|
1
|
+
{"version":3,"file":"SeriesPage-DYl7X0jU.js","sources":["../src/components/Views/SeriesPage.svelte"],"sourcesContent":["<!-- @route-escape: widget-intentional. -->\r\n<script lang=\"ts\">\r\n import { goto } from '$app/navigation';\r\n import { resolve } from '$app/paths';\r\n import EventExperience from '$lib/public-calendar-flow/Event.svelte';\r\n import { createLogger } from '@getmicdrop/svelte-components';\r\n import { transformSeriesPageData } from '$lib/public-calendar-flow/transform';\r\n\r\n const _logger = createLogger('SeriesPage');\r\n\r\n // --- Props (matches old SeriesPage external interface) ---\r\n interface Props {\r\n series: any;\r\n onNavigateToOccurrence?: (_id: number, _slug: string, _name?: string) => void;\r\n }\r\n\r\n let { series, onNavigateToOccurrence = undefined }: Props = $props();\r\n\r\n // Transform series data to EventData for EventExperience\r\n let eventData = $derived(series ? transformSeriesPageData(series) : null);\r\n\r\n // Handle occurrence click — delegate to callback or navigate directly\r\n function handleShowtimeClick(occurrence: { id: number; slug: string }): void {\r\n if (onNavigateToOccurrence) {\r\n onNavigateToOccurrence(occurrence.id, occurrence.slug);\r\n } else {\r\n // @url-builder-escape: widget-internal route; SC's url-builders cover /a admin paths, not embedded calendar navigation.\r\n goto(\r\n resolve('/[id]/[slug]', {\r\n id: String(occurrence.id),\r\n slug: String(occurrence.slug),\r\n })\r\n );\r\n }\r\n }\r\n</script>\r\n\r\n{#if eventData}\r\n <EventExperience\r\n event={eventData}\r\n isSeriesMaster\r\n onShowtimeClick={handleShowtimeClick}\r\n />\r\n{/if}\r\n"],"names":["createLogger","onNavigateToOccurrence","$","$$props","eventData","transformSeriesPageData","handleShowtimeClick","occurrence","goto","resolve","EventExperience","$$anchor","$$render","consequent"],"mappings":";;;;;;;iBACA;iBAOkBA,EAAa,YAAY;AAQzC,MAAcC,IAAsBC,EAAA,KAAAC,GAAA,0BAAA,GAAG,MAAS,GAG5CC,IAASF,EAAA,QAAA,MAAAC,EAAA,SAAqBE,EAAuBF,EAAA,MAAA,IAAW,IAAI;AAGxE,WAASG,EAAoBC,GAAgD;AAC3E,IAAIN,EAAsB,IACxBA,EAAsB,EAACM,EAAW,IAAIA,EAAW,IAAI,IAGrDC,EACEC,EAAQ,gBAAc,EACpB,IAAI,OAAOF,EAAW,EAAE,GACxB,MAAM,OAAOA,EAAW,IAAI,EAAA,CAAA,CAAA;AAAA,EAIpC;;;;AAICG,MAAAA,EAAeC,GAAA;AAAA;uBACPP,CAAS;AAAA;;yBAECE;AAAA;;;YAJhBF,CAAS,KAAAQ,EAAAC,CAAA;AAAA;;;AAFN;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "svelte/internal/disclose-version";
|
|
2
2
|
import * as e from "svelte/internal/client";
|
|
3
|
-
import { aJ as r, aK as i } from "./VenueCalendar-
|
|
3
|
+
import { aJ as r, aK as i } from "./VenueCalendar-BtwCvhg2.js";
|
|
4
4
|
var f = e.from_html('<svg aria-hidden="true" viewBox="0 0 100 101" fill="none" xmlns="http://www.w3.org/2000/svg" role="status"><path d="M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z" fill="currentColor"></path><path d="M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z" fill="currentFill"></path></svg> <span class="sr-only"> </span>', 1);
|
|
5
5
|
function w(o, t) {
|
|
6
6
|
e.push(t, !0);
|
|
@@ -14,4 +14,4 @@ function w(o, t) {
|
|
|
14
14
|
export {
|
|
15
15
|
w as S
|
|
16
16
|
};
|
|
17
|
-
//# sourceMappingURL=Spinner-
|
|
17
|
+
//# sourceMappingURL=Spinner-BvsY6lCr.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spinner-
|
|
1
|
+
{"version":3,"file":"Spinner-BvsY6lCr.js","sources":["../node_modules/@getmicdrop/svelte-components/dist/primitives/Spinner/Spinner.svelte"],"sourcesContent":["<script lang=\"ts\">\r\n import {\r\n spinnerColorVariants,\r\n type SpinnerColorVariant,\r\n } from '../../tokens/variants.js';\r\n import { iconSizes, type IconSize } from '../../tokens/sizing.js';\r\n\r\n const defaultLabels = {\r\n loading: 'Loading...',\r\n };\r\n\r\n interface Props {\r\n size?: IconSize;\r\n color?: SpinnerColorVariant;\r\n class?: string;\r\n labels?: Partial<typeof defaultLabels>;\r\n }\r\n\r\n let {\r\n size = 'md',\r\n color = 'blue',\r\n class: className = '',\r\n labels: userLabels = {},\r\n }: Props = $props();\r\n\r\n let labels = $derived({ ...defaultLabels, ...userLabels });\r\n\r\n let sizeClass = $derived(iconSizes[size] || iconSizes.md);\r\n let colorClass = $derived(spinnerColorVariants[color] || spinnerColorVariants.blue);\r\n</script>\r\n\r\n<svg\r\n aria-hidden=\"true\"\r\n class=\"{sizeClass} tone-muted animate-spin {colorClass} {className}\"\r\n viewBox=\"0 0 100 101\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n role=\"status\"\r\n>\r\n <path\r\n d=\"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z\"\r\n fill=\"currentColor\"\r\n />\r\n <path\r\n d=\"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z\"\r\n fill=\"currentFill\"\r\n />\r\n</svg>\r\n<span class=\"sr-only\">{labels.loading}</span>\r\n"],"names":["defaultLabels","size","$","$$props","color","className","userLabels","labels","sizeClass","iconSizes","colorClass","spinnerColorVariants","svg","fragment","span","text"],"mappings":";;;;iBAAA;;AAOE,QAAMA,IAAa,EACjB,SAAS,aAAY;AAUvB,MACEC,IAAIC,EAAA,KAAAC,GAAA,QAAA,GAAG,IAAI,GACXC,0BAAQ,MAAM,GACPC,0BAAY,EAAE,GACbC,IAAUJ,EAAA,KAAAC,GAAA,UAAA,IAAA,OAAA,CAAA,EAAA,GAGhBI,IAAML,EAAA,QAAA,OAAA,EAAA,GAAiBF,GAAa,GAAKM,EAAU,EAAA,EAAA,GAEnDE,oBAAqBC,EAAUR,EAAI,CAAA,KAAKQ,EAAU,EAAE,GACpDC,oBAAsBC,EAAqBP,EAAK,CAAA,KAAKO,EAAqB,IAAI;eAGnFC,IAAGV,EAAA,YAAAW,CAAA,GAiBHC,cAjBAF,GAAG,CAAA,eAiBHE,GAAI,EAAA;UAAJA,CAAI;AAjBJ,IAAAZ,EAAA,UAAAU,GAAG,GAAA,GAAAV,EAAA,IAEMM,CAAS,KAAA,EAAA,4BAAAN,EAAA,IAA2BQ,CAAU,WAAGL,EAAS,KAAA,EAAA,EAAA,GAe7CH,EAAA,SAAAa,GAAAb,EAAA,IAAAK,CAAM,EAAC,OAAO;AAAA;AAnB7B;","x_google_ignoreList":[0]}
|
|
@@ -3,19 +3,19 @@ import { SvelteMap as De } from "svelte/reactivity";
|
|
|
3
3
|
import * as e from "svelte/internal/client";
|
|
4
4
|
import { r as me } from "./__SKIP_PATHS__-BtJ0tS93.js";
|
|
5
5
|
import { onMount as oe, onDestroy as Ae } from "svelte";
|
|
6
|
-
import { a as fe, c as Ne, r as Ue } from "./utm-
|
|
7
|
-
import { u as de,
|
|
8
|
-
import { c as Ye, E as Ke, L as Xe, t as Je } from "./transform-
|
|
9
|
-
import { d as ee, m as Qe, a as $e, b as et, c as tt, g as rt } from "./showcase-state-options-
|
|
10
|
-
import { O as at, C as pe, m as st, c as lt } from "./labels-
|
|
11
|
-
import { C as ye, H as nt } from "./Heading-
|
|
12
|
-
import { T as Q, I as it } from "./Text-
|
|
6
|
+
import { a as fe, c as Ne, r as Ue } from "./utm-BPToBF7V.js";
|
|
7
|
+
import { u as de, V as xe, X as Oe, Y as Le, Z as Me, _ as Ve, l as ne, $ as Re, a0 as je, a1 as J, a2 as He, a3 as Fe, a4 as Be, a5 as Ge, a6 as qe, T as Ze, j as We } from "./VenueCalendar-BtwCvhg2.js";
|
|
8
|
+
import { c as Ye, E as Ke, L as Xe, t as Je } from "./transform-DpGRIz3T.js";
|
|
9
|
+
import { d as ee, m as Qe, a as $e, b as et, c as tt, g as rt } from "./showcase-state-options-Cl1xIaUe.js";
|
|
10
|
+
import { O as at, C as pe, m as st, c as lt } from "./labels-CHkp2z_E.js";
|
|
11
|
+
import { C as ye, H as nt } from "./Heading-DmDM683H.js";
|
|
12
|
+
import { T as Q, I as it } from "./Text-DZgYiCzf.js";
|
|
13
13
|
var ot = e.from_svg('<path d="M224,144v64a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V144a8,8,0,0,1,16,0v56H208V144a8,8,0,0,1,16,0Zm-101.66,5.66a8,8,0,0,0,11.32,0l40-40A8,8,0,0,0,168,96H136V32a8,8,0,0,0-16,0V96H88a8,8,0,0,0-5.66,13.66Z"></path>'), dt = e.from_svg('<line x1="128" y1="144" x2="128" y2="32" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></line><polyline points="216 144 216 208 40 208 40 144" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></polyline><polyline points="168 104 128 144 88 104" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></polyline>', 1), ct = e.from_svg('<svg aria-hidden="true" viewBox="0 0 256 256" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><!></svg>');
|
|
14
14
|
function vt(b, t) {
|
|
15
15
|
e.push(t, !0);
|
|
16
16
|
let a = e.prop(t, "size", 3, "24"), k = e.prop(t, "color", 3, "currentColor"), I = e.prop(t, "class", 3, "");
|
|
17
|
-
const
|
|
18
|
-
let U = e.derived(() => t.weight ??
|
|
17
|
+
const S = de();
|
|
18
|
+
let U = e.derived(() => t.weight ?? S?.weight ?? "regular");
|
|
19
19
|
var r = ct();
|
|
20
20
|
let p;
|
|
21
21
|
var D = e.child(r);
|
|
@@ -39,8 +39,8 @@ var ut = e.from_svg('<path d="M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,
|
|
|
39
39
|
function ft(b, t) {
|
|
40
40
|
e.push(t, !0);
|
|
41
41
|
let a = e.prop(t, "size", 3, "24"), k = e.prop(t, "color", 3, "currentColor"), I = e.prop(t, "class", 3, "");
|
|
42
|
-
const
|
|
43
|
-
let U = e.derived(() => t.weight ??
|
|
42
|
+
const S = de();
|
|
43
|
+
let U = e.derived(() => t.weight ?? S?.weight ?? "regular");
|
|
44
44
|
var r = mt();
|
|
45
45
|
let p;
|
|
46
46
|
var D = e.child(r);
|
|
@@ -64,8 +64,8 @@ var pt = e.from_svg('<path d="M224,48H32a8,8,0,0,0-8,8V192a16,16,0,0,0,16,16H216
|
|
|
64
64
|
function bt(b, t) {
|
|
65
65
|
e.push(t, !0);
|
|
66
66
|
let a = e.prop(t, "size", 3, "24"), k = e.prop(t, "color", 3, "currentColor"), I = e.prop(t, "class", 3, "");
|
|
67
|
-
const
|
|
68
|
-
let U = e.derived(() => t.weight ??
|
|
67
|
+
const S = de();
|
|
68
|
+
let U = e.derived(() => t.weight ?? S?.weight ?? "regular");
|
|
69
69
|
var r = _t();
|
|
70
70
|
let p;
|
|
71
71
|
var D = e.child(r);
|
|
@@ -95,12 +95,12 @@ function he(b) {
|
|
|
95
95
|
var xt = e.from_html('<div class="p-6 md:p-8"><div class="flex justify-center mb-6"><div class="indicator-container svelte-667vry"><div></div> <svg viewBox="0 0 52 52" aria-hidden="true"><circle cx="26" cy="26" r="24" class="checkmark-circle svelte-667vry"></circle><circle cx="26" cy="26" r="24" class="checkmark-fill svelte-667vry"></circle><path d="M14 27l7 7 17-17" class="checkmark-check svelte-667vry"></path></svg></div></div> <div><div class="flex flex-col gap-3 text-center mb-6"><!> <!> <!></div> <div class="mb-6"><!></div> <div class="flex justify-between items-center py-3 border-t border-default"><!></div> <div class="flex items-center justify-center gap-2 p-3 rounded-lg bg-surface-secondary mt-4"><!> <!></div></div></div>');
|
|
96
96
|
function _e(b, t) {
|
|
97
97
|
e.push(t, !0);
|
|
98
|
-
let a = e.prop(t, "labels", 19, () => ({})), k = e.derived(() => t.orderTotals.lines.reduce((
|
|
98
|
+
let a = e.prop(t, "labels", 19, () => ({})), k = e.derived(() => t.orderTotals.lines.reduce((S, U) => S + U.quantity, 0)), I = e.derived(() => t.event.isRegistrationEvent ? a().youreRegistered || "You're registered" : a().youreIn || "You're in");
|
|
99
99
|
ye(b, {
|
|
100
100
|
border: !0,
|
|
101
101
|
padding: !1,
|
|
102
102
|
class: "rounded-xl shadow-lg overflow-hidden bg-surface-primary",
|
|
103
|
-
children: (
|
|
103
|
+
children: (S, U) => {
|
|
104
104
|
var r = xt(), p = e.child(r), D = e.child(p), l = e.child(D);
|
|
105
105
|
let w;
|
|
106
106
|
var i = e.sibling(l, 2);
|
|
@@ -132,8 +132,8 @@ function _e(b, t) {
|
|
|
132
132
|
},
|
|
133
133
|
$$slots: { default: !0 }
|
|
134
134
|
});
|
|
135
|
-
var
|
|
136
|
-
Q(
|
|
135
|
+
var E = e.sibling(z, 2);
|
|
136
|
+
Q(E, {
|
|
137
137
|
size: "sm",
|
|
138
138
|
color: "secondary",
|
|
139
139
|
class: "block",
|
|
@@ -181,7 +181,7 @@ function _e(b, t) {
|
|
|
181
181
|
$$slots: { default: !0 }
|
|
182
182
|
}), e.reset(s), e.reset(T), e.reset(r), e.template_effect(() => {
|
|
183
183
|
w = e.set_class(l, 1, "processing-spinner svelte-667vry", null, w, { "fade-out": t.showCheckmark }), f = e.set_class(i, 0, "checkmark-svg svelte-667vry", null, f, { active: t.showCheckmark }), V = e.set_class(T, 1, "content-section svelte-667vry", null, V, { visible: t.showContent });
|
|
184
|
-
}), e.append(
|
|
184
|
+
}), e.append(S, r);
|
|
185
185
|
},
|
|
186
186
|
$$slots: { default: !0 }
|
|
187
187
|
}), e.pop();
|
|
@@ -192,12 +192,12 @@ const yt = {
|
|
|
192
192
|
yellow: "#fbbc05",
|
|
193
193
|
red: "#ea4335"
|
|
194
194
|
}, ae = yt;
|
|
195
|
-
var wt = e.from_html(" <!>", 1), Ct = e.from_html('<p class="wallet-note caption svelte-4szgdz" role="status"> </p>'), It = e.from_html("<!> <!>", 1), Tt = e.from_html('<div class="dropdown-menu bg-surface-primary border-default svelte-4szgdz"><a rel="external noopener noreferrer" class="dropdown-item text-color-primary hover:bg-surface-secondary svelte-4szgdz"><svg aria-hidden="true" class="shrink-0" width="16" height="16" viewBox="0 0 24 24" fill="none"><path d="M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92a5.06 5.06 0 0 1-2.2 3.32v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.1z"></path><path d="M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z"></path><path d="M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18A10.96 10.96 0 0 0 1 12c0 1.77.42 3.45 1.18 4.93l3.66-2.84z"></path><path d="M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z"></path></svg> </a> <button type="button" class="dropdown-item text-color-primary hover:bg-surface-secondary svelte-4szgdz"><!> </button></div>'), be = e.from_html("<!> ", 1),
|
|
195
|
+
var wt = e.from_html(" <!>", 1), Ct = e.from_html('<p class="wallet-note caption svelte-4szgdz" role="status"> </p>'), It = e.from_html("<!> <!>", 1), Tt = e.from_html('<div class="dropdown-menu bg-surface-primary border-default svelte-4szgdz"><a rel="external noopener noreferrer" class="dropdown-item text-color-primary hover:bg-surface-secondary svelte-4szgdz"><svg aria-hidden="true" class="shrink-0" width="16" height="16" viewBox="0 0 24 24" fill="none"><path d="M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92a5.06 5.06 0 0 1-2.2 3.32v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.1z"></path><path d="M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z"></path><path d="M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18A10.96 10.96 0 0 0 1 12c0 1.77.42 3.45 1.18 4.93l3.66-2.84z"></path><path d="M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z"></path></svg> </a> <button type="button" class="dropdown-item text-color-primary hover:bg-surface-secondary svelte-4szgdz"><!> </button></div>'), be = e.from_html("<!> ", 1), Et = e.from_html('<p class="copy-fallback caption svelte-4szgdz" role="alert">Copy failed — select to copy: <span class="copy-url svelte-4szgdz"> </span></p>'), St = e.from_html('<span class="text-color-muted">·</span> <a class="text-link text-color-muted hover:text-color-secondary svelte-4szgdz"><!> </a>', 1), zt = e.from_html('<div class="rounded-t-xl overflow-hidden bg-surface-tertiary"><!></div> <div class="p-5 space-y-4"><div><!> <div class="flex items-center gap-1.5 mt-1.5"><!> <!></div> <div class="mt-0.5"><!></div></div> <div class="flex flex-col items-center gap-3"><button type="button" class="wallet-badge-btn svelte-4szgdz"><img src="/wallet-badges/apple-wallet.svg" class="wallet-badge-img svelte-4szgdz"/></button> <button type="button" class="wallet-badge-btn svelte-4szgdz"><img src="/wallet-badges/google-wallet-dark.svg" class="wallet-badge-img google-dark svelte-4szgdz"/> <img src="/wallet-badges/google-wallet-light.svg" class="wallet-badge-img google-light svelte-4szgdz"/></button> <!></div> <div class="divider"></div> <div class="calendar-dropdown relative"><!> <!></div> <div class="flex gap-2"><!> <!></div> <!> <div class="flex items-center justify-center gap-4 pt-1"><button type="button" class="text-link text-color-muted hover:text-color-secondary svelte-4szgdz"><!> </button> <!></div></div>', 1), Pt = e.from_html("<div><!></div>");
|
|
196
196
|
function ke(b, t) {
|
|
197
197
|
e.push(t, !0);
|
|
198
198
|
let a = e.prop(t, "labels", 19, () => ({})), k = e.state(!1);
|
|
199
199
|
const I = Ye();
|
|
200
|
-
let
|
|
200
|
+
let S = e.state("");
|
|
201
201
|
function U() {
|
|
202
202
|
e.set(k, !e.get(k));
|
|
203
203
|
}
|
|
@@ -211,11 +211,11 @@ function ke(b, t) {
|
|
|
211
211
|
const x = new Date(t.event.startDateTime), z = t.event.endDateTime ? new Date(t.event.endDateTime) : (
|
|
212
212
|
// @datetime-escape: ICS/calendar-URL instant serialized to UTC — tz-independent
|
|
213
213
|
new Date(x.getTime() + 7200 * 1e3)
|
|
214
|
-
),
|
|
214
|
+
), E = (O) => O.toISOString().replace(/[-:]/g, "").replace(/\.\d{3}/, ""), R = [t.event.venue.name, t.event.venue.address].filter(Boolean).join(", ");
|
|
215
215
|
return `https://calendar.google.com/calendar/render?${new URLSearchParams({
|
|
216
216
|
action: "TEMPLATE",
|
|
217
217
|
text: t.event.title,
|
|
218
|
-
dates: `${
|
|
218
|
+
dates: `${E(x)}/${E(z)}`,
|
|
219
219
|
location: R,
|
|
220
220
|
details: `Event: ${t.eventUrl}
|
|
221
221
|
|
|
@@ -226,7 +226,7 @@ Ticket confirmation #${t.orderId}`
|
|
|
226
226
|
const x = new Date(t.event.startDateTime), z = t.event.endDateTime ? new Date(t.event.endDateTime) : (
|
|
227
227
|
// @datetime-escape: ICS/calendar-URL instant serialized to UTC — tz-independent
|
|
228
228
|
new Date(x.getTime() + 7200 * 1e3)
|
|
229
|
-
),
|
|
229
|
+
), E = (d) => d.toISOString().replace(/[-:]/g, "").replace(/\.\d{3}/, ""), A = `order-${t.orderId}-event-${t.event.id}@micdrop.com`, R = E(/* @__PURE__ */ new Date()), O = [t.event.venue.name, t.event.venue.address].filter(Boolean).join(", "), s = (d) => d ? d.replace(/\\/g, "\\\\").replace(/;/g, "\\;").replace(/,/g, "\\,").replace(/\n/g, "\\n") : "", m = `BEGIN:VCALENDAR
|
|
230
230
|
VERSION:2.0
|
|
231
231
|
PRODID:-//MicDrop//Ticket Confirmation//EN
|
|
232
232
|
CALSCALE:GREGORIAN
|
|
@@ -234,8 +234,8 @@ METHOD:PUBLISH
|
|
|
234
234
|
BEGIN:VEVENT
|
|
235
235
|
UID:${A}
|
|
236
236
|
DTSTAMP:${R}
|
|
237
|
-
DTSTART:${
|
|
238
|
-
DTEND:${
|
|
237
|
+
DTSTART:${E(x)}
|
|
238
|
+
DTEND:${E(z)}
|
|
239
239
|
SUMMARY:${s(t.event.title)}
|
|
240
240
|
LOCATION:${s(O)}
|
|
241
241
|
DESCRIPTION:${s(`Order #${t.orderId}
|
|
@@ -262,7 +262,7 @@ END:VCALENDAR`, o = new Blob([m], { type: "text/calendar;charset=utf-8" }), n =
|
|
|
262
262
|
I.share(t.eventUrl);
|
|
263
263
|
}
|
|
264
264
|
function w() {
|
|
265
|
-
e.set(
|
|
265
|
+
e.set(S, a().walletComingSoon || "Wallet passes are coming soon. Your ticket is confirmed — check your email", !0);
|
|
266
266
|
}
|
|
267
267
|
Ae(I.dispose);
|
|
268
268
|
let i = e.derived(() => (() => {
|
|
@@ -280,7 +280,7 @@ END:VCALENDAR`, o = new Blob([m], { type: "text/calendar;charset=utf-8" }), n =
|
|
|
280
280
|
padding: !1,
|
|
281
281
|
class: "rounded-xl shadow-lg overflow-hidden bg-surface-secondary",
|
|
282
282
|
children: (x, z) => {
|
|
283
|
-
var
|
|
283
|
+
var E = zt(), A = e.first_child(E), R = e.child(A);
|
|
284
284
|
it(R, {
|
|
285
285
|
get src() {
|
|
286
286
|
return t.event.imageUrl;
|
|
@@ -352,10 +352,10 @@ END:VCALENDAR`, o = new Blob([m], { type: "text/calendar;charset=utf-8" }), n =
|
|
|
352
352
|
{
|
|
353
353
|
var X = (u) => {
|
|
354
354
|
var y = Ct(), v = e.child(y, !0);
|
|
355
|
-
e.reset(y), e.template_effect(() => e.set_text(v, e.get(
|
|
355
|
+
e.reset(y), e.template_effect(() => e.set_text(v, e.get(S))), e.append(u, y);
|
|
356
356
|
};
|
|
357
357
|
e.if(W, (u) => {
|
|
358
|
-
e.get(
|
|
358
|
+
e.get(S) && u(X);
|
|
359
359
|
});
|
|
360
360
|
}
|
|
361
361
|
e.reset(P);
|
|
@@ -442,7 +442,7 @@ END:VCALENDAR`, o = new Blob([m], { type: "text/calendar;charset=utf-8" }), n =
|
|
|
442
442
|
var ce = e.sibling(Y, 2);
|
|
443
443
|
{
|
|
444
444
|
var Te = (u) => {
|
|
445
|
-
var y =
|
|
445
|
+
var y = Et(), v = e.sibling(e.child(y)), C = e.child(v, !0);
|
|
446
446
|
e.reset(v), e.reset(y), e.template_effect(() => e.set_text(C, I.copyFailedUrl)), e.append(u, y);
|
|
447
447
|
};
|
|
448
448
|
e.if(ce, (u) => {
|
|
@@ -451,25 +451,25 @@ END:VCALENDAR`, o = new Blob([m], { type: "text/calendar;charset=utf-8" }), n =
|
|
|
451
451
|
}
|
|
452
452
|
var ve = e.sibling(ce, 2), te = e.child(ve), ue = e.child(te);
|
|
453
453
|
je(ue, { size: "16", class: "shrink-0" });
|
|
454
|
-
var
|
|
454
|
+
var Ee = e.sibling(ue);
|
|
455
455
|
e.reset(te);
|
|
456
|
-
var
|
|
456
|
+
var Se = e.sibling(te, 2);
|
|
457
457
|
{
|
|
458
458
|
var ze = (u) => {
|
|
459
|
-
var y =
|
|
459
|
+
var y = St(), v = e.sibling(e.first_child(y), 2), C = e.child(v);
|
|
460
460
|
ft(C, { size: "16", class: "shrink-0" });
|
|
461
461
|
var M = e.sibling(C);
|
|
462
462
|
e.reset(v), e.template_effect(() => {
|
|
463
463
|
e.set_attribute(v, "href", `mailto:${t.event.venue.contactEmail ?? ""}?subject=Help with Order ${t.orderId ?? ""}`), e.set_text(M, ` ${(a().needHelp || "Need help?") ?? ""}`);
|
|
464
464
|
}), e.append(u, y);
|
|
465
465
|
};
|
|
466
|
-
e.if(
|
|
466
|
+
e.if(Se, (u) => {
|
|
467
467
|
t.event.venue.contactEmail && u(ze);
|
|
468
468
|
});
|
|
469
469
|
}
|
|
470
470
|
e.reset(ve), e.reset(j), e.template_effect(() => {
|
|
471
|
-
e.set_attribute(Z, "alt", a().addToAppleWallet || "Add to Apple Wallet"), e.set_attribute(B, "alt", a().saveToGoogleWallet || "Save to Google Wallet"), e.set_attribute(q, "alt", a().saveToGoogleWallet || "Save to Google Wallet"), e.set_text(
|
|
472
|
-
}), e.delegated("click", h, w), e.delegated("click", L, w), e.delegated("click", te, f), e.append(x,
|
|
471
|
+
e.set_attribute(Z, "alt", a().addToAppleWallet || "Add to Apple Wallet"), e.set_attribute(B, "alt", a().saveToGoogleWallet || "Save to Google Wallet"), e.set_attribute(q, "alt", a().saveToGoogleWallet || "Save to Google Wallet"), e.set_text(Ee, ` ${(a().backToEvent || "Back to event") ?? ""}`);
|
|
472
|
+
}), e.delegated("click", h, w), e.delegated("click", L, w), e.delegated("click", te, f), e.append(x, E);
|
|
473
473
|
},
|
|
474
474
|
$$slots: { default: !0 }
|
|
475
475
|
}), e.reset(T), e.template_effect(() => V = e.set_class(T, 1, "actions-wrapper svelte-4szgdz", null, V, { visible: t.showContent })), e.append(b, T), e.pop();
|
|
@@ -479,7 +479,7 @@ var Dt = e.from_html('<div class="w-full min-h-screen bg-surface-primary text-co
|
|
|
479
479
|
function At(b, t) {
|
|
480
480
|
e.push(t, !0);
|
|
481
481
|
const a = rt();
|
|
482
|
-
let k = e.derived(() => ee.current), I = e.prop(t, "data", 3, void 0),
|
|
482
|
+
let k = e.derived(() => ee.current), I = e.prop(t, "data", 3, void 0), S = e.prop(t, "eventUrl", 3, void 0), U = e.prop(t, "labels", 19, () => ({}));
|
|
483
483
|
const r = e.derived(() => st(U()));
|
|
484
484
|
let p = e.derived(() => !I());
|
|
485
485
|
e.user_effect(() => {
|
|
@@ -588,7 +588,7 @@ function At(b, t) {
|
|
|
588
588
|
promoDiscount: 0,
|
|
589
589
|
giftCardAmount: 0
|
|
590
590
|
};
|
|
591
|
-
})()), i = e.derived(() => e.get(p) ? typeof window > "u" ? "#" : `${window.location.origin}/e/${e.get(l).event.id}-${e.get(l).event.slug}` :
|
|
591
|
+
})()), i = e.derived(() => e.get(p) ? typeof window > "u" ? "#" : `${window.location.origin}/e/${e.get(l).event.id}-${e.get(l).event.slug}` : S() || "#"), f = e.state(!1), T = e.state(!1), V = e.state(!1);
|
|
592
592
|
function F() {
|
|
593
593
|
if (e.get(V)) {
|
|
594
594
|
e.set(f, !0), e.set(T, !0);
|
|
@@ -611,7 +611,7 @@ function At(b, t) {
|
|
|
611
611
|
}), oe(() => {
|
|
612
612
|
e.set(V, window.matchMedia("(prefers-reduced-motion: reduce)").matches, !0), F();
|
|
613
613
|
});
|
|
614
|
-
var x = Dt(), z = e.child(x),
|
|
614
|
+
var x = Dt(), z = e.child(x), E = e.child(z), A = e.child(E);
|
|
615
615
|
_e(A, {
|
|
616
616
|
get event() {
|
|
617
617
|
return e.get(l).event;
|
|
@@ -652,8 +652,8 @@ function At(b, t) {
|
|
|
652
652
|
get labels() {
|
|
653
653
|
return e.get(r);
|
|
654
654
|
}
|
|
655
|
-
}), e.reset(R), e.reset(
|
|
656
|
-
var O = e.sibling(
|
|
655
|
+
}), e.reset(R), e.reset(E);
|
|
656
|
+
var O = e.sibling(E, 2), s = e.child(O);
|
|
657
657
|
_e(s, {
|
|
658
658
|
get event() {
|
|
659
659
|
return e.get(l).event;
|
|
@@ -700,7 +700,7 @@ const ie = We("Success");
|
|
|
700
700
|
var Nt = e.from_html('<p class="payment-failed-title svelte-1mm1psu"> </p> <p class="payment-failed-message svelte-1mm1psu"> </p>', 1), Ut = e.from_html('<p class="payment-failed-title svelte-1mm1psu"> </p> <p class="payment-failed-message svelte-1mm1psu"> </p> <a class="payment-failed-retry svelte-1mm1psu"> </a>', 1), Ot = e.from_html('<div class="flex flex-col items-center justify-center py-24 text-center gap-4 payment-failed-container"><!></div>'), Lt = e.from_html('<div class="flex flex-col items-center justify-center py-24 text-center gap-4 error-container svelte-1mm1psu"><p class="svelte-1mm1psu"> </p></div>'), Mt = e.from_html('<div class="flex items-center justify-center py-24 text-center loading-container svelte-1mm1psu"><p> </p></div>');
|
|
701
701
|
function Kt(b, t) {
|
|
702
702
|
e.push(t, !0);
|
|
703
|
-
let a = e.prop(t, "data", 19, () => ({})), k = e.prop(t, "browseUrl", 3, "/"), I = e.prop(t, "eventUrl", 3, void 0),
|
|
703
|
+
let a = e.prop(t, "data", 19, () => ({})), k = e.prop(t, "browseUrl", 3, "/"), I = e.prop(t, "eventUrl", 3, void 0), S = e.prop(t, "widgetId", 3, null), U = e.prop(t, "venueId", 3, null), r = e.prop(t, "labels", 19, () => ({})), p = e.state(null), D = e.state(""), l = e.state(null), w = e.state(!0), i = e.derived(() => String(a()?.redirectStatus || "")), f = e.derived(() => e.get(i) !== "" && e.get(i) !== "succeeded"), T = e.derived(() => e.get(i) === "pending" || e.get(i) === "processing"), V = e.state(!1), F = e.state(!1);
|
|
704
704
|
async function x(s, m) {
|
|
705
705
|
if (!s) return "unconfirmed";
|
|
706
706
|
const o = kt(s);
|
|
@@ -760,7 +760,7 @@ function Kt(b, t) {
|
|
|
760
760
|
}
|
|
761
761
|
{
|
|
762
762
|
const g = s ?? a()?.eventId ?? o?.id ?? null, N = String(n || d || ""), H = "micdrop_purchased_orders", _ = xe(H, []) ?? [], Y = !!N && _.includes(N);
|
|
763
|
-
g != null && !Y && (Be(g,
|
|
763
|
+
g != null && !Y && (Be(g, S(), U() || o?.venueID || o?.venueId || null), Ge({
|
|
764
764
|
eventId: g,
|
|
765
765
|
orderId: N,
|
|
766
766
|
value: typeof h == "number" ? h : null,
|
|
@@ -836,7 +836,7 @@ function Kt(b, t) {
|
|
|
836
836
|
!0
|
|
837
837
|
), Ne(String(s)), Ue("checkout-cartid"), e.set(w, !1);
|
|
838
838
|
});
|
|
839
|
-
var z = e.comment(),
|
|
839
|
+
var z = e.comment(), E = e.first_child(z);
|
|
840
840
|
{
|
|
841
841
|
var A = (s) => {
|
|
842
842
|
var m = Ot(), o = e.child(m);
|
|
@@ -884,7 +884,7 @@ function Kt(b, t) {
|
|
|
884
884
|
}
|
|
885
885
|
});
|
|
886
886
|
};
|
|
887
|
-
e.if(
|
|
887
|
+
e.if(E, (s) => {
|
|
888
888
|
e.get(f) || e.get(F) || e.get(V) ? s(A) : e.get(l) ? s(R, 1) : e.get(w) || !e.get(p) ? s(j, 2) : s(O, -1);
|
|
889
889
|
});
|
|
890
890
|
}
|
|
@@ -893,4 +893,4 @@ function Kt(b, t) {
|
|
|
893
893
|
export {
|
|
894
894
|
Kt as default
|
|
895
895
|
};
|
|
896
|
-
//# sourceMappingURL=Success-
|
|
896
|
+
//# sourceMappingURL=Success-CAT0qgqe.js.map
|