@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,235 @@
1
+ import { useState, useCallback } from 'react';
2
+ import { useListFormatter } from '@react-aria/i18n';
3
+ import copyToClipboard from 'clipboard-copy';
4
+ import { ActionButton } from '@keystar/ui/button';
5
+ import { Icon } from '@keystar/ui/icon';
6
+ import { clipboardIcon } from '@keystar/ui/icon/icons/clipboardIcon';
7
+ import { Grid } from '@keystar/ui/layout';
8
+ import { TooltipTrigger, Tooltip } from '@keystar/ui/tooltip';
9
+ import { TextField } from '@keystar/ui/text-field';
10
+ import { e as entriesTyped } from '../../../../dist/utils-f9556354.esm.js';
11
+ import { jsxs, jsx } from 'react/jsx-runtime';
12
+
13
+ const COPY_TOOLTIP_CONTENT = {
14
+ neutral: 'Copy ID',
15
+ positive: 'Copied to clipboard',
16
+ critical: 'Unable to copy'
17
+ };
18
+ function Field({
19
+ value
20
+ }) {
21
+ const [tooltipState, setTooltipState] = useState({
22
+ tone: 'neutral'
23
+ });
24
+ const onCopy = useCallback(async () => {
25
+ try {
26
+ if (value) await copyToClipboard(value);
27
+ setTooltipState({
28
+ isOpen: true,
29
+ tone: 'positive'
30
+ });
31
+ } catch (err) {
32
+ setTooltipState({
33
+ isOpen: true,
34
+ tone: 'critical'
35
+ });
36
+ }
37
+
38
+ // close, then reset the tooltip state after a delay
39
+ setTimeout(() => {
40
+ setTooltipState(state => ({
41
+ ...state,
42
+ isOpen: false
43
+ }));
44
+ }, 2000);
45
+ setTimeout(() => {
46
+ setTooltipState({
47
+ isOpen: undefined,
48
+ tone: 'neutral'
49
+ });
50
+ }, 2300);
51
+ }, [value]);
52
+ return /*#__PURE__*/jsxs(Grid, {
53
+ gap: "regular",
54
+ columns: "1fr auto",
55
+ alignItems: "end",
56
+ children: [/*#__PURE__*/jsx(TextField, {
57
+ label: "Item ID",
58
+ value: value !== null && value !== void 0 ? value : '',
59
+ isReadOnly: true,
60
+ onFocus: ({
61
+ target
62
+ }) => {
63
+ if (target instanceof HTMLInputElement) target.select();
64
+ }
65
+ }), /*#__PURE__*/jsxs(TooltipTrigger, {
66
+ isOpen: tooltipState.isOpen,
67
+ placement: "top end",
68
+ children: [/*#__PURE__*/jsx(ActionButton, {
69
+ "aria-label": "copy id",
70
+ onPress: onCopy,
71
+ children: /*#__PURE__*/jsx(Icon, {
72
+ src: clipboardIcon
73
+ })
74
+ }), /*#__PURE__*/jsx(Tooltip, {
75
+ tone: tooltipState.tone,
76
+ children: COPY_TOOLTIP_CONTENT[tooltipState.tone]
77
+ })]
78
+ })]
79
+ });
80
+ }
81
+ function controller(config) {
82
+ return {
83
+ fieldKey: config.fieldKey,
84
+ label: config.label,
85
+ description: config.description,
86
+ defaultValue: null,
87
+ deserialize: data => data[config.fieldKey],
88
+ serialize: value => ({
89
+ [config.fieldKey]: value
90
+ }),
91
+ graphqlSelection: config.fieldKey,
92
+ filter: {
93
+ Filter(props) {
94
+ const {
95
+ autoFocus,
96
+ context,
97
+ onChange,
98
+ type,
99
+ typeLabel,
100
+ value,
101
+ ...otherProps
102
+ } = props;
103
+ const labelProps = context === 'add' ? {
104
+ label: config.label,
105
+ description: typeLabel
106
+ } : {
107
+ label: typeLabel
108
+ };
109
+ const [inputValue, setInputValue] = useState(() => Array.isArray(value) ? value.join(', ') : value);
110
+ const [lastSeenValue, setLastSeenValue] = useState(value);
111
+ if (value !== lastSeenValue && Array.isArray(value)) {
112
+ setInputValue(value.join(', '));
113
+ setLastSeenValue(value);
114
+ }
115
+ return /*#__PURE__*/jsx(TextField, {
116
+ ...otherProps,
117
+ ...labelProps,
118
+ autoFocus: autoFocus,
119
+ onChange: newVal => {
120
+ if (Array.isArray(value)) {
121
+ setInputValue(newVal);
122
+ } else {
123
+ onChange(newVal);
124
+ }
125
+ },
126
+ onBlur: () => {
127
+ if (Array.isArray(value)) {
128
+ onChange(inputValue.split(',').map(val => val.trim()));
129
+ }
130
+ },
131
+ value: Array.isArray(value) ? inputValue : value
132
+ });
133
+ },
134
+ Label({
135
+ label,
136
+ value,
137
+ type
138
+ }) {
139
+ const listFormatter = useListFormatter({
140
+ style: 'short',
141
+ type: 'disjunction'
142
+ });
143
+ if (['in', 'not_in'].includes(type)) {
144
+ return `${label.toLowerCase()} (${listFormatter.format(value)})`;
145
+ }
146
+ return `${label.toLowerCase()} ${value}`;
147
+ },
148
+ graphql: ({
149
+ type,
150
+ value
151
+ }) => {
152
+ const valueWithoutWhitespace = Array.isArray(value) ? value.map(val => val.replace(/\s/g, '')) : value.replace(/\s/g, '');
153
+ if (type === 'not') return {
154
+ [config.fieldKey]: {
155
+ not: {
156
+ equals: valueWithoutWhitespace
157
+ }
158
+ }
159
+ };
160
+ const key = type === 'is' ? 'equals' : type === 'not_in' ? 'notIn' : type;
161
+ return {
162
+ [config.fieldKey]: {
163
+ [key]: valueWithoutWhitespace
164
+ }
165
+ };
166
+ },
167
+ parseGraphQL: value => {
168
+ return entriesTyped(value).flatMap(([type, value]) => {
169
+ if (!value) return [];
170
+ if (type === 'equals') return {
171
+ type: 'is',
172
+ value
173
+ };
174
+ if (type === 'notIn') return {
175
+ type: 'not_in',
176
+ value
177
+ };
178
+ if (type === 'in') return {
179
+ type: 'in',
180
+ value
181
+ };
182
+ if (type === 'not' && value !== null && value !== void 0 && value.equals) {
183
+ return {
184
+ type: 'not',
185
+ value: value === null || value === void 0 ? void 0 : value.equals
186
+ };
187
+ }
188
+ if (type === 'gt' || type === 'gte' || type === 'lt' || type === 'lte') {
189
+ return {
190
+ type,
191
+ value
192
+ };
193
+ }
194
+ return [];
195
+ });
196
+ },
197
+ types: {
198
+ is: {
199
+ label: 'Is exactly',
200
+ initialValue: ''
201
+ },
202
+ not: {
203
+ label: 'Is not exactly',
204
+ initialValue: ''
205
+ },
206
+ gt: {
207
+ label: 'Is greater than',
208
+ initialValue: ''
209
+ },
210
+ lt: {
211
+ label: 'Is less than',
212
+ initialValue: ''
213
+ },
214
+ gte: {
215
+ label: 'Is greater than or equal to',
216
+ initialValue: ''
217
+ },
218
+ lte: {
219
+ label: 'Is less than or equal to',
220
+ initialValue: ''
221
+ },
222
+ in: {
223
+ label: 'Is one of',
224
+ initialValue: []
225
+ },
226
+ not_in: {
227
+ label: 'Is not one of',
228
+ initialValue: []
229
+ }
230
+ }
231
+ }
232
+ };
233
+ }
234
+
235
+ export { Field, controller };
@@ -0,0 +1,4 @@
1
+ {
2
+ "main": "dist/nixxie-cms-core-internal-unstable-admin-ui-id-field-view.cjs.js",
3
+ "module": "dist/nixxie-cms-core-internal-unstable-admin-ui-id-field-view.esm.js"
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "main": "dist/nixxie-core-internal-unstable-admin-ui-next-config.cjs.js",
3
+ "module": "dist/nixxie-core-internal-unstable-admin-ui-next-config.esm.js"
4
+ }
@@ -0,0 +1,2 @@
1
+ export * from "../../../../../dist/declarations/src/internal-unstable/admin-ui/pages/App/index.js";
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibml4eGllLWNtcy1jb3JlLWludGVybmFsLXVuc3RhYmxlLWFkbWluLXVpLXBhZ2VzLUFwcC5janMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2Rpc3QvZGVjbGFyYXRpb25zL3NyYy9pbnRlcm5hbC11bnN0YWJsZS9hZG1pbi11aS9wYWdlcy9BcHAvaW5kZXguZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSJ9
@@ -0,0 +1,59 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ require('@keystar/ui/table');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+ require('@keystar/ui/style');
8
+ require('@keystar/ui/checkbox');
9
+ require('@keystar/ui/icon');
10
+ require('@keystar/ui/icon/icons/cornerDownRightIcon');
11
+ require('@keystar/ui/layout');
12
+ require('@keystar/ui/typography');
13
+ var Errors = require('../../../../../dist/Errors-575adfa3.cjs.js');
14
+ require('next/link');
15
+ var adminUi_context_dist_nixxieCmsCoreAdminUiContext = require('../../../../../dist/context-b5204629.cjs.js');
16
+ require('react');
17
+ require('next/router');
18
+ require('next/head');
19
+ require('@keystar/ui/button');
20
+ require('@keystar/ui/dialog');
21
+ require('@keystar/ui/slots');
22
+ require('@react-aria/utils');
23
+ require('@keystar/ui/icon/icons/chevronRightIcon');
24
+ require('@keystar/ui/icon/icons/textCursorInputIcon');
25
+ require('@keystar/ui/utils');
26
+ require('@keystar/ui/toast');
27
+ require('fast-deep-equal');
28
+ require('graphql');
29
+ require('@apollo/client');
30
+ require('@apollo/client/react');
31
+ require('@keystar/ui/notice');
32
+ require('@babel/runtime/helpers/defineProperty');
33
+ require('@keystar/ui/icon/icons/alertTriangleIcon');
34
+ require('apollo-upload-client/UploadHttpLink.mjs');
35
+ require('@keystar/ui/core');
36
+ require('@nixxie-cms/core/admin-ui/router');
37
+ require('@keystar/ui/icon/icons/chevronLeftIcon');
38
+ require('@keystar/ui/icon/icons/undo2Icon');
39
+ require('@keystar/ui/picker');
40
+ require('@keystar/ui/tag');
41
+ require('@keystar/ui/tooltip');
42
+ require('../../../../../dist/admin-meta-graphql-306c224a.cjs.js');
43
+ require('../../../../../dist/filters-b3e5eb50.cjs.js');
44
+
45
+ const getApp = props => ({
46
+ Component,
47
+ pageProps
48
+ }) => {
49
+ return /*#__PURE__*/jsxRuntime.jsx(adminUi_context_dist_nixxieCmsCoreAdminUiContext.NixxieProvider, {
50
+ ...props,
51
+ children: /*#__PURE__*/jsxRuntime.jsx(Errors.ErrorBoundary, {
52
+ children: /*#__PURE__*/jsxRuntime.jsx(Component, {
53
+ ...pageProps
54
+ })
55
+ })
56
+ });
57
+ };
58
+
59
+ exports.getApp = getApp;
@@ -0,0 +1,55 @@
1
+ import '@keystar/ui/table';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import '@keystar/ui/style';
4
+ import '@keystar/ui/checkbox';
5
+ import '@keystar/ui/icon';
6
+ import '@keystar/ui/icon/icons/cornerDownRightIcon';
7
+ import '@keystar/ui/layout';
8
+ import '@keystar/ui/typography';
9
+ import { E as ErrorBoundary } from '../../../../../dist/Errors-bf24759e.esm.js';
10
+ import 'next/link';
11
+ import { N as NixxieProvider } from '../../../../../dist/context-af9957ed.esm.js';
12
+ import 'react';
13
+ import 'next/router';
14
+ import 'next/head';
15
+ import '@keystar/ui/button';
16
+ import '@keystar/ui/dialog';
17
+ import '@keystar/ui/slots';
18
+ import '@react-aria/utils';
19
+ import '@keystar/ui/icon/icons/chevronRightIcon';
20
+ import '@keystar/ui/icon/icons/textCursorInputIcon';
21
+ import '@keystar/ui/utils';
22
+ import '@keystar/ui/toast';
23
+ import 'fast-deep-equal';
24
+ import 'graphql';
25
+ import '@apollo/client';
26
+ import '@apollo/client/react';
27
+ import '@keystar/ui/notice';
28
+ import '@babel/runtime/helpers/defineProperty';
29
+ import '@keystar/ui/icon/icons/alertTriangleIcon';
30
+ import 'apollo-upload-client/UploadHttpLink.mjs';
31
+ import '@keystar/ui/core';
32
+ import '@nixxie-cms/core/admin-ui/router';
33
+ import '@keystar/ui/icon/icons/chevronLeftIcon';
34
+ import '@keystar/ui/icon/icons/undo2Icon';
35
+ import '@keystar/ui/picker';
36
+ import '@keystar/ui/tag';
37
+ import '@keystar/ui/tooltip';
38
+ import '../../../../../dist/admin-meta-graphql-0e6e606e.esm.js';
39
+ import '../../../../../dist/filters-8c8616f9.esm.js';
40
+
41
+ const getApp = props => ({
42
+ Component,
43
+ pageProps
44
+ }) => {
45
+ return /*#__PURE__*/jsx(NixxieProvider, {
46
+ ...props,
47
+ children: /*#__PURE__*/jsx(ErrorBoundary, {
48
+ children: /*#__PURE__*/jsx(Component, {
49
+ ...pageProps
50
+ })
51
+ })
52
+ });
53
+ };
54
+
55
+ export { getApp };
@@ -0,0 +1,4 @@
1
+ {
2
+ "main": "dist/nixxie-cms-core-internal-unstable-admin-ui-pages-App.cjs.js",
3
+ "module": "dist/nixxie-cms-core-internal-unstable-admin-ui-pages-App.esm.js"
4
+ }
@@ -0,0 +1,2 @@
1
+ export * from "../../../../../dist/declarations/src/internal-unstable/admin-ui/pages/CreateItemPage/index.js";
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibml4eGllLWNtcy1jb3JlLWludGVybmFsLXVuc3RhYmxlLWFkbWluLXVpLXBhZ2VzLUNyZWF0ZUl0ZW1QYWdlLmNqcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vZGlzdC9kZWNsYXJhdGlvbnMvc3JjL2ludGVybmFsLXVuc3RhYmxlL2FkbWluLXVpL3BhZ2VzL0NyZWF0ZUl0ZW1QYWdlL2luZGV4LmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEifQ==
@@ -0,0 +1,116 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var router = require('next/router');
6
+ var button = require('@keystar/ui/button');
7
+ var layout = require('@keystar/ui/layout');
8
+ var adminUi_context_dist_nixxieCmsCoreAdminUiContext = require('../../../../../dist/context-b5204629.cjs.js');
9
+ require('@keystar/ui/table');
10
+ var jsxRuntime = require('react/jsx-runtime');
11
+ require('@keystar/ui/style');
12
+ require('@keystar/ui/checkbox');
13
+ require('@keystar/ui/icon');
14
+ require('@keystar/ui/icon/icons/cornerDownRightIcon');
15
+ require('@keystar/ui/typography');
16
+ require('@babel/runtime/helpers/defineProperty');
17
+ require('react');
18
+ require('@keystar/ui/dialog');
19
+ require('@keystar/ui/icon/icons/alertTriangleIcon');
20
+ require('@keystar/ui/notice');
21
+ require('@keystar/ui/slots');
22
+ require('next/link');
23
+ var PageContainer = require('../../../../../dist/PageContainer-abd7159f.cjs.js');
24
+ var Fields = require('../../../../../dist/Fields-e2c28056.cjs.js');
25
+ var useCreateItem = require('../../../../../dist/useCreateItem-1be4987e.cjs.js');
26
+ var GraphQLErrorNotice = require('../../../../../dist/GraphQLErrorNotice-cd74180d.cjs.js');
27
+ require('fast-deep-equal');
28
+ require('graphql');
29
+ var common = require('../../../../../dist/common-5933f758.cjs.js');
30
+ require('apollo-upload-client/UploadHttpLink.mjs');
31
+ require('next/head');
32
+ require('@keystar/ui/core');
33
+ require('@keystar/ui/toast');
34
+ require('@nixxie-cms/core/admin-ui/router');
35
+ require('@keystar/ui/icon/icons/chevronLeftIcon');
36
+ require('@keystar/ui/icon/icons/chevronRightIcon');
37
+ require('@keystar/ui/icon/icons/undo2Icon');
38
+ require('@keystar/ui/picker');
39
+ require('@keystar/ui/tag');
40
+ require('@keystar/ui/tooltip');
41
+ require('../../../../../dist/admin-meta-graphql-306c224a.cjs.js');
42
+ require('@apollo/client');
43
+ require('@apollo/client/react');
44
+ require('../../../../../dist/filters-b3e5eb50.cjs.js');
45
+ require('@react-aria/utils');
46
+ require('@keystar/ui/icon/icons/textCursorInputIcon');
47
+ require('../../../../../dist/utils-230cddb1.cjs.js');
48
+ require('@keystar/ui/utils');
49
+ require('@keystar/ui/action-group');
50
+ require('@keystar/ui/breadcrumbs');
51
+ require('@keystar/ui/icon/all');
52
+ require('../../../../../dist/Errors-575adfa3.cjs.js');
53
+ require('../../../../../dist/actionData-7858738d.cjs.js');
54
+
55
+ const getCreateItemPage = props => () => /*#__PURE__*/jsxRuntime.jsx(CreateItemPage, {
56
+ ...props
57
+ });
58
+ function CreateItemPage({
59
+ listKey
60
+ }) {
61
+ const list = adminUi_context_dist_nixxieCmsCoreAdminUiContext.useList(listKey);
62
+ const createItem = useCreateItem.useCreateItem(list);
63
+ const router$1 = router.useRouter();
64
+ return /*#__PURE__*/jsxRuntime.jsx(PageContainer.PageContainer, {
65
+ title: `Create ${list.singular}`,
66
+ header: /*#__PURE__*/jsxRuntime.jsx(common.ItemPageHeader, {
67
+ list: list,
68
+ actions: [],
69
+ value: null,
70
+ label: "Create",
71
+ title: `Create ${list.singular}`,
72
+ item: null,
73
+ initialValue: null,
74
+ onAction: null
75
+ }),
76
+ children: /*#__PURE__*/jsxRuntime.jsx(common.ColumnLayout, {
77
+ children: /*#__PURE__*/jsxRuntime.jsxs("form", {
78
+ onSubmit: async e => {
79
+ if (e.target !== e.currentTarget) return;
80
+ e.preventDefault();
81
+ const item = await createItem.create();
82
+ if (!item) return;
83
+ router$1.push(`/${list.path}/${item.id}`);
84
+ },
85
+ style: {
86
+ display: 'contents'
87
+ },
88
+ children: [/*#__PURE__*/jsxRuntime.jsx("button", {
89
+ type: "submit",
90
+ style: {
91
+ display: 'none'
92
+ }
93
+ }), /*#__PURE__*/jsxRuntime.jsxs(layout.VStack, {
94
+ gap: "large",
95
+ gridArea: "main",
96
+ marginTop: "xlarge",
97
+ minWidth: 0,
98
+ children: [/*#__PURE__*/jsxRuntime.jsx(GraphQLErrorNotice.GraphQLErrorNotice, {
99
+ errors: [createItem.error]
100
+ }), /*#__PURE__*/jsxRuntime.jsx(Fields.Fields, {
101
+ ...createItem.props
102
+ })]
103
+ }), /*#__PURE__*/jsxRuntime.jsx(common.BaseToolbar, {
104
+ children: /*#__PURE__*/jsxRuntime.jsx(button.Button, {
105
+ isPending: createItem.state === 'loading',
106
+ prominence: "high",
107
+ type: "submit",
108
+ children: "Create"
109
+ })
110
+ })]
111
+ })
112
+ })
113
+ });
114
+ }
115
+
116
+ exports.getCreateItemPage = getCreateItemPage;
@@ -0,0 +1,112 @@
1
+ import { useRouter } from 'next/router';
2
+ import { Button } from '@keystar/ui/button';
3
+ import { VStack } from '@keystar/ui/layout';
4
+ import { a as useList } from '../../../../../dist/context-af9957ed.esm.js';
5
+ import '@keystar/ui/table';
6
+ import { jsx, jsxs } from 'react/jsx-runtime';
7
+ import '@keystar/ui/style';
8
+ import '@keystar/ui/checkbox';
9
+ import '@keystar/ui/icon';
10
+ import '@keystar/ui/icon/icons/cornerDownRightIcon';
11
+ import '@keystar/ui/typography';
12
+ import '@babel/runtime/helpers/defineProperty';
13
+ import 'react';
14
+ import '@keystar/ui/dialog';
15
+ import '@keystar/ui/icon/icons/alertTriangleIcon';
16
+ import '@keystar/ui/notice';
17
+ import '@keystar/ui/slots';
18
+ import 'next/link';
19
+ import { P as PageContainer } from '../../../../../dist/PageContainer-5ae731cc.esm.js';
20
+ import { F as Fields } from '../../../../../dist/Fields-956d9a14.esm.js';
21
+ import { u as useCreateItem } from '../../../../../dist/useCreateItem-1f94d252.esm.js';
22
+ import { G as GraphQLErrorNotice } from '../../../../../dist/GraphQLErrorNotice-d9f0931b.esm.js';
23
+ import 'fast-deep-equal';
24
+ import 'graphql';
25
+ import { I as ItemPageHeader, C as ColumnLayout, B as BaseToolbar } from '../../../../../dist/common-ea5c441a.esm.js';
26
+ import 'apollo-upload-client/UploadHttpLink.mjs';
27
+ import 'next/head';
28
+ import '@keystar/ui/core';
29
+ import '@keystar/ui/toast';
30
+ import '@nixxie-cms/core/admin-ui/router';
31
+ import '@keystar/ui/icon/icons/chevronLeftIcon';
32
+ import '@keystar/ui/icon/icons/chevronRightIcon';
33
+ import '@keystar/ui/icon/icons/undo2Icon';
34
+ import '@keystar/ui/picker';
35
+ import '@keystar/ui/tag';
36
+ import '@keystar/ui/tooltip';
37
+ import '../../../../../dist/admin-meta-graphql-0e6e606e.esm.js';
38
+ import '@apollo/client';
39
+ import '@apollo/client/react';
40
+ import '../../../../../dist/filters-8c8616f9.esm.js';
41
+ import '@react-aria/utils';
42
+ import '@keystar/ui/icon/icons/textCursorInputIcon';
43
+ import '../../../../../dist/utils-5e1d4d28.esm.js';
44
+ import '@keystar/ui/utils';
45
+ import '@keystar/ui/action-group';
46
+ import '@keystar/ui/breadcrumbs';
47
+ import '@keystar/ui/icon/all';
48
+ import '../../../../../dist/Errors-bf24759e.esm.js';
49
+ import '../../../../../dist/actionData-64d4c37a.esm.js';
50
+
51
+ const getCreateItemPage = props => () => /*#__PURE__*/jsx(CreateItemPage, {
52
+ ...props
53
+ });
54
+ function CreateItemPage({
55
+ listKey
56
+ }) {
57
+ const list = useList(listKey);
58
+ const createItem = useCreateItem(list);
59
+ const router = useRouter();
60
+ return /*#__PURE__*/jsx(PageContainer, {
61
+ title: `Create ${list.singular}`,
62
+ header: /*#__PURE__*/jsx(ItemPageHeader, {
63
+ list: list,
64
+ actions: [],
65
+ value: null,
66
+ label: "Create",
67
+ title: `Create ${list.singular}`,
68
+ item: null,
69
+ initialValue: null,
70
+ onAction: null
71
+ }),
72
+ children: /*#__PURE__*/jsx(ColumnLayout, {
73
+ children: /*#__PURE__*/jsxs("form", {
74
+ onSubmit: async e => {
75
+ if (e.target !== e.currentTarget) return;
76
+ e.preventDefault();
77
+ const item = await createItem.create();
78
+ if (!item) return;
79
+ router.push(`/${list.path}/${item.id}`);
80
+ },
81
+ style: {
82
+ display: 'contents'
83
+ },
84
+ children: [/*#__PURE__*/jsx("button", {
85
+ type: "submit",
86
+ style: {
87
+ display: 'none'
88
+ }
89
+ }), /*#__PURE__*/jsxs(VStack, {
90
+ gap: "large",
91
+ gridArea: "main",
92
+ marginTop: "xlarge",
93
+ minWidth: 0,
94
+ children: [/*#__PURE__*/jsx(GraphQLErrorNotice, {
95
+ errors: [createItem.error]
96
+ }), /*#__PURE__*/jsx(Fields, {
97
+ ...createItem.props
98
+ })]
99
+ }), /*#__PURE__*/jsx(BaseToolbar, {
100
+ children: /*#__PURE__*/jsx(Button, {
101
+ isPending: createItem.state === 'loading',
102
+ prominence: "high",
103
+ type: "submit",
104
+ children: "Create"
105
+ })
106
+ })]
107
+ })
108
+ })
109
+ });
110
+ }
111
+
112
+ export { getCreateItemPage };
@@ -0,0 +1,4 @@
1
+ {
2
+ "main": "dist/nixxie-cms-core-internal-unstable-admin-ui-pages-CreateItemPage.cjs.js",
3
+ "module": "dist/nixxie-cms-core-internal-unstable-admin-ui-pages-CreateItemPage.esm.js"
4
+ }
@@ -0,0 +1,2 @@
1
+ export * from "../../../../../dist/declarations/src/internal-unstable/admin-ui/pages/HomePage/index.js";
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibml4eGllLWNtcy1jb3JlLWludGVybmFsLXVuc3RhYmxlLWFkbWluLXVpLXBhZ2VzLUhvbWVQYWdlLmNqcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vZGlzdC9kZWNsYXJhdGlvbnMvc3JjL2ludGVybmFsLXVuc3RhYmxlL2FkbWluLXVpL3BhZ2VzL0hvbWVQYWdlL2luZGV4LmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEifQ==