@questpie/admin 3.0.4 → 3.0.5

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 (58) hide show
  1. package/dist/client/components/blocks/block-editor-layout.mjs +2 -2
  2. package/dist/client/components/blocks/block-library-sidebar.mjs +89 -61
  3. package/dist/client/components/media/media-grid.mjs +95 -78
  4. package/dist/client/components/primitives/select-multi.mjs +388 -368
  5. package/dist/client/components/primitives/select-single.mjs +344 -331
  6. package/dist/client/components/widgets/chart-widget.mjs +78 -62
  7. package/dist/client/components/widgets/progress-widget.mjs +39 -37
  8. package/dist/client/components/widgets/quick-actions-widget.mjs +111 -90
  9. package/dist/client/components/widgets/recent-items-widget.mjs +40 -38
  10. package/dist/client/components/widgets/table-widget.mjs +4 -3
  11. package/dist/client/components/widgets/timeline-widget.mjs +92 -74
  12. package/dist/client/components/widgets/value-widget.mjs +164 -144
  13. package/dist/client/hooks/use-server-actions.mjs +21 -16
  14. package/dist/client/preview/block-scope-context.d.mts +2 -2
  15. package/dist/client/preview/preview-banner.d.mts +2 -2
  16. package/dist/client/preview/preview-banner.mjs +75 -46
  17. package/dist/client/views/auth/accept-invite-form.d.mts +2 -2
  18. package/dist/client/views/auth/auth-layout.d.mts +2 -2
  19. package/dist/client/views/auth/forgot-password-form.d.mts +2 -2
  20. package/dist/client/views/auth/login-form.d.mts +2 -2
  21. package/dist/client/views/auth/reset-password-form.d.mts +2 -2
  22. package/dist/client/views/auth/setup-form.d.mts +2 -2
  23. package/dist/client/views/collection/table-view.mjs +26 -26
  24. package/dist/client/views/layout/admin-layout.mjs +151 -131
  25. package/dist/client/views/layout/admin-router.mjs +297 -180
  26. package/dist/client/views/layout/admin-sidebar.mjs +126 -116
  27. package/dist/client/views/pages/login-page.d.mts +2 -2
  28. package/dist/client/views/pages/reset-password-page.d.mts +2 -2
  29. package/dist/client/views/pages/setup-page.mjs +67 -51
  30. package/dist/server/i18n/index.mjs +13 -7
  31. package/dist/server/i18n/messages/cs.mjs +391 -1
  32. package/dist/server/i18n/messages/de.mjs +389 -1
  33. package/dist/server/i18n/messages/en.mjs +102 -0
  34. package/dist/server/i18n/messages/es.mjs +389 -1
  35. package/dist/server/i18n/messages/fr.mjs +389 -1
  36. package/dist/server/i18n/messages/pl.mjs +393 -1
  37. package/dist/server/i18n/messages/pt.mjs +386 -1
  38. package/dist/server/i18n/messages/sk.mjs +133 -1
  39. package/dist/server/modules/admin/collections/account.d.mts +50 -50
  40. package/dist/server/modules/admin/collections/admin-locks.d.mts +54 -54
  41. package/dist/server/modules/admin/collections/admin-preferences.d.mts +39 -39
  42. package/dist/server/modules/admin/collections/admin-saved-views.d.mts +41 -41
  43. package/dist/server/modules/admin/collections/apikey.d.mts +68 -68
  44. package/dist/server/modules/admin/collections/assets.d.mts +20 -20
  45. package/dist/server/modules/admin/collections/session.d.mts +42 -42
  46. package/dist/server/modules/admin/collections/user.d.mts +32 -32
  47. package/dist/server/modules/admin/collections/verification.d.mts +36 -36
  48. package/dist/server/modules/admin/routes/admin-config.d.mts +2 -2
  49. package/dist/server/modules/admin/routes/execute-action.d.mts +9 -9
  50. package/dist/server/modules/admin/routes/execute-action.mjs +34 -28
  51. package/dist/server/modules/admin/routes/i18n-helpers.mjs +34 -0
  52. package/dist/server/modules/admin/routes/preview.d.mts +11 -11
  53. package/dist/server/modules/admin/routes/preview.mjs +25 -17
  54. package/dist/server/modules/admin/routes/route-helpers.mjs +1 -1
  55. package/dist/server/modules/admin/routes/setup.mjs +10 -7
  56. package/dist/server/modules/admin/routes/widget-data.d.mts +5 -5
  57. package/dist/server/modules/admin-preferences/collections/saved-views.d.mts +27 -27
  58. package/package.json +3 -3
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
 
3
- import { useResolveText } from "../../i18n/hooks.mjs";
3
+ import { useResolveText, useSafeI18n } from "../../i18n/hooks.mjs";
4
4
  import { cn } from "../../lib/utils.mjs";
5
5
  import { Popover, PopoverContent, PopoverTrigger } from "../ui/popover.mjs";
6
6
  import { useIsMobile } from "../../hooks/use-media-query.mjs";
@@ -39,7 +39,7 @@ const SEARCH_OPTION_THRESHOLD = 8;
39
39
  * ```
40
40
  */
41
41
  function SelectSingle(t0) {
42
- const $ = c(134);
42
+ const $ = c(138);
43
43
  const { value, onChange, options: staticOptions, loadOptions, queryKey, prefetchOnMount: t1, clearable: t2, loading: t3, emptyMessage: t4, searchable: t5, placeholder: t6, disabled, className, id, "aria-invalid": ariaInvalid, drawerTitle: t7, selectedLabel, isLoadingValue: t8, asInputGroupControl: t9 } = t0;
44
44
  const prefetchOnMount = t1 === void 0 ? false : t1;
45
45
  const clearable = t2 === void 0 ? true : t2;
@@ -52,247 +52,258 @@ function SelectSingle(t0) {
52
52
  const asInputGroupControl = t9 === void 0 ? false : t9;
53
53
  const resolvedStaticOptions = staticOptions ?? EMPTY_OPTIONS;
54
54
  const resolveText = useResolveText();
55
+ const i18n = useSafeI18n();
55
56
  let t10;
56
- if ($[0] !== placeholder || $[1] !== resolveText) {
57
- t10 = resolveText(placeholder);
58
- $[0] = placeholder;
59
- $[1] = resolveText;
60
- $[2] = t10;
61
- } else t10 = $[2];
62
- const resolvedPlaceholder = t10;
57
+ if ($[0] !== i18n) {
58
+ t10 = (key, fallback) => {
59
+ const message = i18n?.t(key);
60
+ return message && message !== key ? message : fallback;
61
+ };
62
+ $[0] = i18n;
63
+ $[1] = t10;
64
+ } else t10 = $[1];
65
+ const t = t10;
63
66
  let t11;
64
- if ($[3] !== emptyMessage || $[4] !== resolveText) {
65
- t11 = resolveText(emptyMessage);
66
- $[3] = emptyMessage;
67
- $[4] = resolveText;
68
- $[5] = t11;
69
- } else t11 = $[5];
70
- const resolvedEmptyMessage = t11;
67
+ if ($[2] !== placeholder || $[3] !== resolveText) {
68
+ t11 = resolveText(placeholder);
69
+ $[2] = placeholder;
70
+ $[3] = resolveText;
71
+ $[4] = t11;
72
+ } else t11 = $[4];
73
+ const resolvedPlaceholder = t11;
71
74
  let t12;
72
- if ($[6] !== drawerTitle || $[7] !== resolveText) {
73
- t12 = resolveText(drawerTitle);
74
- $[6] = drawerTitle;
75
- $[7] = resolveText;
76
- $[8] = t12;
77
- } else t12 = $[8];
78
- const resolvedDrawerTitle = t12;
75
+ if ($[5] !== emptyMessage || $[6] !== resolveText) {
76
+ t12 = resolveText(emptyMessage);
77
+ $[5] = emptyMessage;
78
+ $[6] = resolveText;
79
+ $[7] = t12;
80
+ } else t12 = $[7];
81
+ const resolvedEmptyMessage = t12;
82
+ let t13;
83
+ if ($[8] !== drawerTitle || $[9] !== resolveText) {
84
+ t13 = resolveText(drawerTitle);
85
+ $[8] = drawerTitle;
86
+ $[9] = resolveText;
87
+ $[10] = t13;
88
+ } else t13 = $[10];
89
+ const resolvedDrawerTitle = t13;
79
90
  const [open, setOpen] = useState(false);
80
91
  const [search, setSearch] = useState("");
81
92
  const instanceId = useId();
82
93
  const deferredSearch = useDeferredValue(search);
83
94
  const isMobile = useIsMobile();
84
- let t13;
85
- if ($[9] !== resolvedStaticOptions) {
86
- t13 = flattenOptions(resolvedStaticOptions);
87
- $[9] = resolvedStaticOptions;
88
- $[10] = t13;
89
- } else t13 = $[10];
90
- const flatStaticOptions = t13;
91
95
  let t14;
92
- if ($[11] !== deferredSearch || $[12] !== instanceId || $[13] !== queryKey) {
93
- t14 = queryKey ? queryKey(deferredSearch) : [
96
+ if ($[11] !== resolvedStaticOptions) {
97
+ t14 = flattenOptions(resolvedStaticOptions);
98
+ $[11] = resolvedStaticOptions;
99
+ $[12] = t14;
100
+ } else t14 = $[12];
101
+ const flatStaticOptions = t14;
102
+ let t15;
103
+ if ($[13] !== deferredSearch || $[14] !== instanceId || $[15] !== queryKey) {
104
+ t15 = queryKey ? queryKey(deferredSearch) : [
94
105
  "select-single",
95
106
  instanceId,
96
107
  deferredSearch
97
108
  ];
98
- $[11] = deferredSearch;
99
- $[12] = instanceId;
100
- $[13] = queryKey;
101
- $[14] = t14;
102
- } else t14 = $[14];
103
- const loadOptionsKey = t14;
104
- let t15;
105
- if ($[15] !== deferredSearch || $[16] !== loadOptions) {
106
- t15 = () => loadOptions?.(deferredSearch) ?? Promise.resolve([]);
107
- $[15] = deferredSearch;
108
- $[16] = loadOptions;
109
- $[17] = t15;
110
- } else t15 = $[17];
111
- const t16 = !!loadOptions && (open || prefetchOnMount);
112
- let t17;
113
- if ($[18] !== loadOptionsKey || $[19] !== t15 || $[20] !== t16) {
114
- t17 = {
109
+ $[13] = deferredSearch;
110
+ $[14] = instanceId;
111
+ $[15] = queryKey;
112
+ $[16] = t15;
113
+ } else t15 = $[16];
114
+ const loadOptionsKey = t15;
115
+ let t16;
116
+ if ($[17] !== deferredSearch || $[18] !== loadOptions) {
117
+ t16 = () => loadOptions?.(deferredSearch) ?? Promise.resolve([]);
118
+ $[17] = deferredSearch;
119
+ $[18] = loadOptions;
120
+ $[19] = t16;
121
+ } else t16 = $[19];
122
+ const t17 = !!loadOptions && (open || prefetchOnMount);
123
+ let t18;
124
+ if ($[20] !== loadOptionsKey || $[21] !== t16 || $[22] !== t17) {
125
+ t18 = {
115
126
  queryKey: loadOptionsKey,
116
- queryFn: t15,
117
- enabled: t16,
127
+ queryFn: t16,
128
+ enabled: t17,
118
129
  staleTime: 3e4,
119
130
  gcTime: 3e5
120
131
  };
121
- $[18] = loadOptionsKey;
122
- $[19] = t15;
123
- $[20] = t16;
124
- $[21] = t17;
125
- } else t17 = $[21];
126
- const { data: t18, isFetching } = useQuery(t17);
127
- let t19;
128
- if ($[22] !== t18) {
129
- t19 = t18 === void 0 ? [] : t18;
130
- $[22] = t18;
131
- $[23] = t19;
132
- } else t19 = $[23];
133
- const dynamicOptions = t19;
132
+ $[20] = loadOptionsKey;
133
+ $[21] = t16;
134
+ $[22] = t17;
135
+ $[23] = t18;
136
+ } else t18 = $[23];
137
+ const { data: t19, isFetching } = useQuery(t18);
134
138
  let t20;
139
+ if ($[24] !== t19) {
140
+ t20 = t19 === void 0 ? [] : t19;
141
+ $[24] = t19;
142
+ $[25] = t20;
143
+ } else t20 = $[25];
144
+ const dynamicOptions = t20;
145
+ let t21;
135
146
  bb0: {
136
147
  if (!loadOptions) {
137
- t20 = flatStaticOptions;
148
+ t21 = flatStaticOptions;
138
149
  break bb0;
139
150
  }
140
151
  if (flatStaticOptions.length === 0) {
141
- t20 = dynamicOptions;
152
+ t21 = dynamicOptions;
142
153
  break bb0;
143
154
  }
144
- let t21$1;
145
- if ($[24] !== dynamicOptions || $[25] !== flatStaticOptions) {
155
+ let t22$1;
156
+ if ($[26] !== dynamicOptions || $[27] !== flatStaticOptions) {
146
157
  const mergedMap = [...flatStaticOptions, ...dynamicOptions].reduce(_temp, /* @__PURE__ */ new Map());
147
- t21$1 = Array.from(mergedMap.values());
148
- $[24] = dynamicOptions;
149
- $[25] = flatStaticOptions;
150
- $[26] = t21$1;
151
- } else t21$1 = $[26];
152
- t20 = t21$1;
158
+ t22$1 = Array.from(mergedMap.values());
159
+ $[26] = dynamicOptions;
160
+ $[27] = flatStaticOptions;
161
+ $[28] = t22$1;
162
+ } else t22$1 = $[28];
163
+ t21 = t22$1;
153
164
  }
154
- const allOptions = t20;
165
+ const allOptions = t21;
155
166
  const showSearchInput = searchable === "auto" ? !!loadOptions || allOptions.length > SEARCH_OPTION_THRESHOLD : searchable;
156
- let t21;
167
+ let t22;
157
168
  bb1: {
158
169
  if (!showSearchInput) {
159
- t21 = allOptions;
170
+ t22 = allOptions;
160
171
  break bb1;
161
172
  }
162
173
  if (loadOptions) {
163
- t21 = allOptions;
174
+ t22 = allOptions;
164
175
  break bb1;
165
176
  }
166
177
  if (!search) {
167
- t21 = allOptions;
178
+ t22 = allOptions;
168
179
  break bb1;
169
180
  }
170
- let t22$1;
171
- if ($[27] !== allOptions || $[28] !== resolveText || $[29] !== search) {
172
- let t23$1;
173
- if ($[31] !== resolveText || $[32] !== search) {
174
- t23$1 = (opt_0) => resolveText(opt_0.label).toLowerCase().includes(search.toLowerCase());
175
- $[31] = resolveText;
176
- $[32] = search;
177
- $[33] = t23$1;
178
- } else t23$1 = $[33];
179
- t22$1 = allOptions.filter(t23$1);
180
- $[27] = allOptions;
181
- $[28] = resolveText;
182
- $[29] = search;
183
- $[30] = t22$1;
184
- } else t22$1 = $[30];
185
- t21 = t22$1;
181
+ let t23$1;
182
+ if ($[29] !== allOptions || $[30] !== resolveText || $[31] !== search) {
183
+ let t24$1;
184
+ if ($[33] !== resolveText || $[34] !== search) {
185
+ t24$1 = (opt_0) => resolveText(opt_0.label).toLowerCase().includes(search.toLowerCase());
186
+ $[33] = resolveText;
187
+ $[34] = search;
188
+ $[35] = t24$1;
189
+ } else t24$1 = $[35];
190
+ t23$1 = allOptions.filter(t24$1);
191
+ $[29] = allOptions;
192
+ $[30] = resolveText;
193
+ $[31] = search;
194
+ $[32] = t23$1;
195
+ } else t23$1 = $[32];
196
+ t22 = t23$1;
186
197
  }
187
- const filteredOptions = t21;
188
- let t22;
189
- if ($[34] !== allOptions || $[35] !== resolveText || $[36] !== selectedLabel) {
190
- t22 = (val) => {
198
+ const filteredOptions = t22;
199
+ let t23;
200
+ if ($[36] !== allOptions || $[37] !== resolveText || $[38] !== selectedLabel) {
201
+ t23 = (val) => {
191
202
  const option = allOptions.find((opt_1) => opt_1.value === val);
192
203
  if (option?.label) return resolveText(option.label);
193
204
  if (selectedLabel) return selectedLabel;
194
205
  return String(val);
195
206
  };
196
- $[34] = allOptions;
197
- $[35] = resolveText;
198
- $[36] = selectedLabel;
199
- $[37] = t22;
200
- } else t22 = $[37];
201
- const getLabel = t22;
202
- let t23;
203
- if ($[38] !== onChange) {
204
- t23 = (selectedValue) => {
205
- onChange(selectedValue);
206
- setOpen(false);
207
- setSearch("");
208
- };
209
- $[38] = onChange;
207
+ $[36] = allOptions;
208
+ $[37] = resolveText;
209
+ $[38] = selectedLabel;
210
210
  $[39] = t23;
211
211
  } else t23 = $[39];
212
- const handleSelect = t23;
212
+ const getLabel = t23;
213
213
  let t24;
214
214
  if ($[40] !== onChange) {
215
- t24 = (e) => {
216
- e.preventDefault();
217
- e.stopPropagation();
218
- onChange(null);
215
+ t24 = (selectedValue) => {
216
+ onChange(selectedValue);
217
+ setOpen(false);
218
+ setSearch("");
219
219
  };
220
220
  $[40] = onChange;
221
221
  $[41] = t24;
222
222
  } else t24 = $[41];
223
- const handleClear = t24;
223
+ const handleSelect = t24;
224
224
  let t25;
225
- if ($[42] !== clearable || $[43] !== disabled || $[44] !== handleClear || $[45] !== isLoadingValue || $[46] !== value) {
226
- t25 = (event) => {
225
+ if ($[42] !== onChange) {
226
+ t25 = (e) => {
227
+ e.preventDefault();
228
+ e.stopPropagation();
229
+ onChange(null);
230
+ };
231
+ $[42] = onChange;
232
+ $[43] = t25;
233
+ } else t25 = $[43];
234
+ const handleClear = t25;
235
+ let t26;
236
+ if ($[44] !== clearable || $[45] !== disabled || $[46] !== handleClear || $[47] !== isLoadingValue || $[48] !== value) {
237
+ t26 = (event) => {
227
238
  if (clearable && value && !disabled && !isLoadingValue && (event.key === "Backspace" || event.key === "Delete")) handleClear(event);
228
239
  };
229
- $[42] = clearable;
230
- $[43] = disabled;
231
- $[44] = handleClear;
232
- $[45] = isLoadingValue;
233
- $[46] = value;
234
- $[47] = t25;
235
- } else t25 = $[47];
236
- const handleTriggerKeyDown = t25;
240
+ $[44] = clearable;
241
+ $[45] = disabled;
242
+ $[46] = handleClear;
243
+ $[47] = isLoadingValue;
244
+ $[48] = value;
245
+ $[49] = t26;
246
+ } else t26 = $[49];
247
+ const handleTriggerKeyDown = t26;
237
248
  const showLoading = isFetching || externalLoading;
238
249
  const listboxId = `${instanceId}-listbox`;
239
- const t26 = !!value;
240
- let t27;
241
- if ($[48] !== className) {
242
- t27 = cn(className);
243
- $[48] = className;
244
- $[49] = t27;
245
- } else t27 = $[49];
250
+ const t27 = !!value;
246
251
  let t28;
247
- if ($[50] !== isLoadingValue || $[51] !== value) {
248
- t28 = isLoadingValue && value ? /* @__PURE__ */ jsx(Icon, {
252
+ if ($[50] !== className) {
253
+ t28 = cn(className);
254
+ $[50] = className;
255
+ $[51] = t28;
256
+ } else t28 = $[51];
257
+ let t29;
258
+ if ($[52] !== isLoadingValue || $[53] !== value) {
259
+ t29 = isLoadingValue && value ? /* @__PURE__ */ jsx(Icon, {
249
260
  icon: "ph:circle-notch",
250
261
  className: "text-muted-foreground size-3 shrink-0 animate-spin"
251
262
  }) : null;
252
- $[50] = isLoadingValue;
253
- $[51] = value;
254
- $[52] = t28;
255
- } else t28 = $[52];
256
- const t29 = isLoadingValue && value && "text-muted-foreground";
257
- let t30;
258
- if ($[53] !== t29) {
259
- t30 = cn("truncate", t29);
260
- $[53] = t29;
261
- $[54] = t30;
262
- } else t30 = $[54];
263
+ $[52] = isLoadingValue;
264
+ $[53] = value;
265
+ $[54] = t29;
266
+ } else t29 = $[54];
267
+ const t30 = isLoadingValue && value && "text-muted-foreground";
263
268
  let t31;
264
- if ($[55] !== getLabel || $[56] !== resolvedPlaceholder || $[57] !== value) {
265
- t31 = value ? getLabel(value) : resolvedPlaceholder;
266
- $[55] = getLabel;
267
- $[56] = resolvedPlaceholder;
268
- $[57] = value;
269
- $[58] = t31;
270
- } else t31 = $[58];
269
+ if ($[55] !== t30) {
270
+ t31 = cn("truncate", t30);
271
+ $[55] = t30;
272
+ $[56] = t31;
273
+ } else t31 = $[56];
271
274
  let t32;
272
- if ($[59] !== t30 || $[60] !== t31) {
273
- t32 = /* @__PURE__ */ jsx("span", {
274
- className: t30,
275
- children: t31
276
- });
277
- $[59] = t30;
278
- $[60] = t31;
279
- $[61] = t32;
280
- } else t32 = $[61];
275
+ if ($[57] !== getLabel || $[58] !== resolvedPlaceholder || $[59] !== value) {
276
+ t32 = value ? getLabel(value) : resolvedPlaceholder;
277
+ $[57] = getLabel;
278
+ $[58] = resolvedPlaceholder;
279
+ $[59] = value;
280
+ $[60] = t32;
281
+ } else t32 = $[60];
281
282
  let t33;
282
- if ($[62] !== t28 || $[63] !== t32) {
283
- t33 = /* @__PURE__ */ jsxs("span", {
284
- className: "flex min-w-0 flex-1 items-center gap-1.5 truncate",
285
- children: [t28, t32]
283
+ if ($[61] !== t31 || $[62] !== t32) {
284
+ t33 = /* @__PURE__ */ jsx("span", {
285
+ className: t31,
286
+ children: t32
286
287
  });
287
- $[62] = t28;
288
- $[63] = t32;
289
- $[64] = t33;
290
- } else t33 = $[64];
288
+ $[61] = t31;
289
+ $[62] = t32;
290
+ $[63] = t33;
291
+ } else t33 = $[63];
291
292
  let t34;
292
- if ($[65] !== clearable || $[66] !== disabled || $[67] !== handleClear || $[68] !== isLoadingValue || $[69] !== value) {
293
- t34 = clearable && value && !disabled && !isLoadingValue && /* @__PURE__ */ jsx("span", {
293
+ if ($[64] !== t29 || $[65] !== t33) {
294
+ t34 = /* @__PURE__ */ jsxs("span", {
295
+ className: "flex min-w-0 flex-1 items-center gap-1.5 truncate",
296
+ children: [t29, t33]
297
+ });
298
+ $[64] = t29;
299
+ $[65] = t33;
300
+ $[66] = t34;
301
+ } else t34 = $[66];
302
+ let t35;
303
+ if ($[67] !== clearable || $[68] !== disabled || $[69] !== handleClear || $[70] !== isLoadingValue || $[71] !== t || $[72] !== value) {
304
+ t35 = clearable && value && !disabled && !isLoadingValue && /* @__PURE__ */ jsx("span", {
294
305
  "aria-hidden": "true",
295
- title: "Clear selection",
306
+ title: t("relation.clear", "Clear selection"),
296
307
  onPointerDown: handleClear,
297
308
  onClick: handleClear,
298
309
  className: "hover:bg-surface-high -mr-1 inline-flex size-6 items-center justify-center rounded-md opacity-60 transition-[background-color,opacity] hover:opacity-100",
@@ -301,94 +312,96 @@ function SelectSingle(t0) {
301
312
  className: "size-3"
302
313
  })
303
314
  });
304
- $[65] = clearable;
305
- $[66] = disabled;
306
- $[67] = handleClear;
307
- $[68] = isLoadingValue;
308
- $[69] = value;
309
- $[70] = t34;
310
- } else t34 = $[70];
311
- let t35;
312
- if ($[71] === Symbol.for("react.memo_cache_sentinel")) {
313
- t35 = /* @__PURE__ */ jsx(Icon, {
315
+ $[67] = clearable;
316
+ $[68] = disabled;
317
+ $[69] = handleClear;
318
+ $[70] = isLoadingValue;
319
+ $[71] = t;
320
+ $[72] = value;
321
+ $[73] = t35;
322
+ } else t35 = $[73];
323
+ let t36;
324
+ if ($[74] === Symbol.for("react.memo_cache_sentinel")) {
325
+ t36 = /* @__PURE__ */ jsx(Icon, {
314
326
  icon: "ph:caret-up-down",
315
327
  className: "size-3.5 opacity-50"
316
328
  });
317
- $[71] = t35;
318
- } else t35 = $[71];
319
- let t36;
320
- if ($[72] !== t34) {
321
- t36 = /* @__PURE__ */ jsxs("div", {
329
+ $[74] = t36;
330
+ } else t36 = $[74];
331
+ let t37;
332
+ if ($[75] !== t35) {
333
+ t37 = /* @__PURE__ */ jsxs("div", {
322
334
  className: "flex h-full shrink-0 items-center gap-1",
323
- children: [t34, t35]
335
+ children: [t35, t36]
324
336
  });
325
- $[72] = t34;
326
- $[73] = t36;
327
- } else t36 = $[73];
328
- let t37;
329
- if ($[74] !== ariaInvalid || $[75] !== asInputGroupControl || $[76] !== disabled || $[77] !== handleTriggerKeyDown || $[78] !== id || $[79] !== listboxId || $[80] !== open || $[81] !== t26 || $[82] !== t27 || $[83] !== t33 || $[84] !== t36) {
330
- t37 = /* @__PURE__ */ jsxs(FieldSelectTrigger, {
337
+ $[75] = t35;
338
+ $[76] = t37;
339
+ } else t37 = $[76];
340
+ let t38;
341
+ if ($[77] !== ariaInvalid || $[78] !== asInputGroupControl || $[79] !== disabled || $[80] !== handleTriggerKeyDown || $[81] !== id || $[82] !== listboxId || $[83] !== open || $[84] !== t27 || $[85] !== t28 || $[86] !== t34 || $[87] !== t37) {
342
+ t38 = /* @__PURE__ */ jsxs(FieldSelectTrigger, {
331
343
  id,
332
344
  role: "combobox",
333
345
  "aria-expanded": open,
334
346
  "aria-controls": listboxId,
335
347
  "aria-invalid": ariaInvalid,
336
348
  disabled,
337
- hasValue: t26,
349
+ hasValue: t27,
338
350
  onKeyDown: handleTriggerKeyDown,
339
351
  asInputGroupControl,
340
- className: t27,
341
- children: [t33, t36]
352
+ className: t28,
353
+ children: [t34, t37]
342
354
  });
343
- $[74] = ariaInvalid;
344
- $[75] = asInputGroupControl;
345
- $[76] = disabled;
346
- $[77] = handleTriggerKeyDown;
347
- $[78] = id;
348
- $[79] = listboxId;
349
- $[80] = open;
350
- $[81] = t26;
351
- $[82] = t27;
352
- $[83] = t33;
353
- $[84] = t36;
354
- $[85] = t37;
355
- } else t37 = $[85];
356
- const TriggerButton = t37;
357
- const t38 = showSearchInput && !loadOptions;
358
- let t39;
359
- if ($[86] !== search || $[87] !== showSearchInput) {
360
- t39 = showSearchInput && /* @__PURE__ */ jsx(CommandInput, {
361
- placeholder: "Search...",
355
+ $[77] = ariaInvalid;
356
+ $[78] = asInputGroupControl;
357
+ $[79] = disabled;
358
+ $[80] = handleTriggerKeyDown;
359
+ $[81] = id;
360
+ $[82] = listboxId;
361
+ $[83] = open;
362
+ $[84] = t27;
363
+ $[85] = t28;
364
+ $[86] = t34;
365
+ $[87] = t37;
366
+ $[88] = t38;
367
+ } else t38 = $[88];
368
+ const TriggerButton = t38;
369
+ const t39 = showSearchInput && !loadOptions;
370
+ let t40;
371
+ if ($[89] !== search || $[90] !== showSearchInput || $[91] !== t) {
372
+ t40 = showSearchInput && /* @__PURE__ */ jsx(CommandInput, {
373
+ placeholder: t("ui.searchPlaceholder", "Search..."),
362
374
  value: search,
363
375
  onValueChange: setSearch
364
376
  });
365
- $[86] = search;
366
- $[87] = showSearchInput;
367
- $[88] = t39;
368
- } else t39 = $[88];
369
- let t40;
370
- if ($[89] !== showLoading) {
371
- t40 = showLoading && /* @__PURE__ */ jsx("div", {
377
+ $[89] = search;
378
+ $[90] = showSearchInput;
379
+ $[91] = t;
380
+ $[92] = t40;
381
+ } else t40 = $[92];
382
+ let t41;
383
+ if ($[93] !== showLoading) {
384
+ t41 = showLoading && /* @__PURE__ */ jsx("div", {
372
385
  className: "flex items-center justify-center py-6",
373
386
  children: /* @__PURE__ */ jsx(Icon, {
374
387
  icon: "ph:circle-notch",
375
388
  className: "text-muted-foreground size-4 animate-spin"
376
389
  })
377
390
  });
378
- $[89] = showLoading;
379
- $[90] = t40;
380
- } else t40 = $[90];
381
- let t41;
382
- if ($[91] !== resolvedEmptyMessage) {
383
- t41 = /* @__PURE__ */ jsx(CommandEmpty, { children: resolvedEmptyMessage });
384
- $[91] = resolvedEmptyMessage;
385
- $[92] = t41;
386
- } else t41 = $[92];
391
+ $[93] = showLoading;
392
+ $[94] = t41;
393
+ } else t41 = $[94];
387
394
  let t42;
388
- if ($[93] !== filteredOptions || $[94] !== handleSelect || $[95] !== resolveText || $[96] !== value) {
389
- let t43$1;
390
- if ($[98] !== handleSelect || $[99] !== resolveText || $[100] !== value) {
391
- t43$1 = (option_0) => /* @__PURE__ */ jsxs(CommandItem, {
395
+ if ($[95] !== resolvedEmptyMessage) {
396
+ t42 = /* @__PURE__ */ jsx(CommandEmpty, { children: resolvedEmptyMessage });
397
+ $[95] = resolvedEmptyMessage;
398
+ $[96] = t42;
399
+ } else t42 = $[96];
400
+ let t43;
401
+ if ($[97] !== filteredOptions || $[98] !== handleSelect || $[99] !== resolveText || $[100] !== value) {
402
+ let t44$1;
403
+ if ($[102] !== handleSelect || $[103] !== resolveText || $[104] !== value) {
404
+ t44$1 = (option_0) => /* @__PURE__ */ jsxs(CommandItem, {
392
405
  value: String(option_0.value),
393
406
  onSelect: handleSelect,
394
407
  disabled: option_0.disabled,
@@ -398,127 +411,127 @@ function SelectSingle(t0) {
398
411
  children: resolveText(option_0.label)
399
412
  })]
400
413
  }, String(option_0.value));
401
- $[98] = handleSelect;
402
- $[99] = resolveText;
403
- $[100] = value;
404
- $[101] = t43$1;
405
- } else t43$1 = $[101];
406
- t42 = filteredOptions.map(t43$1);
407
- $[93] = filteredOptions;
408
- $[94] = handleSelect;
409
- $[95] = resolveText;
410
- $[96] = value;
411
- $[97] = t42;
412
- } else t42 = $[97];
413
- let t43;
414
- if ($[102] !== t42) {
415
- t43 = /* @__PURE__ */ jsx(CommandGroup, { children: t42 });
416
- $[102] = t42;
417
- $[103] = t43;
418
- } else t43 = $[103];
414
+ $[102] = handleSelect;
415
+ $[103] = resolveText;
416
+ $[104] = value;
417
+ $[105] = t44$1;
418
+ } else t44$1 = $[105];
419
+ t43 = filteredOptions.map(t44$1);
420
+ $[97] = filteredOptions;
421
+ $[98] = handleSelect;
422
+ $[99] = resolveText;
423
+ $[100] = value;
424
+ $[101] = t43;
425
+ } else t43 = $[101];
419
426
  let t44;
420
- if ($[104] !== listboxId || $[105] !== t40 || $[106] !== t41 || $[107] !== t43) {
421
- t44 = /* @__PURE__ */ jsxs(CommandList, {
427
+ if ($[106] !== t43) {
428
+ t44 = /* @__PURE__ */ jsx(CommandGroup, { children: t43 });
429
+ $[106] = t43;
430
+ $[107] = t44;
431
+ } else t44 = $[107];
432
+ let t45;
433
+ if ($[108] !== listboxId || $[109] !== t41 || $[110] !== t42 || $[111] !== t44) {
434
+ t45 = /* @__PURE__ */ jsxs(CommandList, {
422
435
  id: listboxId,
423
436
  children: [
424
- t40,
425
437
  t41,
426
- t43
438
+ t42,
439
+ t44
427
440
  ]
428
441
  });
429
- $[104] = listboxId;
430
- $[105] = t40;
431
- $[106] = t41;
432
- $[107] = t43;
433
- $[108] = t44;
434
- } else t44 = $[108];
435
- let t45;
436
- if ($[109] !== t38 || $[110] !== t39 || $[111] !== t44) {
437
- t45 = /* @__PURE__ */ jsxs(Command, {
438
- shouldFilter: t38,
439
- children: [t39, t44]
440
- });
441
- $[109] = t38;
442
- $[110] = t39;
442
+ $[108] = listboxId;
443
+ $[109] = t41;
444
+ $[110] = t42;
443
445
  $[111] = t44;
444
446
  $[112] = t45;
445
447
  } else t45 = $[112];
446
- const CommandContent = t45;
448
+ let t46;
449
+ if ($[113] !== t39 || $[114] !== t40 || $[115] !== t45) {
450
+ t46 = /* @__PURE__ */ jsxs(Command, {
451
+ shouldFilter: t39,
452
+ children: [t40, t45]
453
+ });
454
+ $[113] = t39;
455
+ $[114] = t40;
456
+ $[115] = t45;
457
+ $[116] = t46;
458
+ } else t46 = $[116];
459
+ const CommandContent = t46;
447
460
  if (isMobile) {
448
- let t46$1;
449
- if ($[113] !== TriggerButton) {
450
- t46$1 = /* @__PURE__ */ jsx(DrawerTrigger, {
461
+ let t47$1;
462
+ if ($[117] !== TriggerButton) {
463
+ t47$1 = /* @__PURE__ */ jsx(DrawerTrigger, {
451
464
  asChild: true,
452
465
  children: TriggerButton
453
466
  });
454
- $[113] = TriggerButton;
455
- $[114] = t46$1;
456
- } else t46$1 = $[114];
457
- let t47$1;
458
- if ($[115] !== resolvedDrawerTitle) {
459
- t47$1 = /* @__PURE__ */ jsx(DrawerHeader, { children: /* @__PURE__ */ jsx(DrawerTitle, { children: resolvedDrawerTitle }) });
460
- $[115] = resolvedDrawerTitle;
461
- $[116] = t47$1;
462
- } else t47$1 = $[116];
467
+ $[117] = TriggerButton;
468
+ $[118] = t47$1;
469
+ } else t47$1 = $[118];
463
470
  let t48$1;
464
- if ($[117] !== CommandContent) {
465
- t48$1 = /* @__PURE__ */ jsx("div", {
471
+ if ($[119] !== resolvedDrawerTitle) {
472
+ t48$1 = /* @__PURE__ */ jsx(DrawerHeader, { children: /* @__PURE__ */ jsx(DrawerTitle, { children: resolvedDrawerTitle }) });
473
+ $[119] = resolvedDrawerTitle;
474
+ $[120] = t48$1;
475
+ } else t48$1 = $[120];
476
+ let t49$1;
477
+ if ($[121] !== CommandContent) {
478
+ t49$1 = /* @__PURE__ */ jsx("div", {
466
479
  className: "px-4 pb-6",
467
480
  children: CommandContent
468
481
  });
469
- $[117] = CommandContent;
470
- $[118] = t48$1;
471
- } else t48$1 = $[118];
472
- let t49;
473
- if ($[119] !== t47$1 || $[120] !== t48$1) {
474
- t49 = /* @__PURE__ */ jsxs(DrawerContent, { children: [t47$1, t48$1] });
475
- $[119] = t47$1;
476
- $[120] = t48$1;
477
- $[121] = t49;
478
- } else t49 = $[121];
482
+ $[121] = CommandContent;
483
+ $[122] = t49$1;
484
+ } else t49$1 = $[122];
479
485
  let t50;
480
- if ($[122] !== open || $[123] !== t46$1 || $[124] !== t49) {
481
- t50 = /* @__PURE__ */ jsxs(Drawer, {
486
+ if ($[123] !== t48$1 || $[124] !== t49$1) {
487
+ t50 = /* @__PURE__ */ jsxs(DrawerContent, { children: [t48$1, t49$1] });
488
+ $[123] = t48$1;
489
+ $[124] = t49$1;
490
+ $[125] = t50;
491
+ } else t50 = $[125];
492
+ let t51;
493
+ if ($[126] !== open || $[127] !== t47$1 || $[128] !== t50) {
494
+ t51 = /* @__PURE__ */ jsxs(Drawer, {
482
495
  open,
483
496
  onOpenChange: setOpen,
484
- children: [t46$1, t49]
497
+ children: [t47$1, t50]
485
498
  });
486
- $[122] = open;
487
- $[123] = t46$1;
488
- $[124] = t49;
489
- $[125] = t50;
490
- } else t50 = $[125];
491
- return t50;
499
+ $[126] = open;
500
+ $[127] = t47$1;
501
+ $[128] = t50;
502
+ $[129] = t51;
503
+ } else t51 = $[129];
504
+ return t51;
492
505
  }
493
- let t46;
494
- if ($[126] !== TriggerButton) {
495
- t46 = /* @__PURE__ */ jsx(PopoverTrigger, { render: TriggerButton });
496
- $[126] = TriggerButton;
497
- $[127] = t46;
498
- } else t46 = $[127];
499
506
  let t47;
500
- if ($[128] !== CommandContent) {
501
- t47 = /* @__PURE__ */ jsx(PopoverContent, {
507
+ if ($[130] !== TriggerButton) {
508
+ t47 = /* @__PURE__ */ jsx(PopoverTrigger, { render: TriggerButton });
509
+ $[130] = TriggerButton;
510
+ $[131] = t47;
511
+ } else t47 = $[131];
512
+ let t48;
513
+ if ($[132] !== CommandContent) {
514
+ t48 = /* @__PURE__ */ jsx(PopoverContent, {
502
515
  className: "w-(--anchor-width) p-0",
503
516
  align: "start",
504
517
  children: CommandContent
505
518
  });
506
- $[128] = CommandContent;
507
- $[129] = t47;
508
- } else t47 = $[129];
509
- let t48;
510
- if ($[130] !== open || $[131] !== t46 || $[132] !== t47) {
511
- t48 = /* @__PURE__ */ jsxs(Popover, {
519
+ $[132] = CommandContent;
520
+ $[133] = t48;
521
+ } else t48 = $[133];
522
+ let t49;
523
+ if ($[134] !== open || $[135] !== t47 || $[136] !== t48) {
524
+ t49 = /* @__PURE__ */ jsxs(Popover, {
512
525
  open,
513
526
  onOpenChange: setOpen,
514
- children: [t46, t47]
527
+ children: [t47, t48]
515
528
  });
516
- $[130] = open;
517
- $[131] = t46;
518
- $[132] = t47;
519
- $[133] = t48;
520
- } else t48 = $[133];
521
- return t48;
529
+ $[134] = open;
530
+ $[135] = t47;
531
+ $[136] = t48;
532
+ $[137] = t49;
533
+ } else t49 = $[137];
534
+ return t49;
522
535
  }
523
536
  function _temp(map, opt) {
524
537
  return new Map(map).set(opt.value, opt);