@nestledjs/data-browser 0.1.10 → 0.1.12

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.
@@ -1,4 +1,3 @@
1
- import { jsxDEV } from "react/jsx-dev-runtime";
2
1
  import { gql } from "@apollo/client";
3
2
  import { useMutation } from "@apollo/client/react";
4
3
  import { ExclamationCircleIcon, CheckCircleIcon } from "@heroicons/react/24/outline";
@@ -8,6 +7,7 @@ import { Form } from "@nestledjs/forms";
8
7
  import { useState, useMemo, useEffect } from "react";
9
8
  import { useParams, Link, useNavigate } from "react-router";
10
9
  import { getAdminDocuments, buildFormFields, cleanFormInput } from "../utils/graphql-utils.js";
10
+ var _jsxFileName = "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx";
11
11
  function toReadableText(text) {
12
12
  return text.replace(/([a-z])([A-Z])/g, "$1 $2").replace(/^./, (str) => str.toUpperCase());
13
13
  }
@@ -19,8 +19,14 @@ const toKebabCase = (str) => {
19
19
  return str.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
20
20
  };
21
21
  function AdminDataCreatePage() {
22
- const { dataType } = useParams();
23
- const { databaseModels, basePath = "/admin/data", formTheme } = useAdminDataContext();
22
+ const {
23
+ dataType
24
+ } = useParams();
25
+ const {
26
+ databaseModels,
27
+ basePath = "/admin/data",
28
+ formTheme
29
+ } = useAdminDataContext();
24
30
  const findModelByName = (name) => {
25
31
  return databaseModels.find((model2) => model2.name === name);
26
32
  };
@@ -36,129 +42,101 @@ function AdminDataCreatePage() {
36
42
  const model = validatedDataType ? findModelByName(validatedDataType) : null;
37
43
  const shouldShowModelNotFound = validatedDataType && true && !model;
38
44
  if (shouldShowUnauthorized) {
39
- return /* @__PURE__ */ jsxDEV("div", { className: "flex flex-col justify-center py-12", children: /* @__PURE__ */ jsxDEV("div", { className: "mt-8 mx-auto w-full max-w-md", children: /* @__PURE__ */ jsxDEV("div", { className: "bg-white dark:bg-gray-800 py-8 px-4 shadow sm:rounded-lg sm:px-10", children: /* @__PURE__ */ jsxDEV("div", { className: "text-center", children: [
40
- /* @__PURE__ */ jsxDEV(ExclamationCircleIcon, { className: "mx-auto h-12 w-12 text-red-400" }, void 0, false, {
41
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
42
- lineNumber: 94,
43
- columnNumber: 15
44
- }, this),
45
- /* @__PURE__ */ jsxDEV("h2", { className: "mt-4 text-lg font-medium text-gray-900 dark:text-gray-100", children: "Unauthorized" }, void 0, false, {
46
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
47
- lineNumber: 95,
48
- columnNumber: 15
49
- }, this),
50
- /* @__PURE__ */ jsxDEV("p", { className: "mt-2 text-sm text-gray-600 dark:text-gray-400", children: "Invalid data type or insufficient permissions." }, void 0, false, {
51
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
52
- lineNumber: 96,
53
- columnNumber: 15
54
- }, this),
55
- /* @__PURE__ */ jsxDEV("div", { className: "mt-6", children: /* @__PURE__ */ jsxDEV(
56
- Link,
57
- {
58
- to: basePath,
59
- 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",
60
- children: "Return to Data Browser"
61
- },
62
- void 0,
63
- false,
64
- {
65
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
66
- lineNumber: 100,
67
- columnNumber: 17
68
- },
69
- this
70
- ) }, void 0, false, {
71
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
72
- lineNumber: 99,
73
- columnNumber: 15
74
- }, this)
75
- ] }, void 0, true, {
76
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
77
- lineNumber: 93,
78
- columnNumber: 13
79
- }, this) }, void 0, false, {
80
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
81
- lineNumber: 92,
82
- columnNumber: 11
83
- }, this) }, void 0, false, {
84
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
85
- lineNumber: 91,
86
- columnNumber: 9
87
- }, this) }, void 0, false, {
88
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
45
+ return /* @__PURE__ */ React.createElement("div", { className: "flex flex-col justify-center py-12", __self: this, __source: {
46
+ fileName: _jsxFileName,
89
47
  lineNumber: 90,
90
48
  columnNumber: 7
91
- }, this);
49
+ } }, /* @__PURE__ */ React.createElement("div", { className: "mt-8 mx-auto w-full max-w-md", __self: this, __source: {
50
+ fileName: _jsxFileName,
51
+ lineNumber: 91,
52
+ columnNumber: 9
53
+ } }, /* @__PURE__ */ React.createElement("div", { className: "bg-white dark:bg-gray-800 py-8 px-4 shadow sm:rounded-lg sm:px-10", __self: this, __source: {
54
+ fileName: _jsxFileName,
55
+ lineNumber: 92,
56
+ columnNumber: 11
57
+ } }, /* @__PURE__ */ React.createElement("div", { className: "text-center", __self: this, __source: {
58
+ fileName: _jsxFileName,
59
+ lineNumber: 93,
60
+ columnNumber: 13
61
+ } }, /* @__PURE__ */ React.createElement(ExclamationCircleIcon, { className: "mx-auto h-12 w-12 text-red-400", __self: this, __source: {
62
+ fileName: _jsxFileName,
63
+ lineNumber: 94,
64
+ columnNumber: 15
65
+ } }), /* @__PURE__ */ React.createElement("h2", { className: "mt-4 text-lg font-medium text-gray-900 dark:text-gray-100", __self: this, __source: {
66
+ fileName: _jsxFileName,
67
+ lineNumber: 95,
68
+ columnNumber: 15
69
+ } }, "Unauthorized"), /* @__PURE__ */ React.createElement("p", { className: "mt-2 text-sm text-gray-600 dark:text-gray-400", __self: this, __source: {
70
+ fileName: _jsxFileName,
71
+ lineNumber: 96,
72
+ columnNumber: 15
73
+ } }, "Invalid data type or insufficient permissions."), /* @__PURE__ */ React.createElement("div", { className: "mt-6", __self: this, __source: {
74
+ fileName: _jsxFileName,
75
+ lineNumber: 99,
76
+ columnNumber: 15
77
+ } }, /* @__PURE__ */ React.createElement(Link, { to: basePath, 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", __self: this, __source: {
78
+ fileName: _jsxFileName,
79
+ lineNumber: 100,
80
+ columnNumber: 17
81
+ } }, "Return to Data Browser"))))));
92
82
  }
93
83
  if (shouldShowModelNotFound) {
94
- return /* @__PURE__ */ jsxDEV("div", { className: "flex flex-col justify-center py-12", children: /* @__PURE__ */ jsxDEV("div", { className: "mt-8 mx-auto w-full max-w-md", children: /* @__PURE__ */ jsxDEV("div", { className: "bg-white dark:bg-gray-800 py-8 px-4 shadow sm:rounded-lg sm:px-10", children: /* @__PURE__ */ jsxDEV("div", { className: "text-center", children: [
95
- /* @__PURE__ */ jsxDEV(ExclamationCircleIcon, { className: "mx-auto h-12 w-12 text-yellow-400" }, void 0, false, {
96
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
97
- lineNumber: 146,
98
- columnNumber: 15
99
- }, this),
100
- /* @__PURE__ */ jsxDEV("h2", { className: "mt-4 text-lg font-medium text-gray-900 dark:text-gray-100", children: "Model Not Found" }, void 0, false, {
101
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
102
- lineNumber: 147,
103
- columnNumber: 15
104
- }, this),
105
- /* @__PURE__ */ jsxDEV("p", { className: "mt-2 text-sm text-gray-600 dark:text-gray-400", children: [
106
- 'The data model for "',
107
- validatedDataType,
108
- '" could not be found.'
109
- ] }, void 0, true, {
110
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
111
- lineNumber: 148,
112
- columnNumber: 15
113
- }, this),
114
- /* @__PURE__ */ jsxDEV("div", { className: "mt-6", children: /* @__PURE__ */ jsxDEV(
115
- Link,
116
- {
117
- to: basePath,
118
- 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",
119
- children: "Return to Data Browser"
120
- },
121
- void 0,
122
- false,
123
- {
124
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
125
- lineNumber: 152,
126
- columnNumber: 17
127
- },
128
- this
129
- ) }, void 0, false, {
130
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
131
- lineNumber: 151,
132
- columnNumber: 15
133
- }, this)
134
- ] }, void 0, true, {
135
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
136
- lineNumber: 145,
137
- columnNumber: 13
138
- }, this) }, void 0, false, {
139
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
140
- lineNumber: 144,
141
- columnNumber: 11
142
- }, this) }, void 0, false, {
143
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
144
- lineNumber: 143,
145
- columnNumber: 9
146
- }, this) }, void 0, false, {
147
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
84
+ return /* @__PURE__ */ React.createElement("div", { className: "flex flex-col justify-center py-12", __self: this, __source: {
85
+ fileName: _jsxFileName,
148
86
  lineNumber: 142,
149
87
  columnNumber: 7
150
- }, this);
88
+ } }, /* @__PURE__ */ React.createElement("div", { className: "mt-8 mx-auto w-full max-w-md", __self: this, __source: {
89
+ fileName: _jsxFileName,
90
+ lineNumber: 143,
91
+ columnNumber: 9
92
+ } }, /* @__PURE__ */ React.createElement("div", { className: "bg-white dark:bg-gray-800 py-8 px-4 shadow sm:rounded-lg sm:px-10", __self: this, __source: {
93
+ fileName: _jsxFileName,
94
+ lineNumber: 144,
95
+ columnNumber: 11
96
+ } }, /* @__PURE__ */ React.createElement("div", { className: "text-center", __self: this, __source: {
97
+ fileName: _jsxFileName,
98
+ lineNumber: 145,
99
+ columnNumber: 13
100
+ } }, /* @__PURE__ */ React.createElement(ExclamationCircleIcon, { className: "mx-auto h-12 w-12 text-yellow-400", __self: this, __source: {
101
+ fileName: _jsxFileName,
102
+ lineNumber: 146,
103
+ columnNumber: 15
104
+ } }), /* @__PURE__ */ React.createElement("h2", { className: "mt-4 text-lg font-medium text-gray-900 dark:text-gray-100", __self: this, __source: {
105
+ fileName: _jsxFileName,
106
+ lineNumber: 147,
107
+ columnNumber: 15
108
+ } }, "Model Not Found"), /* @__PURE__ */ React.createElement("p", { className: "mt-2 text-sm text-gray-600 dark:text-gray-400", __self: this, __source: {
109
+ fileName: _jsxFileName,
110
+ lineNumber: 148,
111
+ columnNumber: 15
112
+ } }, 'The data model for "', validatedDataType, '" could not be found.'), /* @__PURE__ */ React.createElement("div", { className: "mt-6", __self: this, __source: {
113
+ fileName: _jsxFileName,
114
+ lineNumber: 151,
115
+ columnNumber: 15
116
+ } }, /* @__PURE__ */ React.createElement(Link, { to: basePath, 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", __self: this, __source: {
117
+ fileName: _jsxFileName,
118
+ lineNumber: 152,
119
+ columnNumber: 17
120
+ } }, "Return to Data Browser"))))));
151
121
  }
