@panneau/lists 5.0.0-alpha.15 → 5.0.0-alpha.17

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 (59) hide show
  1. package/dist/ListView.d.ts +7 -1
  2. package/dist/ListView.d.ts.map +1 -1
  3. package/dist/ListView.js +302 -297
  4. package/dist/ListView.js.map +1 -1
  5. package/dist/actions/ActionButton.d.ts +7 -1
  6. package/dist/actions/ActionButton.d.ts.map +1 -1
  7. package/dist/actions/ActionButton.js +74 -72
  8. package/dist/actions/ActionButton.js.map +1 -1
  9. package/dist/actions/Actions.css +12 -0
  10. package/dist/actions/Actions.module.js +6 -2
  11. package/dist/actions/Actions.module.js.map +1 -1
  12. package/dist/actions/RowActions.d.ts +21 -4
  13. package/dist/actions/RowActions.d.ts.map +1 -1
  14. package/dist/actions/RowActions.js +149 -84
  15. package/dist/actions/RowActions.js.map +1 -1
  16. package/dist/actions/fit.d.ts +25 -0
  17. package/dist/actions/fit.d.ts.map +1 -0
  18. package/dist/actions/fit.js +197 -0
  19. package/dist/actions/fit.js.map +1 -0
  20. package/dist/actions/icons.d.ts +5 -0
  21. package/dist/actions/icons.d.ts.map +1 -1
  22. package/dist/actions/icons.js +15 -1
  23. package/dist/actions/icons.js.map +1 -1
  24. package/dist/displays/Displays.css +19 -1
  25. package/dist/displays/Displays.module.js +8 -2
  26. package/dist/displays/Displays.module.js.map +1 -1
  27. package/dist/displays/displays.d.ts +31 -8
  28. package/dist/displays/displays.d.ts.map +1 -1
  29. package/dist/displays/displays.js +615 -164
  30. package/dist/displays/displays.js.map +1 -1
  31. package/dist/index.d.ts +1 -1
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +2 -2
  34. package/dist/layouts/CalendarLayout.d.ts +4 -4
  35. package/dist/layouts/CalendarLayout.d.ts.map +1 -1
  36. package/dist/layouts/CalendarLayout.js +25 -20
  37. package/dist/layouts/CalendarLayout.js.map +1 -1
  38. package/dist/layouts/CardsLayout.d.ts.map +1 -1
  39. package/dist/layouts/CardsLayout.js +90 -93
  40. package/dist/layouts/CardsLayout.js.map +1 -1
  41. package/dist/layouts/GalleryLayout.css +7 -0
  42. package/dist/layouts/GalleryLayout.d.ts.map +1 -1
  43. package/dist/layouts/GalleryLayout.js +76 -53
  44. package/dist/layouts/GalleryLayout.js.map +1 -1
  45. package/dist/layouts/GalleryLayout.module.js.map +1 -1
  46. package/dist/layouts/TableLayout.d.ts.map +1 -1
  47. package/dist/layouts/TableLayout.js +120 -93
  48. package/dist/layouts/TableLayout.js.map +1 -1
  49. package/dist/layouts/calendarDays.d.ts +14 -0
  50. package/dist/layouts/calendarDays.d.ts.map +1 -0
  51. package/dist/layouts/calendarDays.js +44 -0
  52. package/dist/layouts/calendarDays.js.map +1 -0
  53. package/dist/query.d.ts +3 -2
  54. package/dist/query.d.ts.map +1 -1
  55. package/dist/query.js +15 -4
  56. package/dist/query.js.map +1 -1
  57. package/dist/types.d.ts +9 -1
  58. package/dist/types.d.ts.map +1 -1
  59. package/package.json +7 -7
package/dist/ListView.js CHANGED
@@ -2,13 +2,14 @@ import { getActionHref, groupListActions, hasScope, isAllowedOn } from "./action
2
2
  import { messages } from "./messages.js";
3
3
  import { ConfirmDialog, needsConfirmation } from "./actions/ConfirmDialog.js";
4
4
  import { getColumnValue, toText } from "./values.js";
5
+ import { getCalendarTimeZone } from "./layouts/calendarDays.js";
5
6
  import { cx } from "./cx.js";
6
7
  import { builtInLayouts } from "./layouts/builtIn.js";
7
8
  import { useRenderValue } from "./useRenderValue.js";
8
9
  import { ListSkeleton } from "./ListSkeleton.js";
9
10
  import ListView_module_default from "./ListView.module.js";
10
11
  import { ActionButton } from "./actions/ActionButton.js";
11
- import { RowActions } from "./actions/RowActions.js";
12
+ import { RowActions, orderRowActions } from "./actions/RowActions.js";
12
13
  import { getShownColumns } from "./columns.js";
13
14
  import { FilterChips, FilterControls, useFilterLabels } from "./filters/Filters.js";
14
15
  import { getImageUrl } from "./images.js";
