@nixxie-cms/core 1.0.0 → 1.0.2

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 (187) hide show
  1. package/README.md +2 -2
  2. package/admin-ui/components/dist/nixxie-cms-core-admin-ui-components.cjs.js +4 -4
  3. package/admin-ui/components/dist/nixxie-cms-core-admin-ui-components.esm.js +4 -4
  4. package/admin-ui/context/dist/nixxie-cms-core-admin-ui-context.cjs.js +2 -2
  5. package/admin-ui/context/dist/nixxie-cms-core-admin-ui-context.esm.js +2 -2
  6. package/context/dist/nixxie-cms-core-context.cjs.js +2 -2
  7. package/context/dist/nixxie-cms-core-context.esm.js +2 -2
  8. package/dist/{CreateItemDialog-33335548.esm.js → CreateItemDialog-7008b050.esm.js} +1 -1
  9. package/dist/{CreateItemDialog-56cf59b7.cjs.js → CreateItemDialog-a0cab315.cjs.js} +1 -1
  10. package/dist/{PageContainer-7db73317.esm.js → PageContainer-5ae731cc.esm.js} +25 -18
  11. package/dist/{PageContainer-27c27f10.cjs.js → PageContainer-abd7159f.cjs.js} +25 -18
  12. package/dist/{admin-meta-graphql-6f7f5331.esm.js → admin-meta-graphql-0e6e606e.esm.js} +1 -1
  13. package/dist/{admin-meta-graphql-c8f926e9.cjs.js → admin-meta-graphql-306c224a.cjs.js} +1 -1
  14. package/dist/{context-3132c3ed.esm.js → context-af9957ed.esm.js} +2 -2
  15. package/dist/{context-e7a45152.cjs.js → context-b5204629.cjs.js} +2 -2
  16. package/dist/declarations/src/admin-ui/components/Navigation.d.ts.map +1 -1
  17. package/dist/declarations/src/admin-ui/components/PageContainer.d.ts.map +1 -1
  18. package/dist/declarations/src/helpers.d.ts.map +1 -1
  19. package/dist/declarations/src/index.d.ts +1 -0
  20. package/dist/declarations/src/index.d.ts.map +1 -1
  21. package/dist/declarations/src/internal-unstable/admin-ui/id-field-view.d.ts.map +1 -0
  22. package/dist/declarations/src/internal-unstable/admin-ui/pages/App/index.d.ts.map +1 -0
  23. package/dist/declarations/src/internal-unstable/admin-ui/pages/CreateItemPage/index.d.ts.map +1 -0
  24. package/dist/declarations/src/internal-unstable/admin-ui/pages/HomePage/index.d.ts.map +1 -0
  25. package/dist/declarations/src/internal-unstable/admin-ui/pages/ItemPage/index.d.ts.map +1 -0
  26. package/dist/declarations/src/internal-unstable/admin-ui/pages/ListPage/index.d.ts.map +1 -0
  27. package/dist/declarations/src/internal-unstable/admin-ui/pages/NoAccessPage/index.d.ts.map +1 -0
  28. package/dist/declarations/src/internal-unstable/artifacts.d.ts.map +1 -0
  29. package/dist/declarations/src/lib/core/initialise-lists.d.ts +1 -1
  30. package/dist/declarations/src/schema.d.ts.map +1 -1
  31. package/dist/declarations/src/types/config/index.d.ts +60 -1
  32. package/dist/declarations/src/types/config/index.d.ts.map +1 -1
  33. package/dist/declarations/src/types/config/lists.d.ts +4 -4
  34. package/dist/declarations/src/types/context.d.ts +150 -0
  35. package/dist/declarations/src/types/context.d.ts.map +1 -1
  36. package/dist/declarations/src/types/next-fields.d.ts +1 -1
  37. package/dist/{express-e9ed9a7d.cjs.js → express-455ae20c.cjs.js} +1 -1
  38. package/dist/{express-6743b918.esm.js → express-7559ca2d.esm.js} +1 -1
  39. package/dist/{index-ac01583b.cjs.js → index-89635494.cjs.js} +4 -4
  40. package/dist/{index-24b78415.esm.js → index-baa799e0.esm.js} +4 -4
  41. package/dist/nixxie-cms-core.cjs.js +104 -77
  42. package/dist/nixxie-cms-core.esm.js +104 -77
  43. package/dist/{non-null-graphql-5315718c.esm.js → non-null-graphql-a84ed64d.esm.js} +1 -1
  44. package/dist/{non-null-graphql-17b83ddc.cjs.js → non-null-graphql-add6bb3d.cjs.js} +1 -1
  45. package/dist/{resolve-hooks-66fe8a8e.cjs.js → resolve-hooks-165a9ce2.cjs.js} +1 -1
  46. package/dist/{resolve-hooks-17aafd37.esm.js → resolve-hooks-6813a045.esm.js} +2 -2
  47. package/dist/{system-dfec2f0a.esm.js → system-03e49e4f.esm.js} +8 -4
  48. package/dist/{system-48c5f6df.cjs.js → system-a321642d.cjs.js} +8 -4
  49. package/dist/{useFilter-0b5a1ee6.esm.js → useFilter-9b6db1f9.esm.js} +1 -1
  50. package/dist/{useFilter-1a4e6900.cjs.js → useFilter-acc9d413.cjs.js} +1 -1
  51. package/fields/dist/nixxie-cms-core-fields.cjs.js +16 -16
  52. package/fields/dist/nixxie-cms-core-fields.esm.js +17 -17
  53. package/fields/types/bytes/dist/nixxie-cms-core-fields-types-bytes.cjs.js +3 -3
  54. package/fields/types/bytes/dist/nixxie-cms-core-fields-types-bytes.esm.js +3 -3
  55. package/fields/types/bytes/views/dist/nixxie-cms-core-fields-types-bytes-views.cjs.js +1 -1
  56. package/fields/types/bytes/views/dist/nixxie-cms-core-fields-types-bytes-views.esm.js +1 -1
  57. package/fields/types/password/dist/nixxie-cms-core-fields-types-password.cjs.js +3 -3
  58. package/fields/types/password/dist/nixxie-cms-core-fields-types-password.esm.js +3 -3
  59. package/fields/types/relationship/views/dist/nixxie-cms-core-fields-types-relationship-views.cjs.js +4 -4
  60. package/fields/types/relationship/views/dist/nixxie-cms-core-fields-types-relationship-views.esm.js +4 -4
  61. package/fields/types/select/views/dist/nixxie-cms-core-fields-types-select-views.cjs.js +1 -1
  62. package/fields/types/select/views/dist/nixxie-cms-core-fields-types-select-views.esm.js +1 -1
  63. package/fields/types/text/views/dist/nixxie-cms-core-fields-types-text-views.cjs.js +1 -1
  64. package/fields/types/text/views/dist/nixxie-cms-core-fields-types-text-views.esm.js +1 -1
  65. package/internal-unstable/admin-ui/id-field-view/dist/nixxie-cms-core-internal-unstable-admin-ui-id-field-view.cjs.d.ts +2 -0
  66. package/internal-unstable/admin-ui/id-field-view/dist/nixxie-cms-core-internal-unstable-admin-ui-id-field-view.cjs.js +244 -0
  67. package/internal-unstable/admin-ui/id-field-view/dist/nixxie-cms-core-internal-unstable-admin-ui-id-field-view.esm.js +235 -0
  68. package/internal-unstable/admin-ui/id-field-view/package.json +4 -0
  69. package/internal-unstable/admin-ui/next-config/package.json +4 -0
  70. package/internal-unstable/admin-ui/pages/App/dist/nixxie-cms-core-internal-unstable-admin-ui-pages-App.cjs.d.ts +2 -0
  71. package/internal-unstable/admin-ui/pages/App/dist/nixxie-cms-core-internal-unstable-admin-ui-pages-App.cjs.js +59 -0
  72. package/internal-unstable/admin-ui/pages/App/dist/nixxie-cms-core-internal-unstable-admin-ui-pages-App.esm.js +55 -0
  73. package/internal-unstable/admin-ui/pages/App/package.json +4 -0
  74. package/internal-unstable/admin-ui/pages/CreateItemPage/dist/nixxie-cms-core-internal-unstable-admin-ui-pages-CreateItemPage.cjs.d.ts +2 -0
  75. package/internal-unstable/admin-ui/pages/CreateItemPage/dist/nixxie-cms-core-internal-unstable-admin-ui-pages-CreateItemPage.cjs.js +116 -0
  76. package/internal-unstable/admin-ui/pages/CreateItemPage/dist/nixxie-cms-core-internal-unstable-admin-ui-pages-CreateItemPage.esm.js +112 -0
  77. package/internal-unstable/admin-ui/pages/CreateItemPage/package.json +4 -0
  78. package/internal-unstable/admin-ui/pages/HomePage/dist/nixxie-cms-core-internal-unstable-admin-ui-pages-HomePage.cjs.d.ts +2 -0
  79. package/internal-unstable/admin-ui/pages/HomePage/dist/nixxie-cms-core-internal-unstable-admin-ui-pages-HomePage.cjs.js +336 -0
  80. package/internal-unstable/admin-ui/pages/HomePage/dist/nixxie-cms-core-internal-unstable-admin-ui-pages-HomePage.esm.js +332 -0
  81. package/internal-unstable/admin-ui/pages/HomePage/package.json +4 -0
  82. package/internal-unstable/admin-ui/pages/ItemPage/dist/nixxie-cms-core-internal-unstable-admin-ui-pages-ItemPage.cjs.d.ts +2 -0
  83. package/internal-unstable/admin-ui/pages/ItemPage/dist/nixxie-cms-core-internal-unstable-admin-ui-pages-ItemPage.cjs.js +463 -0
  84. package/internal-unstable/admin-ui/pages/ItemPage/dist/nixxie-cms-core-internal-unstable-admin-ui-pages-ItemPage.esm.js +455 -0
  85. package/internal-unstable/admin-ui/pages/ItemPage/package.json +4 -0
  86. package/internal-unstable/admin-ui/pages/ListPage/dist/nixxie-cms-core-internal-unstable-admin-ui-pages-ListPage.cjs.d.ts +2 -0
  87. package/internal-unstable/admin-ui/pages/ListPage/dist/nixxie-cms-core-internal-unstable-admin-ui-pages-ListPage.cjs.js +1195 -0
  88. package/internal-unstable/admin-ui/pages/ListPage/dist/nixxie-cms-core-internal-unstable-admin-ui-pages-ListPage.esm.js +1187 -0
  89. package/internal-unstable/admin-ui/pages/ListPage/package.json +4 -0
  90. package/internal-unstable/admin-ui/pages/NoAccessPage/dist/nixxie-cms-core-internal-unstable-admin-ui-pages-NoAccessPage.cjs.d.ts +2 -0
  91. package/internal-unstable/admin-ui/pages/NoAccessPage/dist/nixxie-cms-core-internal-unstable-admin-ui-pages-NoAccessPage.cjs.js +40 -0
  92. package/internal-unstable/admin-ui/pages/NoAccessPage/dist/nixxie-cms-core-internal-unstable-admin-ui-pages-NoAccessPage.esm.js +35 -0
  93. package/internal-unstable/admin-ui/pages/NoAccessPage/package.json +4 -0
  94. package/internal-unstable/artifacts/dist/nixxie-cms-core-internal-unstable-artifacts.cjs.d.ts +2 -0
  95. package/internal-unstable/artifacts/dist/nixxie-cms-core-internal-unstable-artifacts.cjs.js +51 -0
  96. package/internal-unstable/artifacts/dist/nixxie-cms-core-internal-unstable-artifacts.esm.js +38 -0
  97. package/internal-unstable/artifacts/package.json +4 -0
  98. package/package.json +44 -44
  99. package/scripts/cli/dist/nixxie-cms-core-scripts-cli.cjs.js +44 -15
  100. package/scripts/cli/dist/nixxie-cms-core-scripts-cli.esm.js +44 -15
  101. package/scripts/dist/nixxie-cms-core-scripts.cjs.js +3 -3
  102. package/scripts/dist/nixxie-cms-core-scripts.esm.js +3 -3
  103. package/src/admin-ui/admin-meta-graphql.ts +168 -168
  104. package/src/admin-ui/components/CommandPalette.tsx +433 -431
  105. package/src/admin-ui/components/Navigation.tsx +389 -385
  106. package/src/admin-ui/components/PageContainer.tsx +311 -310
  107. package/src/admin-ui/components/WelcomeDialog.tsx +1 -1
  108. package/src/admin-ui/context.tsx +338 -338
  109. package/src/admin-ui/templates/app.ts +60 -60
  110. package/src/admin-ui/templates/create-item.ts +5 -5
  111. package/src/admin-ui/templates/home.ts +2 -2
  112. package/src/admin-ui/templates/item.tsx +5 -5
  113. package/src/admin-ui/templates/list.tsx +5 -5
  114. package/src/admin-ui/templates/next-config.ts +29 -0
  115. package/src/admin-ui/templates/no-access.ts +7 -7
  116. package/src/fields/types/bigInt/index.ts +181 -181
  117. package/src/fields/types/bytes/index.ts +275 -275
  118. package/src/fields/types/calendarDay/index.ts +194 -194
  119. package/src/fields/types/checkbox/index.ts +76 -76
  120. package/src/fields/types/decimal/index.ts +182 -182
  121. package/src/fields/types/file/index.ts +168 -168
  122. package/src/fields/types/float/index.ts +133 -133
  123. package/src/fields/types/image/index.ts +244 -244
  124. package/src/fields/types/integer/index.ts +156 -156
  125. package/src/fields/types/json/index.ts +77 -77
  126. package/src/fields/types/multiselect/index.ts +212 -212
  127. package/src/fields/types/password/index.ts +241 -241
  128. package/src/fields/types/relationship/index.ts +381 -381
  129. package/src/fields/types/relationship/views/RelationshipTable.tsx +190 -190
  130. package/src/fields/types/select/index.ts +226 -226
  131. package/src/fields/types/text/index.ts +207 -207
  132. package/src/fields/types/timestamp/index.ts +116 -116
  133. package/src/fields/types/virtual/index.ts +108 -108
  134. package/src/helpers.ts +342 -316
  135. package/src/index.ts +4 -0
  136. package/src/{___internal-do-not-use-will-break-in-patch → internal-unstable}/admin-ui/id-field-view.tsx +167 -167
  137. package/src/{___internal-do-not-use-will-break-in-patch → internal-unstable}/admin-ui/pages/App/index.tsx +22 -22
  138. package/src/{___internal-do-not-use-will-break-in-patch → internal-unstable}/admin-ui/pages/CreateItemPage/index.tsx +71 -71
  139. package/src/{___internal-do-not-use-will-break-in-patch → internal-unstable}/admin-ui/pages/HomePage/index.tsx +333 -333
  140. package/src/{___internal-do-not-use-will-break-in-patch → internal-unstable}/admin-ui/pages/ItemPage/common.tsx +358 -358
  141. package/src/{___internal-do-not-use-will-break-in-patch → internal-unstable}/admin-ui/pages/ItemPage/index.tsx +483 -483
  142. package/src/{___internal-do-not-use-will-break-in-patch → internal-unstable}/admin-ui/pages/ListPage/FilterAdd.tsx +221 -221
  143. package/src/{___internal-do-not-use-will-break-in-patch → internal-unstable}/admin-ui/pages/ListPage/PaginationControls.tsx +170 -170
  144. package/src/{___internal-do-not-use-will-break-in-patch → internal-unstable}/admin-ui/pages/ListPage/Tag.tsx +72 -72
  145. package/src/{___internal-do-not-use-will-break-in-patch → internal-unstable}/admin-ui/pages/ListPage/index.tsx +1006 -1006
  146. package/src/{___internal-do-not-use-will-break-in-patch → internal-unstable}/admin-ui/pages/NoAccessPage/index.tsx +24 -24
  147. package/src/{___internal-do-not-use-will-break-in-patch → internal-unstable}/artifacts.ts +5 -5
  148. package/src/lib/context/createContext.ts +165 -161
  149. package/src/lib/core/initialise-lists.ts +1097 -1097
  150. package/src/lib/id-field.ts +214 -214
  151. package/src/lib/telemetry.ts +342 -342
  152. package/src/schema.ts +237 -233
  153. package/src/scripts/telemetry.ts +1 -1
  154. package/src/types/config/index.ts +400 -333
  155. package/src/types/config/lists.ts +4 -4
  156. package/src/types/context.ts +700 -530
  157. package/src/types/next-fields.ts +499 -499
  158. package/src/types/telemetry.ts +51 -51
  159. package/tests/telemetry.test.ts +361 -361
  160. package/CHANGELOG.md +0 -3158
  161. package/___internal-do-not-use-will-break-in-patch/admin-ui/id-field-view/package.json +0 -4
  162. package/___internal-do-not-use-will-break-in-patch/admin-ui/next-config/package.json +0 -4
  163. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/App/package.json +0 -4
  164. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/CreateItemPage/package.json +0 -4
  165. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/HomePage/package.json +0 -4
  166. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ItemPage/package.json +0 -4
  167. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ListPage/package.json +0 -4
  168. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/NoAccessPage/package.json +0 -4
  169. package/___internal-do-not-use-will-break-in-patch/artifacts/package.json +0 -4
  170. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/id-field-view.d.ts.map +0 -1
  171. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/App/index.d.ts.map +0 -1
  172. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/CreateItemPage/index.d.ts.map +0 -1
  173. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/HomePage/index.d.ts.map +0 -1
  174. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ItemPage/index.d.ts.map +0 -1
  175. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ListPage/index.d.ts.map +0 -1
  176. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/NoAccessPage/index.d.ts.map +0 -1
  177. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/artifacts.d.ts.map +0 -1
  178. /package/dist/{common-1a350e11.cjs.js → common-5933f758.cjs.js} +0 -0
  179. /package/dist/{common-29fc82e6.esm.js → common-ea5c441a.esm.js} +0 -0
  180. /package/dist/declarations/src/{___internal-do-not-use-will-break-in-patch → internal-unstable}/admin-ui/id-field-view.d.ts +0 -0
  181. /package/dist/declarations/src/{___internal-do-not-use-will-break-in-patch → internal-unstable}/admin-ui/pages/App/index.d.ts +0 -0
  182. /package/dist/declarations/src/{___internal-do-not-use-will-break-in-patch → internal-unstable}/admin-ui/pages/CreateItemPage/index.d.ts +0 -0
  183. /package/dist/declarations/src/{___internal-do-not-use-will-break-in-patch → internal-unstable}/admin-ui/pages/HomePage/index.d.ts +0 -0
  184. /package/dist/declarations/src/{___internal-do-not-use-will-break-in-patch → internal-unstable}/admin-ui/pages/ItemPage/index.d.ts +0 -0
  185. /package/dist/declarations/src/{___internal-do-not-use-will-break-in-patch → internal-unstable}/admin-ui/pages/ListPage/index.d.ts +0 -0
  186. /package/dist/declarations/src/{___internal-do-not-use-will-break-in-patch → internal-unstable}/admin-ui/pages/NoAccessPage/index.d.ts +0 -0
  187. /package/dist/declarations/src/{___internal-do-not-use-will-break-in-patch → internal-unstable}/artifacts.d.ts +0 -0
