@nestledjs/data-browser 0.1.2 → 0.1.4

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 (83) hide show
  1. package/index.d.ts +15 -0
  2. package/index.js +64 -0
  3. package/lib/admin-data.d.ts +2 -0
  4. package/lib/components/filters/DateRangeFilter.d.ts +7 -0
  5. package/lib/components/filters/DateRangeFilter.js +105 -0
  6. package/lib/components/filters/NumberRangeFilter.d.ts +8 -0
  7. package/lib/components/filters/NumberRangeFilter.js +115 -0
  8. package/lib/components/filters/RelationComponents.d.ts +32 -0
  9. package/lib/components/filters/RelationComponents.js +265 -0
  10. package/lib/components/filters/RelationFilterField.d.ts +8 -0
  11. package/lib/components/filters/RelationFilterField.js +116 -0
  12. package/lib/components/filters/index.d.ts +4 -0
  13. package/lib/components/index.d.ts +2 -0
  14. package/lib/components/shared/AdminBreadcrumbs.d.ts +13 -0
  15. package/lib/components/shared/AdminBreadcrumbs.js +103 -0
  16. package/lib/components/shared/AdminErrorStates.d.ts +30 -0
  17. package/lib/components/shared/AdminErrorStates.js +214 -0
  18. package/lib/components/shared/AdminStatusDisplay.d.ts +21 -0
  19. package/lib/components/shared/AdminStatusDisplay.js +205 -0
  20. package/lib/components/shared/index.d.ts +3 -0
  21. package/lib/context/AdminDataContext.d.ts +47 -0
  22. package/lib/context/AdminDataContext.js +28 -0
  23. package/lib/hooks/useAdminList.d.ts +5 -0
  24. package/lib/hooks/useAdminList.js +41 -0
  25. package/lib/hooks/useClickOutside.d.ts +2 -0
  26. package/lib/hooks/useClickOutside.js +13 -0
  27. package/lib/hooks/useDebounce.d.ts +1 -0
  28. package/lib/hooks/useDebounce.js +13 -0
  29. package/lib/hooks/useRelationData.d.ts +7 -0
  30. package/lib/hooks/useRelationData.js +64 -0
  31. package/lib/layouts/AdminDataLayout.d.ts +5 -0
  32. package/lib/layouts/AdminDataLayout.js +315 -0
  33. package/lib/pages/AdminDataCreatePage.d.ts +4 -0
  34. package/lib/pages/AdminDataCreatePage.js +487 -0
  35. package/lib/pages/AdminDataEditPage.d.ts +4 -0
  36. package/lib/pages/AdminDataEditPage.js +903 -0
  37. package/lib/pages/AdminDataIndexPage.d.ts +4 -0
  38. package/lib/pages/AdminDataIndexPage.js +91 -0
  39. package/lib/pages/AdminDataListPage.d.ts +9 -0
  40. package/lib/pages/AdminDataListPage.js +1218 -0
  41. package/lib/types/index.d.ts +60 -0
  42. package/lib/types/index.js +16 -0
  43. package/lib/utils/graphql-utils.d.ts +25 -0
  44. package/lib/utils/graphql-utils.js +265 -0
  45. package/lib/utils/secure-storage.d.ts +50 -0
  46. package/lib/utils/secure-storage.js +145 -0
  47. package/lib/utils/string-utils.d.ts +6 -0
  48. package/lib/utils/string-utils.js +27 -0
  49. package/package.json +8 -2
  50. package/.babelrc +0 -12
  51. package/LICENSE +0 -21
  52. package/eslint.config.mjs +0 -12
  53. package/project.json +0 -35
  54. package/src/index.ts +0 -28
  55. package/src/lib/admin-data.spec.tsx +0 -10
  56. package/src/lib/admin-data.tsx +0 -9
  57. package/src/lib/components/filters/DateRangeFilter.tsx +0 -88
  58. package/src/lib/components/filters/NumberRangeFilter.tsx +0 -111
  59. package/src/lib/components/filters/RelationComponents.tsx +0 -176
  60. package/src/lib/components/filters/RelationFilterField.tsx +0 -106
  61. package/src/lib/components/filters/index.ts +0 -5
  62. package/src/lib/components/index.ts +0 -2
  63. package/src/lib/components/shared/AdminBreadcrumbs.tsx +0 -88
  64. package/src/lib/components/shared/AdminErrorStates.tsx +0 -180
  65. package/src/lib/components/shared/AdminStatusDisplay.tsx +0 -292
  66. package/src/lib/components/shared/index.ts +0 -3
  67. package/src/lib/context/AdminDataContext.tsx +0 -74
  68. package/src/lib/hooks/useAdminList.ts +0 -42
  69. package/src/lib/hooks/useClickOutside.ts +0 -21
  70. package/src/lib/hooks/useDebounce.ts +0 -16
  71. package/src/lib/hooks/useRelationData.ts +0 -114
  72. package/src/lib/layouts/AdminDataLayout.tsx +0 -251
  73. package/src/lib/pages/AdminDataCreatePage.tsx +0 -415
  74. package/src/lib/pages/AdminDataEditPage.tsx +0 -777
  75. package/src/lib/pages/AdminDataIndexPage.tsx +0 -50
  76. package/src/lib/pages/AdminDataListPage.tsx +0 -921
  77. package/src/lib/types/index.ts +0 -51
  78. package/src/lib/utils/graphql-utils.ts +0 -538
  79. package/src/lib/utils/secure-storage.ts +0 -305
  80. package/src/lib/utils/string-utils.ts +0 -53
  81. package/tsconfig.json +0 -17
  82. package/tsconfig.lib.json +0 -20
  83. package/vite.config.ts +0 -35
