@nestledjs/data-browser 0.1.1 → 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 +16 -3
  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,4 @@
1
+ /**
2
+ * Landing page for admin data browser showing all available models
3
+ */
4
+ export declare function AdminDataIndexPage(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,91 @@
1
+ import { jsxDEV as e } from "react/jsx-dev-runtime";
2
+ import { Link as d } from "react-router";
3
+ import { getPluralName as s } from "@nestledjs/helpers";
4
+ import { useAdminDataContext as i } from "../context/AdminDataContext.js";
5
+ import { kebabCase as n, spacedWords as r } from "../utils/string-utils.js";
6
+ function x() {
7
+ const { databaseModels: a, basePath: l = "/admin/data" } = i();
8
+ return /* @__PURE__ */ e("div", { className: "text-center py-12", children: /* @__PURE__ */ e("div", { className: "max-w-2xl mx-auto", children: [
9
+ /* @__PURE__ */ e("h1", { className: "text-3xl font-bold text-gray-900 dark:text-gray-100 mb-4", children: "Database Administration" }, void 0, !1, {
10
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataIndexPage.tsx",
11
+ lineNumber: 15,
12
+ columnNumber: 9
13
+ }, this),
14
+ /* @__PURE__ */ e("p", { className: "text-lg text-gray-600 dark:text-gray-300 mb-8", children: "Choose a data model from the sidebar to get started with managing your database records." }, void 0, !1, {
15
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataIndexPage.tsx",
16
+ lineNumber: 16,
17
+ columnNumber: 9
18
+ }, this),
19
+ /* @__PURE__ */ e("div", { className: "bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-700 rounded-lg p-6 mb-8", children: [
20
+ /* @__PURE__ */ e("h2", { className: "text-lg font-semibold text-blue-900 dark:text-blue-200 mb-2", children: "Available Models" }, void 0, !1, {
21
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataIndexPage.tsx",
22
+ lineNumber: 21,
23
+ columnNumber: 11
24
+ }, this),
25
+ /* @__PURE__ */ e("p", { className: "text-blue-700 dark:text-blue-300 mb-4", children: [
26
+ "You can manage ",
27
+ a.length,
28
+ " different data models in your database:"
29
+ ] }, void 0, !0, {
30
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataIndexPage.tsx",
31
+ lineNumber: 22,
32
+ columnNumber: 11
33
+ }, this),
34
+ /* @__PURE__ */ e("div", { className: "grid grid-cols-2 md:grid-cols-3 gap-2 text-sm", children: [
35
+ a.slice(0, 12).map((t) => /* @__PURE__ */ e(
36
+ d,
37
+ {
38
+ to: `${l}/${n(s(t.name))}`,
39
+ className: "text-blue-600 dark:text-blue-400 hover:text-blue-800 dark:hover:text-blue-300 hover:underline",
40
+ children: s(r(t.name))
41
+ },
42
+ t.name,
43
+ !1,
44
+ {
45
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataIndexPage.tsx",
46
+ lineNumber: 27,
47
+ columnNumber: 15
48
+ },
49
+ this
50
+ )),
51
+ a.length > 12 && /* @__PURE__ */ e("span", { className: "text-blue-600 dark:text-blue-400 italic", children: [
52
+ "+",
53
+ a.length - 12,
54
+ " more..."
55
+ ] }, void 0, !0, {
56
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataIndexPage.tsx",
57
+ lineNumber: 36,
58
+ columnNumber: 15
59
+ }, this)
60
+ ] }, void 0, !0, {
61
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataIndexPage.tsx",
62
+ lineNumber: 25,
63
+ columnNumber: 11
64
+ }, this)
65
+ ] }, void 0, !0, {
66
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataIndexPage.tsx",
67
+ lineNumber: 20,
68
+ columnNumber: 9
69
+ }, this),
70
+ /* @__PURE__ */ e("div", { className: "text-sm text-gray-500 dark:text-gray-400", children: /* @__PURE__ */ e("p", { children: "This interface provides full CRUD (Create, Read, Update, Delete) operations for all your database models. Select a model from the sidebar to view and manage records." }, void 0, !1, {
71
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataIndexPage.tsx",
72
+ lineNumber: 42,
73
+ columnNumber: 11
74
+ }, this) }, void 0, !1, {
75
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataIndexPage.tsx",
76
+ lineNumber: 41,
77
+ columnNumber: 9
78
+ }, this)
79
+ ] }, void 0, !0, {
80
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataIndexPage.tsx",
81
+ lineNumber: 14,
82
+ columnNumber: 7
83
+ }, this) }, void 0, !1, {
84
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataIndexPage.tsx",
85
+ lineNumber: 13,
86
+ columnNumber: 5
87
+ }, this);
88
+ }
89
+ export {
90
+ x as AdminDataIndexPage
91
+ };
@@ -0,0 +1,9 @@
1
+ interface AdminDataListPageProps {
2
+ /** Optional model name - if not provided, will read from route params */
3
+ modelName?: string;
4
+ }
5
+ export declare function AdminDataListPage({ modelName: propModelName }?: AdminDataListPageProps): import("react/jsx-runtime").JSX.Element;
6
+ export declare function AdminDataErrorBoundary({ error }: Readonly<{
7
+ error: Error;
8
+ }>): import("react/jsx-runtime").JSX.Element;
9
+ export {};