@questpie/admin 3.0.4 → 3.0.6

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 (90) hide show
  1. package/README.md +99 -1
  2. package/dist/client/builder/types/field-types.d.mts +11 -0
  3. package/dist/client/components/blocks/block-editor-layout.mjs +2 -2
  4. package/dist/client/components/blocks/block-library-sidebar.mjs +89 -61
  5. package/dist/client/components/brand-logo.d.mts +25 -0
  6. package/dist/client/components/brand-logo.mjs +174 -0
  7. package/dist/client/components/media/media-grid.mjs +95 -78
  8. package/dist/client/components/primitives/select-multi.mjs +388 -368
  9. package/dist/client/components/primitives/select-single.mjs +344 -331
  10. package/dist/client/components/widgets/chart-widget.mjs +78 -62
  11. package/dist/client/components/widgets/progress-widget.mjs +39 -37
  12. package/dist/client/components/widgets/quick-actions-widget.mjs +111 -90
  13. package/dist/client/components/widgets/recent-items-widget.mjs +40 -38
  14. package/dist/client/components/widgets/table-widget.mjs +4 -3
  15. package/dist/client/components/widgets/timeline-widget.mjs +92 -74
  16. package/dist/client/components/widgets/value-widget.mjs +164 -144
  17. package/dist/client/create-admin-client.d.mts +7 -0
  18. package/dist/client/create-admin-client.mjs +25 -0
  19. package/dist/client/hooks/use-brand.d.mts +22 -0
  20. package/dist/client/hooks/use-brand.mjs +52 -0
  21. package/dist/client/hooks/use-server-actions.mjs +21 -16
  22. package/dist/client/preview/block-scope-context.d.mts +2 -2
  23. package/dist/client/preview/preview-banner.d.mts +2 -2
  24. package/dist/client/preview/preview-banner.mjs +75 -46
  25. package/dist/client/runtime/index.mjs +1 -1
  26. package/dist/client/runtime/provider.d.mts +4 -0
  27. package/dist/client/runtime/provider.mjs +38 -8
  28. package/dist/client/styles/base.css +4 -0
  29. package/dist/client/types/admin-config.d.mts +24 -0
  30. package/dist/client/views/auth/auth-layout.d.mts +6 -1
  31. package/dist/client/views/auth/auth-layout.mjs +116 -102
  32. package/dist/client/views/collection/auto-form-fields.mjs +2 -0
  33. package/dist/client/views/collection/field-renderer.mjs +3 -2
  34. package/dist/client/views/collection/table-view.mjs +26 -26
  35. package/dist/client/views/globals/global-form-view.mjs +908 -863
  36. package/dist/client/views/layout/admin-layout.mjs +151 -131
  37. package/dist/client/views/layout/admin-router.mjs +297 -180
  38. package/dist/client/views/layout/admin-sidebar.mjs +178 -156
  39. package/dist/client/views/pages/accept-invite-page.mjs +122 -144
  40. package/dist/client/views/pages/forgot-password-page.mjs +22 -30
  41. package/dist/client/views/pages/invite-page.mjs +24 -33
  42. package/dist/client/views/pages/login-page.mjs +24 -32
  43. package/dist/client/views/pages/reset-password-page.mjs +77 -92
  44. package/dist/client/views/pages/setup-page.mjs +73 -65
  45. package/dist/client.d.mts +6 -2
  46. package/dist/client.mjs +5 -2
  47. package/dist/index.d.mts +6 -2
  48. package/dist/index.mjs +5 -2
  49. package/dist/server/augmentation/dashboard.d.mts +23 -5
  50. package/dist/server/augmentation/form-layout.d.mts +10 -0
  51. package/dist/server/augmentation/index.d.mts +1 -1
  52. package/dist/server/augmentation.d.mts +1 -1
  53. package/dist/server/i18n/index.mjs +13 -7
  54. package/dist/server/i18n/messages/cs.mjs +391 -1
  55. package/dist/server/i18n/messages/de.mjs +389 -1
  56. package/dist/server/i18n/messages/en.mjs +102 -0
  57. package/dist/server/i18n/messages/es.mjs +389 -1
  58. package/dist/server/i18n/messages/fr.mjs +389 -1
  59. package/dist/server/i18n/messages/pl.mjs +393 -1
  60. package/dist/server/i18n/messages/pt.mjs +386 -1
  61. package/dist/server/i18n/messages/sk.mjs +133 -1
  62. package/dist/server/modules/admin/collections/account.d.mts +50 -50
  63. package/dist/server/modules/admin/collections/admin-locks.d.mts +53 -53
  64. package/dist/server/modules/admin/collections/admin-preferences.d.mts +39 -39
  65. package/dist/server/modules/admin/collections/admin-saved-views.d.mts +47 -47
  66. package/dist/server/modules/admin/collections/apikey.d.mts +68 -68
  67. package/dist/server/modules/admin/collections/assets.d.mts +20 -20
  68. package/dist/server/modules/admin/collections/session.d.mts +42 -42
  69. package/dist/server/modules/admin/collections/user.d.mts +32 -32
  70. package/dist/server/modules/admin/collections/verification.d.mts +36 -36
  71. package/dist/server/modules/admin/dto/admin-config.dto.mjs +19 -1
  72. package/dist/server/modules/admin/routes/admin-config.d.mts +2 -2
  73. package/dist/server/modules/admin/routes/execute-action.d.mts +9 -9
  74. package/dist/server/modules/admin/routes/execute-action.mjs +34 -28
  75. package/dist/server/modules/admin/routes/i18n-helpers.mjs +34 -0
  76. package/dist/server/modules/admin/routes/locales.d.mts +2 -2
  77. package/dist/server/modules/admin/routes/preview.d.mts +11 -11
  78. package/dist/server/modules/admin/routes/preview.mjs +25 -17
  79. package/dist/server/modules/admin/routes/reactive.d.mts +9 -9
  80. package/dist/server/modules/admin/routes/route-helpers.mjs +1 -1
  81. package/dist/server/modules/admin/routes/setup.mjs +10 -7
  82. package/dist/server/modules/admin/routes/translations.d.mts +4 -4
  83. package/dist/server/modules/admin/routes/widget-data.d.mts +5 -5
  84. package/dist/server/modules/admin-preferences/collections/saved-views.d.mts +23 -23
  85. package/dist/server.d.mts +4 -4
  86. package/dist/shared/preview-utils.d.mts +34 -1
  87. package/dist/shared/preview-utils.mjs +79 -1
  88. package/dist/shared.d.mts +2 -2
  89. package/dist/shared.mjs +2 -2
  90. package/package.json +3 -3