@@ -37,8 +38,8 @@ function keyOf(action, item) {
37
38
  * fetches nothing: the caller gives the items of the list's query and their total.
38
39
  */
39
40
  function ListView(t0) {
40
- const $ = c(118);
41
- const { list, items, columns: allColumns, columnChoice: t1, total, cursors, isLoading: t2, error: t3, onRetry, filters: t4, fields: t5, search: t6, layouts: t7, layout: controlledLayout, onLayoutChange, perPageOptions, selectable: selectableProp, actions: actionsProp, onAction, previewAction, actionIcons, itemTitle, itemImage, calendar: t8, getItemLabel: getItemLabelProp, getItemHref, getLinkHref, currentItemId: t9, displays, layoutComponents, filterControls, inlineEdit: t10, onInlineEdit, formatError: t11, toolbar, emptyMessage, "aria-label": ariaLabel, className } = t0;
41
+ const $ = c(116);
42
+ const { list, items, columns: allColumns, columnChoice: t1, total, cursors, isLoading: t2, error: t3, onRetry, filters: t4, fields: t5, search: t6, layouts: t7, layout: controlledLayout, onLayoutChange, perPageOptions, selectable: selectableProp, actions: actionsProp, onAction, previewAction, actionIcons, itemTitle, itemImage, calendar: t8, primaryAction: primaryActionProp, getItemLabel: getItemLabelProp, getItemHref, getLinkHref, currentItemId: t9, displays, layoutComponents, filterControls, inlineEdit: t10, onInlineEdit, formatError: t11, toolbar, emptyMessage, "aria-label": ariaLabel, className } = t0;
42
43
  const columnChoice = t1 === void 0 ? true : t1;
43
44
  const isLoading = t2 === void 0 ? false : t2;
44
45
  const error = t3 === void 0 ? null : t3;
@@ -49,13 +50,7 @@ function ListView(t0) {
49
50
  $[1] = t12;
50
51
  } else t12 = $[1];
51
52
  const filtersProp = t12;
52
- let t13;
53
- if ($[2] !== t5) {
54
- t13 = t5 === void 0 ? [] : t5;
55
- $[2] = t5;
56
- $[3] = t13;
57
- } else t13 = $[3];
58
- const fields = t13;
53
+ const fields = t5 === void 0 ? [] : t5;
59
54
  const search = t6 === void 0 ? false : t6;
60
55
  const layoutsProp = t7 === void 0 ? ["table"] : t7;
61
56
  const calendar = t8 === void 0 ? null : t8;
@@ -71,15 +66,15 @@ function ListView(t0) {
71
66
  const [preview, setPreview] = useState(null);
72
67
  const confirmation = useRef(0);
73
68
  const [pending, setPending] = useState(null);
69
+ let t13;
70
+ if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
71
+ t13 = {};
72
+ $[2] = t13;
73
+ } else t13 = $[2];
74
+ const [saved, setSaved] = useState(t13);
74
75
  let t14;
75
- if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
76
- t14 = {};
77
- $[4] = t14;
78
- } else t14 = $[4];
79
- const [saved, setSaved] = useState(t14);
80
- let t15;
81
- if ($[5] !== items) {
82
- t15 = (item) => {
76
+ if ($[3] !== items) {
77
+ t14 = (item) => {
83
78
  const base = items?.find((candidate) => candidate.id === item.id);
84
79
  if (base !== void 0) setSaved((current) => ({
85
80
  ...current,
@@ -89,109 +84,109 @@ function ListView(t0) {
89
84
  }
90
85
  }));
91
86
  };
92
- $[5] = items;
93
- $[6] = t15;
94
- } else t15 = $[6];
95
- const showItem = t15;
87
+ $[3] = items;
88
+ $[4] = t14;
89
+ } else t14 = $[4];
90
+ const showItem = t14;
91
+ let t15;
92
+ if ($[5] !== ariaLabel || $[6] !== intl) {
93
+ t15 = ariaLabel ?? intl.formatMessage(messages.list);
94
+ $[5] = ariaLabel;
95
+ $[6] = intl;
96
+ $[7] = t15;
97
+ } else t15 = $[7];
98
+ const label = t15;
96
99
  let t16;
97
- if ($[7] !== ariaLabel || $[8] !== intl) {
98
- t16 = ariaLabel ?? intl.formatMessage(messages.list);
99
- $[7] = ariaLabel;
100
- $[8] = intl;
100
+ if ($[8] !== saved) {
101
+ t16 = (item_0) => saved[item_0.id]?.base === item_0 ? saved[item_0.id]?.item ?? item_0 : item_0;
102
+ $[8] = saved;
101
103
  $[9] = t16;
102
104
  } else t16 = $[9];
103
- const label = t16;
105
+ const pageItems = (items ?? []).map(t16);
106
+ const count = total ?? pageItems.length;
104
107
  let t17;
105
- if ($[10] !== saved) {
106
- t17 = (item_0) => saved[item_0.id]?.base === item_0 ? saved[item_0.id]?.item ?? item_0 : item_0;
107
- $[10] = saved;
108
+ if ($[10] !== query.sort) {
109
+ t17 = query.sort ?? [];
110
+ $[10] = query.sort;
108
111
  $[11] = t17;
109
112
  } else t17 = $[11];
110
- const pageItems = (items ?? []).map(t17);
111
- const count = total ?? pageItems.length;
113
+ const sort = t17;
112
114
  let t18;
113
- if ($[12] !== query.sort) {
114
- t18 = query.sort ?? [];
115
- $[12] = query.sort;
115
+ if ($[12] !== plugins.listLayouts) {
116
+ t18 = Object.fromEntries(plugins.listLayouts);
117
+ $[12] = plugins.listLayouts;
116
118
  $[13] = t18;
117
119
  } else t18 = $[13];
118
- const sort = t18;
119
- let t19;
120
- if ($[14] !== plugins.listLayouts) {
121
- t19 = Object.fromEntries(plugins.listLayouts);
122
- $[14] = plugins.listLayouts;
123
- $[15] = t19;
124
- } else t19 = $[15];
125
- const t20 = t19;
126
- let t21;
127
- if ($[16] !== layoutComponents || $[17] !== t20) {
128
- t21 = {
120
+ const t19 = t18;
121
+ let t20;
122
+ if ($[14] !== layoutComponents || $[15] !== t19) {
123
+ t20 = {
129
124
  ...builtInLayouts,
130
- ...t20,
125
+ ...t19,
131
126
  ...layoutComponents
132
127
  };
133
- $[16] = layoutComponents;
134
- $[17] = t20;
135
- $[18] = t21;
136
- } else t21 = $[18];
137
- const allLayouts = t21;
138
- let t22;
139
- if ($[19] !== allLayouts || $[20] !== calendar || $[21] !== itemImage) {
140
- t22 = (id) => allLayouts[id] !== void 0 && (id !== "gallery" || itemImage !== void 0) && (id !== "calendar" || calendar !== null);
141
- $[19] = allLayouts;
142
- $[20] = calendar;
143
- $[21] = itemImage;
144
- $[22] = t22;
145
- } else t22 = $[22];
146
- const available = layoutsProp.filter(t22);
128
+ $[14] = layoutComponents;
129
+ $[15] = t19;
130
+ $[16] = t20;
131
+ } else t20 = $[16];
132
+ const allLayouts = t20;
133
+ let t21;
134
+ if ($[17] !== allLayouts || $[18] !== calendar || $[19] !== itemImage) {
135
+ t21 = (id) => allLayouts[id] !== void 0 && (id !== "gallery" || itemImage !== void 0) && (id !== "calendar" || calendar !== null);
136
+ $[17] = allLayouts;
137
+ $[18] = calendar;
138
+ $[19] = itemImage;
139
+ $[20] = t21;
140
+ } else t21 = $[20];
141
+ const available = layoutsProp.filter(t21);
147
142
  const layouts = available.length > 0 ? available : ["table"];
148
143
  const chosenLayout = view.layout !== void 0 && layouts.includes(view.layout) ? view.layout : void 0;
149
144
  const layout = controlledLayout ?? chosenLayout ?? layouts[0] ?? "table";
150
145
  const columns = getShownColumns(allColumns, view.columns);
151
146
  const Layout = allLayouts[layout] ?? builtInLayouts.table;
152
147
  const inCalendar = layout === "calendar" && calendar !== null;
148
+ let t22;
149
+ if ($[21] !== calendar || $[22] !== filtersProp || $[23] !== inCalendar) {
150
+ t22 = inCalendar ? filtersProp.filter((filter) => filter.id !== calendar.filter) : filtersProp;
151
+ $[21] = calendar;
152
+ $[22] = filtersProp;
153
+ $[23] = inCalendar;
154
+ $[24] = t22;
155
+ } else t22 = $[24];
156
+ const filters = t22;
153
157
  let t23;
154
- if ($[23] !== calendar || $[24] !== filtersProp || $[25] !== inCalendar) {
155
- t23 = inCalendar ? filtersProp.filter((filter) => filter.id !== calendar.filter) : filtersProp;
156
- $[23] = calendar;
157
- $[24] = filtersProp;
158
- $[25] = inCalendar;
159
- $[26] = t23;
160
- } else t23 = $[26];
161
- const filters = t23;
162
- let t24;
163
- if ($[27] !== calendar || $[28] !== inCalendar || $[29] !== query.filter) {
164
- t24 = Object.fromEntries(Object.entries(query.filter ?? {}).filter((t25) => {
165
- const [id_0] = t25;
158
+ if ($[25] !== calendar || $[26] !== inCalendar || $[27] !== query.filter) {
159
+ t23 = Object.fromEntries(Object.entries(query.filter ?? {}).filter((t24) => {
160
+ const [id_0] = t24;
166
161
  return !(inCalendar && id_0 === calendar.filter);
167
162
  }));
168
- $[27] = calendar;
169
- $[28] = inCalendar;
170
- $[29] = query.filter;
171
- $[30] = t24;
172
- } else t24 = $[30];
173
- const filterValues = t24;
174
- let t25;
175
- if ($[31] !== filterValues || $[32] !== query.q) {
176
- t25 = Object.keys(filterValues).length > 0 || (query.q ?? "") !== "";
177
- $[31] = filterValues;
178
- $[32] = query.q;
179
- $[33] = t25;
180
- } else t25 = $[33];
181
- const hasQuery = t25;
163
+ $[25] = calendar;
164
+ $[26] = inCalendar;
165
+ $[27] = query.filter;
166
+ $[28] = t23;
167
+ } else t23 = $[28];
168
+ const filterValues = t23;
169
+ let t24;
170
+ if ($[29] !== filterValues || $[30] !== query.q) {
171
+ t24 = Object.keys(filterValues).length > 0 || (query.q ?? "") !== "";
172
+ $[29] = filterValues;
173
+ $[30] = query.q;
174
+ $[31] = t24;
175
+ } else t24 = $[31];
176
+ const hasQuery = t24;
182
177
  const grouped = groupListActions(actionsProp);
183
178
  const toolbarActions = [...grouped.toolbar, ...grouped.menu].filter(_temp);
184
179
  const selectionActions = toolbarActions.filter(_temp2);
185
180
  const resourceActions = toolbarActions.filter(_temp3);
186
181
  const selectable = selectableProp ?? selectionActions.length > 0;
187
182
  const selectedCount = selectable ? countSelected(selection, count) : 0;
188
- let t26;
189
- if ($[34] !== selection) {
190
- t26 = (item_1) => isItemSelected(selection, item_1.id);
191
- $[34] = selection;
192
- $[35] = t26;
193
- } else t26 = $[35];
194
- const selectedItems = pageItems.filter(t26);
183
+ let t25;
184
+ if ($[32] !== selection) {
185
+ t25 = (item_1) => isItemSelected(selection, item_1.id);
186
+ $[32] = selection;
187
+ $[33] = t25;
188
+ } else t25 = $[33];
189
+ const selectedItems = pageItems.filter(t25);
195
190
  const pageSelection = getPageSelection(selection, pageItems);
196
191
  const getItemLabel = (item_2) => {
197
192
  if (getItemLabelProp !== void 0) return getItemLabelProp(item_2);
@@ -285,28 +280,34 @@ function ListView(t0) {
285
280
  count,
286
281
  skipped: []
287
282
  });
288
- const renderActions = (item_6) => {
289
- const allowed = selectItemActions(grouped.row, item_6, "row", { getLinkHref });
290
- const menu = selectItemActions(grouped.menu, item_6, "menu", { getLinkHref });
283
+ const pageActions = pageItems.map((item_6) => [...selectItemActions(grouped.row, item_6, "row", { getLinkHref }), ...selectItemActions(grouped.menu, item_6, "menu", { getLinkHref })]);
284
+ const firstOf = (action_6) => pageActions.flat().find((entry) => entry.action.id === action_6.id) ?? [];
285
+ const slots = orderRowActions(grouped.row.flatMap(firstOf), grouped.menu.flatMap(firstOf));
286
+ const primaryAction = primaryActionProp !== void 0 ? primaryActionProp : ["show", "edit"].find((id_1) => slots.some((slot) => slot.action.id === id_1)) ?? null;
287
+ const renderActions = (item_7) => {
288
+ const allowed = selectItemActions(grouped.row, item_7, "row", { getLinkHref });
289
+ const menu = selectItemActions(grouped.menu, item_7, "menu", { getLinkHref });
291
290
  if (allowed.length === 0 && menu.length === 0) return null;
292
- const running = pending?.endsWith(`\u0000${item_6.id}`) === true ? pending.split("\0")[0] : null;
291
+ const running = pending?.endsWith(`\u0000${item_7.id}`) === true ? pending.split("\0")[0] : null;
293
292
  return /* @__PURE__ */ jsx(RowActions, {
294
- itemLabel: getItemLabel(item_6),
293
+ itemLabel: getItemLabel(item_7),
295
294
  actions: allowed,
296
295
  menu,
297
296
  pending: running ?? null,
298
- onRun: (action_6) => runOnItem(action_6, item_6),
299
- icons: actionIcons
297
+ onRun: (action_7) => runOnItem(action_7, item_7),
298
+ icons: actionIcons,
299
+ slots,
300
+ primary: primaryAction
300
301
  });
301
302
  };
302
- let t27;
303
- if ($[36] !== intl) {
304
- t27 = intl.formatMessage(messages.selectPage);
305
- $[36] = intl;
306
- $[37] = t27;
307
- } else t27 = $[37];
303
+ let t26;
304
+ if ($[34] !== intl) {
305
+ t26 = intl.formatMessage(messages.selectPage);
306
+ $[34] = intl;
307
+ $[35] = t26;
308
+ } else t26 = $[35];
308
309
  const pageCheckbox = /* @__PURE__ */ jsx(Checkbox, {
309
- "aria-label": t27,
310
+ "aria-label": t26,
310
311
  isSelected: pageSelection === "all",
311
312
  isIndeterminate: pageSelection === "some",
312
313
  isDisabled: pageItems.length === 0,
@@ -319,56 +320,56 @@ function ListView(t0) {
319
320
  const sortable = allColumns.some(_temp5);
320
321
  const choosesColumns = columnChoice && allColumns.length > 1;
321
322
  const showToolbar = search || filters.length > 0 || sortable || choosesColumns || layouts.length > 1 || resourceActions.length > 0 || toolbar !== void 0;
322
- let t28;
323
- if ($[38] !== filterValues || $[39] !== list || $[40] !== query.q) {
324
- t28 = function clearFilters() {
325
- Object.keys(filterValues).forEach((id_1) => list.setFilter(id_1, void 0));
323
+ let t27;
324
+ if ($[36] !== filterValues || $[37] !== list || $[38] !== query.q) {
325
+ t27 = function clearFilters() {
326
+ Object.keys(filterValues).forEach((id_2) => list.setFilter(id_2, void 0));
326
327
  if ((query.q ?? "") !== "") list.setSearch("");
327
328
  };
328
- $[38] = filterValues;
329
- $[39] = list;
330
- $[40] = query.q;
331
- $[41] = t28;
332
- } else t28 = $[41];
333
- const clearFilters = t28;
334
- let t29;
329
+ $[36] = filterValues;
330
+ $[37] = list;
331
+ $[38] = query.q;
332
+ $[39] = t27;
333
+ } else t27 = $[39];
334
+ const clearFilters = t27;
335
+ let t28;
335
336
  bb0: {
336
337
  if (error !== null) {
338
+ let t29;
339
+ if ($[40] !== intl) {
340
+ t29 = intl.formatMessage(messages.loadFailed);
341
+ $[40] = intl;
342
+ $[41] = t29;
343
+ } else t29 = $[41];
337
344
  let t30;
338
- if ($[42] !== intl) {
339
- t30 = intl.formatMessage(messages.loadFailed);
340
- $[42] = intl;
341
- $[43] = t30;
342
- } else t30 = $[43];
343
- let t31;
344
- if ($[44] !== intl || $[45] !== onRetry) {
345
- t31 = onRetry !== void 0 ? /* @__PURE__ */ jsx(Button, {
345
+ if ($[42] !== intl || $[43] !== onRetry) {
346
+ t30 = onRetry !== void 0 ? /* @__PURE__ */ jsx(Button, {
346
347
  size: "sm",
347
348
  onPress: onRetry,
348
349
  children: intl.formatMessage(messages.retry)
349
350
  }) : void 0;
350
- $[44] = intl;
351
- $[45] = onRetry;
352
- $[46] = t31;
353
- } else t31 = $[46];
354
- let t32;
355
- if ($[47] !== error.message || $[48] !== t30 || $[49] !== t31) {
356
- t32 = /* @__PURE__ */ jsx(Alert, {
351
+ $[42] = intl;
352
+ $[43] = onRetry;
353
+ $[44] = t30;
354
+ } else t30 = $[44];
355
+ let t31;
356
+ if ($[45] !== error.message || $[46] !== t29 || $[47] !== t30) {
357
+ t31 = /* @__PURE__ */ jsx(Alert, {
357
358
  tone: "danger",
358
- title: t30,
359
- actions: t31,
359
+ title: t29,
360
+ actions: t30,
360
361
  children: error.message
361
362
  });
362
- $[47] = error.message;
363
- $[48] = t30;
364
- $[49] = t31;
365
- $[50] = t32;
366
- } else t32 = $[50];
367
- t29 = t32;
363
+ $[45] = error.message;
364
+ $[46] = t29;
365
+ $[47] = t30;
366
+ $[48] = t31;
367
+ } else t31 = $[48];
368
+ t28 = t31;
368
369
  break bb0;
369
370
  }
370
371
  if (items === void 0) {
371
- t29 = /* @__PURE__ */ jsx(ListSkeleton, {
372
+ t28 = /* @__PURE__ */ jsx(ListSkeleton, {
372
373
  Layout,
373
374
  columns,
374
375
  perPage: query.perPage,
@@ -378,108 +379,109 @@ function ListView(t0) {
378
379
  break bb0;
379
380
  }
380
381
  if (pageItems.length === 0 && !inCalendar) {
382
+ let t29;
383
+ if ($[49] !== emptyMessage || $[50] !== hasQuery || $[51] !== intl) {
384
+ t29 = hasQuery ? intl.formatMessage(messages.noResults) : emptyMessage ?? intl.formatMessage(messages.empty);
385
+ $[49] = emptyMessage;
386
+ $[50] = hasQuery;
387
+ $[51] = intl;
388
+ $[52] = t29;
389
+ } else t29 = $[52];
381
390
  let t30;
382
- if ($[51] !== emptyMessage || $[52] !== hasQuery || $[53] !== intl) {
383
- t30 = hasQuery ? intl.formatMessage(messages.noResults) : emptyMessage ?? intl.formatMessage(messages.empty);
384
- $[51] = emptyMessage;
385
- $[52] = hasQuery;
386
- $[53] = intl;
391
+ if ($[53] !== t29) {
392
+ t30 = /* @__PURE__ */ jsx("p", { children: t29 });
393
+ $[53] = t29;
387
394
  $[54] = t30;
388
395
  } else t30 = $[54];
389
396
  let t31;
390
- if ($[55] !== t30) {
391
- t31 = /* @__PURE__ */ jsx("p", { children: t30 });
392
- $[55] = t30;
393
- $[56] = t31;
394
- } else t31 = $[56];
395
- let t32;
396
- if ($[57] !== clearFilters || $[58] !== hasQuery || $[59] !== intl) {
397
- t32 = hasQuery ? /* @__PURE__ */ jsx(Button, {
397
+ if ($[55] !== clearFilters || $[56] !== hasQuery || $[57] !== intl) {
398
+ t31 = hasQuery ? /* @__PURE__ */ jsx(Button, {
398
399
  size: "sm",
399
400
  onPress: () => clearFilters(),
400
401
  children: intl.formatMessage(messages.clearFilters)
401
402
  }) : null;
402
- $[57] = clearFilters;
403
- $[58] = hasQuery;
404
- $[59] = intl;
405
- $[60] = t32;
406
- } else t32 = $[60];
407
- let t33;
408
- if ($[61] !== t31 || $[62] !== t32) {
409
- t33 = /* @__PURE__ */ jsxs("div", {
403
+ $[55] = clearFilters;
404
+ $[56] = hasQuery;
405
+ $[57] = intl;
406
+ $[58] = t31;
407
+ } else t31 = $[58];
408
+ let t32;
409
+ if ($[59] !== t30 || $[60] !== t31) {
410
+ t32 = /* @__PURE__ */ jsxs("div", {
410
411
  className: ListView_module_default.state,
411
- children: [t31, t32]
412
+ children: [t30, t31]
412
413
  });
413
- $[61] = t31;
414
- $[62] = t32;
415
- $[63] = t33;
416
- } else t33 = $[63];
417
- t29 = t33;
414
+ $[59] = t30;
415
+ $[60] = t31;
416
+ $[61] = t32;
417
+ } else t32 = $[61];
418
+ t28 = t32;
418
419
  break bb0;
419
420
  }
421
+ let t29;
422
+ if ($[62] !== itemImage) {
423
+ t29 = itemImage !== void 0 ? (item_9) => getImageUrl(item_9[itemImage]) : void 0;
424
+ $[62] = itemImage;
425
+ $[63] = t29;
426
+ } else t29 = $[63];
420
427
  let t30;
421
- if ($[64] !== itemImage) {
422
- t30 = itemImage !== void 0 ? (item_8) => getImageUrl(item_8[itemImage]) : void 0;
423
- $[64] = itemImage;
428
+ if ($[64] !== currentItemId) {
429
+ t30 = (item_10) => item_10.id === currentItemId;
430
+ $[64] = currentItemId;
424
431
  $[65] = t30;
425
432
  } else t30 = $[65];
426
433
  let t31;
427
- if ($[66] !== currentItemId) {
428
- t31 = (item_9) => item_9.id === currentItemId;
429
- $[66] = currentItemId;
434
+ if ($[66] !== selection) {
435
+ t31 = (item_11) => isItemSelected(selection, item_11.id);
436
+ $[66] = selection;
430
437
  $[67] = t31;
431
438
  } else t31 = $[67];
432
439
  let t32;
433
- if ($[68] !== selection) {
434
- t32 = (item_10) => isItemSelected(selection, item_10.id);
435
- $[68] = selection;
440
+ if ($[68] !== list) {
441
+ t32 = (item_12) => list.toggle(item_12.id);
442
+ $[68] = list;
436
443
  $[69] = t32;
437
444
  } else t32 = $[69];
438
445
  let t33;
439
446
  if ($[70] !== list) {
440
- t33 = (item_11) => list.toggle(item_11.id);
447
+ t33 = (column_3) => list.toggleSort(column_3.id);
441
448
  $[70] = list;
442
449
  $[71] = t33;
443
450
  } else t33 = $[71];
444
- let t34;
445
- if ($[72] !== list) {
446
- t34 = (column_2) => list.toggleSort(column_2.id);
447
- $[72] = list;
448
- $[73] = t34;
449
- } else t34 = $[73];
450
- t29 = /* @__PURE__ */ jsx(Layout, {
451
+ t28 = /* @__PURE__ */ jsx(Layout, {
451
452
  items: pageItems,
452
453
  columns,
453
454
  renderValue,
454
455
  getItemLabel,
455
456
  getItemHref,
456
- getItemImage: t30,
457
+ getItemImage: t29,
457
458
  calendar: inCalendar ? {
458
459
  field: calendar.field,
460
+ timeZone: getCalendarTimeZone([...fields, ...allColumns.map(_temp6)].find((field_0) => field_0?.name === calendar.field)),
459
461
  month: view.month ?? currentMonth(),
460
462
  onMonthChange: (month) => list.setMonth(month),
461
463
  more: total !== void 0 && total > pageItems.length ? { total } : cursors !== void 0 && cursors.next !== null ? { total: null } : null
462
464
  } : void 0,
463
- isCurrent: t31,
465
+ isCurrent: t30,
464
466
  selectable,
465
- isSelected: t32,
466
- onToggle: t33,
467
+ isSelected: t31,
468
+ onToggle: t32,
467
469
  renderActions,
468
470
  sort,
469
- onSort: t34,
471
+ onSort: t33,
470
472
  label,
471
473
  pageSelection: pageCheckbox,
472
474
  renderCell
473
475
  });
474
476
  }
475
- const body = t29;
476
- let t30;
477
- if ($[74] !== className) {
478
- t30 = cx(ListView_module_default.list, className);
479
- $[74] = className;
480
- $[75] = t30;
481
- } else t30 = $[75];
482
- const t31 = showToolbar ? /* @__PURE__ */ jsxs("div", {
477
+ const body = t28;
478
+ let t29;
479
+ if ($[72] !== className) {
480
+ t29 = cx(ListView_module_default.list, className);
481
+ $[72] = className;
482
+ $[73] = t29;
483
+ } else t29 = $[73];
484
+ const t30 = showToolbar ? /* @__PURE__ */ jsxs("div", {
483
485
  className: ListView_module_default.toolbar,
484
486
  children: [/* @__PURE__ */ jsxs("div", {
485
487
  className: ListView_module_default.toolbarStart,
@@ -489,7 +491,7 @@ function ListView(t0) {
489
491
  }) : null, filters.length > 0 ? /* @__PURE__ */ jsx(FilterControls, {
490
492
  filters,
491
493
  values: filterValues,
492
- onChange: (id_2, value_0) => list.setFilter(id_2, value_0),
494
+ onChange: (id_3, value_0) => list.setFilter(id_3, value_0),
493
495
  onLabel: filterLabels.remember,
494
496
  controls: filterControls,
495
497
  columns: allColumns,
@@ -521,55 +523,55 @@ function ListView(t0) {
521
523
  onChange: (ids_0) => list.setColumns(ids_0),
522
524
  onReset: view.columns !== void 0 ? () => list.resetColumns() : null
523
525
  }) : null,
524
- resourceActions.filter((action_7) => selectedCount === 0 || !hasScope(action_7, "selection")).map((action_8) => /* @__PURE__ */ jsx(ActionButton, {
525
- action: action_8,
526
+ resourceActions.filter((action_8) => selectedCount === 0 || !hasScope(action_8, "selection")).map((action_9) => /* @__PURE__ */ jsx(ActionButton, {
527
+ action: action_9,
526
528
  icons: actionIcons,
527
529
  size: "md",
528
- href: getActionHref(action_8),
529
- isPending: pending === keyOf(action_8),
530
- onPress: () => runOnResource(action_8)
531
- }, action_8.id)),
530
+ href: getActionHref(action_9),
531
+ isPending: pending === keyOf(action_9),
532
+ onPress: () => runOnResource(action_9)
533
+ }, action_9.id)),
532
534
  toolbar
533
535
  ]
534
536
  })]
535
537
  }) : null;
538
+ let t31;
536
539
  let t32;
537
- let t33;
538
- if ($[76] !== list) {
539
- t32 = (id_3) => list.setFilter(id_3, void 0);
540
- t33 = () => list.setSearch("");
541
- $[76] = list;
542
- $[77] = t32;
543
- $[78] = t33;
540
+ if ($[74] !== list) {
541
+ t31 = (id_4) => list.setFilter(id_4, void 0);
542
+ t32 = () => list.setSearch("");
543
+ $[74] = list;
544
+ $[75] = t31;
545
+ $[76] = t32;
544
546
  } else {
545
- t32 = $[77];
546
- t33 = $[78];
547
+ t31 = $[75];
548
+ t32 = $[76];
547
549
  }
548
- let t34;
549
- if ($[79] !== allColumns || $[80] !== clearFilters || $[81] !== fields || $[82] !== filterLabels.labels || $[83] !== filterValues || $[84] !== filters || $[85] !== query.q || $[86] !== t32 || $[87] !== t33) {
550
- t34 = /* @__PURE__ */ jsx(FilterChips, {
550
+ let t33;
551
+ if ($[77] !== allColumns || $[78] !== clearFilters || $[79] !== fields || $[80] !== filterLabels.labels || $[81] !== filterValues || $[82] !== filters || $[83] !== query.q || $[84] !== t31 || $[85] !== t32) {
552
+ t33 = /* @__PURE__ */ jsx(FilterChips, {
551
553
  filters,
552
554
  values: filterValues,
553
555
  q: query.q,
554
- onRemove: t32,
555
- onClearSearch: t33,
556
+ onRemove: t31,
557
+ onClearSearch: t32,
556
558
  onClear: clearFilters,
557
559
  columns: allColumns,
558
560
  fields,
559
561
  labels: filterLabels.labels
560
562
  });
561
- $[79] = allColumns;
562
- $[80] = clearFilters;
563
- $[81] = fields;
564
- $[82] = filterLabels.labels;
565
- $[83] = filterValues;
566
- $[84] = filters;
567
- $[85] = query.q;
568
- $[86] = t32;
569
- $[87] = t33;
570
- $[88] = t34;
571
- } else t34 = $[88];
572
- const t35 = selectedCount > 0 ? /* @__PURE__ */ jsxs("div", {
563
+ $[77] = allColumns;
564
+ $[78] = clearFilters;
565
+ $[79] = fields;
566
+ $[80] = filterLabels.labels;
567
+ $[81] = filterValues;
568
+ $[82] = filters;
569
+ $[83] = query.q;
570
+ $[84] = t31;
571
+ $[85] = t32;
572
+ $[86] = t33;
573
+ } else t33 = $[86];
574
+ const t34 = selectedCount > 0 ? /* @__PURE__ */ jsxs("div", {
573
575
  className: ListView_module_default.selection,
574
576
  children: [
575
577
  /* @__PURE__ */ jsx("span", {
@@ -591,36 +593,36 @@ function ListView(t0) {
591
593
  }),
592
594
  selectionActions.length > 0 ? /* @__PURE__ */ jsx("div", {
593
595
  className: ListView_module_default.selectionActions,
594
- children: selectionActions.map((action_9) => {
595
- const skipped_0 = selectedItems.filter((item_12) => !isAllowedOn(action_9, item_12)).length;
596
+ children: selectionActions.map((action_10) => {
597
+ const skipped_0 = selectedItems.filter((item_13) => !isAllowedOn(action_10, item_13)).length;
596
598
  return /* @__PURE__ */ jsx(ActionButton, {
597
- action: action_9,
599
+ action: action_10,
598
600
  icons: actionIcons,
599
601
  size: "md",
600
602
  href: null,
601
- isPending: pending === keyOf(action_9),
602
- isDisabled: pending !== null && pending !== keyOf(action_9) || skipped_0 >= selectedCount,
603
- onPress: () => runOnSelection(action_9)
604
- }, action_9.id);
603
+ isPending: pending === keyOf(action_10),
604
+ isDisabled: pending !== null && pending !== keyOf(action_10) || skipped_0 >= selectedCount,
605
+ onPress: () => runOnSelection(action_10)
606
+ }, action_10.id);
605
607
  })
606
608
  }) : null
607
609
  ]
608
610
  }) : null;
609
- const t36 = isLoading && items !== void 0;
610
- let t37;
611
- if ($[89] !== body || $[90] !== t36) {
612
- t37 = /* @__PURE__ */ jsx("div", {
611
+ const t35 = isLoading && items !== void 0;
612
+ let t36;
613
+ if ($[87] !== body || $[88] !== t35) {
614
+ t36 = /* @__PURE__ */ jsx("div", {
613
615
  className: ListView_module_default.body,
614
- "aria-busy": t36,
616
+ "aria-busy": t35,
615
617
  children: body
616
618
  });
617
- $[89] = body;
618
- $[90] = t36;
619
- $[91] = t37;
620
- } else t37 = $[91];
621
- let t38;
622
- if ($[92] !== cursors || $[93] !== error || $[94] !== inCalendar || $[95] !== list || $[96] !== pageItems || $[97] !== perPageOptions || $[98] !== query.cursor || $[99] !== query.page || $[100] !== query.perPage || $[101] !== total) {
623
- t38 = inCalendar ? null : cursors !== void 0 && error === null ? /* @__PURE__ */ jsx(CursorPagination, {
619
+ $[87] = body;
620
+ $[88] = t35;
621
+ $[89] = t36;
622
+ } else t36 = $[89];
623
+ let t37;
624
+ if ($[90] !== cursors || $[91] !== error || $[92] !== inCalendar || $[93] !== list || $[94] !== pageItems || $[95] !== perPageOptions || $[96] !== query.cursor || $[97] !== query.page || $[98] !== query.perPage || $[99] !== total) {
625
+ t37 = inCalendar ? null : cursors !== void 0 && error === null ? /* @__PURE__ */ jsx(CursorPagination, {
624
626
  perPage: query.perPage ?? pageItems.length,
625
627
  hasPrevious: query.cursor !== void 0,
626
628
  hasNext: cursors.next !== null,
@@ -638,67 +640,70 @@ function ListView(t0) {
638
640
  perPageOptions,
639
641
  onPerPageChange: (perPage_0) => list.setPerPage(perPage_0)
640
642
  }) : null;
641
- $[92] = cursors;
642
- $[93] = error;
643
- $[94] = inCalendar;
644
- $[95] = list;
645
- $[96] = pageItems;
646
- $[97] = perPageOptions;
647
- $[98] = query.cursor;
648
- $[99] = query.page;
649
- $[100] = query.perPage;
650
- $[101] = total;
643
+ $[90] = cursors;
644
+ $[91] = error;
645
+ $[92] = inCalendar;
646
+ $[93] = list;
647
+ $[94] = pageItems;
648
+ $[95] = perPageOptions;
649
+ $[96] = query.cursor;
650
+ $[97] = query.page;
651
+ $[98] = query.perPage;
652
+ $[99] = total;
653
+ $[100] = t37;
654
+ } else t37 = $[100];
655
+ let t38;
656
+ if ($[101] !== execute) {
657
+ t38 = (event_1) => void execute(event_1);
658
+ $[101] = execute;
651
659
  $[102] = t38;
652
660
  } else t38 = $[102];
653
661
  let t39;
654
- if ($[103] !== execute) {
655
- t39 = (event_1) => void execute(event_1);
656
- $[103] = execute;
657
- $[104] = t39;
658
- } else t39 = $[104];
659
- let t40;
660
- if ($[105] !== closeConfirmation || $[106] !== confirming || $[107] !== preview || $[108] !== t39) {
661
- t40 = /* @__PURE__ */ jsx(ConfirmDialog, {
662
+ if ($[103] !== closeConfirmation || $[104] !== confirming || $[105] !== preview || $[106] !== t38) {
663
+ t39 = /* @__PURE__ */ jsx(ConfirmDialog, {
662
664
  event: confirming,
663
665
  preview,
664
- onConfirm: t39,
666
+ onConfirm: t38,
665
667
  onCancel: closeConfirmation
666
668
  });
667
- $[105] = closeConfirmation;
668
- $[106] = confirming;
669
- $[107] = preview;
670
- $[108] = t39;
671
- $[109] = t40;
672
- } else t40 = $[109];
673
- let t41;
674
- if ($[110] !== t30 || $[111] !== t31 || $[112] !== t34 || $[113] !== t35 || $[114] !== t37 || $[115] !== t38 || $[116] !== t40) {
675
- t41 = /* @__PURE__ */ jsxs("div", {
676
- className: t30,
669
+ $[103] = closeConfirmation;
670
+ $[104] = confirming;
671
+ $[105] = preview;
672
+ $[106] = t38;
673
+ $[107] = t39;
674
+ } else t39 = $[107];
675
+ let t40;
676
+ if ($[108] !== t29 || $[109] !== t30 || $[110] !== t33 || $[111] !== t34 || $[112] !== t36 || $[113] !== t37 || $[114] !== t39) {
677
+ t40 = /* @__PURE__ */ jsxs("div", {
678
+ className: t29,
677
679
  children: [
678
- t31,
680
+ t30,
681
+ t33,
679
682
  t34,
680
- t35,
683
+ t36,
681
684
  t37,
682
- t38,
683
- t40
685
+ t39
684
686
  ]
685
687
  });
686
- $[110] = t30;
687
- $[111] = t31;
688
- $[112] = t34;
689
- $[113] = t35;
690
- $[114] = t37;
691
- $[115] = t38;
692
- $[116] = t40;
693
- $[117] = t41;
694
- } else t41 = $[117];
695
- return t41;
688
+ $[108] = t29;
689
+ $[109] = t30;
690
+ $[110] = t33;
691
+ $[111] = t34;
692
+ $[112] = t36;
693
+ $[113] = t37;
694
+ $[114] = t39;
695
+ $[115] = t40;
696
+ } else t40 = $[115];
697
+ return t40;
698
+ }
699
+ function _temp6(column_2) {
700
+ return column_2.field;
696
701
  }
697
702
  function _temp5(column_1) {
698
703
  return column_1.sortable === true;
699
704
  }
700
- function _temp4(item_7) {
701
- return item_7.id;
705
+ function _temp4(item_8) {
706
+ return item_8.id;
702
707
  }
703
708
  function _temp3(action_1) {
704
709
  return hasScope(action_1, "resource");