@burdenoff/microfe-eventfullymanaged 2026.825.1 → 2026.828.1

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.
Files changed (34) hide show
  1. package/dist/eventfullymanaged/hooks/index.d.ts +1 -0
  2. package/dist/eventfullymanaged/hooks/index.d.ts.map +1 -1
  3. package/dist/eventfullymanaged/hooks/index.js +3 -0
  4. package/dist/eventfullymanaged/hooks/useEventDelete.d.ts +19 -0
  5. package/dist/eventfullymanaged/hooks/useEventDelete.d.ts.map +1 -0
  6. package/dist/eventfullymanaged/hooks/useEventDelete.js +16 -0
  7. package/dist/eventfullymanaged/hooks/useEventDelete.js.map +1 -0
  8. package/dist/eventfullymanaged/lib/format.d.ts +9 -0
  9. package/dist/eventfullymanaged/lib/format.d.ts.map +1 -1
  10. package/dist/eventfullymanaged/lib/format.js +11 -3
  11. package/dist/eventfullymanaged/lib/format.js.map +1 -1
  12. package/dist/eventfullymanaged/pages/events/EventDetailPage.d.ts.map +1 -1
  13. package/dist/eventfullymanaged/pages/events/EventDetailPage.js +315 -277
  14. package/dist/eventfullymanaged/pages/events/EventDetailPage.js.map +1 -1
  15. package/dist/eventfullymanaged/pages/events/SessionFormPage.d.ts.map +1 -1
  16. package/dist/eventfullymanaged/pages/events/SessionFormPage.js +91 -81
  17. package/dist/eventfullymanaged/pages/events/SessionFormPage.js.map +1 -1
  18. package/dist/eventfullymanaged/pages/modules/EventsPage.d.ts.map +1 -1
  19. package/dist/eventfullymanaged/pages/modules/EventsPage.js +231 -229
  20. package/dist/eventfullymanaged/pages/modules/EventsPage.js.map +1 -1
  21. package/dist/eventfullymanaged/pages/modules/NetworkingPage.d.ts.map +1 -1
  22. package/dist/eventfullymanaged/pages/modules/NetworkingPage.js +120 -102
  23. package/dist/eventfullymanaged/pages/modules/NetworkingPage.js.map +1 -1
  24. package/dist/eventfullymanaged/pages/modules/RegistrationPage.d.ts.map +1 -1
  25. package/dist/eventfullymanaged/pages/modules/RegistrationPage.js +128 -120
  26. package/dist/eventfullymanaged/pages/modules/RegistrationPage.js.map +1 -1
  27. package/dist/eventfullymanaged/pages/registration/PromoCodeFormPage.d.ts.map +1 -1
  28. package/dist/eventfullymanaged/pages/registration/PromoCodeFormPage.js +68 -75
  29. package/dist/eventfullymanaged/pages/registration/PromoCodeFormPage.js.map +1 -1
  30. package/dist/eventfullymanaged/pages/registration/RegisterAttendeePage.js +41 -41
  31. package/dist/eventfullymanaged/pages/registration/RegisterAttendeePage.js.map +1 -1
  32. package/dist/eventfullymanaged/store/eventfullyManagedStore.js +15 -0
  33. package/dist/eventfullymanaged/store/eventfullyManagedStore.js.map +1 -0
  34. package/package.json +1 -1
@@ -1,18 +1,19 @@
1
1
  import { useEventfullyManaged as e } from "../../context/EventfullyManagedContext.js";
2
2
  import { gql as t } from "../../../node_modules/graphql-tag/lib/index.js";
3
3
  import { useQuery as n } from "../../../node_modules/@apollo/client/react/hooks/useQuery.js";
4
- import { notify as r } from "../../lib/toast.js";
5
- import { useDeleteEventMutation as i, useEventsQuery as a, useSponsorsQuery as o, useVenuesQuery as s } from "../../api/eventApi.js";
6
- import { formatDateTime as c } from "../events/eventFormUtils.js";
7
- import { ActionMenu as l } from "../../components/ActionMenu.js";
8
- import { Pagination as u, usePagination as ee } from "../../components/Pagination.js";
9
- import { useMemo as d, useState as f } from "react";
10
- import { jsx as p, jsxs as m } from "react/jsx-runtime";
11
- import { Award as te, CalendarClock as h, CalendarDays as g, CalendarPlus as _, LayoutGrid as ne, MapPin as v, Rows3 as re, Search as ie, Ticket as ae, UserCheck as y, Users as b } from "lucide-react";
12
- import { useI18n as x } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
13
- import { Badge as S, Button as C, EmphasisPanel as w, GlassCard as T, GradientText as oe, IllustratedEmptyState as se, Input as ce, NextSteps as le, PagePurpose as ue, Skeleton as E, Table as de, TableBody as fe, TableCell as D, TableHead as O, TableHeader as pe, TableRow as k, Tabs as me, TabsList as he, TabsTrigger as A } from "@burdenoff/fe-libs/ui";
4
+ import { useEventsQuery as r, useSponsorsQuery as i, useVenuesQuery as a } from "../../api/eventApi.js";
5
+ import { formatDateTime as o } from "../events/eventFormUtils.js";
6
+ import { useEventDelete as s } from "../../hooks/useEventDelete.js";
7
+ import "../../hooks/index.js";
8
+ import { ActionMenu as c } from "../../components/ActionMenu.js";
9
+ import { Pagination as l, usePagination as ee } from "../../components/Pagination.js";
10
+ import { useMemo as u, useState as d } from "react";
11
+ import { jsx as f, jsxs as p } from "react/jsx-runtime";
12
+ import { Award as m, CalendarClock as te, CalendarDays as ne, CalendarPlus as h, LayoutGrid as re, MapPin as g, Rows3 as ie, Search as _, Ticket as ae, UserCheck as v, Users as y } from "lucide-react";
13
+ import { useI18n as oe } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
14
+ import { Badge as b, Button as x, EmphasisPanel as S, GlassCard as C, GradientText as w, IllustratedEmptyState as T, Input as se, NextSteps as ce, PagePurpose as le, Skeleton as E, Table as ue, TableBody as D, TableCell as O, TableHead as k, TableHeader as de, TableRow as A, Tabs as fe, TabsList as pe, TabsTrigger as j } from "@burdenoff/fe-libs/ui";
14
15
  //#region src/eventfullymanaged/pages/modules/EventsPage.tsx