152
- return /* @__PURE__ */ jsxDEV(AdminDataCreatePageContent, { model, basePath, formTheme }, void 0, false, {
153
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
122
+ return /* @__PURE__ */ React.createElement(AdminDataCreatePageContent, { model, basePath, formTheme, __self: this, __source: {
123
+ fileName: _jsxFileName,
154
124
  lineNumber: 167,
155
125
  columnNumber: 10
156
- }, this);
126
+ } });
157
127
  }
158
- function AdminDataCreatePageContent({ model, basePath, formTheme }) {
128
+ function AdminDataCreatePageContent({
129
+ model,
130
+ basePath,
131
+ formTheme
132
+ }) {
159
133
  const navigate = useNavigate();
160
- const { sdk } = useAdminDataContext();
161
- const [submissionState, setSubmissionState] = useState({ status: "idle" });
134
+ const {
135
+ sdk
136
+ } = useAdminDataContext();
137
+ const [submissionState, setSubmissionState] = useState({
138
+ status: "idle"
139
+ });
162
140
  const documents = useMemo(() => {
163
141
  try {
164
142
  return getAdminDocuments(sdk, model);
@@ -180,72 +158,56 @@ function AdminDataCreatePageContent({ model, basePath, formTheme }) {
180
158
  return null;
181
159
  }
182
160
  }, [documents]);
183
- const [createMutation] = useMutation(
184
- CREATE_MUTATION || gql`
161
+ const [createMutation] = useMutation(CREATE_MUTATION || gql`
185
162
  mutation PlaceholderCreate {
186
163
  __typename
187
164
  }
188
- `
189
- );
165
+ `);
190
166
  if (!documents || !CREATE_MUTATION) {
191
- return /* @__PURE__ */ jsxDEV("div", { className: "min-h-screen bg-gray-50 dark:bg-gray-900 flex flex-col justify-center py-12 sm:px-6 lg:px-8", children: /* @__PURE__ */ jsxDEV("div", { className: "mt-8 sm:mx-auto sm:w-full sm:max-w-2xl", children: /* @__PURE__ */ jsxDEV("div", { className: "bg-white dark:bg-gray-800 py-8 px-4 shadow sm:rounded-lg sm:px-10", children: /* @__PURE__ */ jsxDEV("div", { className: "text-center", children: [
192
- /* @__PURE__ */ jsxDEV(ExclamationCircleIcon, { className: "mx-auto h-12 w-12 text-red-400" }, void 0, false, {
193
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
194
- lineNumber: 226,
195
- columnNumber: 15
196
- }, this),
197
- /* @__PURE__ */ jsxDEV("h2", { className: "mt-4 text-lg font-medium text-gray-900 dark:text-gray-100", children: "GraphQL Schema Error" }, void 0, false, {
198
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
199
- lineNumber: 227,
200
- columnNumber: 15
201
- }, this),
202
- /* @__PURE__ */ jsxDEV("p", { className: "mt-2 text-sm text-gray-600 dark:text-gray-400", children: "Unable to load GraphQL documents for this model. Please ensure the API server is running and the GraphQL schema is up to date." }, void 0, false, {
203
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
204
- lineNumber: 228,
205
- columnNumber: 15
206
- }, this),
207
- /* @__PURE__ */ jsxDEV("div", { className: "mt-6", children: /* @__PURE__ */ jsxDEV(
208
- Link,
209
- {
210
- to: basePath,
211
- 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",
212
- children: "Return to Data Browser"
213
- },
214
- void 0,
215
- false,
216
- {
217
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
218
- lineNumber: 233,
219
- columnNumber: 17
220
- },
221
- this
222
- ) }, void 0, false, {
223
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
224
- lineNumber: 232,
225
- columnNumber: 15
226
- }, this)
227
- ] }, void 0, true, {
228
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
229
- lineNumber: 225,
230
- columnNumber: 13
231
- }, this) }, void 0, false, {
232
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
233
- lineNumber: 224,
234
- columnNumber: 11
235
- }, this) }, void 0, false, {
236
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
237
- lineNumber: 223,
238
- columnNumber: 9
239
- }, this) }, void 0, false, {
240
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
167
+ return /* @__PURE__ */ React.createElement("div", { className: "min-h-screen bg-gray-50 dark:bg-gray-900 flex flex-col justify-center py-12 sm:px-6 lg:px-8", __self: this, __source: {
168
+ fileName: _jsxFileName,
241
169
  lineNumber: 222,
242
170
  columnNumber: 7
243
- }, this);
171
+ } }, /* @__PURE__ */ React.createElement("div", { className: "mt-8 sm:mx-auto sm:w-full sm:max-w-2xl", __self: this, __source: {
172
+ fileName: _jsxFileName,
173
+ lineNumber: 223,
174
+ columnNumber: 9
175
+ } }, /* @__PURE__ */ React.createElement("div", { className: "bg-white dark:bg-gray-800 py-8 px-4 shadow sm:rounded-lg sm:px-10", __self: this, __source: {
176
+ fileName: _jsxFileName,
177
+ lineNumber: 224,
178
+ columnNumber: 11
179
+ } }, /* @__PURE__ */ React.createElement("div", { className: "text-center", __self: this, __source: {
180
+ fileName: _jsxFileName,
181
+ lineNumber: 225,
182
+ columnNumber: 13
183
+ } }, /* @__PURE__ */ React.createElement(ExclamationCircleIcon, { className: "mx-auto h-12 w-12 text-red-400", __self: this, __source: {
184
+ fileName: _jsxFileName,
185
+ lineNumber: 226,
186
+ columnNumber: 15
187
+ } }), /* @__PURE__ */ React.createElement("h2", { className: "mt-4 text-lg font-medium text-gray-900 dark:text-gray-100", __self: this, __source: {
188
+ fileName: _jsxFileName,
189
+ lineNumber: 227,
190
+ columnNumber: 15
191
+ } }, "GraphQL Schema Error"), /* @__PURE__ */ React.createElement("p", { className: "mt-2 text-sm text-gray-600 dark:text-gray-400", __self: this, __source: {
192
+ fileName: _jsxFileName,
193
+ lineNumber: 228,
194
+ columnNumber: 15
195
+ } }, "Unable to load GraphQL documents for this model. Please ensure the API server is running and the GraphQL schema is up to date."), /* @__PURE__ */ React.createElement("div", { className: "mt-6", __self: this, __source: {
196
+ fileName: _jsxFileName,
197
+ lineNumber: 232,
198
+ columnNumber: 15
199
+ } }, /* @__PURE__ */ React.createElement(Link, { to: basePath, 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", __self: this, __source: {
200
+ fileName: _jsxFileName,
201
+ lineNumber: 233,
202
+ columnNumber: 17
203
+ } }, "Return to Data Browser"))))));
244
204
  }
245
205
  const formFields = buildFormFields(sdk, model, "create");
246
206
  const handleSubmit = async (formData) => {
247
207
  try {
248
- setSubmissionState({ status: "loading" });
208
+ setSubmissionState({
209
+ status: "loading"
210
+ });
249
211
  const cleanedInput = cleanFormInput(formData, model);
250
212
  const result = await createMutation({
251
213
  variables: {
@@ -278,244 +240,135 @@ function AdminDataCreatePageContent({ model, basePath, formTheme }) {
278
240
  useEffect(() => {
279
241
  if (submissionState.status === "error") {
280
242
  const timer = setTimeout(() => {
281
- setSubmissionState({ status: "idle" });
243
+ setSubmissionState({
244
+ status: "idle"
245
+ });
282
246
  }, 5e3);
283
247
  return () => clearTimeout(timer);
284
248
  }
285
249
  }, [submissionState.status]);
286
- return /* @__PURE__ */ jsxDEV("div", { className: "space-y-6", children: [
287
- /* @__PURE__ */ jsxDEV("div", { className: "mb-8", children: [
288
- /* @__PURE__ */ jsxDEV("nav", { className: "flex mb-6", "aria-label": "Breadcrumb", children: /* @__PURE__ */ jsxDEV("ol", { className: "flex items-center space-x-4", children: [
289
- /* @__PURE__ */ jsxDEV("li", { children: /* @__PURE__ */ jsxDEV(Link, { to: basePath, className: "text-gray-400 dark:text-gray-500 hover:text-gray-500 dark:hover:text-gray-400", children: "Data Browser" }, void 0, false, {
290
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
291
- lineNumber: 309,
292
- columnNumber: 17
293
- }, this) }, void 0, false, {
294
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
295
- lineNumber: 308,
296
- columnNumber: 15
297
- }, this),
298
- /* @__PURE__ */ jsxDEV("li", { children: /* @__PURE__ */ jsxDEV("div", { className: "flex items-center", children: [
299
- /* @__PURE__ */ jsxDEV(
300
- "svg",
301
- {
302
- className: "flex-shrink-0 h-5 w-5 text-gray-300 dark:text-gray-600",
303
- fill: "currentColor",
304
- viewBox: "0 0 20 20",
305
- children: /* @__PURE__ */ jsxDEV(
306
- "path",
307
- {
308
- fillRule: "evenodd",
309
- d: "M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 111.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z",
310
- clipRule: "evenodd"
311
- },
312
- void 0,
313
- false,
314
- {
315
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
316
- lineNumber: 320,
317
- columnNumber: 21
318
- },
319
- this
320
- )
321
- },
322
- void 0,
323
- false,
324
- {
325
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
326
- lineNumber: 315,
327
- columnNumber: 19
328
- },
329
- this
330
- ),
331
- /* @__PURE__ */ jsxDEV(
332
- Link,
333
- {
334
- to: `${basePath}/${toKebabCase(model.pluralName)}`,
335
- className: "ml-4 text-gray-400 dark:text-gray-500 hover:text-gray-500 dark:hover:text-gray-400",
336
- children: toReadableText(model.pluralName)
337
- },
338
- void 0,
339
- false,
340
- {
341
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
342
- lineNumber: 326,
343
- columnNumber: 19
344
- },
345
- this
346
- )
347
- ] }, void 0, true, {
348
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
349
- lineNumber: 314,
350
- columnNumber: 17
351
- }, this) }, void 0, false, {
352
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
353
- lineNumber: 313,
354
- columnNumber: 15
355
- }, this),
356
- /* @__PURE__ */ jsxDEV("li", { children: /* @__PURE__ */ jsxDEV("div", { className: "flex items-center", children: [
357
- /* @__PURE__ */ jsxDEV(
358
- "svg",
359
- {
360
- className: "flex-shrink-0 h-5 w-5 text-gray-300 dark:text-gray-600",
361
- fill: "currentColor",
362
- viewBox: "0 0 20 20",
363
- children: /* @__PURE__ */ jsxDEV(
364
- "path",
365
- {
366
- fillRule: "evenodd",
367
- d: "M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 111.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z",
368
- clipRule: "evenodd"
369
- },
370
- void 0,
371
- false,
372
- {
373
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
374
- lineNumber: 341,
375
- columnNumber: 21
376
- },
377
- this
378
- )
379
- },
380
- void 0,
381
- false,
382
- {
383
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
384
- lineNumber: 336,
385
- columnNumber: 19
386
- },
387
- this
388
- ),
389
- /* @__PURE__ */ jsxDEV("span", { className: "ml-4 text-gray-500 dark:text-gray-400", children: "Create New" }, void 0, false, {
390
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
391
- lineNumber: 347,
392
- columnNumber: 19
393
- }, this)
394
- ] }, void 0, true, {
395
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
396
- lineNumber: 335,
397
- columnNumber: 17
398
- }, this) }, void 0, false, {
399
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
400
- lineNumber: 334,
401
- columnNumber: 15
402
- }, this)
403
- ] }, void 0, true, {
404
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
405
- lineNumber: 307,
406
- columnNumber: 13
407
- }, this) }, void 0, false, {
408
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
409
- lineNumber: 306,
410
- columnNumber: 11
411
- }, this),
412
- /* @__PURE__ */ jsxDEV("h1", { className: "mt-4 text-3xl font-bold text-gray-900 dark:text-gray-100", children: [
413
- "Create ",
414
- toReadableText(model.name)
415
- ] }, void 0, true, {
416
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
417
- lineNumber: 352,
418
- columnNumber: 11
419
- }, this)
420
- ] }, void 0, true, {
421
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
422
- lineNumber: 305,
423
- columnNumber: 7
424
- }, this),
425
- submissionState.status !== "idle" && /* @__PURE__ */ jsxDEV(
426
- "div",
427
- {
428
- className: `mb-6 rounded-md p-4 ${submissionState.status === "success" ? "bg-green-50 border border-green-200" : submissionState.status === "error" ? "bg-red-50 border border-red-200" : "bg-blue-50 border border-blue-200"}`,
429
- children: /* @__PURE__ */ jsxDEV("div", { className: "flex", children: [
430
- /* @__PURE__ */ jsxDEV("div", { className: "flex-shrink-0", children: submissionState.status === "success" ? /* @__PURE__ */ jsxDEV(CheckCircleIcon, { className: "h-5 w-5 text-green-400" }, void 0, false, {
431
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
432
- lineNumber: 371,
433
- columnNumber: 19
434
- }, this) : submissionState.status === "error" ? /* @__PURE__ */ jsxDEV(ExclamationCircleIcon, { className: "h-5 w-5 text-red-400" }, void 0, false, {
435
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
436
- lineNumber: 373,
437
- columnNumber: 19
438
- }, this) : /* @__PURE__ */ jsxDEV("div", { className: "h-5 w-5 border-2 border-blue-400 border-t-transparent rounded-full animate-spin" }, void 0, false, {
439
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
440
- lineNumber: 375,
441
- columnNumber: 19
442
- }, this) }, void 0, false, {
443
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
444
- lineNumber: 369,
445
- columnNumber: 15
446
- }, this),
447
- /* @__PURE__ */ jsxDEV("div", { className: "ml-3", children: /* @__PURE__ */ jsxDEV(
448
- "p",
449
- {
450
- className: `text-sm font-medium ${submissionState.status === "success" ? "text-green-800" : submissionState.status === "error" ? "text-red-800" : "text-blue-800"}`,
451
- children: submissionState.status === "loading" ? `Creating ${toReadableText(model.name)}...` : submissionState.message
452
- },
453
- void 0,
454
- false,
455
- {
456
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
457
- lineNumber: 379,
458
- columnNumber: 17
459
- },
460
- this
461
- ) }, void 0, false, {
462
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
463
- lineNumber: 378,
464
- columnNumber: 15
465
- }, this)
466
- ] }, void 0, true, {
467
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
468
- lineNumber: 368,
469
- columnNumber: 13
470
- }, this)
471
- },
472
- void 0,
473
- false,
474
- {
475
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
476
- lineNumber: 359,
477
- columnNumber: 11
478
- },
479
- this
480
- ),
481
- /* @__PURE__ */ jsxDEV("div", { className: "bg-white dark:bg-gray-800 shadow-sm rounded-lg", children: /* @__PURE__ */ jsxDEV("div", { className: "px-6 py-8", children: /* @__PURE__ */ jsxDEV(
482
- Form,
483
- {
484
- id: `create-${model.name.toLowerCase()}-form`,
485
- fields: formFields,
486
- submit: handleSubmit,
487
- disabled: submissionState.status === "loading",
488
- theme: formTheme
489
- },
490
- void 0,
491
- false,
492
- {
493
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
494
- lineNumber: 400,
495
- columnNumber: 13
496
- },
497
- this
498
- ) }, void 0, false, {
499
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
500
- lineNumber: 399,
501
- columnNumber: 11
502
- }, this) }, void 0, false, {
503
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
504
- lineNumber: 398,
505
- columnNumber: 9
506
- }, this)
507
- ] }, void 0, true, {
508
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
250
+ return /* @__PURE__ */ React.createElement("div", { className: "space-y-6", __self: this, __source: {
251
+ fileName: _jsxFileName,
509
252
  lineNumber: 303,
510
253
  columnNumber: 5
511
- }, this);
254
+ } }, /* @__PURE__ */ React.createElement("div", { className: "mb-8", __self: this, __source: {
255
+ fileName: _jsxFileName,
256
+ lineNumber: 305,
257
+ columnNumber: 7
258
+ } }, /* @__PURE__ */ React.createElement("nav", { className: "flex mb-6", "aria-label": "Breadcrumb", __self: this, __source: {
259
+ fileName: _jsxFileName,
260
+ lineNumber: 306,
261
+ columnNumber: 11
262
+ } }, /* @__PURE__ */ React.createElement("ol", { className: "flex items-center space-x-4", __self: this, __source: {
263
+ fileName: _jsxFileName,
264
+ lineNumber: 307,
265
+ columnNumber: 13
266
+ } }, /* @__PURE__ */ React.createElement("li", { __self: this, __source: {
267
+ fileName: _jsxFileName,
268
+ lineNumber: 308,
269
+ columnNumber: 15
270
+ } }, /* @__PURE__ */ React.createElement(Link, { to: basePath, className: "text-gray-400 dark:text-gray-500 hover:text-gray-500 dark:hover:text-gray-400", __self: this, __source: {
271
+ fileName: _jsxFileName,
272
+ lineNumber: 309,
273
+ columnNumber: 17
274
+ } }, "Data Browser")), /* @__PURE__ */ React.createElement("li", { __self: this, __source: {
275
+ fileName: _jsxFileName,
276
+ lineNumber: 313,
277
+ columnNumber: 15
278
+ } }, /* @__PURE__ */ React.createElement("div", { className: "flex items-center", __self: this, __source: {
279
+ fileName: _jsxFileName,
280
+ lineNumber: 314,
281
+ columnNumber: 17
282
+ } }, /* @__PURE__ */ React.createElement("svg", { className: "flex-shrink-0 h-5 w-5 text-gray-300 dark:text-gray-600", fill: "currentColor", viewBox: "0 0 20 20", __self: this, __source: {
283
+ fileName: _jsxFileName,
284
+ lineNumber: 315,
285
+ columnNumber: 19
286
+ } }, /* @__PURE__ */ React.createElement("path", { fillRule: "evenodd", d: "M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 111.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z", clipRule: "evenodd", __self: this, __source: {
287
+ fileName: _jsxFileName,
288
+ lineNumber: 320,
289
+ columnNumber: 21
290
+ } })), /* @__PURE__ */ React.createElement(Link, { to: `${basePath}/${toKebabCase(model.pluralName)}`, className: "ml-4 text-gray-400 dark:text-gray-500 hover:text-gray-500 dark:hover:text-gray-400", __self: this, __source: {
291
+ fileName: _jsxFileName,
292
+ lineNumber: 326,
293
+ columnNumber: 19
294
+ } }, toReadableText(model.pluralName)))), /* @__PURE__ */ React.createElement("li", { __self: this, __source: {
295
+ fileName: _jsxFileName,
296
+ lineNumber: 334,
297
+ columnNumber: 15
298
+ } }, /* @__PURE__ */ React.createElement("div", { className: "flex items-center", __self: this, __source: {
299
+ fileName: _jsxFileName,
300
+ lineNumber: 335,
301
+ columnNumber: 17
302
+ } }, /* @__PURE__ */ React.createElement("svg", { className: "flex-shrink-0 h-5 w-5 text-gray-300 dark:text-gray-600", fill: "currentColor", viewBox: "0 0 20 20", __self: this, __source: {
303
+ fileName: _jsxFileName,
304
+ lineNumber: 336,
305
+ columnNumber: 19
306
+ } }, /* @__PURE__ */ React.createElement("path", { fillRule: "evenodd", d: "M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 111.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z", clipRule: "evenodd", __self: this, __source: {
307
+ fileName: _jsxFileName,
308
+ lineNumber: 341,
309
+ columnNumber: 21
310
+ } })), /* @__PURE__ */ React.createElement("span", { className: "ml-4 text-gray-500 dark:text-gray-400", __self: this, __source: {
311
+ fileName: _jsxFileName,
312
+ lineNumber: 347,
313
+ columnNumber: 19
314
+ } }, "Create New"))))), /* @__PURE__ */ React.createElement("h1", { className: "mt-4 text-3xl font-bold text-gray-900 dark:text-gray-100", __self: this, __source: {
315
+ fileName: _jsxFileName,
316
+ lineNumber: 352,
317
+ columnNumber: 11
318
+ } }, "Create ", toReadableText(model.name))), submissionState.status !== "idle" && /* @__PURE__ */ React.createElement("div", { className: `mb-6 rounded-md p-4 ${submissionState.status === "success" ? "bg-green-50 border border-green-200" : submissionState.status === "error" ? "bg-red-50 border border-red-200" : "bg-blue-50 border border-blue-200"}`, __self: this, __source: {
319
+ fileName: _jsxFileName,
320
+ lineNumber: 359,
321
+ columnNumber: 11
322
+ } }, /* @__PURE__ */ React.createElement("div", { className: "flex", __self: this, __source: {
323
+ fileName: _jsxFileName,
324
+ lineNumber: 368,
325
+ columnNumber: 13
326
+ } }, /* @__PURE__ */ React.createElement("div", { className: "flex-shrink-0", __self: this, __source: {
327
+ fileName: _jsxFileName,
328
+ lineNumber: 369,
329
+ columnNumber: 15
330
+ } }, submissionState.status === "success" ? /* @__PURE__ */ React.createElement(CheckCircleIcon, { className: "h-5 w-5 text-green-400", __self: this, __source: {
331
+ fileName: _jsxFileName,
332
+ lineNumber: 371,
333
+ columnNumber: 19
334
+ } }) : submissionState.status === "error" ? /* @__PURE__ */ React.createElement(ExclamationCircleIcon, { className: "h-5 w-5 text-red-400", __self: this, __source: {
335
+ fileName: _jsxFileName,
336
+ lineNumber: 373,
337
+ columnNumber: 19
338
+ } }) : /* @__PURE__ */ React.createElement("div", { className: "h-5 w-5 border-2 border-blue-400 border-t-transparent rounded-full animate-spin", __self: this, __source: {
339
+ fileName: _jsxFileName,
340
+ lineNumber: 375,
341
+ columnNumber: 19
342
+ } })), /* @__PURE__ */ React.createElement("div", { className: "ml-3", __self: this, __source: {
343
+ fileName: _jsxFileName,
344
+ lineNumber: 378,
345
+ columnNumber: 15
346
+ } }, /* @__PURE__ */ React.createElement("p", { className: `text-sm font-medium ${submissionState.status === "success" ? "text-green-800" : submissionState.status === "error" ? "text-red-800" : "text-blue-800"}`, __self: this, __source: {
347
+ fileName: _jsxFileName,
348
+ lineNumber: 379,
349
+ columnNumber: 17
350
+ } }, submissionState.status === "loading" ? `Creating ${toReadableText(model.name)}...` : submissionState.message)))), /* @__PURE__ */ React.createElement("div", { className: "bg-white dark:bg-gray-800 shadow-sm rounded-lg", __self: this, __source: {
351
+ fileName: _jsxFileName,
352
+ lineNumber: 398,
353
+ columnNumber: 9
354
+ } }, /* @__PURE__ */ React.createElement("div", { className: "px-6 py-8", __self: this, __source: {
355
+ fileName: _jsxFileName,
356
+ lineNumber: 399,
357
+ columnNumber: 11
358
+ } }, /* @__PURE__ */ React.createElement(Form, { id: `create-${model.name.toLowerCase()}-form`, fields: formFields, submit: handleSubmit, disabled: submissionState.status === "loading", theme: formTheme, __self: this, __source: {
359
+ fileName: _jsxFileName,
360
+ lineNumber: 400,
361
+ columnNumber: 13
362
+ } }))));
512
363
  }
513
- function AdminDataCreateErrorBoundary({ error }) {
514
- return /* @__PURE__ */ jsxDEV(ErrorBoundary, { error }, void 0, false, {
515
- fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataCreatePage.tsx",
364
+ function AdminDataCreateErrorBoundary({
365
+ error
366
+ }) {
367
+ return /* @__PURE__ */ React.createElement(ErrorBoundary, { error, __self: this, __source: {
368
+ fileName: _jsxFileName,
516
369
  lineNumber: 414,
517
370
  columnNumber: 10
518
- }, this);
371
+ } });
519
372
  }
520
373
  export {
521
374
  AdminDataCreateErrorBoundary,