@@ -0,0 +1,336 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var react = require('react');
6
+ var style = require('@keystar/ui/style');
7
+ var typography = require('@keystar/ui/typography');
8
+ var client = require('@apollo/client');
9
+ var react$1 = require('@apollo/client/react');
10
+ var GraphQLErrorNotice = require('../../../../../dist/GraphQLErrorNotice-cd74180d.cjs.js');
11
+ var PageContainer = require('../../../../../dist/PageContainer-abd7159f.cjs.js');
12
+ var adminUi_context_dist_nixxieCmsCoreAdminUiContext = require('../../../../../dist/context-b5204629.cjs.js');
13
+ var jsxRuntime = require('react/jsx-runtime');
14
+ require('@keystar/ui/layout');
15
+ require('@keystar/ui/notice');
16
+ require('@keystar/ui/slots');
17
+ require('next/head');
18
+ require('next/link');
19
+ require('next/router');
20
+ require('apollo-upload-client/UploadHttpLink.mjs');
21
+ require('@keystar/ui/core');
22
+ require('@keystar/ui/toast');
23
+ require('@nixxie-cms/core/admin-ui/router');
24
+ require('@keystar/ui/button');
25
+ require('@keystar/ui/icon');
26
+ require('@keystar/ui/icon/icons/chevronLeftIcon');
27
+ require('@keystar/ui/icon/icons/chevronRightIcon');
28
+ require('@keystar/ui/icon/icons/undo2Icon');
29
+ require('@keystar/ui/picker');
30
+ require('@keystar/ui/tag');
31
+ require('@keystar/ui/tooltip');
32
+ require('../../../../../dist/admin-meta-graphql-306c224a.cjs.js');
33
+ require('../../../../../dist/filters-b3e5eb50.cjs.js');
34
+
35
+ function CollectionCard({
36
+ listKey,
37
+ count,
38
+ href,
39
+ createHref
40
+ }) {
41
+ const list = adminUi_context_dist_nixxieCmsCoreAdminUiContext.useList(listKey);
42
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
43
+ className: style.css({
44
+ position: 'relative',
45
+ backgroundColor: '#ffffff',
46
+ border: '1px solid #ebebeb',
47
+ borderRadius: 8,
48
+ overflow: 'hidden',
49
+ transition: 'box-shadow 180ms, border-color 180ms',
50
+ '&:hover': {
51
+ boxShadow: '0 2px 12px rgba(0,0,0,0.06)',
52
+ borderColor: '#d8d8d8'
53
+ }
54
+ }),
55
+ children: /*#__PURE__*/jsxRuntime.jsxs("div", {
56
+ className: style.css({
57
+ padding: '16px 18px 14px'
58
+ }),
59
+ children: [/*#__PURE__*/jsxRuntime.jsxs("p", {
60
+ className: style.css({
61
+ margin: '0 0 10px',
62
+ fontSize: 10.5,
63
+ fontWeight: 600,
64
+ letterSpacing: '0.09em',
65
+ textTransform: 'uppercase',
66
+ color: '#a3a3a3',
67
+ display: 'flex',
68
+ alignItems: 'center',
69
+ justifyContent: 'space-between'
70
+ }),
71
+ children: [/*#__PURE__*/jsxRuntime.jsx("span", {
72
+ className: style.css({
73
+ overflow: 'hidden',
74
+ textOverflow: 'ellipsis',
75
+ whiteSpace: 'nowrap'
76
+ }),
77
+ children: list.label
78
+ }), createHref && /*#__PURE__*/jsxRuntime.jsx("a", {
79
+ href: createHref,
80
+ title: `New ${list.singular}`,
81
+ onClick: e => e.stopPropagation(),
82
+ className: style.css({
83
+ display: 'inline-flex',
84
+ alignItems: 'center',
85
+ justifyContent: 'center',
86
+ width: 22,
87
+ height: 22,
88
+ borderRadius: 5,
89
+ border: '1px solid #ebebeb',
90
+ color: '#a3a3a3',
91
+ textDecoration: 'none',
92
+ fontSize: 14,
93
+ lineHeight: 1,
94
+ flexShrink: 0,
95
+ marginLeft: 6,
96
+ transition: 'border-color 130ms, color 130ms, background 130ms',
97
+ '&:hover': {
98
+ borderColor: '#000000',
99
+ color: '#000000',
100
+ background: '#f5f5f5'
101
+ }
102
+ }),
103
+ children: "+"
104
+ })]
105
+ }), /*#__PURE__*/jsxRuntime.jsxs("a", {
106
+ href: href,
107
+ className: style.css({
108
+ display: 'block',
109
+ textDecoration: 'none',
110
+ '&::after': {
111
+ content: '""',
112
+ position: 'absolute',
113
+ inset: 0
114
+ }
115
+ }),
116
+ children: [/*#__PURE__*/jsxRuntime.jsx("p", {
117
+ className: style.css({
118
+ margin: '0 0 10px',
119
+ fontSize: 34,
120
+ fontWeight: 700,
121
+ letterSpacing: '-0.05em',
122
+ color: count === null ? '#e8e8e8' : '#000000',
123
+ lineHeight: 1,
124
+ fontVariantNumeric: 'tabular-nums'
125
+ }),
126
+ children: count === null ? '—' : count.toLocaleString()
127
+ }), /*#__PURE__*/jsxRuntime.jsxs("p", {
128
+ className: style.css({
129
+ margin: 0,
130
+ fontSize: 12,
131
+ color: '#c8c8c8',
132
+ display: 'flex',
133
+ alignItems: 'center',
134
+ gap: 4,
135
+ transition: 'color 130ms',
136
+ 'a:hover &': {
137
+ color: '#636363'
138
+ }
139
+ }),
140
+ children: [list.isSingleton ? 'Open' : 'View all', /*#__PURE__*/jsxRuntime.jsx("svg", {
141
+ width: "10",
142
+ height: "10",
143
+ viewBox: "0 0 10 10",
144
+ fill: "none",
145
+ children: /*#__PURE__*/jsxRuntime.jsx("path", {
146
+ d: "M2 5h6M5.5 2.5L8 5l-2.5 2.5",
147
+ stroke: "currentColor",
148
+ strokeWidth: "1.2",
149
+ strokeLinecap: "round",
150
+ strokeLinejoin: "round"
151
+ })
152
+ })]
153
+ })]
154
+ })]
155
+ })
156
+ });
157
+ }
158
+
159
+ // ---- Quick create ----
160
+
161
+ function QuickCreate() {
162
+ const {
163
+ lists
164
+ } = adminUi_context_dist_nixxieCmsCoreAdminUiContext.useNixxie();
165
+ const creatableLists = Object.values(lists).filter(l => !l.hideNavigation && !l.hideCreate && !l.isSingleton).slice(0, 8);
166
+ if (creatableLists.length === 0) return null;
167
+ return /*#__PURE__*/jsxRuntime.jsxs("section", {
168
+ className: style.css({
169
+ marginTop: 40
170
+ }),
171
+ children: [/*#__PURE__*/jsxRuntime.jsx("p", {
172
+ className: style.css({
173
+ margin: '0 0 10px',
174
+ fontSize: 10,
175
+ fontWeight: 600,
176
+ letterSpacing: '0.10em',
177
+ textTransform: 'uppercase',
178
+ color: '#b8b8b8'
179
+ }),
180
+ children: "Quick Create"
181
+ }), /*#__PURE__*/jsxRuntime.jsx("div", {
182
+ className: style.css({
183
+ display: 'flex',
184
+ flexWrap: 'wrap',
185
+ gap: 7
186
+ }),
187
+ children: creatableLists.map(list => /*#__PURE__*/jsxRuntime.jsxs("a", {
188
+ href: `/${list.path}/create`,
189
+ className: style.css({
190
+ display: 'inline-flex',
191
+ alignItems: 'center',
192
+ gap: 6,
193
+ paddingInline: '12px',
194
+ paddingBlock: '6px',
195
+ borderRadius: 6,
196
+ border: '1px solid #e8e8e8',
197
+ backgroundColor: '#ffffff',
198
+ fontSize: 12.5,
199
+ fontWeight: 500,
200
+ color: '#525252',
201
+ textDecoration: 'none',
202
+ transition: 'border-color 130ms, color 130ms, background 130ms',
203
+ '&:hover': {
204
+ borderColor: '#000000',
205
+ color: '#000000',
206
+ background: '#fafafa'
207
+ }
208
+ }),
209
+ children: [/*#__PURE__*/jsxRuntime.jsx("svg", {
210
+ width: "10",
211
+ height: "10",
212
+ viewBox: "0 0 10 10",
213
+ fill: "none",
214
+ children: /*#__PURE__*/jsxRuntime.jsx("path", {
215
+ d: "M5 1.5v7M1.5 5h7",
216
+ stroke: "currentColor",
217
+ strokeWidth: "1.4",
218
+ strokeLinecap: "round"
219
+ })
220
+ }), list.singular]
221
+ }, list.key))
222
+ })]
223
+ });
224
+ }
225
+
226
+ // ---- Main HomePage ----
227
+
228
+ function HomePage() {
229
+ const {
230
+ lists,
231
+ error: metaError
232
+ } = adminUi_context_dist_nixxieCmsCoreAdminUiContext.useNixxie();
233
+ const visibleLists = Object.values(lists).filter(list => !list.hideNavigation);
234
+ const LIST_COUNTS_QUERY = react.useMemo(() => client.gql`
235
+ query NxFetchListCounts {
236
+ ${[...function* () {
237
+ if (visibleLists.length === 0) yield '__typename';
238
+ for (const list of visibleLists) {
239
+ yield `${list.key}: ${list.graphql.names.listQueryCountName}`;
240
+ }
241
+ }()].join('\n')}
242
+ }`, [visibleLists]);
243
+ const {
244
+ data,
245
+ error: countsError
246
+ } = react$1.useQuery(LIST_COUNTS_QUERY, {
247
+ errorPolicy: 'all'
248
+ });
249
+ return /*#__PURE__*/jsxRuntime.jsx(PageContainer.PageContainer, {
250
+ header: /*#__PURE__*/jsxRuntime.jsx(typography.Heading, {
251
+ elementType: "h1",
252
+ size: "small",
253
+ children: "Dashboard"
254
+ }),
255
+ children: /*#__PURE__*/jsxRuntime.jsxs("div", {
256
+ className: style.css({
257
+ padding: '36px 36px 60px',
258
+ maxWidth: 1120,
259
+ width: '100%',
260
+ boxSizing: 'border-box',
261
+ '@media (max-width: 600px)': {
262
+ padding: '24px 18px 44px'
263
+ }
264
+ }),
265
+ children: [/*#__PURE__*/jsxRuntime.jsx(GraphQLErrorNotice.GraphQLErrorNotice, {
266
+ errors: [metaError, countsError]
267
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
268
+ className: style.css({
269
+ marginBottom: 28
270
+ }),
271
+ children: [/*#__PURE__*/jsxRuntime.jsx("h1", {
272
+ className: style.css({
273
+ margin: '0 0 4px',
274
+ fontSize: 20,
275
+ fontWeight: 700,
276
+ letterSpacing: '-0.03em',
277
+ color: '#0a0a0a'
278
+ }),
279
+ children: "Overview"
280
+ }), /*#__PURE__*/jsxRuntime.jsxs("p", {
281
+ className: style.css({
282
+ margin: 0,
283
+ fontSize: 13,
284
+ color: '#a3a3a3'
285
+ }),
286
+ children: [visibleLists.length, " collection", visibleLists.length !== 1 ? 's' : '']
287
+ })]
288
+ }), visibleLists.length > 0 && /*#__PURE__*/jsxRuntime.jsx("div", {
289
+ className: style.css({
290
+ display: 'grid',
291
+ gridTemplateColumns: 'repeat(auto-fill, minmax(180px, 1fr))',
292
+ gap: 10,
293
+ '@media (max-width: 480px)': {
294
+ gridTemplateColumns: '1fr 1fr',
295
+ gap: 8
296
+ }
297
+ }),
298
+ children: visibleLists.map(list => {
299
+ var _data$list$key;
300
+ return /*#__PURE__*/jsxRuntime.jsx(CollectionCard, {
301
+ listKey: list.key,
302
+ count: (_data$list$key = data === null || data === void 0 ? void 0 : data[list.key]) !== null && _data$list$key !== void 0 ? _data$list$key : null,
303
+ href: `/${list.path}${list.isSingleton ? '/1' : ''}`,
304
+ createHref: !list.hideCreate && !list.isSingleton ? `/${list.path}/create` : null
305
+ }, list.key);
306
+ })
307
+ }), /*#__PURE__*/jsxRuntime.jsx(QuickCreate, {}), /*#__PURE__*/jsxRuntime.jsxs("p", {
308
+ className: style.css({
309
+ marginTop: 48,
310
+ fontSize: 11.5,
311
+ color: '#d4d4d4',
312
+ display: 'flex',
313
+ alignItems: 'center',
314
+ gap: 6
315
+ }),
316
+ children: [/*#__PURE__*/jsxRuntime.jsx("kbd", {
317
+ className: style.css({
318
+ display: 'inline-flex',
319
+ padding: '1px 6px',
320
+ background: '#ffffff',
321
+ border: '1px solid #ebebeb',
322
+ borderRadius: 4,
323
+ fontSize: 10.5,
324
+ fontFamily: 'inherit',
325
+ color: '#a3a3a3'
326
+ }),
327
+ children: "\u2318K"
328
+ }), /*#__PURE__*/jsxRuntime.jsx("span", {
329
+ children: "to search and navigate"
330
+ })]
331
+ })]
332
+ })
333
+ });
334
+ }
335
+
336
+ exports.HomePage = HomePage;
@@ -0,0 +1,332 @@
1
+ import { useMemo } from 'react';
2
+ import { css } from '@keystar/ui/style';
3
+ import { Heading } from '@keystar/ui/typography';
4
+ import { gql } from '@apollo/client';
5
+ import { useQuery } from '@apollo/client/react';
6
+ import { G as GraphQLErrorNotice } from '../../../../../dist/GraphQLErrorNotice-d9f0931b.esm.js';
7
+ import { P as PageContainer } from '../../../../../dist/PageContainer-5ae731cc.esm.js';
8
+ import { u as useNixxie, a as useList } from '../../../../../dist/context-af9957ed.esm.js';
9
+ import { jsx, jsxs } from 'react/jsx-runtime';
10
+ import '@keystar/ui/layout';
11
+ import '@keystar/ui/notice';
12
+ import '@keystar/ui/slots';
13
+ import 'next/head';
14
+ import 'next/link';
15
+ import 'next/router';
16
+ import 'apollo-upload-client/UploadHttpLink.mjs';
17
+ import '@keystar/ui/core';
18
+ import '@keystar/ui/toast';
19
+ import '@nixxie-cms/core/admin-ui/router';
20
+ import '@keystar/ui/button';
21
+ import '@keystar/ui/icon';
22
+ import '@keystar/ui/icon/icons/chevronLeftIcon';
23
+ import '@keystar/ui/icon/icons/chevronRightIcon';
24
+ import '@keystar/ui/icon/icons/undo2Icon';
25
+ import '@keystar/ui/picker';
26
+ import '@keystar/ui/tag';
27
+ import '@keystar/ui/tooltip';
28
+ import '../../../../../dist/admin-meta-graphql-0e6e606e.esm.js';
29
+ import '../../../../../dist/filters-8c8616f9.esm.js';
30
+
31
+ function CollectionCard({
32
+ listKey,
33
+ count,
34
+ href,
35
+ createHref
36
+ }) {
37
+ const list = useList(listKey);
38
+ return /*#__PURE__*/jsx("div", {
39
+ className: css({
40
+ position: 'relative',
41
+ backgroundColor: '#ffffff',
42
+ border: '1px solid #ebebeb',
43
+ borderRadius: 8,
44
+ overflow: 'hidden',
45
+ transition: 'box-shadow 180ms, border-color 180ms',
46
+ '&:hover': {
47
+ boxShadow: '0 2px 12px rgba(0,0,0,0.06)',
48
+ borderColor: '#d8d8d8'
49
+ }
50
+ }),
51
+ children: /*#__PURE__*/jsxs("div", {
52
+ className: css({
53
+ padding: '16px 18px 14px'
54
+ }),
55
+ children: [/*#__PURE__*/jsxs("p", {
56
+ className: css({
57
+ margin: '0 0 10px',
58
+ fontSize: 10.5,
59
+ fontWeight: 600,
60
+ letterSpacing: '0.09em',
61
+ textTransform: 'uppercase',
62
+ color: '#a3a3a3',
63
+ display: 'flex',
64
+ alignItems: 'center',
65
+ justifyContent: 'space-between'
66
+ }),
67
+ children: [/*#__PURE__*/jsx("span", {
68
+ className: css({
69
+ overflow: 'hidden',
70
+ textOverflow: 'ellipsis',
71
+ whiteSpace: 'nowrap'
72
+ }),
73
+ children: list.label
74
+ }), createHref && /*#__PURE__*/jsx("a", {
75
+ href: createHref,
76
+ title: `New ${list.singular}`,
77
+ onClick: e => e.stopPropagation(),
78
+ className: css({
79
+ display: 'inline-flex',
80
+ alignItems: 'center',
81
+ justifyContent: 'center',
82
+ width: 22,
83
+ height: 22,
84
+ borderRadius: 5,
85
+ border: '1px solid #ebebeb',
86
+ color: '#a3a3a3',
87
+ textDecoration: 'none',
88
+ fontSize: 14,
89
+ lineHeight: 1,
90
+ flexShrink: 0,
91
+ marginLeft: 6,
92
+ transition: 'border-color 130ms, color 130ms, background 130ms',
93
+ '&:hover': {
94
+ borderColor: '#000000',
95
+ color: '#000000',
96
+ background: '#f5f5f5'
97
+ }
98
+ }),
99
+ children: "+"
100
+ })]
101
+ }), /*#__PURE__*/jsxs("a", {
102
+ href: href,
103
+ className: css({
104
+ display: 'block',
105
+ textDecoration: 'none',
106
+ '&::after': {
107
+ content: '""',
108
+ position: 'absolute',
109
+ inset: 0
110
+ }
111
+ }),
112
+ children: [/*#__PURE__*/jsx("p", {
113
+ className: css({
114
+ margin: '0 0 10px',
115
+ fontSize: 34,
116
+ fontWeight: 700,
117
+ letterSpacing: '-0.05em',
118
+ color: count === null ? '#e8e8e8' : '#000000',
119
+ lineHeight: 1,
120
+ fontVariantNumeric: 'tabular-nums'
121
+ }),
122
+ children: count === null ? '—' : count.toLocaleString()
123
+ }), /*#__PURE__*/jsxs("p", {
124
+ className: css({
125
+ margin: 0,
126
+ fontSize: 12,
127
+ color: '#c8c8c8',
128
+ display: 'flex',
129
+ alignItems: 'center',
130
+ gap: 4,
131
+ transition: 'color 130ms',
132
+ 'a:hover &': {
133
+ color: '#636363'
134
+ }
135
+ }),
136
+ children: [list.isSingleton ? 'Open' : 'View all', /*#__PURE__*/jsx("svg", {
137
+ width: "10",
138
+ height: "10",
139
+ viewBox: "0 0 10 10",
140
+ fill: "none",
141
+ children: /*#__PURE__*/jsx("path", {
142
+ d: "M2 5h6M5.5 2.5L8 5l-2.5 2.5",
143
+ stroke: "currentColor",
144
+ strokeWidth: "1.2",
145
+ strokeLinecap: "round",
146
+ strokeLinejoin: "round"
147
+ })
148
+ })]
149
+ })]
150
+ })]
151
+ })
152
+ });
153
+ }
154
+
155
+ // ---- Quick create ----
156
+
157
+ function QuickCreate() {
158
+ const {
159
+ lists
160
+ } = useNixxie();
161
+ const creatableLists = Object.values(lists).filter(l => !l.hideNavigation && !l.hideCreate && !l.isSingleton).slice(0, 8);
162
+ if (creatableLists.length === 0) return null;
163
+ return /*#__PURE__*/jsxs("section", {
164
+ className: css({
165
+ marginTop: 40
166
+ }),
167
+ children: [/*#__PURE__*/jsx("p", {
168
+ className: css({
169
+ margin: '0 0 10px',
170
+ fontSize: 10,
171
+ fontWeight: 600,
172
+ letterSpacing: '0.10em',
173
+ textTransform: 'uppercase',
174
+ color: '#b8b8b8'
175
+ }),
176
+ children: "Quick Create"
177
+ }), /*#__PURE__*/jsx("div", {
178
+ className: css({
179
+ display: 'flex',
180
+ flexWrap: 'wrap',
181
+ gap: 7
182
+ }),
183
+ children: creatableLists.map(list => /*#__PURE__*/jsxs("a", {
184
+ href: `/${list.path}/create`,
185
+ className: css({
186
+ display: 'inline-flex',
187
+ alignItems: 'center',
188
+ gap: 6,
189
+ paddingInline: '12px',
190
+ paddingBlock: '6px',
191
+ borderRadius: 6,
192
+ border: '1px solid #e8e8e8',
193
+ backgroundColor: '#ffffff',
194
+ fontSize: 12.5,
195
+ fontWeight: 500,
196
+ color: '#525252',
197
+ textDecoration: 'none',
198
+ transition: 'border-color 130ms, color 130ms, background 130ms',
199
+ '&:hover': {
200
+ borderColor: '#000000',
201
+ color: '#000000',
202
+ background: '#fafafa'
203
+ }
204
+ }),
205
+ children: [/*#__PURE__*/jsx("svg", {
206
+ width: "10",
207
+ height: "10",
208
+ viewBox: "0 0 10 10",
209
+ fill: "none",
210
+ children: /*#__PURE__*/jsx("path", {
211
+ d: "M5 1.5v7M1.5 5h7",
212
+ stroke: "currentColor",
213
+ strokeWidth: "1.4",
214
+ strokeLinecap: "round"
215
+ })
216
+ }), list.singular]
217
+ }, list.key))
218
+ })]
219
+ });
220
+ }
221
+
222
+ // ---- Main HomePage ----
223
+
224
+ function HomePage() {
225
+ const {
226
+ lists,
227
+ error: metaError
228
+ } = useNixxie();
229
+ const visibleLists = Object.values(lists).filter(list => !list.hideNavigation);
230
+ const LIST_COUNTS_QUERY = useMemo(() => gql`
231
+ query NxFetchListCounts {
232
+ ${[...function* () {
233
+ if (visibleLists.length === 0) yield '__typename';
234
+ for (const list of visibleLists) {
235
+ yield `${list.key}: ${list.graphql.names.listQueryCountName}`;
236
+ }
237
+ }()].join('\n')}
238
+ }`, [visibleLists]);
239
+ const {
240
+ data,
241
+ error: countsError
242
+ } = useQuery(LIST_COUNTS_QUERY, {
243
+ errorPolicy: 'all'
244
+ });
245
+ return /*#__PURE__*/jsx(PageContainer, {
246
+ header: /*#__PURE__*/jsx(Heading, {
247
+ elementType: "h1",
248
+ size: "small",
249
+ children: "Dashboard"
250
+ }),
251
+ children: /*#__PURE__*/jsxs("div", {
252
+ className: css({
253
+ padding: '36px 36px 60px',
254
+ maxWidth: 1120,
255
+ width: '100%',
256
+ boxSizing: 'border-box',
257
+ '@media (max-width: 600px)': {
258
+ padding: '24px 18px 44px'
259
+ }
260
+ }),
261
+ children: [/*#__PURE__*/jsx(GraphQLErrorNotice, {
262
+ errors: [metaError, countsError]
263
+ }), /*#__PURE__*/jsxs("div", {
264
+ className: css({
265
+ marginBottom: 28
266
+ }),
267
+ children: [/*#__PURE__*/jsx("h1", {
268
+ className: css({
269
+ margin: '0 0 4px',
270
+ fontSize: 20,
271
+ fontWeight: 700,
272
+ letterSpacing: '-0.03em',
273
+ color: '#0a0a0a'
274
+ }),
275
+ children: "Overview"
276
+ }), /*#__PURE__*/jsxs("p", {
277
+ className: css({
278
+ margin: 0,
279
+ fontSize: 13,
280
+ color: '#a3a3a3'
281
+ }),
282
+ children: [visibleLists.length, " collection", visibleLists.length !== 1 ? 's' : '']
283
+ })]
284
+ }), visibleLists.length > 0 && /*#__PURE__*/jsx("div", {
285
+ className: css({
286
+ display: 'grid',
287
+ gridTemplateColumns: 'repeat(auto-fill, minmax(180px, 1fr))',
288
+ gap: 10,
289
+ '@media (max-width: 480px)': {
290
+ gridTemplateColumns: '1fr 1fr',
291
+ gap: 8
292
+ }
293
+ }),
294
+ children: visibleLists.map(list => {
295
+ var _data$list$key;
296
+ return /*#__PURE__*/jsx(CollectionCard, {
297
+ listKey: list.key,
298
+ count: (_data$list$key = data === null || data === void 0 ? void 0 : data[list.key]) !== null && _data$list$key !== void 0 ? _data$list$key : null,
299
+ href: `/${list.path}${list.isSingleton ? '/1' : ''}`,
300
+ createHref: !list.hideCreate && !list.isSingleton ? `/${list.path}/create` : null
301
+ }, list.key);
302
+ })
303
+ }), /*#__PURE__*/jsx(QuickCreate, {}), /*#__PURE__*/jsxs("p", {
304
+ className: css({
305
+ marginTop: 48,
306
+ fontSize: 11.5,
307
+ color: '#d4d4d4',
308
+ display: 'flex',
309
+ alignItems: 'center',
310
+ gap: 6
311
+ }),
312
+ children: [/*#__PURE__*/jsx("kbd", {
313
+ className: css({
314
+ display: 'inline-flex',
315
+ padding: '1px 6px',
316
+ background: '#ffffff',
317
+ border: '1px solid #ebebeb',
318
+ borderRadius: 4,
319
+ fontSize: 10.5,
320
+ fontFamily: 'inherit',
321
+ color: '#a3a3a3'
322
+ }),
323
+ children: "\u2318K"
324
+ }), /*#__PURE__*/jsx("span", {
325
+ children: "to search and navigate"
326
+ })]
327
+ })]
328
+ })
329
+ });
330
+ }
331
+
332
+ export { HomePage };
@@ -0,0 +1,4 @@
1
+ {
2
+ "main": "dist/nixxie-cms-core-internal-unstable-admin-ui-pages-HomePage.cjs.js",
3
+ "module": "dist/nixxie-cms-core-internal-unstable-admin-ui-pages-HomePage.esm.js"
4
+ }
@@ -0,0 +1,2 @@
1
+ export * from "../../../../../dist/declarations/src/internal-unstable/admin-ui/pages/ItemPage/index.js";
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibml4eGllLWNtcy1jb3JlLWludGVybmFsLXVuc3RhYmxlLWFkbWluLXVpLXBhZ2VzLUl0ZW1QYWdlLmNqcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vZGlzdC9kZWNsYXJhdGlvbnMvc3JjL2ludGVybmFsLXVuc3RhYmxlL2FkbWluLXVpL3BhZ2VzL0l0ZW1QYWdlL2luZGV4LmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEifQ==