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