@@ -0,0 +1,1218 @@
1
+ import { jsxDEV as t, Fragment as K } from "react/jsx-dev-runtime";
2
+ import { useQuery as ge } from "@apollo/client/react";
3
+ import { DataTable as pe, ErrorBoundary as fe } from "@nestledjs/shared-components";
4
+ import { getPluralName as Y } from "@nestledjs/helpers";
5
+ import { AdminLocalStorage as o } from "../utils/secure-storage.js";
6
+ import { kebabCase as Z, formatFieldName as L } from "../utils/string-utils.js";
7
+ import { useCallback as m, useEffect as G, useMemo as f } from "react";
8
+ import { useParams as Ne, Link as $ } from "react-router";
9
+ import { DateRangeFilter as ye } from "../components/filters/DateRangeFilter.js";
10
+ import { NumberRangeFilter as xe } from "../components/filters/NumberRangeFilter.js";
11
+ import { RelationFilterField as ve } from "../components/filters/RelationFilterField.js";
12
+ import { useAdminList as Pe } from "../hooks/useAdminList.js";
13
+ import { getAdminDocuments as je } from "../utils/graphql-utils.js";
14
+ import { useAdminDataContext as Le } from "../context/AdminDataContext.js";
15
+ function Me({ modelName: v } = {}) {
16
+ const E = Ne(), { sdk: w, databaseModels: k, basePath: F = "/admin/data" } = Le(), J = m((e) => {
17
+ try {
18
+ const s = w[e];
19
+ if (!s || typeof s != "object")
20
+ return null;
21
+ const a = Object.values(s).filter((r) => typeof r == "string");
22
+ if (a.length === 0) {
23
+ const r = Object.keys(s).filter((n) => isNaN(Number(n)));
24
+ return r.length > 0 ? r : null;
25
+ }
26
+ return a;
27
+ } catch (s) {
28
+ return console.warn(`Failed to get enum values for type ${e}:`, s), null;
29
+ }
30
+ }, [w]), { state: A, dispatch: l } = Pe(), {
31
+ search: X,
32
+ debouncedSearch: H,
33
+ skip: ee,
34
+ pageSize: te,
35
+ sort: N,
36
+ visibleColumns: _,
37
+ showColumnSelector: h,
38
+ searchFields: y,
39
+ filters: x,
40
+ showFilters: D,
41
+ showSearchFieldSelector: g
42
+ } = A;
43
+ m(
44
+ (e) => l({ type: "SET_SKIP", payload: e }),
45
+ [l]
46
+ );
47
+ const Q = m(
48
+ (e) => l({ type: "SET_FILTERS", payload: e }),
49
+ [l]
50
+ ), q = m(
51
+ (e) => {
52
+ e !== D && l({ type: "TOGGLE_FILTERS" });
53
+ },
54
+ [D, l]
55
+ ), I = m(
56
+ (e) => l({ type: "SET_VISIBLE_COLUMNS", payload: e }),
57
+ [l]
58
+ ), T = m(
59
+ (e) => {
60
+ e !== h && l({ type: "TOGGLE_COLUMN_SELECTOR" });
61
+ },
62
+ [h, l]
63
+ ), U = m(
64
+ (e) => l({ type: "SET_SEARCH_FIELDS", payload: e }),
65
+ [l]
66
+ ), R = m(
67
+ (e) => {
68
+ e !== g && l({ type: "TOGGLE_SEARCH_FIELD_SELECTOR" });
69
+ },
70
+ [g, l]
71
+ );
72
+ G(() => {
73
+ const e = setTimeout(() => {
74
+ l({ type: "SET_DEBOUNCED_SEARCH", payload: A.search });
75
+ }, 500);
76
+ return () => clearTimeout(e);
77
+ }, [A.search]);
78
+ const P = v || ((E == null ? void 0 : E.dataTypePlural) ?? ""), i = f(() => {
79
+ if (v)
80
+ return k.find((e) => e.name === v);
81
+ if (P)
82
+ return k.find((e) => Z(Y(e.name)).toLowerCase() === P.toLowerCase());
83
+ }, [v, P, k]), ae = f(() => i ? je(w, i) : {
84
+ query: void 0,
85
+ listQuery: void 0,
86
+ update: void 0,
87
+ delete: void 0,
88
+ create: void 0
89
+ }, [w, i]), { listQuery: O } = ae, j = f(() => (i == null ? void 0 : i.pluralModelPropertyName) || P.replace(/-([a-z])/g, (e, s) => s.toUpperCase()), [i, P]), S = f(() => i ? `${i.pluralModelPropertyName}_meta` : `${j}_meta`, [i, j]), c = f(() => i ? i.fields.filter((e) => !e.relationName || !e.isList).map((e) => e.name) : [], [i]), se = f(() => i ? i.fields.filter((e) => {
90
+ if (e.relationName && !e.isList) return !0;
91
+ if (e.relationName || e.isList || ["id", "createdAt", "updatedAt"].includes(e.name)) return !1;
92
+ const s = e.type.toLowerCase();
93
+ return ["boolean", "int", "float", "date", "datetime"].includes(s) || e.kind === "enum";
94
+ }).map((e) => e.name) : [], [i]), u = f(() => i ? i.fields.filter((e) => {
95
+ const s = e.type.toLowerCase();
96
+ return !e.relationName && (s === "string" || s.includes("text") || s === "boolean");
97
+ }).map((e) => e.name) : [], [i]), B = m((e) => {
98
+ const a = ["name", "title", "email", "firstName", "lastName", "subject"].filter((r) => e.includes(r));
99
+ return a.length >= 1 ? a.slice(0, 2) : e.slice(0, Math.min(2, e.length));
100
+ }, []);
101
+ G(() => {
102
+ if (!i) return;
103
+ const s = (o.getColumnVisibility(i.name) || c.slice(0, 8)).filter((M) => c.includes(M));
104
+ I(s);
105
+ const a = o.getSortPreference(i.name), n = a && (a.orderBy === "id" || c.includes(a.orderBy)) ? a : { orderBy: "id", orderDirection: "desc" };
106
+ l({ type: "SET_SORT", payload: n });
107
+ const d = o.getSearchFields(i.name), p = B(u), b = (d || p).filter((M) => u.includes(M));
108
+ U(b), l({ type: "SET_SEARCH", payload: "" }), l({ type: "SET_DEBOUNCED_SEARCH", payload: "" }), l({ type: "RESET_FILTERS" }), l({ type: "RESET_PAGINATION" });
109
+ }, [i == null ? void 0 : i.name, c, u, B, I, U, l]);
110
+ const ie = m(
111
+ (e) => {
112
+ const s = typeof e == "function" ? e(N) : e;
113
+ (s.orderBy !== N.orderBy || s.orderDirection !== N.orderDirection) && (l({ type: "SET_SORT", payload: s }), i && o.setSortPreference(i.name, s));
114
+ },
115
+ [N.orderBy, N.orderDirection, i, l]
116
+ ), z = m(
117
+ (e) => {
118
+ const s = e.target;
119
+ if (h) {
120
+ const a = document.querySelector('[data-dropdown="column-selector"]');
121
+ a && !a.contains(s) && T(!1);
122
+ }
123
+ if (g) {
124
+ const a = document.querySelector(
125
+ '[data-dropdown="search-field-selector"]'
126
+ );
127
+ a && !a.contains(s) && R(!1);
128
+ }
129
+ },
130
+ [
131
+ h,
132
+ g,
133
+ T,
134
+ R
135
+ ]
136
+ );
137
+ G(() => {
138
+ if (h || g)
139
+ return document.addEventListener("mousedown", z), () => document.removeEventListener("mousedown", z);
140
+ }, [h, g, z]);
141
+ const le = {
142
+ input: {
143
+ take: te,
144
+ skip: ee,
145
+ search: H,
146
+ searchFields: y.length > 0 ? y : void 0,
147
+ orderBy: N.orderBy,
148
+ orderDirection: N.orderDirection,
149
+ filters: Object.keys(x).length > 0 ? x : void 0
150
+ }
151
+ }, { data: V, loading: re, error: C, networkStatus: we, refetch: Ae } = ge(O ?? w.__AdminUsersDocument, {
152
+ variables: le,
153
+ skip: !i || !O,
154
+ errorPolicy: "all",
155
+ // Continue processing even if there are GraphQL errors
156
+ notifyOnNetworkStatusChange: !0,
157
+ fetchPolicy: "cache-first",
158
+ // Add timeout for network requests
159
+ context: {
160
+ timeout: 3e4
161
+ // 30 second timeout
162
+ }
163
+ }), { validatedItems: ne, validatedPagination: de, dataError: _e } = f(() => {
164
+ var e, s;
165
+ if (C) {
166
+ console.warn("[AdminList] GraphQL error:", C.message);
167
+ const a = C;
168
+ a.networkError && console.error("[AdminList] Network error:", a.networkError), ((e = a.graphQLErrors) == null ? void 0 : e.length) > 0 && console.error("[AdminList] GraphQL errors:", a.graphQLErrors);
169
+ }
170
+ if (!V)
171
+ return {
172
+ validatedItems: [],
173
+ validatedPagination: void 0,
174
+ dataError: C || null
175
+ };
176
+ try {
177
+ const a = V;
178
+ let r = j && a[j] ? a[j] : [];
179
+ const n = S && a[S] ? a[S] : void 0;
180
+ if (!r || r.length === 0) {
181
+ for (const [p, b] of Object.entries(a))
182
+ if (Array.isArray(b) && b.length > 0 && (s = b[0]) != null && s.id) {
183
+ r = b;
184
+ break;
185
+ }
186
+ }
187
+ return Array.isArray(r) ? {
188
+ validatedItems: r.filter((p, b) => !p || typeof p != "object" ? (console.warn(`[AdminList] Invalid item at index ${b}:`, p), !1) : p.id ? !0 : (console.warn(`[AdminList] Item missing ID at index ${b}:`, p), !1)),
189
+ validatedPagination: n,
190
+ dataError: null
191
+ } : (console.warn("[AdminList] Expected array but got:", typeof r), {
192
+ validatedItems: [],
193
+ validatedPagination: n,
194
+ dataError: new Error("Invalid data format: expected array")
195
+ });
196
+ } catch (a) {
197
+ return console.error("[AdminList] Error processing data:", a), {
198
+ validatedItems: [],
199
+ validatedPagination: void 0,
200
+ dataError: a instanceof Error ? a : new Error("Unknown data processing error")
201
+ };
202
+ }
203
+ }, [V, j, S, C]), me = ne, oe = de;
204
+ if (!i)
205
+ return /* @__PURE__ */ t("div", { className: "min-h-screen bg-gray-50 flex flex-col justify-center py-12 sm:px-6 lg:px-8", children: /* @__PURE__ */ t("div", { className: "mt-8 sm:mx-auto sm:w-full sm:max-w-md", children: /* @__PURE__ */ t("div", { className: "bg-white py-8 px-4 shadow sm:rounded-lg sm:px-10", children: /* @__PURE__ */ t("div", { className: "text-center", children: [
206
+ /* @__PURE__ */ t(
207
+ "svg",
208
+ {
209
+ className: "mx-auto h-12 w-12 text-red-400",
210
+ fill: "none",
211
+ stroke: "currentColor",
212
+ viewBox: "0 0 24 24",
213
+ children: /* @__PURE__ */ t(
214
+ "path",
215
+ {
216
+ strokeLinecap: "round",
217
+ strokeLinejoin: "round",
218
+ strokeWidth: 2,
219
+ d: "M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
220
+ },
221
+ void 0,
222
+ !1,
223
+ {
224
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
225
+ lineNumber: 419,
226
+ columnNumber: 17
227
+ },
228
+ this
229
+ )
230
+ },
231
+ void 0,
232
+ !1,
233
+ {
234
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
235
+ lineNumber: 413,
236
+ columnNumber: 15
237
+ },
238
+ this
239
+ ),
240
+ /* @__PURE__ */ t("h2", { className: "mt-4 text-lg font-medium text-gray-900", children: "Invalid Data Type" }, void 0, !1, {
241
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
242
+ lineNumber: 426,
243
+ columnNumber: 15
244
+ }, this),
245
+ /* @__PURE__ */ t("p", { className: "mt-2 text-sm text-gray-600", children: [
246
+ 'The data type "',
247
+ P,
248
+ '" is not recognized.'
249
+ ] }, void 0, !0, {
250
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
251
+ lineNumber: 427,
252
+ columnNumber: 15
253
+ }, this),
254
+ /* @__PURE__ */ t("div", { className: "mt-6", children: /* @__PURE__ */ t(
255
+ $,
256
+ {
257
+ to: F,
258
+ className: "w-full flex justify-center py-2 px-4 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-green-web hover:bg-green-web-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-web",
259
+ children: "Return to Data Browser"
260
+ },
261
+ void 0,
262
+ !1,
263
+ {
264
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
265
+ lineNumber: 431,
266
+ columnNumber: 17
267
+ },
268
+ this
269
+ ) }, void 0, !1, {
270
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
271
+ lineNumber: 430,
272
+ columnNumber: 15
273
+ }, this)
274
+ ] }, void 0, !0, {
275
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
276
+ lineNumber: 412,
277
+ columnNumber: 13
278
+ }, this) }, void 0, !1, {
279
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
280
+ lineNumber: 411,
281
+ columnNumber: 11
282
+ }, this) }, void 0, !1, {
283
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
284
+ lineNumber: 410,
285
+ columnNumber: 9
286
+ }, this) }, void 0, !1, {
287
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
288
+ lineNumber: 409,
289
+ columnNumber: 7
290
+ }, this);
291
+ if (!O)
292
+ return /* @__PURE__ */ t("div", { className: "min-h-screen bg-gray-50 flex flex-col justify-center py-12 sm:px-6 lg:px-8", children: /* @__PURE__ */ t("div", { className: "mt-8 sm:mx-auto sm:w-full sm:max-w-md", children: /* @__PURE__ */ t("div", { className: "bg-white py-8 px-4 shadow sm:rounded-lg sm:px-10", children: /* @__PURE__ */ t("div", { className: "text-center", children: [
293
+ /* @__PURE__ */ t(
294
+ "svg",
295
+ {
296
+ className: "mx-auto h-12 w-12 text-yellow-400",
297
+ fill: "none",
298
+ stroke: "currentColor",
299
+ viewBox: "0 0 24 24",
300
+ children: /* @__PURE__ */ t(
301
+ "path",
302
+ {
303
+ strokeLinecap: "round",
304
+ strokeLinejoin: "round",
305
+ strokeWidth: 2,
306
+ d: "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.728-.833-2.498 0L5.316 15c-.77.833.192 2.5 1.732 2.5z"
307
+ },
308
+ void 0,
309
+ !1,
310
+ {
311
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
312
+ lineNumber: 457,
313
+ columnNumber: 17
314
+ },
315
+ this
316
+ )
317
+ },
318
+ void 0,
319
+ !1,
320
+ {
321
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
322
+ lineNumber: 451,
323
+ columnNumber: 15
324
+ },
325
+ this
326
+ ),
327
+ /* @__PURE__ */ t("h2", { className: "mt-4 text-lg font-medium text-gray-900", children: "GraphQL Schema Not Available" }, void 0, !1, {
328
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
329
+ lineNumber: 464,
330
+ columnNumber: 15
331
+ }, this),
332
+ /* @__PURE__ */ t("p", { className: "mt-2 text-sm text-gray-600", children: [
333
+ 'No GraphQL query found for "',
334
+ i.name,
335
+ '". The admin schema may need to be regenerated.'
336
+ ] }, void 0, !0, {
337
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
338
+ lineNumber: 467,
339
+ columnNumber: 15
340
+ }, this),
341
+ /* @__PURE__ */ t("div", { className: "mt-6 space-y-3", children: [
342
+ /* @__PURE__ */ t(
343
+ "button",
344
+ {
345
+ onClick: () => window.location.reload(),
346
+ className: "w-full flex justify-center py-2 px-4 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-green-web hover:bg-green-web-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-web",
347
+ children: "Reload Page"
348
+ },
349
+ void 0,
350
+ !1,
351
+ {
352
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
353
+ lineNumber: 472,
354
+ columnNumber: 17
355
+ },
356
+ this
357
+ ),
358
+ /* @__PURE__ */ t(
359
+ $,
360
+ {
361
+ to: F,
362
+ className: "w-full flex justify-center py-2 px-4 border border-gray-300 rounded-md shadow-sm text-sm font-medium text-gray-700 bg-white hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-web",
363
+ children: "Return to Data Browser"
364
+ },
365
+ void 0,
366
+ !1,
367
+ {
368
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
369
+ lineNumber: 478,
370
+ columnNumber: 17
371
+ },
372
+ this
373
+ )
374
+ ] }, void 0, !0, {
375
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
376
+ lineNumber: 471,
377
+ columnNumber: 15
378
+ }, this)
379
+ ] }, void 0, !0, {
380
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
381
+ lineNumber: 450,
382
+ columnNumber: 13
383
+ }, this) }, void 0, !1, {
384
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
385
+ lineNumber: 449,
386
+ columnNumber: 11
387
+ }, this) }, void 0, !1, {
388
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
389
+ lineNumber: 448,
390
+ columnNumber: 9
391
+ }, this) }, void 0, !1, {
392
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
393
+ lineNumber: 447,
394
+ columnNumber: 7
395
+ }, this);
396
+ const W = `${F}/${Z(i.name)}/create`, ce = /* @__PURE__ */ t("div", { className: "relative", "data-dropdown": "column-selector", children: [
397
+ /* @__PURE__ */ t(
398
+ "button",
399
+ {
400
+ onClick: () => T(!h),
401
+ className: "inline-flex items-center px-3 py-2 border border-gray-300 text-sm font-medium rounded-md text-gray-700 bg-white hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-web",
402
+ children: [
403
+ "Columns",
404
+ /* @__PURE__ */ t(
405
+ "svg",
406
+ {
407
+ className: "-mr-0.5 ml-2 h-4 w-4",
408
+ xmlns: "http://www.w3.org/2000/svg",
409
+ viewBox: "0 0 20 20",
410
+ fill: "currentColor",
411
+ children: /* @__PURE__ */ t(
412
+ "path",
413
+ {
414
+ fillRule: "evenodd",
415
+ d: "M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z",
416
+ clipRule: "evenodd"
417
+ },
418
+ void 0,
419
+ !1,
420
+ {
421
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
422
+ lineNumber: 509,
423
+ columnNumber: 11
424
+ },
425
+ this
426
+ )
427
+ },
428
+ void 0,
429
+ !1,
430
+ {
431
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
432
+ lineNumber: 503,
433
+ columnNumber: 9
434
+ },
435
+ this
436
+ )
437
+ ]
438
+ },
439
+ void 0,
440
+ !0,
441
+ {
442
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
443
+ lineNumber: 498,
444
+ columnNumber: 7
445
+ },
446
+ this
447
+ ),
448
+ h && /* @__PURE__ */ t("div", { className: "absolute right-0 mt-2 w-80 bg-white rounded-md shadow-lg z-50 border border-gray-200", children: /* @__PURE__ */ t("div", { className: "p-4", children: [
449
+ /* @__PURE__ */ t("h3", { className: "text-sm font-medium text-gray-900 mb-3", children: "Visible Columns" }, void 0, !1, {
450
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
451
+ lineNumber: 520,
452
+ columnNumber: 13
453
+ }, this),
454
+ /* @__PURE__ */ t("div", { className: "space-y-2 max-h-64 overflow-y-auto", children: c.map((e) => /* @__PURE__ */ t("label", { className: "flex items-start gap-2 cursor-pointer", children: [
455
+ /* @__PURE__ */ t(
456
+ "input",
457
+ {
458
+ type: "checkbox",
459
+ checked: _.includes(e),
460
+ onChange: (s) => {
461
+ const a = s.target.checked ? [..._, e] : _.filter((r) => r !== e);
462
+ I(a), o.setColumnVisibility(i.name, a);
463
+ },
464
+ className: "h-4 w-4 mt-0.5 flex-shrink-0 text-green-web focus:ring-green-web border-gray-300 rounded"
465
+ },
466
+ void 0,
467
+ !1,
468
+ {
469
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
470
+ lineNumber: 524,
471
+ columnNumber: 19
472
+ },
473
+ this
474
+ ),
475
+ /* @__PURE__ */ t("span", { className: "text-sm text-gray-700 leading-5", children: L(e) }, void 0, !1, {
476
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
477
+ lineNumber: 536,
478
+ columnNumber: 19
479
+ }, this)
480
+ ] }, e, !0, {
481
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
482
+ lineNumber: 523,
483
+ columnNumber: 17
484
+ }, this)) }, void 0, !1, {
485
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
486
+ lineNumber: 521,
487
+ columnNumber: 13
488
+ }, this),
489
+ /* @__PURE__ */ t("div", { className: "mt-3 pt-3 border-t border-gray-200 flex justify-between", children: [
490
+ /* @__PURE__ */ t(
491
+ "button",
492
+ {
493
+ onClick: () => {
494
+ I(c), o.setColumnVisibility(i.name, c);
495
+ },
496
+ className: "text-xs text-green-web hover:text-green-web-800",
497
+ children: "Select All"
498
+ },
499
+ void 0,
500
+ !1,
501
+ {
502
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
503
+ lineNumber: 541,
504
+ columnNumber: 15
505
+ },
506
+ this
507
+ ),
508
+ /* @__PURE__ */ t(
509
+ "button",
510
+ {
511
+ onClick: () => {
512
+ const e = c.slice(0, 8);
513
+ I(e), o.setColumnVisibility(i.name, e);
514
+ },
515
+ className: "text-xs text-gray-600 hover:text-gray-800",
516
+ children: "Reset to Defaults"
517
+ },
518
+ void 0,
519
+ !1,
520
+ {
521
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
522
+ lineNumber: 550,
523
+ columnNumber: 15
524
+ },
525
+ this
526
+ )
527
+ ] }, void 0, !0, {
528
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
529
+ lineNumber: 540,
530
+ columnNumber: 13
531
+ }, this)
532
+ ] }, void 0, !0, {
533
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
534
+ lineNumber: 519,
535
+ columnNumber: 11
536
+ }, this) }, void 0, !1, {
537
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
538
+ lineNumber: 518,
539
+ columnNumber: 9
540
+ }, this)
541
+ ] }, void 0, !0, {
542
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
543
+ lineNumber: 497,
544
+ columnNumber: 5
545
+ }, this), ue = /* @__PURE__ */ t("div", { className: "relative", "data-dropdown": "search-field-selector", children: [
546
+ /* @__PURE__ */ t(
547
+ "button",
548
+ {
549
+ onClick: () => R(!g),
550
+ className: "h-full px-3 border-l border-gray-300 text-gray-400 hover:text-gray-600 focus:outline-none focus:text-gray-600",
551
+ "aria-label": "Configure search fields",
552
+ children: /* @__PURE__ */ t(
553
+ "svg",
554
+ {
555
+ className: "h-4 w-4",
556
+ xmlns: "http://www.w3.org/2000/svg",
557
+ viewBox: "0 0 20 20",
558
+ fill: "currentColor",
559
+ children: /* @__PURE__ */ t(
560
+ "path",
561
+ {
562
+ fillRule: "evenodd",
563
+ d: "M3 3a1 1 0 000 2v8a2 2 0 002 2h2.586l-1.293 1.293a1 1 0 101.414 1.414L10 15.414l2.293 2.293a1 1 0 001.414-1.414L12.414 15H15a2 2 0 002-2V5a1 1 0 100-2H3zm11.707 4.707a1 1 0 00-1.414-1.414L10 9.586 8.707 8.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",
564
+ clipRule: "evenodd"
565
+ },
566
+ void 0,
567
+ !1,
568
+ {
569
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
570
+ lineNumber: 581,
571
+ columnNumber: 11
572
+ },
573
+ this
574
+ )
575
+ },
576
+ void 0,
577
+ !1,
578
+ {
579
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
580
+ lineNumber: 575,
581
+ columnNumber: 9
582
+ },
583
+ this
584
+ )
585
+ },
586
+ void 0,
587
+ !1,
588
+ {
589
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
590
+ lineNumber: 570,
591
+ columnNumber: 7
592
+ },
593
+ this
594
+ ),
595
+ g && /* @__PURE__ */ t("div", { className: "absolute right-0 mt-2 w-72 bg-white rounded-md shadow-lg z-50 border border-gray-200", children: /* @__PURE__ */ t("div", { className: "p-4", children: [
596
+ /* @__PURE__ */ t("h3", { className: "text-sm font-medium text-gray-900 mb-3", children: "Search Fields" }, void 0, !1, {
597
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
598
+ lineNumber: 592,
599
+ columnNumber: 13
600
+ }, this),
601
+ u.length > 0 ? /* @__PURE__ */ t(K, { children: [
602
+ /* @__PURE__ */ t("div", { className: "space-y-2 max-h-48 overflow-y-auto", children: u.map((e) => /* @__PURE__ */ t("label", { className: "flex items-start gap-2 cursor-pointer", children: [
603
+ /* @__PURE__ */ t(
604
+ "input",
605
+ {
606
+ type: "checkbox",
607
+ checked: y.includes(e),
608
+ onChange: (s) => {
609
+ const a = s.target.checked ? [...y, e] : y.filter((r) => r !== e);
610
+ U(a), o.setSearchFields(i.name, a);
611
+ },
612
+ className: "h-4 w-4 mt-0.5 flex-shrink-0 text-green-web focus:ring-green-web border-gray-300 rounded"
613
+ },
614
+ void 0,
615
+ !1,
616
+ {
617
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
618
+ lineNumber: 598,
619
+ columnNumber: 23
620
+ },
621
+ this
622
+ ),
623
+ /* @__PURE__ */ t("span", { className: "text-sm text-gray-700 leading-5", children: L(e) }, void 0, !1, {
624
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
625
+ lineNumber: 610,
626
+ columnNumber: 23
627
+ }, this)
628
+ ] }, e, !0, {
629
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
630
+ lineNumber: 597,
631
+ columnNumber: 21
632
+ }, this)) }, void 0, !1, {
633
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
634
+ lineNumber: 595,
635
+ columnNumber: 17
636
+ }, this),
637
+ /* @__PURE__ */ t("div", { className: "mt-3 pt-3 border-t border-gray-200 flex justify-between", children: [
638
+ /* @__PURE__ */ t(
639
+ "button",
640
+ {
641
+ onClick: () => {
642
+ U(u), o.setSearchFields(i.name, u);
643
+ },
644
+ className: "text-xs text-green-web hover:text-green-web-800 mr-3",
645
+ children: "Select All"
646
+ },
647
+ void 0,
648
+ !1,
649
+ {
650
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
651
+ lineNumber: 617,
652
+ columnNumber: 19
653
+ },
654
+ this
655
+ ),
656
+ /* @__PURE__ */ t(
657
+ "button",
658
+ {
659
+ onClick: () => {
660
+ const e = B(u);
661
+ U(e), o.setSearchFields(i.name, e);
662
+ },
663
+ className: "text-xs text-gray-600 hover:text-gray-800",
664
+ children: "Reset to Defaults"
665
+ },
666
+ void 0,
667
+ !1,
668
+ {
669
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
670
+ lineNumber: 626,
671
+ columnNumber: 19
672
+ },
673
+ this
674
+ )
675
+ ] }, void 0, !0, {
676
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
677
+ lineNumber: 616,
678
+ columnNumber: 17
679
+ }, this)
680
+ ] }, void 0, !0, {
681
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
682
+ lineNumber: 594,
683
+ columnNumber: 15
684
+ }, this) : /* @__PURE__ */ t("div", { className: "text-sm text-gray-500", children: "No searchable text fields available" }, void 0, !1, {
685
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
686
+ lineNumber: 639,
687
+ columnNumber: 15
688
+ }, this)
689
+ ] }, void 0, !0, {
690
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
691
+ lineNumber: 591,
692
+ columnNumber: 11
693
+ }, this) }, void 0, !1, {
694
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
695
+ lineNumber: 590,
696
+ columnNumber: 9
697
+ }, this)
698
+ ] }, void 0, !0, {
699
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
700
+ lineNumber: 569,
701
+ columnNumber: 5
702
+ }, this), be = D && /* @__PURE__ */ t("div", { className: "mb-4 bg-gray-50 border border-gray-200 rounded-lg p-4", children: [
703
+ /* @__PURE__ */ t("div", { className: "flex items-center justify-between mb-3", children: [
704
+ /* @__PURE__ */ t("h3", { className: "text-sm font-medium text-gray-900", children: "Filters" }, void 0, !1, {
705
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
706
+ lineNumber: 651,
707
+ columnNumber: 9
708
+ }, this),
709
+ /* @__PURE__ */ t("div", { className: "flex items-center space-x-2", children: [
710
+ /* @__PURE__ */ t(
711
+ "button",
712
+ {
713
+ onClick: () => {
714
+ Q({}), l({ type: "RESET_PAGINATION" });
715
+ },
716
+ className: "text-xs text-gray-600 hover:text-gray-800",
717
+ children: "Clear All"
718
+ },
719
+ void 0,
720
+ !1,
721
+ {
722
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
723
+ lineNumber: 653,
724
+ columnNumber: 11
725
+ },
726
+ this
727
+ ),
728
+ /* @__PURE__ */ t(
729
+ "button",
730
+ {
731
+ onClick: () => q(!1),
732
+ className: "text-gray-400 hover:text-gray-600",
733
+ children: /* @__PURE__ */ t(
734
+ "svg",
735
+ {
736
+ className: "h-5 w-5",
737
+ xmlns: "http://www.w3.org/2000/svg",
738
+ viewBox: "0 0 20 20",
739
+ fill: "currentColor",
740
+ children: /* @__PURE__ */ t(
741
+ "path",
742
+ {
743
+ fillRule: "evenodd",
744
+ d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",
745
+ clipRule: "evenodd"
746
+ },
747
+ void 0,
748
+ !1,
749
+ {
750
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
751
+ lineNumber: 672,
752
+ columnNumber: 15
753
+ },
754
+ this
755
+ )
756
+ },
757
+ void 0,
758
+ !1,
759
+ {
760
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
761
+ lineNumber: 666,
762
+ columnNumber: 13
763
+ },
764
+ this
765
+ )
766
+ },
767
+ void 0,
768
+ !1,
769
+ {
770
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
771
+ lineNumber: 662,
772
+ columnNumber: 11
773
+ },
774
+ this
775
+ )
776
+ ] }, void 0, !0, {
777
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
778
+ lineNumber: 652,
779
+ columnNumber: 9
780
+ }, this)
781
+ ] }, void 0, !0, {
782
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
783
+ lineNumber: 650,
784
+ columnNumber: 7
785
+ }, this),
786
+ /* @__PURE__ */ t("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4", children: se.map((e) => {
787
+ const s = i.fields.find((n) => n.name === e);
788
+ if (!s) return null;
789
+ const a = x[e], r = (n) => {
790
+ const d = { ...x };
791
+ n == null || n === "" ? delete d[e] : d[e] = n, Q(d), l({ type: "RESET_PAGINATION" });
792
+ };
793
+ if (s.relationName && !s.isList)
794
+ return /* @__PURE__ */ t(
795
+ ve,
796
+ {
797
+ fieldName: e,
798
+ relatedModelName: s.type,
799
+ currentValue: a,
800
+ onChange: r
801
+ },
802
+ e,
803
+ !1,
804
+ {
805
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
806
+ lineNumber: 702,
807
+ columnNumber: 15
808
+ },
809
+ this
810
+ );
811
+ if (s.type.toLowerCase() === "datetime" || s.type.toLowerCase() === "date")
812
+ return /* @__PURE__ */ t(
813
+ ye,
814
+ {
815
+ fieldName: e,
816
+ currentValue: a,
817
+ onChange: r
818
+ },
819
+ e,
820
+ !1,
821
+ {
822
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
823
+ lineNumber: 715,
824
+ columnNumber: 15
825
+ },
826
+ this
827
+ );
828
+ if (["int", "bigint", "float", "decimal"].includes(s.type.toLowerCase()))
829
+ return /* @__PURE__ */ t(
830
+ xe,
831
+ {
832
+ fieldName: e,
833
+ fieldType: s.type.toLowerCase(),
834
+ currentValue: a,
835
+ onChange: r
836
+ },
837
+ e,
838
+ !1,
839
+ {
840
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
841
+ lineNumber: 727,
842
+ columnNumber: 15
843
+ },
844
+ this
845
+ );
846
+ if (s.kind === "enum") {
847
+ const n = J(s.type);
848
+ if (n)
849
+ return /* @__PURE__ */ t("div", { className: "space-y-1", children: [
850
+ /* @__PURE__ */ t("label", { className: "block text-sm font-medium text-gray-700", children: L(e) }, void 0, !1, {
851
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
852
+ lineNumber: 743,
853
+ columnNumber: 19
854
+ }, this),
855
+ /* @__PURE__ */ t(
856
+ "select",
857
+ {
858
+ value: typeof a == "string" ? a : "",
859
+ onChange: (d) => r(d.target.value || void 0),
860
+ className: "w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-green-web focus:border-green-web text-sm",
861
+ children: [
862
+ /* @__PURE__ */ t("option", { value: "", children: "All" }, void 0, !1, {
863
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
864
+ lineNumber: 751,
865
+ columnNumber: 21
866
+ }, this),
867
+ n.map((d) => /* @__PURE__ */ t("option", { value: d, children: d }, d, !1, {
868
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
869
+ lineNumber: 753,
870
+ columnNumber: 23
871
+ }, this))
872
+ ]
873
+ },
874
+ void 0,
875
+ !0,
876
+ {
877
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
878
+ lineNumber: 746,
879
+ columnNumber: 19
880
+ },
881
+ this
882
+ )
883
+ ] }, e, !0, {
884
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
885
+ lineNumber: 742,
886
+ columnNumber: 17
887
+ }, this);
888
+ }
889
+ return s.type.toLowerCase() === "boolean" ? /* @__PURE__ */ t("div", { className: "space-y-1", children: [
890
+ /* @__PURE__ */ t("label", { className: "block text-sm font-medium text-gray-700", children: L(e) }, void 0, !1, {
891
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
892
+ lineNumber: 767,
893
+ columnNumber: 17
894
+ }, this),
895
+ /* @__PURE__ */ t(
896
+ "select",
897
+ {
898
+ value: a == null ? "" : a.toString(),
899
+ onChange: (n) => {
900
+ const d = n.target.value;
901
+ r(d === "" ? void 0 : d === "true");
902
+ },
903
+ className: "w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-green-web focus:border-green-web text-sm",
904
+ children: [
905
+ /* @__PURE__ */ t("option", { value: "", children: "All" }, void 0, !1, {
906
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
907
+ lineNumber: 778,
908
+ columnNumber: 19
909
+ }, this),
910
+ /* @__PURE__ */ t("option", { value: "true", children: "Yes" }, void 0, !1, {
911
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
912
+ lineNumber: 779,
913
+ columnNumber: 19
914
+ }, this),
915
+ /* @__PURE__ */ t("option", { value: "false", children: "No" }, void 0, !1, {
916
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
917
+ lineNumber: 780,
918
+ columnNumber: 19
919
+ }, this)
920
+ ]
921
+ },
922
+ void 0,
923
+ !0,
924
+ {
925
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
926
+ lineNumber: 770,
927
+ columnNumber: 17
928
+ },
929
+ this
930
+ )
931
+ ] }, e, !0, {
932
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
933
+ lineNumber: 766,
934
+ columnNumber: 15
935
+ }, this) : /* @__PURE__ */ t("div", { className: "space-y-1", children: [
936
+ /* @__PURE__ */ t("label", { className: "block text-sm font-medium text-gray-700", children: L(e) }, void 0, !1, {
937
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
938
+ lineNumber: 789,
939
+ columnNumber: 15
940
+ }, this),
941
+ /* @__PURE__ */ t(
942
+ "input",
943
+ {
944
+ type: "text",
945
+ value: typeof a == "string" ? a : "",
946
+ onChange: (n) => r(n.target.value || void 0),
947
+ placeholder: `Filter by ${L(e).toLowerCase()}...`,
948
+ className: "w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-green-web focus:border-green-web text-sm"
949
+ },
950
+ void 0,
951
+ !1,
952
+ {
953
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
954
+ lineNumber: 792,
955
+ columnNumber: 15
956
+ },
957
+ this
958
+ )
959
+ ] }, e, !0, {
960
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
961
+ lineNumber: 788,
962
+ columnNumber: 13
963
+ }, this);
964
+ }) }, void 0, !1, {
965
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
966
+ lineNumber: 682,
967
+ columnNumber: 7
968
+ }, this)
969
+ ] }, void 0, !0, {
970
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
971
+ lineNumber: 649,
972
+ columnNumber: 5
973
+ }, this), he = /* @__PURE__ */ t("div", { className: "mb-4 flex items-center justify-between", children: [
974
+ /* @__PURE__ */ t("div", { className: "flex-1 max-w-lg", children: [
975
+ /* @__PURE__ */ t("label", { htmlFor: "search", className: "sr-only", children: "Search" }, void 0, !1, {
976
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
977
+ lineNumber: 809,
978
+ columnNumber: 9
979
+ }, this),
980
+ /* @__PURE__ */ t("div", { className: "relative", children: [
981
+ /* @__PURE__ */ t("div", { className: "absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none", children: re && X !== H ? /* @__PURE__ */ t(
982
+ "svg",
983
+ {
984
+ className: "animate-spin h-5 w-5 text-gray-400",
985
+ xmlns: "http://www.w3.org/2000/svg",
986
+ fill: "none",
987
+ viewBox: "0 0 24 24",
988
+ children: [
989
+ /* @__PURE__ */ t(
990
+ "circle",
991
+ {
992
+ className: "opacity-25",
993
+ cx: "12",
994
+ cy: "12",
995
+ r: "10",
996
+ stroke: "currentColor",
997
+ strokeWidth: "4"
998
+ },
999
+ void 0,
1000
+ !1,
1001
+ {
1002
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
1003
+ lineNumber: 821,
1004
+ columnNumber: 17
1005
+ },
1006
+ this
1007
+ ),
1008
+ /* @__PURE__ */ t(
1009
+ "path",
1010
+ {
1011
+ className: "opacity-75",
1012
+ fill: "currentColor",
1013
+ d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
1014
+ },
1015
+ void 0,
1016
+ !1,
1017
+ {
1018
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
1019
+ lineNumber: 829,
1020
+ columnNumber: 17
1021
+ },
1022
+ this
1023
+ )
1024
+ ]
1025
+ },
1026
+ void 0,
1027
+ !0,
1028
+ {
1029
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
1030
+ lineNumber: 815,
1031
+ columnNumber: 15
1032
+ },
1033
+ this
1034
+ ) : /* @__PURE__ */ t(
1035
+ "svg",
1036
+ {
1037
+ className: "h-5 w-5 text-gray-400",
1038
+ xmlns: "http://www.w3.org/2000/svg",
1039
+ viewBox: "0 0 20 20",
1040
+ fill: "currentColor",
1041
+ "aria-hidden": "true",
1042
+ children: /* @__PURE__ */ t(
1043
+ "path",
1044
+ {
1045
+ fillRule: "evenodd",
1046
+ d: "M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z",
1047
+ clipRule: "evenodd"
1048
+ },
1049
+ void 0,
1050
+ !1,
1051
+ {
1052
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
1053
+ lineNumber: 843,
1054
+ columnNumber: 17
1055
+ },
1056
+ this
1057
+ )
1058
+ },
1059
+ void 0,
1060
+ !1,
1061
+ {
1062
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
1063
+ lineNumber: 836,
1064
+ columnNumber: 15
1065
+ },
1066
+ this
1067
+ ) }, void 0, !1, {
1068
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
1069
+ lineNumber: 813,
1070
+ columnNumber: 11
1071
+ }, this),
1072
+ /* @__PURE__ */ t(
1073
+ "input",
1074
+ {
1075
+ id: "search",
1076
+ name: "search",
1077
+ className: "block w-full pl-10 pr-12 py-2 border border-gray-300 rounded-md leading-5 bg-white placeholder-gray-500 focus:outline-none focus:placeholder-gray-400 focus:ring-1 focus:ring-green-web focus:border-green-web sm:text-sm",
1078
+ placeholder: `Search ${y.length > 0 ? y.map((e) => e.replace(/([a-z])([A-Z])/g, "$1 $2").replace(/^./, (s) => s.toUpperCase())).join(", ") : Y(i.name).toLowerCase()}...`,
1079
+ type: "search",
1080
+ value: A.search || "",
1081
+ onChange: (e) => l({ type: "SET_SEARCH", payload: e.target.value })
1082
+ },
1083
+ void 0,
1084
+ !1,
1085
+ {
1086
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
1087
+ lineNumber: 851,
1088
+ columnNumber: 11
1089
+ },
1090
+ this
1091
+ ),
1092
+ u.length > 0 && /* @__PURE__ */ t("div", { className: "absolute inset-y-0 right-0 flex items-center", children: ue }, void 0, !1, {
1093
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
1094
+ lineNumber: 861,
1095
+ columnNumber: 13
1096
+ }, this)
1097
+ ] }, void 0, !0, {
1098
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
1099
+ lineNumber: 812,
1100
+ columnNumber: 9
1101
+ }, this)
1102
+ ] }, void 0, !0, {
1103
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
1104
+ lineNumber: 808,
1105
+ columnNumber: 7
1106
+ }, this),
1107
+ /* @__PURE__ */ t("div", { className: "ml-4 flex space-x-2", children: [
1108
+ /* @__PURE__ */ t(
1109
+ "button",
1110
+ {
1111
+ onClick: () => q(!D),
1112
+ className: `inline-flex items-center px-3 py-2 border text-sm font-medium rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-web ${D || Object.keys(x).length > 0 ? "border-green-web text-green-web bg-green-50 hover:bg-green-100" : "border-gray-300 text-gray-700 bg-white hover:bg-gray-50"}`,
1113
+ children: [
1114
+ /* @__PURE__ */ t("svg", { className: "w-4 h-4 mr-2", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ t(
1115
+ "path",
1116
+ {
1117
+ strokeLinecap: "round",
1118
+ strokeLinejoin: "round",
1119
+ strokeWidth: 2,
1120
+ d: "M3 4a1 1 0 011-1h16a1 1 0 011 1v2.586a1 1 0 01-.293.707l-6.414 6.414a1 1 0 00-.293.707V17l-4 4v-6.586a1 1 0 00-.293-.707L3.293 7.293A1 1 0 013 6.586V4z"
1121
+ },
1122
+ void 0,
1123
+ !1,
1124
+ {
1125
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
1126
+ lineNumber: 877,
1127
+ columnNumber: 13
1128
+ },
1129
+ this
1130
+ ) }, void 0, !1, {
1131
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
1132
+ lineNumber: 876,
1133
+ columnNumber: 11
1134
+ }, this),
1135
+ "Filters",
1136
+ Object.keys(x).length > 0 && /* @__PURE__ */ t("span", { className: "ml-1 inline-flex items-center justify-center px-2 py-1 text-xs font-bold leading-none text-white bg-green-web rounded-full", children: Object.keys(x).length }, void 0, !1, {
1137
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
1138
+ lineNumber: 886,
1139
+ columnNumber: 13
1140
+ }, this)
1141
+ ]
1142
+ },
1143
+ void 0,
1144
+ !0,
1145
+ {
1146
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
1147
+ lineNumber: 868,
1148
+ columnNumber: 9
1149
+ },
1150
+ this
1151
+ ),
1152
+ ce,
1153
+ /* @__PURE__ */ t(
1154
+ $,
1155
+ {
1156
+ to: W,
1157
+ className: "inline-flex items-center px-4 py-2 border border-transparent text-sm font-medium rounded-md shadow-sm text-white bg-green-600 hover:bg-green-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-600",
1158
+ children: "Create New"
1159
+ },
1160
+ void 0,
1161
+ !1,
1162
+ {
1163
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
1164
+ lineNumber: 892,
1165
+ columnNumber: 9
1166
+ },
1167
+ this
1168
+ )
1169
+ ] }, void 0, !0, {
1170
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
1171
+ lineNumber: 867,
1172
+ columnNumber: 7
1173
+ }, this)
1174
+ ] }, void 0, !0, {
1175
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
1176
+ lineNumber: 807,
1177
+ columnNumber: 5
1178
+ }, this);
1179
+ return /* @__PURE__ */ t(K, { children: [
1180
+ be,
1181
+ he,
1182
+ /* @__PURE__ */ t(
1183
+ pe,
1184
+ {
1185
+ data: me,
1186
+ path: W.replace("/create", ""),
1187
+ fields: _.length > 0 ? _ : c,
1188
+ pagination: oe,
1189
+ setSkip: (e) => l({ type: "SET_SKIP", payload: e }),
1190
+ sort: A.sort,
1191
+ setSort: ie
1192
+ },
1193
+ void 0,
1194
+ !1,
1195
+ {
1196
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
1197
+ lineNumber: 906,
1198
+ columnNumber: 7
1199
+ },
1200
+ this
1201
+ )
1202
+ ] }, void 0, !0, {
1203
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
1204
+ lineNumber: 903,
1205
+ columnNumber: 5
1206
+ }, this);
1207
+ }
1208
+ function Ge({ error: v }) {
1209
+ return /* @__PURE__ */ t(fe, { error: v }, void 0, !1, {
1210
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataListPage.tsx",
1211
+ lineNumber: 920,
1212
+ columnNumber: 10
1213
+ }, this);
1214
+ }
1215
+ export {
1216
+ Ge as AdminDataErrorBoundary,
1217
+ Me as AdminDataListPage
1218
+ };