15
- var ge = t`
16
+ var me = t`
16
17
  query EventfullymanagedEventsRegistrations($limit: Int) {
17
18
  registrations: eventfullyManagedRegistrations(limit: $limit, offset: 0) {
18
19
  total
@@ -24,7 +25,7 @@ var ge = t`
24
25
  }
25
26
  }
26
27
  `;
27
- function j(e) {
28
+ function M(e) {
28
29
  let t = e.toLowerCase();
29
30
  return [
30
31
  "active",
@@ -46,29 +47,29 @@ function j(e) {
46
47
  "scheduled"
47
48
  ].includes(t) ? "info" : "secondary";
48
49
  }
49
- function M(e, t) {
50
- let n = e ? c(e) : "", r = t ? c(t) : "";
50
+ function N(e, t) {
51
+ let n = e ? o(e) : "", r = t ? o(t) : "";
51
52
  return n && r ? `${n} — ${r}` : n || r || "No schedule set";
52
53
  }
53
- function N(e, t) {
54
+ function P(e, t) {
54
55
  let n = Date.now(), r = e ? new Date(e).getTime() : NaN, i = t ? new Date(t).getTime() : NaN, a = !Number.isNaN(r), o = !Number.isNaN(i);
55
56
  return !a && !o ? null : a && n < r ? "upcoming" : o && n > i ? "past" : a ? "live" : "upcoming";
56
57
  }
57
- function P({ icon: e, label: t, value: n, loading: r }) {
58
- return /* @__PURE__ */ p(T, {
58
+ function F({ icon: e, label: t, value: n, loading: r }) {
59
+ return /* @__PURE__ */ f(C, {
59
60
  treatment: "plain",
60
61
  className: "border-border-seam p-4",
61
- children: /* @__PURE__ */ m("div", {
62
+ children: /* @__PURE__ */ p("div", {
62
63
  className: "flex items-center gap-3",
63
- children: [/* @__PURE__ */ p("span", {
64
+ children: [/* @__PURE__ */ f("span", {
64
65
  className: "flex h-9 w-9 shrink-0 items-center justify-center rounded-button bg-bg-sunken text-text-secondary",
65
- children: /* @__PURE__ */ p(e, { className: "h-4 w-4" })
66
- }), /* @__PURE__ */ m("div", {
66
+ children: /* @__PURE__ */ f(e, { className: "h-4 w-4" })
67
+ }), /* @__PURE__ */ p("div", {
67
68
  className: "min-w-0",
68
- children: [r ? /* @__PURE__ */ p(E, { className: "h-6 w-12" }) : /* @__PURE__ */ p("p", {
69
+ children: [r ? /* @__PURE__ */ f(E, { className: "h-6 w-12" }) : /* @__PURE__ */ f("p", {
69
70
  className: "truncate text-xl font-bold tabular-nums text-text-primary",
70
71
  children: n
71
- }), /* @__PURE__ */ p("p", {
72
+ }), /* @__PURE__ */ f("p", {
72
73
  className: "truncate text-xs text-text-muted",
73
74
  children: t
74
75
  })]
@@ -76,47 +77,48 @@ function P({ icon: e, label: t, value: n, loading: r }) {
76
77
  })
77
78
  });
78
79
  }
79
- function F({ icon: e, label: t, value: n }) {
80
- return /* @__PURE__ */ m("div", {
80
+ function I({ icon: e, label: t, value: n }) {
81
+ return /* @__PURE__ */ p("div", {
81
82
  className: "flex items-center gap-1.5",
82
83
  children: [
83
- /* @__PURE__ */ p(e, { className: "h-3.5 w-3.5 text-text-muted" }),
84
- /* @__PURE__ */ p("span", {
84
+ /* @__PURE__ */ f(e, { className: "h-3.5 w-3.5 text-text-muted" }),
85
+ /* @__PURE__ */ f("span", {
85
86
  className: "tabular-nums font-medium text-text-primary",
86
87
  children: n
87
88
  }),
88
- /* @__PURE__ */ p("span", {
89
+ /* @__PURE__ */ f("span", {
89
90
  className: "text-text-muted",
90
91
  children: t
91
92
  })
92
93
  ]
93
94
  });
94
95
  }
95
- function I() {
96
- let { t } = x(), c = (e, n) => {
96
+ function L() {
97
+ let { t } = oe(), o = (e, n) => {
97
98
  let r = t(e);
98
99
  return r === e ? n : r;
99
- }, { navigate: I } = e(), [L, _e] = f(""), [R, ve] = f("all"), [z, B] = f("table"), V = ee({ resetKey: L }), { data: H, loading: U, refetch: ye } = a({
100
- search: L,
101
- limit: V.limit,
102
- offset: V.offset
103
- }), [be] = i(), { data: W, loading: xe } = s({
100
+ }, { navigate: L } = e(), [R, he] = d(""), [z, ge] = d("all"), [B, V] = d("table"), H = ee({ resetKey: R }), { data: U, loading: W, refetch: _e } = r({
101
+ search: R,
102
+ limit: H.limit,
103
+ offset: H.offset
104
+ }), { onDeleteEvent: ve } = s(), { data: G, loading: ye } = a({
104
105
  limit: 100,
105
106
  offset: 0
106
- }), { data: G, loading: Se } = o({
107
+ }), { data: K, loading: be } = i({
107
108
  limit: 1,
108
109
  offset: 0
109
- }), { data: K, loading: Ce } = n(ge, { variables: { limit: 500 } }), q = H?.events?.total ?? 0, J = d(() => H?.events?.items ?? [], [H]), we = K?.registrations?.total ?? 0, Y = W?.venues?.total ?? 0, Te = G?.sponsors?.total ?? 0, X = async (e) => {
110
- let t = await be({ variables: { id: e.id } });
111
- if (t.error || !t.data?.deleteEvent) throw r.error("Could not delete event", t.error?.message ?? "The server did not confirm the change."), t.error ?? /* @__PURE__ */ Error("delete-unconfirmed");
112
- r.success("Event deleted", e.name), await ye();
113
- }, Z = d(() => R === "all" ? J : J.filter((e) => N(e.startAt, e.endAt) === R), [J, R]), Q = d(() => {
110
+ }), { data: q, loading: xe } = n(me, { variables: { limit: 500 } }), J = U?.events?.total ?? 0, Y = u(() => U?.events?.items ?? [], [U]), Se = q?.registrations?.total ?? 0, Ce = G?.venues?.total ?? 0, we = K?.sponsors?.total ?? 0, X = async (e) => {
111
+ await ve(e.id, {
112
+ name: e.name,
113
+ onSuccess: () => void _e()
114
+ });
115
+ }, Z = u(() => z === "all" ? Y : Y.filter((e) => P(e.startAt, e.endAt) === z), [Y, z]), Q = u(() => {
114
116
  let e = /* @__PURE__ */ new Map();
115
- for (let t of W?.venues?.items ?? []) e.set(t.id, t.name);
117
+ for (let t of G?.venues?.items ?? []) e.set(t.id, t.name);
116
118
  return e;
117
- }, [W]), $ = d(() => {
119
+ }, [G]), $ = u(() => {
118
120
  let e = /* @__PURE__ */ new Map();
119
- for (let t of K?.registrations?.items ?? []) {
121
+ for (let t of q?.registrations?.items ?? []) {
120
122
  let n = e.get(t.eventId) ?? {
121
123
  registrations: 0,
122
124
  checkedIn: 0
@@ -124,369 +126,369 @@ function I() {
124
126
  n.registrations += 1, t.checkedInAt && (n.checkedIn += 1), e.set(t.eventId, n);
125
127
  }
126
128
  return e;
127
- }, [K]);
128
- return /* @__PURE__ */ m("div", {
129
+ }, [q]);
130
+ return /* @__PURE__ */ p("div", {
129
131
  className: "space-y-6 p-6",
130
132
  children: [
131
- /* @__PURE__ */ p(ue, { children: c("eventfullymanaged.events.purpose", "Events are the heart of the platform — each one is a happening you sell tickets for, register attendees to, and run on the day. Create an event, open it to reveal its agenda, speakers and ticket types, then publish it when it is ready.") }),
132
- /* @__PURE__ */ p(w, { children: /* @__PURE__ */ m("div", {
133
+ /* @__PURE__ */ f(le, { children: o("eventfullymanaged.events.purpose", "Events are the heart of the platform — each one is a happening you sell tickets for, register attendees to, and run on the day. Create an event, open it to reveal its agenda, speakers and ticket types, then publish it when it is ready.") }),
134
+ /* @__PURE__ */ f(S, { children: /* @__PURE__ */ p("div", {
133
135
  className: "flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",
134
- children: [/* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("h1", {
136
+ children: [/* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("h1", {
135
137
  className: "text-2xl font-bold text-text-primary",
136
- children: /* @__PURE__ */ p(oe, { children: c("eventfullymanaged.events.title", "Events") })
137
- }), /* @__PURE__ */ p("p", {
138
+ children: /* @__PURE__ */ f(w, { children: o("eventfullymanaged.events.title", "Events") })
139
+ }), /* @__PURE__ */ f("p", {
138
140
  className: "mt-1 text-sm text-text-secondary",
139
- children: c("eventfullymanaged.events.description", "Create and manage live events from the workspace graph.")
140
- })] }), /* @__PURE__ */ m(C, {
141
+ children: o("eventfullymanaged.events.description", "Create and manage live events from the workspace graph.")
142
+ })] }), /* @__PURE__ */ p(x, {
141
143
  type: "button",
142
- onClick: () => I("/events/create"),
143
- children: [/* @__PURE__ */ p(_, { className: "h-4 w-4" }), c("eventfullymanaged.events.actions.create", "Create Event")]
144
+ onClick: () => L("/events/create"),
145
+ children: [/* @__PURE__ */ f(h, { className: "h-4 w-4" }), o("eventfullymanaged.events.actions.create", "Create Event")]
144
146
  })]
145
147
  }) }),
146
- /* @__PURE__ */ m("div", {
148
+ /* @__PURE__ */ p("div", {
147
149
  className: "grid grid-cols-2 gap-3 sm:grid-cols-4",
148
150
  children: [
149
- /* @__PURE__ */ p(P, {
150
- icon: g,
151
- label: c("eventfullymanaged.events.portfolio.events", "Events"),
152
- value: q.toLocaleString(),
153
- loading: U && q === 0
151
+ /* @__PURE__ */ f(F, {
152
+ icon: ne,
153
+ label: o("eventfullymanaged.events.portfolio.events", "Events"),
154
+ value: J.toLocaleString(),
155
+ loading: W && J === 0
154
156
  }),
155
- /* @__PURE__ */ p(P, {
156
- icon: b,
157
- label: c("eventfullymanaged.events.portfolio.registrations", "Registrations"),
158
- value: we.toLocaleString(),
159
- loading: Ce && !K
157
+ /* @__PURE__ */ f(F, {
158
+ icon: y,
159
+ label: o("eventfullymanaged.events.portfolio.registrations", "Registrations"),
160
+ value: Se.toLocaleString(),
161
+ loading: xe && !q
160
162
  }),
161
- /* @__PURE__ */ p(P, {
162
- icon: v,
163
- label: c("eventfullymanaged.events.portfolio.venues", "Venues"),
164
- value: Y.toLocaleString(),
165
- loading: xe && !W
163
+ /* @__PURE__ */ f(F, {
164
+ icon: g,
165
+ label: o("eventfullymanaged.events.portfolio.venues", "Venues"),
166
+ value: Ce.toLocaleString(),
167
+ loading: ye && !G
166
168
  }),
167
- /* @__PURE__ */ p(P, {
168
- icon: te,
169
- label: c("eventfullymanaged.events.portfolio.sponsors", "Sponsors"),
170
- value: Te.toLocaleString(),
171
- loading: Se && !G
169
+ /* @__PURE__ */ f(F, {
170
+ icon: m,
171
+ label: o("eventfullymanaged.events.portfolio.sponsors", "Sponsors"),
172
+ value: we.toLocaleString(),
173
+ loading: be && !K
172
174
  })
173
175
  ]
174
176
  }),
175
- /* @__PURE__ */ m("div", {
177
+ /* @__PURE__ */ p("div", {
176
178
  className: "flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",
177
179
  children: [
178
- /* @__PURE__ */ m("div", {
180
+ /* @__PURE__ */ p("div", {
179
181
  className: "relative flex-1",
180
- children: [/* @__PURE__ */ p(ie, { className: "pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-muted" }), /* @__PURE__ */ p(ce, {
182
+ children: [/* @__PURE__ */ f(_, { className: "pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-muted" }), /* @__PURE__ */ f(se, {
181
183
  type: "text",
182
- value: L,
183
- onChange: (e) => _e(e.target.value),
184
- placeholder: c("eventfullymanaged.events.searchPlaceholder", "Search events"),
185
- "aria-label": c("eventfullymanaged.events.searchPlaceholder", "Search events"),
184
+ value: R,
185
+ onChange: (e) => he(e.target.value),
186
+ placeholder: o("eventfullymanaged.events.searchPlaceholder", "Search events"),
187
+ "aria-label": o("eventfullymanaged.events.searchPlaceholder", "Search events"),
186
188
  className: "pl-10"
187
189
  })]
188
190
  }),
189
- /* @__PURE__ */ p(me, {
190
- value: R,
191
- onValueChange: (e) => ve(e),
191
+ /* @__PURE__ */ f(fe, {
192
+ value: z,
193
+ onValueChange: (e) => ge(e),
192
194
  className: "w-full sm:w-auto",
193
- children: /* @__PURE__ */ m(he, {
195
+ children: /* @__PURE__ */ p(pe, {
194
196
  className: "w-full overflow-x-auto sm:w-auto",
195
197
  children: [
196
- /* @__PURE__ */ p(A, {
198
+ /* @__PURE__ */ f(j, {
197
199
  value: "all",
198
- children: c("eventfullymanaged.events.filters.all", "All")
200
+ children: o("eventfullymanaged.events.filters.all", "All")
199
201
  }),
200
- /* @__PURE__ */ p(A, {
202
+ /* @__PURE__ */ f(j, {
201
203
  value: "upcoming",
202
- children: c("eventfullymanaged.events.filters.upcoming", "Upcoming")
204
+ children: o("eventfullymanaged.events.filters.upcoming", "Upcoming")
203
205
  }),
204
- /* @__PURE__ */ p(A, {
206
+ /* @__PURE__ */ f(j, {
205
207
  value: "live",
206
- children: c("eventfullymanaged.events.filters.live", "Live")
208
+ children: o("eventfullymanaged.events.filters.live", "Live")
207
209
  }),
208
- /* @__PURE__ */ p(A, {
210
+ /* @__PURE__ */ f(j, {
209
211
  value: "past",
210
- children: c("eventfullymanaged.events.filters.past", "Past")
212
+ children: o("eventfullymanaged.events.filters.past", "Past")
211
213
  })
212
214
  ]
213
215
  })
214
216
  }),
215
- /* @__PURE__ */ m("div", {
217
+ /* @__PURE__ */ p("div", {
216
218
  className: "flex shrink-0 items-center gap-1 self-start rounded-button border border-border-seam p-1 sm:self-auto",
217
- children: [/* @__PURE__ */ p(C, {
219
+ children: [/* @__PURE__ */ f(x, {
218
220
  type: "button",
219
- variant: z === "table" ? "default" : "ghost",
221
+ variant: B === "table" ? "default" : "ghost",
220
222
  size: "sm",
221
- "aria-pressed": z === "table",
222
- "aria-label": c("eventfullymanaged.events.view.table", "Table view"),
223
- onClick: () => B("table"),
224
- children: /* @__PURE__ */ p(re, { className: "h-4 w-4" })
225
- }), /* @__PURE__ */ p(C, {
223
+ "aria-pressed": B === "table",
224
+ "aria-label": o("eventfullymanaged.events.view.table", "Table view"),
225
+ onClick: () => V("table"),
226
+ children: /* @__PURE__ */ f(ie, { className: "h-4 w-4" })
227
+ }), /* @__PURE__ */ f(x, {
226
228
  type: "button",
227
- variant: z === "cards" ? "default" : "ghost",
229
+ variant: B === "cards" ? "default" : "ghost",
228
230
  size: "sm",
229
- "aria-pressed": z === "cards",
230
- "aria-label": c("eventfullymanaged.events.view.cards", "Card view"),
231
- onClick: () => B("cards"),
232
- children: /* @__PURE__ */ p(ne, { className: "h-4 w-4" })
231
+ "aria-pressed": B === "cards",
232
+ "aria-label": o("eventfullymanaged.events.view.cards", "Card view"),
233
+ onClick: () => V("cards"),
234
+ children: /* @__PURE__ */ f(re, { className: "h-4 w-4" })
233
235
  })]
234
236
  })
235
237
  ]
236
238
  }),
237
- U ? /* @__PURE__ */ m("div", {
239
+ W ? /* @__PURE__ */ p("div", {
238
240
  className: "space-y-3",
239
241
  children: [
240
- /* @__PURE__ */ p(E, { className: "h-28 w-full rounded-card" }),
241
- /* @__PURE__ */ p(E, { className: "h-28 w-full rounded-card" }),
242
- /* @__PURE__ */ p(E, { className: "h-28 w-full rounded-card" })
242
+ /* @__PURE__ */ f(E, { className: "h-28 w-full rounded-card" }),
243
+ /* @__PURE__ */ f(E, { className: "h-28 w-full rounded-card" }),
244
+ /* @__PURE__ */ f(E, { className: "h-28 w-full rounded-card" })
243
245
  ]
244
- }) : J.length === 0 ? /* @__PURE__ */ p(T, {
246
+ }) : Y.length === 0 ? /* @__PURE__ */ f(C, {
245
247
  treatment: "plain",
246
248
  className: "border-border-seam",
247
- children: /* @__PURE__ */ p(se, {
248
- illustration: L ? "empty-search" : "empty-data",
249
- title: L ? c("eventfullymanaged.events.list.emptySearch", "No events match your search.") : c("eventfullymanaged.events.list.empty", "No events yet."),
250
- description: L ? c("eventfullymanaged.events.list.emptySearchHint", "Try a different name.") : c("eventfullymanaged.events.list.emptyHint", "Create your first event to get started."),
251
- action: L ? void 0 : /* @__PURE__ */ m(C, {
249
+ children: /* @__PURE__ */ f(T, {
250
+ illustration: R ? "empty-search" : "empty-data",
251
+ title: R ? o("eventfullymanaged.events.list.emptySearch", "No events match your search.") : o("eventfullymanaged.events.list.empty", "No events yet."),
252
+ description: R ? o("eventfullymanaged.events.list.emptySearchHint", "Try a different name.") : o("eventfullymanaged.events.list.emptyHint", "Create your first event to get started."),
253
+ action: R ? void 0 : /* @__PURE__ */ p(x, {
252
254
  type: "button",
253
- onClick: () => I("/events/create"),
254
- children: [/* @__PURE__ */ p(_, { className: "h-4 w-4" }), c("eventfullymanaged.events.actions.create", "Create Event")]
255
+ onClick: () => L("/events/create"),
256
+ children: [/* @__PURE__ */ f(h, { className: "h-4 w-4" }), o("eventfullymanaged.events.actions.create", "Create Event")]
255
257
  })
256
258
  })
257
- }) : Z.length === 0 ? /* @__PURE__ */ m("div", {
259
+ }) : Z.length === 0 ? /* @__PURE__ */ p("div", {
258
260
  className: "space-y-3",
259
- children: [/* @__PURE__ */ p(T, {
261
+ children: [/* @__PURE__ */ f(C, {
260
262
  treatment: "plain",
261
263
  className: "border-border-seam",
262
- children: /* @__PURE__ */ p("p", {
264
+ children: /* @__PURE__ */ f("p", {
263
265
  className: "px-2 py-8 text-center text-sm text-text-secondary",
264
- children: c("eventfullymanaged.events.filters.empty", `No ${R} events on this page. Switch tabs or move to another page.`)
266
+ children: o("eventfullymanaged.events.filters.empty", `No ${z} events on this page. Switch tabs or move to another page.`)
265
267
  })
266
- }), /* @__PURE__ */ p(u, {
267
- offset: V.offset,
268
- limit: V.limit,
269
- loadedCount: J.length,
270
- total: q,
271
- onPrev: V.prevPage,
272
- onNext: V.nextPage,
268
+ }), /* @__PURE__ */ f(l, {
269
+ offset: H.offset,
270
+ limit: H.limit,
271
+ loadedCount: Y.length,
272
+ total: J,
273
+ onPrev: H.prevPage,
274
+ onNext: H.nextPage,
273
275
  itemLabel: "events",
274
- loading: U
276
+ loading: W
275
277
  })]
276
- }) : z === "table" ? /* @__PURE__ */ m("div", {
278
+ }) : B === "table" ? /* @__PURE__ */ p("div", {
277
279
  className: "space-y-3",
278
- children: [/* @__PURE__ */ p("div", {
280
+ children: [/* @__PURE__ */ f("div", {
279
281
  className: "overflow-hidden rounded-card border border-border-seam",
280
- children: /* @__PURE__ */ m(de, { children: [/* @__PURE__ */ p(pe, { children: /* @__PURE__ */ m(k, { children: [
281
- /* @__PURE__ */ p(O, { children: c("eventfullymanaged.events.table.name", "Event") }),
282
- /* @__PURE__ */ p(O, { children: c("eventfullymanaged.events.table.date", "Date") }),
283
- /* @__PURE__ */ p(O, { children: c("eventfullymanaged.events.table.venue", "Venue") }),
284
- /* @__PURE__ */ p(O, { children: c("eventfullymanaged.events.table.status", "Status") }),
285
- /* @__PURE__ */ p(O, {
282
+ children: /* @__PURE__ */ p(ue, { children: [/* @__PURE__ */ f(de, { children: /* @__PURE__ */ p(A, { children: [
283
+ /* @__PURE__ */ f(k, { children: o("eventfullymanaged.events.table.name", "Event") }),
284
+ /* @__PURE__ */ f(k, { children: o("eventfullymanaged.events.table.date", "Date") }),
285
+ /* @__PURE__ */ f(k, { children: o("eventfullymanaged.events.table.venue", "Venue") }),
286
+ /* @__PURE__ */ f(k, { children: o("eventfullymanaged.events.table.status", "Status") }),
287
+ /* @__PURE__ */ f(k, {
286
288
  className: "text-right",
287
- children: c("eventfullymanaged.events.table.attendees", "Attendees")
289
+ children: o("eventfullymanaged.events.table.attendees", "Attendees")
288
290
  }),
289
- /* @__PURE__ */ p(O, {
291
+ /* @__PURE__ */ f(k, {
290
292
  className: "w-10",
291
- "aria-label": c("eventfullymanaged.events.table.actions", "Actions")
293
+ "aria-label": o("eventfullymanaged.events.table.actions", "Actions")
292
294
  })
293
- ] }) }), /* @__PURE__ */ p(fe, { children: Z.map((e) => {
294
- let t = e.metadata ?? {}, n = typeof t.venueId == "string" ? t.venueId : "", r = n ? Q.get(n) : void 0, i = $.get(e.id), a = i?.registrations ?? 0, o = a > 0 ? Math.round((i?.checkedIn ?? 0) / a * 100) : 0;
295
- return /* @__PURE__ */ m(k, {
295
+ ] }) }), /* @__PURE__ */ f(D, { children: Z.map((e) => {
296
+ let t = e.metadata ?? {}, n = typeof t.venueId == "string" ? t.venueId : "", r = n ? Q.get(n) : void 0, i = $.get(e.id), a = i?.registrations ?? 0, s = a > 0 ? Math.round((i?.checkedIn ?? 0) / a * 100) : 0;
297
+ return /* @__PURE__ */ p(A, {
296
298
  className: "cursor-pointer",
297
299
  tabIndex: 0,
298
300
  "aria-label": e.name,
299
- onClick: () => I(`/events/${e.id}`),
301
+ onClick: () => L(`/events/${e.id}`),
300
302
  onKeyDown: (t) => {
301
- (t.key === "Enter" || t.key === " ") && (t.preventDefault(), I(`/events/${e.id}`));
303
+ (t.key === "Enter" || t.key === " ") && (t.preventDefault(), L(`/events/${e.id}`));
302
304
  },
303
305
  children: [
304
- /* @__PURE__ */ p(D, {
306
+ /* @__PURE__ */ f(O, {
305
307
  className: "max-w-[18rem]",
306
- children: /* @__PURE__ */ m("div", {
308
+ children: /* @__PURE__ */ p("div", {
307
309
  className: "flex flex-wrap items-center gap-2",
308
- children: [/* @__PURE__ */ p("span", {
310
+ children: [/* @__PURE__ */ f("span", {
309
311
  className: "truncate font-medium text-text-primary",
310
312
  children: e.name
311
- }), e.type ? /* @__PURE__ */ p(S, {
313
+ }), e.type ? /* @__PURE__ */ f(b, {
312
314
  variant: "secondary",
313
315
  className: "shrink-0 capitalize",
314
316
  children: e.type.toLowerCase().replace(/_/g, " ")
315
317
  }) : null]
316
318
  })
317
319
  }),
318
- /* @__PURE__ */ p(D, {
320
+ /* @__PURE__ */ f(O, {
319
321
  className: "whitespace-nowrap text-text-secondary",
320
- children: M(e.startAt, e.endAt)
322
+ children: N(e.startAt, e.endAt)
321
323
  }),
322
- /* @__PURE__ */ p(D, {
324
+ /* @__PURE__ */ f(O, {
323
325
  className: "text-text-secondary",
324
- children: r ?? c("eventfullymanaged.events.card.noVenue", "No venue")
326
+ children: r ?? o("eventfullymanaged.events.card.noVenue", "No venue")
325
327
  }),
326
- /* @__PURE__ */ p(D, { children: e.status ? /* @__PURE__ */ p(S, {
327
- variant: j(e.status),
328
+ /* @__PURE__ */ f(O, { children: e.status ? /* @__PURE__ */ f(b, {
329
+ variant: M(e.status),
328
330
  className: "uppercase",
329
331
  children: e.status
330
332
  }) : "—" }),
331
- /* @__PURE__ */ m(D, {
333
+ /* @__PURE__ */ p(O, {
332
334
  className: "whitespace-nowrap text-right tabular-nums text-text-primary",
333
- children: [a.toLocaleString(), /* @__PURE__ */ m("span", {
335
+ children: [a.toLocaleString(), /* @__PURE__ */ p("span", {
334
336
  className: "ml-1 text-xs text-text-muted",
335
337
  children: [
336
338
  "(",
337
- o,
339
+ s,
338
340
  "%)"
339
341
  ]
340
342
  })]
341
343
  }),
342
- /* @__PURE__ */ p(D, {
344
+ /* @__PURE__ */ f(O, {
343
345
  onClick: (e) => e.stopPropagation(),
344
346
  onKeyDown: (e) => e.stopPropagation(),
345
- children: /* @__PURE__ */ p(l, {
347
+ children: /* @__PURE__ */ f(c, {
346
348
  ariaLabel: `Event actions for ${e.name}`,
347
349
  entityName: e.name,
348
350
  deleteLabel: "Delete event",
349
- onView: () => I(`/events/${e.id}`),
350
- onEdit: () => I(`/events/${e.id}/edit`),
351
+ onView: () => L(`/events/${e.id}`),
352
+ onEdit: () => L(`/events/${e.id}/edit`),
351
353
  onDelete: () => X(e)
352
354
  })
353
355
  })
354
356
  ]
355
357
  }, e.id);
356
358
  }) })] })
357
- }), /* @__PURE__ */ p(u, {
358
- offset: V.offset,
359
- limit: V.limit,
360
- loadedCount: J.length,
361
- total: q,
362
- onPrev: V.prevPage,
363
- onNext: V.nextPage,
359
+ }), /* @__PURE__ */ f(l, {
360
+ offset: H.offset,
361
+ limit: H.limit,
362
+ loadedCount: Y.length,
363
+ total: J,
364
+ onPrev: H.prevPage,
365
+ onNext: H.nextPage,
364
366
  itemLabel: "events",
365
- loading: U
367
+ loading: W
366
368
  })]
367
- }) : /* @__PURE__ */ m("div", {
369
+ }) : /* @__PURE__ */ p("div", {
368
370
  className: "space-y-3",
369
371
  children: [Z.map((e) => {
370
- let t = e.metadata ?? {}, n = typeof t.venueId == "string" ? t.venueId : "", r = n ? Q.get(n) : void 0, i = $.get(e.id), a = i?.registrations ?? 0, o = a > 0 ? Math.round((i?.checkedIn ?? 0) / a * 100) : 0;
371
- return /* @__PURE__ */ m(T, {
372
+ let t = e.metadata ?? {}, n = typeof t.venueId == "string" ? t.venueId : "", r = n ? Q.get(n) : void 0, i = $.get(e.id), a = i?.registrations ?? 0, s = a > 0 ? Math.round((i?.checkedIn ?? 0) / a * 100) : 0;
373
+ return /* @__PURE__ */ p(C, {
372
374
  treatment: "plain",
373
375
  role: "button",
374
376
  tabIndex: 0,
375
377
  "aria-label": e.name,
376
378
  className: "group relative cursor-pointer overflow-hidden border-border-seam p-0 outline-none transition-[box-shadow,border-color] duration-200 hover:border-border-strong hover:shadow-elevation-1 focus-visible:ring-1 focus-visible:ring-[var(--color-focus-ring)]",
377
- onClick: () => I(`/events/${e.id}`),
379
+ onClick: () => L(`/events/${e.id}`),
378
380
  onKeyDown: (t) => {
379
- (t.key === "Enter" || t.key === " ") && (t.preventDefault(), I(`/events/${e.id}`));
381
+ (t.key === "Enter" || t.key === " ") && (t.preventDefault(), L(`/events/${e.id}`));
380
382
  },
381
- children: [/* @__PURE__ */ p("span", {
383
+ children: [/* @__PURE__ */ f("span", {
382
384
  "aria-hidden": "true",
383
385
  className: "absolute inset-y-0 left-0 w-1.5 bg-gradient-to-b from-[var(--color-chart-1)] to-[var(--color-chart-2)]"
384
- }), /* @__PURE__ */ m("div", {
386
+ }), /* @__PURE__ */ p("div", {
385
387
  className: "flex flex-col gap-3 py-4 pl-5 pr-4 sm:flex-row sm:items-center sm:justify-between",
386
- children: [/* @__PURE__ */ m("div", {
388
+ children: [/* @__PURE__ */ p("div", {
387
389
  className: "min-w-0 space-y-2",
388
390
  children: [
389
- /* @__PURE__ */ m("div", {
391
+ /* @__PURE__ */ p("div", {
390
392
  className: "flex flex-wrap items-center gap-2",
391
393
  children: [
392
- /* @__PURE__ */ p("p", {
394
+ /* @__PURE__ */ f("p", {
393
395
  className: "truncate text-lg font-semibold text-text-primary",
394
396
  children: e.name
395
397
  }),
396
- e.status ? /* @__PURE__ */ p(S, {
397
- variant: j(e.status),
398
+ e.status ? /* @__PURE__ */ f(b, {
399
+ variant: M(e.status),
398
400
  className: "uppercase",
399
401
  children: e.status
400
402
  }) : null,
401
- e.type ? /* @__PURE__ */ p(S, {
403
+ e.type ? /* @__PURE__ */ f(b, {
402
404
  variant: "secondary",
403
405
  className: "capitalize",
404
406
  children: e.type.toLowerCase().replace(/_/g, " ")
405
407
  }) : null
406
408
  ]
407
409
  }),
408
- /* @__PURE__ */ m("div", {
410
+ /* @__PURE__ */ p("div", {
409
411
  className: "flex flex-wrap items-center gap-x-4 gap-y-1 text-sm text-text-secondary",
410
- children: [/* @__PURE__ */ m("span", {
412
+ children: [/* @__PURE__ */ p("span", {
411
413
  className: "flex items-center gap-1.5",
412
- children: [/* @__PURE__ */ p(h, { className: "h-4 w-4 shrink-0 text-text-muted" }), M(e.startAt, e.endAt)]
413
- }), /* @__PURE__ */ m("span", {
414
+ children: [/* @__PURE__ */ f(te, { className: "h-4 w-4 shrink-0 text-text-muted" }), N(e.startAt, e.endAt)]
415
+ }), /* @__PURE__ */ p("span", {
414
416
  className: "flex items-center gap-1.5",
415
- children: [/* @__PURE__ */ p(v, { className: "h-4 w-4 shrink-0 text-text-muted" }), r ?? c("eventfullymanaged.events.card.noVenue", "No venue")]
417
+ children: [/* @__PURE__ */ f(g, { className: "h-4 w-4 shrink-0 text-text-muted" }), r ?? o("eventfullymanaged.events.card.noVenue", "No venue")]
416
418
  })]
417
419
  }),
418
- /* @__PURE__ */ m("div", {
420
+ /* @__PURE__ */ p("div", {
419
421
  className: "flex flex-wrap items-center gap-x-4 gap-y-1 text-xs",
420
422
  children: [
421
- /* @__PURE__ */ p(F, {
422
- icon: y,
423
- label: c("eventfullymanaged.events.card.registered", "registered"),
423
+ /* @__PURE__ */ f(I, {
424
+ icon: v,
425
+ label: o("eventfullymanaged.events.card.registered", "registered"),
424
426
  value: a.toLocaleString()
425
427
  }),
426
- /* @__PURE__ */ p(F, {
427
- icon: y,
428
- label: c("eventfullymanaged.events.card.checkedIn", "checked in"),
429
- value: `${o}%`
428
+ /* @__PURE__ */ f(I, {
429
+ icon: v,
430
+ label: o("eventfullymanaged.events.card.checkedIn", "checked in"),
431
+ value: `${s}%`
430
432
  }),
431
- /* @__PURE__ */ p(F, {
432
- icon: b,
433
- label: c("eventfullymanaged.events.card.capacity", "capacity"),
433
+ /* @__PURE__ */ f(I, {
434
+ icon: y,
435
+ label: o("eventfullymanaged.events.card.capacity", "capacity"),
434
436
  value: e.capacity == null ? "—" : e.capacity.toLocaleString()
435
437
  })
436
438
  ]
437
439
  })
438
440
  ]
439
- }), /* @__PURE__ */ p("div", {
441
+ }), /* @__PURE__ */ f("div", {
440
442
  className: "flex shrink-0 items-center gap-2 self-start sm:self-center",
441
443
  onClick: (e) => e.stopPropagation(),
442
444
  onKeyDown: (e) => e.stopPropagation(),
443
445
  role: "presentation",
444
- children: /* @__PURE__ */ p(l, {
446
+ children: /* @__PURE__ */ f(c, {
445
447
  ariaLabel: `Event actions for ${e.name}`,
446
448
  entityName: e.name,
447
449
  deleteLabel: "Delete event",
448
- onView: () => I(`/events/${e.id}`),
449
- onEdit: () => I(`/events/${e.id}/edit`),
450
+ onView: () => L(`/events/${e.id}`),
451
+ onEdit: () => L(`/events/${e.id}/edit`),
450
452
  onDelete: () => X(e)
451
453
  })
452
454
  })]
453
455
  })]
454
456
  }, e.id);
455
- }), /* @__PURE__ */ p(u, {
456
- offset: V.offset,
457
- limit: V.limit,
458
- loadedCount: J.length,
459
- total: q,
460
- onPrev: V.prevPage,
461
- onNext: V.nextPage,
457
+ }), /* @__PURE__ */ f(l, {
458
+ offset: H.offset,
459
+ limit: H.limit,
460
+ loadedCount: Y.length,
461
+ total: J,
462
+ onPrev: H.prevPage,
463
+ onNext: H.nextPage,
462
464
  itemLabel: "events",
463
- loading: U
465
+ loading: W
464
466
  })]
465
467
  }),
466
- /* @__PURE__ */ p(le, {
468
+ /* @__PURE__ */ f(ce, {
467
469
  storageKey: "eventfullymanaged-events",
468
- title: c("eventfullymanaged.events.nextSteps.title", "Finish setting up your event"),
470
+ title: o("eventfullymanaged.events.nextSteps.title", "Finish setting up your event"),
469
471
  steps: [
470
472
  {
471
473
  id: "configure-registration",
472
- label: c("eventfullymanaged.events.nextSteps.registration", "Configure registration & tickets"),
473
- description: c("eventfullymanaged.events.nextSteps.registrationDesc", "Open an event and define ticket types so people can register."),
474
- icon: /* @__PURE__ */ p(ae, { className: "h-4 w-4" }),
475
- onClick: () => I("/registration")
474
+ label: o("eventfullymanaged.events.nextSteps.registration", "Configure registration & tickets"),
475
+ description: o("eventfullymanaged.events.nextSteps.registrationDesc", "Open an event and define ticket types so people can register."),
476
+ icon: /* @__PURE__ */ f(ae, { className: "h-4 w-4" }),
477
+ onClick: () => L("/registration")
476
478
  },
477
479
  {
478
480
  id: "plan-networking",
479
- label: c("eventfullymanaged.events.nextSteps.networking", "Plan networking & sessions"),
480
- description: c("eventfullymanaged.events.nextSteps.networkingDesc", "Set up attendee matchmaking and meeting schedules."),
481
- icon: /* @__PURE__ */ p(b, { className: "h-4 w-4" }),
482
- onClick: () => I("/networking")
481
+ label: o("eventfullymanaged.events.nextSteps.networking", "Plan networking & sessions"),
482
+ description: o("eventfullymanaged.events.nextSteps.networkingDesc", "Set up attendee matchmaking and meeting schedules."),
483
+ icon: /* @__PURE__ */ f(y, { className: "h-4 w-4" }),
484
+ onClick: () => L("/networking")
483
485
  },
484
486
  {
485
487
  id: "announce",
486
- label: c("eventfullymanaged.events.nextSteps.announce", "Announce to attendees"),
487
- description: c("eventfullymanaged.events.nextSteps.announceDesc", "Send announcements and run communication campaigns."),
488
- icon: /* @__PURE__ */ p(_, { className: "h-4 w-4" }),
489
- onClick: () => I("/communication")
488
+ label: o("eventfullymanaged.events.nextSteps.announce", "Announce to attendees"),
489
+ description: o("eventfullymanaged.events.nextSteps.announceDesc", "Send announcements and run communication campaigns."),
490
+ icon: /* @__PURE__ */ f(h, { className: "h-4 w-4" }),
491
+ onClick: () => L("/communication")
490
492
  }
491
493
  ]
492
494
  })
@@ -494,6 +496,6 @@ function I() {
494
496
  });
495
497
  }
496
498
  //#endregion
497
- export { I as default };
499
+ export { L as default };
498
500
 
499
501
  //# sourceMappingURL=EventsPage.js.map