@@ -1,4 +1,4 @@
1
- import { useResolveText } from "../../i18n/hooks.mjs";
1
+ import { useResolveText, useTranslation } from "../../i18n/hooks.mjs";
2
2
  import { formatLabel } from "../../lib/utils.mjs";
3
3
  import { useCollectionList } from "../../hooks/use-collection.mjs";
4
4
  import { WidgetCard } from "../../views/dashboard/widget-card.mjs";
@@ -24,9 +24,10 @@ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
24
24
  * - Links to edit each item
25
25
  */
26
26
  function RecentItemsWidget(t0) {
27
- const $ = c(52);
27
+ const $ = c(53);
28
28
  const { config } = t0;
29
29
  const resolveText = useResolveText();
30
+ const { t } = useTranslation();
30
31
  const { collection, limit: t1, label, titleField: t2, dateField: t3, subtitleFields, onItemClick, realtime, hasLoader, refreshInterval } = config;
31
32
  const limit = t1 === void 0 ? 5 : t1;
32
33
  const titleField = t2 === void 0 ? "_title" : t2;
@@ -125,11 +126,11 @@ function RecentItemsWidget(t0) {
125
126
  } else t15 = $[24];
126
127
  const handleItemClick = t15;
127
128
  let t16;
128
- if ($[25] !== dateField || $[26] !== getSubtitle || $[27] !== getTitleValue || $[28] !== handleItemClick || $[29] !== items) {
129
+ if ($[25] !== dateField || $[26] !== getSubtitle || $[27] !== getTitleValue || $[28] !== handleItemClick || $[29] !== items || $[30] !== t) {
129
130
  t16 = items.length === 0 ? /* @__PURE__ */ jsx(WidgetEmptyState, {
130
131
  iconName: "ph:clock-counter-clockwise",
131
- title: "No recent items",
132
- description: "There are no recent records to show."
132
+ title: t("widget.recentItems.emptyTitle"),
133
+ description: t("widget.recentItems.emptyDescription")
133
134
  }) : /* @__PURE__ */ jsx("div", {
134
135
  className: "space-y-1",
135
136
  children: items.map((item_2) => {
@@ -160,37 +161,38 @@ function RecentItemsWidget(t0) {
160
161
  $[27] = getTitleValue;
161
162
  $[28] = handleItemClick;
162
163
  $[29] = items;
163
- $[30] = t16;
164
- } else t16 = $[30];
164
+ $[30] = t;
165
+ $[31] = t16;
166
+ } else t16 = $[31];
165
167
  const listContent = t16;
166
168
  let t17;
167
- if ($[31] !== config.description || $[32] !== resolveText) {
169
+ if ($[32] !== config.description || $[33] !== resolveText) {
168
170
  t17 = config.description ? resolveText(config.description) : void 0;
169
- $[31] = config.description;
170
- $[32] = resolveText;
171
- $[33] = t17;
172
- } else t17 = $[33];
171
+ $[32] = config.description;
172
+ $[33] = resolveText;
173
+ $[34] = t17;
174
+ } else t17 = $[34];
173
175
  const t18 = isFetching && !isLoading;
174
176
  let t19;
175
- if ($[34] !== limit) {
177
+ if ($[35] !== limit) {
176
178
  t19 = /* @__PURE__ */ jsx(RecentItemsWidgetSkeleton, { count: limit });
177
- $[34] = limit;
178
- $[35] = t19;
179
- } else t19 = $[35];
179
+ $[35] = limit;
180
+ $[36] = t19;
181
+ } else t19 = $[36];
180
182
  let t20;
181
- if ($[36] !== error) {
183
+ if ($[37] !== error) {
182
184
  t20 = error instanceof Error ? error : error ? new Error(String(error)) : null;
183
- $[36] = error;
184
- $[37] = t20;
185
- } else t20 = $[37];
185
+ $[37] = error;
186
+ $[38] = t20;
187
+ } else t20 = $[38];
186
188
  let t21;
187
- if ($[38] !== refetch) {
189
+ if ($[39] !== refetch) {
188
190
  t21 = () => refetch();
189
- $[38] = refetch;
190
- $[39] = t21;
191
- } else t21 = $[39];
191
+ $[39] = refetch;
192
+ $[40] = t21;
193
+ } else t21 = $[40];
192
194
  let t22;
193
- if ($[40] !== config.actions || $[41] !== config.cardVariant || $[42] !== config.className || $[43] !== displayLabel || $[44] !== isLoading || $[45] !== listContent || $[46] !== t17 || $[47] !== t18 || $[48] !== t19 || $[49] !== t20 || $[50] !== t21) {
195
+ if ($[41] !== config.actions || $[42] !== config.cardVariant || $[43] !== config.className || $[44] !== displayLabel || $[45] !== isLoading || $[46] !== listContent || $[47] !== t17 || $[48] !== t18 || $[49] !== t19 || $[50] !== t20 || $[51] !== t21) {
194
196
  t22 = /* @__PURE__ */ jsx(WidgetCard, {
195
197
  title: displayLabel,
196
198
  description: t17,
@@ -204,19 +206,19 @@ function RecentItemsWidget(t0) {
204
206
  className: config.className,
205
207
  children: listContent
206
208
  });
207
- $[40] = config.actions;
208
- $[41] = config.cardVariant;
209
- $[42] = config.className;
210
- $[43] = displayLabel;
211
- $[44] = isLoading;
212
- $[45] = listContent;
213
- $[46] = t17;
214
- $[47] = t18;
215
- $[48] = t19;
216
- $[49] = t20;
217
- $[50] = t21;
218
- $[51] = t22;
219
- } else t22 = $[51];
209
+ $[41] = config.actions;
210
+ $[42] = config.cardVariant;
211
+ $[43] = config.className;
212
+ $[44] = displayLabel;
213
+ $[45] = isLoading;
214
+ $[46] = listContent;
215
+ $[47] = t17;
216
+ $[48] = t18;
217
+ $[49] = t19;
218
+ $[50] = t20;
219
+ $[51] = t21;
220
+ $[52] = t22;
221
+ } else t22 = $[52];
220
222
  return t22;
221
223
  }
222
224
  /**
@@ -1,4 +1,4 @@
1
- import { useResolveText } from "../../i18n/hooks.mjs";
1
+ import { useResolveText, useTranslation } from "../../i18n/hooks.mjs";
2
2
  import { cn, formatLabel } from "../../lib/utils.mjs";
3
3
  import { useCollectionFields } from "../../hooks/use-collection-fields.mjs";
4
4
  import { useCollectionMeta } from "../../hooks/use-collection-meta.mjs";
@@ -61,6 +61,7 @@ function getAlignClass(align) {
61
61
  */
62
62
  function TableWidget({ config, basePath = "/admin", navigate }) {
63
63
  const resolveText = useResolveText();
64
+ const { t } = useTranslation();
64
65
  const { collection, columns: rawColumns, limit = 5, sortBy, sortOrder = "desc", filter, linkToDetail, emptyMessage, realtime } = config;
65
66
  const useServerData = !!config.hasLoader;
66
67
  const serverQuery = useServerWidgetData(config.id, {
@@ -115,8 +116,8 @@ function TableWidget({ config, basePath = "/admin", navigate }) {
115
116
  const resolvedEmptyMessage = emptyMessage ? resolveText(emptyMessage) : void 0;
116
117
  const emptyContent = /* @__PURE__ */ jsx(WidgetEmptyState, {
117
118
  iconName: "ph:table",
118
- title: resolvedEmptyMessage ?? "No rows to show",
119
- description: resolvedEmptyMessage ? void 0 : "There are no records for the current criteria.",
119
+ title: resolvedEmptyMessage ?? t("widget.table.emptyTitle"),
120
+ description: resolvedEmptyMessage ? void 0 : t("widget.table.emptyDescription"),
120
121
  className: "min-h-32"
121
122
  });
122
123
  const tableContent = items.length === 0 ? emptyContent : /* @__PURE__ */ jsx("div", {
@@ -1,4 +1,4 @@
1
- import { useResolveText } from "../../i18n/hooks.mjs";
1
+ import { useResolveText, useTranslation } from "../../i18n/hooks.mjs";
2
2
  import { cn } from "../../lib/utils.mjs";
3
3
  import { selectClient, useAdminStore } from "../../runtime/provider.mjs";
4
4
  import { resolveIconElement } from "../component-renderer.mjs";
@@ -28,11 +28,14 @@ const variantStyles = {
28
28
  /**
29
29
  * Format timestamp based on format option
30
30
  */
31
- function formatTimestamp(date, format = "relative") {
31
+ function formatTimestamp(date, format = "relative", t, formatDate) {
32
32
  const d = typeof date === "string" ? new Date(date) : date;
33
33
  switch (format) {
34
- case "absolute": return d.toLocaleDateString();
35
- case "datetime": return d.toLocaleString();
34
+ case "absolute": return formatDate(d);
35
+ case "datetime": return formatDate(d, {
36
+ dateStyle: "medium",
37
+ timeStyle: "short"
38
+ });
36
39
  case "relative":
37
40
  default: {
38
41
  const diff = (/* @__PURE__ */ new Date()).getTime() - d.getTime();
@@ -40,11 +43,11 @@ function formatTimestamp(date, format = "relative") {
40
43
  const minutes = Math.floor(seconds / 60);
41
44
  const hours = Math.floor(minutes / 60);
42
45
  const days = Math.floor(hours / 24);
43
- if (days > 7) return d.toLocaleDateString();
44
- if (days > 0) return `${days}d ago`;
45
- if (hours > 0) return `${hours}h ago`;
46
- if (minutes > 0) return `${minutes}m ago`;
47
- return "just now";
46
+ if (days > 7) return formatDate(d);
47
+ if (days > 0) return t("time.daysAgoShort", { count: days });
48
+ if (hours > 0) return t("time.hoursAgoShort", { count: hours });
49
+ if (minutes > 0) return t("time.minutesAgoShort", { count: minutes });
50
+ return t("time.justNow");
48
51
  }
49
52
  }
50
53
  }
@@ -78,10 +81,11 @@ function formatTimestamp(date, format = "relative") {
78
81
  * ```
79
82
  */
80
83
  function TimelineWidget(t0) {
81
- const $ = c(56);
84
+ const $ = c(64);
82
85
  const { config, navigate } = t0;
83
86
  const client = useAdminStore(selectClient);
84
87
  const resolveText = useResolveText();
88
+ const { t, formatDate } = useTranslation();
85
89
  const { maxItems: t1, showTimestamps: t2, timestampFormat: t3, emptyMessage } = config;
86
90
  const maxItems = t1 === void 0 ? 10 : t1;
87
91
  const showTimestamps = t2 === void 0 ? true : t2;
@@ -134,46 +138,58 @@ function TimelineWidget(t0) {
134
138
  const { data, isLoading, error, refetch, isFetching } = useServerData ? serverQuery : clientQuery;
135
139
  let t9;
136
140
  let title;
137
- if ($[13] !== config.title || $[14] !== data || $[15] !== emptyMessage || $[16] !== maxItems || $[17] !== navigate || $[18] !== resolveText || $[19] !== showTimestamps || $[20] !== timestampFormat) {
141
+ if ($[13] !== config.title || $[14] !== data || $[15] !== emptyMessage || $[16] !== formatDate || $[17] !== maxItems || $[18] !== navigate || $[19] !== resolveText || $[20] !== showTimestamps || $[21] !== t || $[22] !== timestampFormat) {
138
142
  const items = data?.slice(0, maxItems) ?? [];
139
143
  let t10$1;
140
- if ($[23] !== config.title || $[24] !== resolveText) {
144
+ if ($[25] !== config.title || $[26] !== resolveText) {
141
145
  t10$1 = config.title ? resolveText(config.title) : void 0;
142
- $[23] = config.title;
143
- $[24] = resolveText;
144
- $[25] = t10$1;
145
- } else t10$1 = $[25];
146
+ $[25] = config.title;
147
+ $[26] = resolveText;
148
+ $[27] = t10$1;
149
+ } else t10$1 = $[27];
146
150
  title = t10$1;
147
151
  let t11$1;
148
- if ($[26] !== navigate) {
152
+ if ($[28] !== navigate) {
149
153
  t11$1 = (item) => {
150
154
  if (item.href && navigate) navigate(item.href);
151
155
  };
152
- $[26] = navigate;
153
- $[27] = t11$1;
154
- } else t11$1 = $[27];
156
+ $[28] = navigate;
157
+ $[29] = t11$1;
158
+ } else t11$1 = $[29];
155
159
  const handleItemClick = t11$1;
156
160
  let t12$1;
157
- if ($[28] !== emptyMessage || $[29] !== resolveText) {
161
+ if ($[30] !== emptyMessage || $[31] !== resolveText) {
158
162
  t12$1 = emptyMessage ? resolveText(emptyMessage) : void 0;
159
- $[28] = emptyMessage;
160
- $[29] = resolveText;
161
- $[30] = t12$1;
162
- } else t12$1 = $[30];
163
+ $[30] = emptyMessage;
164
+ $[31] = resolveText;
165
+ $[32] = t12$1;
166
+ } else t12$1 = $[32];
163
167
  const resolvedEmptyMessage = t12$1;
164
- const t13$1 = resolvedEmptyMessage ?? "No activity yet";
165
- const t14$1 = resolvedEmptyMessage ? void 0 : "There are no events to display.";
168
+ let t13$1;
169
+ if ($[33] !== resolvedEmptyMessage || $[34] !== t) {
170
+ t13$1 = resolvedEmptyMessage ?? t("widget.timeline.emptyTitle");
171
+ $[33] = resolvedEmptyMessage;
172
+ $[34] = t;
173
+ $[35] = t13$1;
174
+ } else t13$1 = $[35];
175
+ let t14$1;
176
+ if ($[36] !== resolvedEmptyMessage || $[37] !== t) {
177
+ t14$1 = resolvedEmptyMessage ? void 0 : t("widget.timeline.emptyDescription");
178
+ $[36] = resolvedEmptyMessage;
179
+ $[37] = t;
180
+ $[38] = t14$1;
181
+ } else t14$1 = $[38];
166
182
  let t15$1;
167
- if ($[31] !== t13$1 || $[32] !== t14$1) {
183
+ if ($[39] !== t13$1 || $[40] !== t14$1) {
168
184
  t15$1 = /* @__PURE__ */ jsx(WidgetEmptyState, {
169
185
  iconName: "ph:clock-counter-clockwise",
170
186
  title: t13$1,
171
187
  description: t14$1
172
188
  });
173
- $[31] = t13$1;
174
- $[32] = t14$1;
175
- $[33] = t15$1;
176
- } else t15$1 = $[33];
189
+ $[39] = t13$1;
190
+ $[40] = t14$1;
191
+ $[41] = t15$1;
192
+ } else t15$1 = $[41];
177
193
  const emptyContent = t15$1;
178
194
  t9 = items.length === 0 ? emptyContent : /* @__PURE__ */ jsx("div", {
179
195
  className: "space-y-0",
@@ -204,7 +220,7 @@ function TimelineWidget(t0) {
204
220
  }),
205
221
  showTimestamps && item_0.timestamp && /* @__PURE__ */ jsx("p", {
206
222
  className: "text-muted-foreground mt-1 text-xs",
207
- children: formatTimestamp(item_0.timestamp, timestampFormat)
223
+ children: formatTimestamp(item_0.timestamp, timestampFormat, t, formatDate)
208
224
  })
209
225
  ]
210
226
  })
@@ -227,46 +243,48 @@ function TimelineWidget(t0) {
227
243
  $[13] = config.title;
228
244
  $[14] = data;
229
245
  $[15] = emptyMessage;
230
- $[16] = maxItems;
231
- $[17] = navigate;
232
- $[18] = resolveText;
233
- $[19] = showTimestamps;
234
- $[20] = timestampFormat;
235
- $[21] = t9;
236
- $[22] = title;
246
+ $[16] = formatDate;
247
+ $[17] = maxItems;
248
+ $[18] = navigate;
249
+ $[19] = resolveText;
250
+ $[20] = showTimestamps;
251
+ $[21] = t;
252
+ $[22] = timestampFormat;
253
+ $[23] = t9;
254
+ $[24] = title;
237
255
  } else {
238
- t9 = $[21];
239
- title = $[22];
256
+ t9 = $[23];
257
+ title = $[24];
240
258
  }
241
259
  const timelineContent = t9;
242
260
  let t10;
243
- if ($[34] !== config.description || $[35] !== resolveText) {
261
+ if ($[42] !== config.description || $[43] !== resolveText) {
244
262
  t10 = config.description ? resolveText(config.description) : void 0;
245
- $[34] = config.description;
246
- $[35] = resolveText;
247
- $[36] = t10;
248
- } else t10 = $[36];
263
+ $[42] = config.description;
264
+ $[43] = resolveText;
265
+ $[44] = t10;
266
+ } else t10 = $[44];
249
267
  const t11 = isFetching && !isLoading;
250
268
  let t12;
251
- if ($[37] !== maxItems) {
269
+ if ($[45] !== maxItems) {
252
270
  t12 = /* @__PURE__ */ jsx(TimelineWidgetSkeleton, { count: maxItems });
253
- $[37] = maxItems;
254
- $[38] = t12;
255
- } else t12 = $[38];
271
+ $[45] = maxItems;
272
+ $[46] = t12;
273
+ } else t12 = $[46];
256
274
  let t13;
257
- if ($[39] !== error) {
275
+ if ($[47] !== error) {
258
276
  t13 = error instanceof Error ? error : error ? new Error(String(error)) : null;
259
- $[39] = error;
260
- $[40] = t13;
261
- } else t13 = $[40];
277
+ $[47] = error;
278
+ $[48] = t13;
279
+ } else t13 = $[48];
262
280
  let t14;
263
- if ($[41] !== refetch) {
281
+ if ($[49] !== refetch) {
264
282
  t14 = () => refetch();
265
- $[41] = refetch;
266
- $[42] = t14;
267
- } else t14 = $[42];
283
+ $[49] = refetch;
284
+ $[50] = t14;
285
+ } else t14 = $[50];
268
286
  let t15;
269
- if ($[43] !== config.actions || $[44] !== config.cardVariant || $[45] !== config.className || $[46] !== config.icon || $[47] !== isLoading || $[48] !== t10 || $[49] !== t11 || $[50] !== t12 || $[51] !== t13 || $[52] !== t14 || $[53] !== timelineContent || $[54] !== title) {
287
+ if ($[51] !== config.actions || $[52] !== config.cardVariant || $[53] !== config.className || $[54] !== config.icon || $[55] !== isLoading || $[56] !== t10 || $[57] !== t11 || $[58] !== t12 || $[59] !== t13 || $[60] !== t14 || $[61] !== timelineContent || $[62] !== title) {
270
288
  t15 = /* @__PURE__ */ jsx(WidgetCard, {
271
289
  title,
272
290
  description: t10,
@@ -281,20 +299,20 @@ function TimelineWidget(t0) {
281
299
  className: config.className,
282
300
  children: timelineContent
283
301
  });
284
- $[43] = config.actions;
285
- $[44] = config.cardVariant;
286
- $[45] = config.className;
287
- $[46] = config.icon;
288
- $[47] = isLoading;
289
- $[48] = t10;
290
- $[49] = t11;
291
- $[50] = t12;
292
- $[51] = t13;
293
- $[52] = t14;
294
- $[53] = timelineContent;
295
- $[54] = title;
296
- $[55] = t15;
297
- } else t15 = $[55];
302
+ $[51] = config.actions;
303
+ $[52] = config.cardVariant;
304
+ $[53] = config.className;
305
+ $[54] = config.icon;
306
+ $[55] = isLoading;
307
+ $[56] = t10;
308
+ $[57] = t11;
309
+ $[58] = t12;
310
+ $[59] = t13;
311
+ $[60] = t14;
312
+ $[61] = timelineContent;
313
+ $[62] = title;
314
+ $[63] = t15;
315
+ } else t15 = $[63];
298
316
  return t15;
299
317
  }
300
318