@nixxie-cms/core 1.0.0

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 (658) hide show
  1. package/CHANGELOG.md +3158 -0
  2. package/LICENSE +21 -0
  3. package/README.md +6 -0
  4. package/___internal-do-not-use-will-break-in-patch/admin-ui/id-field-view/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-id-field-view.cjs.d.ts +2 -0
  5. package/___internal-do-not-use-will-break-in-patch/admin-ui/id-field-view/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-id-field-view.cjs.js +244 -0
  6. package/___internal-do-not-use-will-break-in-patch/admin-ui/id-field-view/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-id-field-view.esm.js +235 -0
  7. package/___internal-do-not-use-will-break-in-patch/admin-ui/id-field-view/package.json +4 -0
  8. package/___internal-do-not-use-will-break-in-patch/admin-ui/next-config/package.json +4 -0
  9. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/App/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-App.cjs.d.ts +2 -0
  10. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/App/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-App.cjs.js +59 -0
  11. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/App/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-App.esm.js +55 -0
  12. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/App/package.json +4 -0
  13. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/CreateItemPage/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-CreateItemPage.cjs.d.ts +2 -0
  14. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/CreateItemPage/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-CreateItemPage.cjs.js +116 -0
  15. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/CreateItemPage/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-CreateItemPage.esm.js +112 -0
  16. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/CreateItemPage/package.json +4 -0
  17. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/HomePage/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-HomePage.cjs.d.ts +2 -0
  18. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/HomePage/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-HomePage.cjs.js +336 -0
  19. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/HomePage/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-HomePage.esm.js +332 -0
  20. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/HomePage/package.json +4 -0
  21. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ItemPage/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-ItemPage.cjs.d.ts +2 -0
  22. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ItemPage/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-ItemPage.cjs.js +463 -0
  23. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ItemPage/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-ItemPage.esm.js +455 -0
  24. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ItemPage/package.json +4 -0
  25. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ListPage/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-ListPage.cjs.d.ts +2 -0
  26. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ListPage/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-ListPage.cjs.js +1195 -0
  27. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ListPage/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-ListPage.esm.js +1187 -0
  28. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ListPage/package.json +4 -0
  29. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/NoAccessPage/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-NoAccessPage.cjs.d.ts +2 -0
  30. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/NoAccessPage/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-NoAccessPage.cjs.js +40 -0
  31. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/NoAccessPage/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-admin-ui-pages-NoAccessPage.esm.js +35 -0
  32. package/___internal-do-not-use-will-break-in-patch/admin-ui/pages/NoAccessPage/package.json +4 -0
  33. package/___internal-do-not-use-will-break-in-patch/artifacts/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-artifacts.cjs.d.ts +2 -0
  34. package/___internal-do-not-use-will-break-in-patch/artifacts/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-artifacts.cjs.js +51 -0
  35. package/___internal-do-not-use-will-break-in-patch/artifacts/dist/nixxie-cms-core-___internal-do-not-use-will-break-in-patch-artifacts.esm.js +38 -0
  36. package/___internal-do-not-use-will-break-in-patch/artifacts/package.json +4 -0
  37. package/access/dist/nixxie-cms-core-access.cjs.d.ts +2 -0
  38. package/access/dist/nixxie-cms-core-access.cjs.js +26 -0
  39. package/access/dist/nixxie-cms-core-access.esm.js +19 -0
  40. package/access/package.json +4 -0
  41. package/admin-ui/apollo/dist/nixxie-cms-core-admin-ui-apollo.cjs.d.ts +2 -0
  42. package/admin-ui/apollo/dist/nixxie-cms-core-admin-ui-apollo.cjs.js +87 -0
  43. package/admin-ui/apollo/dist/nixxie-cms-core-admin-ui-apollo.esm.js +2 -0
  44. package/admin-ui/apollo/package.json +4 -0
  45. package/admin-ui/components/dist/nixxie-cms-core-admin-ui-components.cjs.d.ts +2 -0
  46. package/admin-ui/components/dist/nixxie-cms-core-admin-ui-components.cjs.js +77 -0
  47. package/admin-ui/components/dist/nixxie-cms-core-admin-ui-components.esm.js +58 -0
  48. package/admin-ui/components/package.json +4 -0
  49. package/admin-ui/context/dist/nixxie-cms-core-admin-ui-context.cjs.d.ts +2 -0
  50. package/admin-ui/context/dist/nixxie-cms-core-admin-ui-context.cjs.js +35 -0
  51. package/admin-ui/context/dist/nixxie-cms-core-admin-ui-context.esm.js +23 -0
  52. package/admin-ui/context/package.json +4 -0
  53. package/admin-ui/image/dist/nixxie-cms-core-admin-ui-image.cjs.d.ts +3 -0
  54. package/admin-ui/image/dist/nixxie-cms-core-admin-ui-image.cjs.js +18 -0
  55. package/admin-ui/image/dist/nixxie-cms-core-admin-ui-image.esm.js +2 -0
  56. package/admin-ui/image/package.json +4 -0
  57. package/admin-ui/router/dist/nixxie-cms-core-admin-ui-router.cjs.d.ts +2 -0
  58. package/admin-ui/router/dist/nixxie-cms-core-admin-ui-router.cjs.js +34 -0
  59. package/admin-ui/router/dist/nixxie-cms-core-admin-ui-router.esm.js +12 -0
  60. package/admin-ui/router/package.json +4 -0
  61. package/admin-ui/utils/dist/nixxie-cms-core-admin-ui-utils.cjs.d.ts +2 -0
  62. package/admin-ui/utils/dist/nixxie-cms-core-admin-ui-utils.cjs.js +45 -0
  63. package/admin-ui/utils/dist/nixxie-cms-core-admin-ui-utils.esm.js +22 -0
  64. package/admin-ui/utils/package.json +4 -0
  65. package/bin/cli.js +3 -0
  66. package/context/dist/nixxie-cms-core-context.cjs.d.ts +2 -0
  67. package/context/dist/nixxie-cms-core-context.cjs.js +31 -0
  68. package/context/dist/nixxie-cms-core-context.esm.js +23 -0
  69. package/context/package.json +4 -0
  70. package/dist/CreateItemDialog-33335548.esm.js +55 -0
  71. package/dist/CreateItemDialog-56cf59b7.cjs.js +57 -0
  72. package/dist/Errors-575adfa3.cjs.js +147 -0
  73. package/dist/Errors-bf24759e.esm.js +143 -0
  74. package/dist/Field-47f85161.esm.js +278 -0
  75. package/dist/Field-ed8d7627.cjs.js +287 -0
  76. package/dist/Fields-956d9a14.esm.js +203 -0
  77. package/dist/Fields-e2c28056.cjs.js +206 -0
  78. package/dist/GraphQLErrorNotice-cd74180d.cjs.js +57 -0
  79. package/dist/GraphQLErrorNotice-d9f0931b.esm.js +55 -0
  80. package/dist/NullableFieldWrapper-6ea48af3.esm.js +71 -0
  81. package/dist/NullableFieldWrapper-daa0a080.cjs.js +74 -0
  82. package/dist/PageContainer-27c27f10.cjs.js +1144 -0
  83. package/dist/PageContainer-7db73317.esm.js +1129 -0
  84. package/dist/actionData-64d4c37a.esm.js +28 -0
  85. package/dist/actionData-7858738d.cjs.js +32 -0
  86. package/dist/admin-meta-14c60fec.esm.js +210 -0
  87. package/dist/admin-meta-18d0c276.cjs.js +217 -0
  88. package/dist/admin-meta-graphql-6f7f5331.esm.js +142 -0
  89. package/dist/admin-meta-graphql-c8f926e9.cjs.js +144 -0
  90. package/dist/common-1a350e11.cjs.js +324 -0
  91. package/dist/common-29fc82e6.esm.js +315 -0
  92. package/dist/context-3132c3ed.esm.js +419 -0
  93. package/dist/context-e7a45152.cjs.js +432 -0
  94. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/id-field-view.d.ts +6 -0
  95. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/id-field-view.d.ts.map +1 -0
  96. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/App/index.d.ts +10 -0
  97. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/App/index.d.ts.map +1 -0
  98. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/CreateItemPage/index.d.ts +6 -0
  99. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/CreateItemPage/index.d.ts.map +1 -0
  100. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/HomePage/index.d.ts +2 -0
  101. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/HomePage/index.d.ts.map +1 -0
  102. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ItemPage/index.d.ts +6 -0
  103. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ItemPage/index.d.ts.map +1 -0
  104. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ListPage/index.d.ts +12 -0
  105. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ListPage/index.d.ts.map +1 -0
  106. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/NoAccessPage/index.d.ts +7 -0
  107. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/NoAccessPage/index.d.ts.map +1 -0
  108. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/artifacts.d.ts +6 -0
  109. package/dist/declarations/src/___internal-do-not-use-will-break-in-patch/artifacts.d.ts.map +1 -0
  110. package/dist/declarations/src/access.d.ts +12 -0
  111. package/dist/declarations/src/access.d.ts.map +1 -0
  112. package/dist/declarations/src/admin-ui/apollo.d.ts +8 -0
  113. package/dist/declarations/src/admin-ui/apollo.d.ts.map +1 -0
  114. package/dist/declarations/src/admin-ui/components/CellContainer.d.ts +5 -0
  115. package/dist/declarations/src/admin-ui/components/CellContainer.d.ts.map +1 -0
  116. package/dist/declarations/src/admin-ui/components/CreateItemDialog.d.ts +5 -0
  117. package/dist/declarations/src/admin-ui/components/CreateItemDialog.d.ts.map +1 -0
  118. package/dist/declarations/src/admin-ui/components/Errors.d.ts +28 -0
  119. package/dist/declarations/src/admin-ui/components/Errors.d.ts.map +1 -0
  120. package/dist/declarations/src/admin-ui/components/GraphQLErrorNotice.d.ts +6 -0
  121. package/dist/declarations/src/admin-ui/components/GraphQLErrorNotice.d.ts.map +1 -0
  122. package/dist/declarations/src/admin-ui/components/InlineCode.d.ts +3 -0
  123. package/dist/declarations/src/admin-ui/components/InlineCode.d.ts.map +1 -0
  124. package/dist/declarations/src/admin-ui/components/Logo.d.ts +2 -0
  125. package/dist/declarations/src/admin-ui/components/Logo.d.ts.map +1 -0
  126. package/dist/declarations/src/admin-ui/components/Navigation.d.ts +22 -0
  127. package/dist/declarations/src/admin-ui/components/Navigation.d.ts.map +1 -0
  128. package/dist/declarations/src/admin-ui/components/NullableFieldWrapper.d.ts +33 -0
  129. package/dist/declarations/src/admin-ui/components/NullableFieldWrapper.d.ts.map +1 -0
  130. package/dist/declarations/src/admin-ui/components/PageContainer.d.ts +10 -0
  131. package/dist/declarations/src/admin-ui/components/PageContainer.d.ts.map +1 -0
  132. package/dist/declarations/src/admin-ui/components/index.d.ts +11 -0
  133. package/dist/declarations/src/admin-ui/components/index.d.ts.map +1 -0
  134. package/dist/declarations/src/admin-ui/context.d.ts +50 -0
  135. package/dist/declarations/src/admin-ui/context.d.ts.map +1 -0
  136. package/dist/declarations/src/admin-ui/image.d.ts +3 -0
  137. package/dist/declarations/src/admin-ui/image.d.ts.map +1 -0
  138. package/dist/declarations/src/admin-ui/router.d.ts +15 -0
  139. package/dist/declarations/src/admin-ui/router.d.ts.map +1 -0
  140. package/dist/declarations/src/admin-ui/utils/Fields.d.ts +16 -0
  141. package/dist/declarations/src/admin-ui/utils/Fields.d.ts.map +1 -0
  142. package/dist/declarations/src/admin-ui/utils/filters.d.ts +10 -0
  143. package/dist/declarations/src/admin-ui/utils/filters.d.ts.map +1 -0
  144. package/dist/declarations/src/admin-ui/utils/index.d.ts +8 -0
  145. package/dist/declarations/src/admin-ui/utils/index.d.ts.map +1 -0
  146. package/dist/declarations/src/admin-ui/utils/useCreateItem.d.ts +24 -0
  147. package/dist/declarations/src/admin-ui/utils/useCreateItem.d.ts.map +1 -0
  148. package/dist/declarations/src/admin-ui/utils/utils.d.ts +8 -0
  149. package/dist/declarations/src/admin-ui/utils/utils.d.ts.map +1 -0
  150. package/dist/declarations/src/artifacts.d.ts +14 -0
  151. package/dist/declarations/src/artifacts.d.ts.map +1 -0
  152. package/dist/declarations/src/context.d.ts +2 -0
  153. package/dist/declarations/src/context.d.ts.map +1 -0
  154. package/dist/declarations/src/fields/filters/enum-filter.d.ts +27 -0
  155. package/dist/declarations/src/fields/filters/enum-filter.d.ts.map +1 -0
  156. package/dist/declarations/src/fields/filters/index.d.ts +2 -0
  157. package/dist/declarations/src/fields/filters/index.d.ts.map +1 -0
  158. package/dist/declarations/src/fields/filters/internal.d.ts +21 -0
  159. package/dist/declarations/src/fields/filters/internal.d.ts.map +1 -0
  160. package/dist/declarations/src/fields/filters/providers/mysql.d.ts +182 -0
  161. package/dist/declarations/src/fields/filters/providers/mysql.d.ts.map +1 -0
  162. package/dist/declarations/src/fields/filters/providers/postgresql.d.ts +182 -0
  163. package/dist/declarations/src/fields/filters/providers/postgresql.d.ts.map +1 -0
  164. package/dist/declarations/src/fields/filters/providers/sqlite.d.ts +179 -0
  165. package/dist/declarations/src/fields/filters/providers/sqlite.d.ts.map +1 -0
  166. package/dist/declarations/src/fields/index.d.ts +35 -0
  167. package/dist/declarations/src/fields/index.d.ts.map +1 -0
  168. package/dist/declarations/src/fields/types/bigInt/index.d.ts +20 -0
  169. package/dist/declarations/src/fields/types/bigInt/index.d.ts.map +1 -0
  170. package/dist/declarations/src/fields/types/bigInt/views/index.d.ts +24 -0
  171. package/dist/declarations/src/fields/types/bigInt/views/index.d.ts.map +1 -0
  172. package/dist/declarations/src/fields/types/bytes/index.d.ts +70 -0
  173. package/dist/declarations/src/fields/types/bytes/index.d.ts.map +1 -0
  174. package/dist/declarations/src/fields/types/bytes/views/index.d.ts +24 -0
  175. package/dist/declarations/src/fields/types/bytes/views/index.d.ts.map +1 -0
  176. package/dist/declarations/src/fields/types/calendarDay/index.d.ts +15 -0
  177. package/dist/declarations/src/fields/types/calendarDay/index.d.ts.map +1 -0
  178. package/dist/declarations/src/fields/types/calendarDay/views/index.d.ts +18 -0
  179. package/dist/declarations/src/fields/types/calendarDay/views/index.d.ts.map +1 -0
  180. package/dist/declarations/src/fields/types/checkbox/index.d.ts +11 -0
  181. package/dist/declarations/src/fields/types/checkbox/index.d.ts.map +1 -0
  182. package/dist/declarations/src/fields/types/checkbox/views/index.d.ts +9 -0
  183. package/dist/declarations/src/fields/types/checkbox/views/index.d.ts.map +1 -0
  184. package/dist/declarations/src/fields/types/decimal/index.d.ts +20 -0
  185. package/dist/declarations/src/fields/types/decimal/index.d.ts.map +1 -0
  186. package/dist/declarations/src/fields/types/decimal/views/index.d.ts +22 -0
  187. package/dist/declarations/src/fields/types/decimal/views/index.d.ts.map +1 -0
  188. package/dist/declarations/src/fields/types/file/index.d.ts +34 -0
  189. package/dist/declarations/src/fields/types/file/index.d.ts.map +1 -0
  190. package/dist/declarations/src/fields/types/file/views/Field.d.ts +17 -0
  191. package/dist/declarations/src/fields/types/file/views/Field.d.ts.map +1 -0
  192. package/dist/declarations/src/fields/types/file/views/index.d.ts +29 -0
  193. package/dist/declarations/src/fields/types/file/views/index.d.ts.map +1 -0
  194. package/dist/declarations/src/fields/types/float/index.d.ts +18 -0
  195. package/dist/declarations/src/fields/types/float/index.d.ts.map +1 -0
  196. package/dist/declarations/src/fields/types/float/views/index.d.ts +22 -0
  197. package/dist/declarations/src/fields/types/float/views/index.d.ts.map +1 -0
  198. package/dist/declarations/src/fields/types/image/index.d.ts +34 -0
  199. package/dist/declarations/src/fields/types/image/index.d.ts.map +1 -0
  200. package/dist/declarations/src/fields/types/image/utils.d.ts +2 -0
  201. package/dist/declarations/src/fields/types/image/utils.d.ts.map +1 -0
  202. package/dist/declarations/src/fields/types/image/views/Field.d.ts +4 -0
  203. package/dist/declarations/src/fields/types/image/views/Field.d.ts.map +1 -0
  204. package/dist/declarations/src/fields/types/image/views/index.d.ts +49 -0
  205. package/dist/declarations/src/fields/types/image/views/index.d.ts.map +1 -0
  206. package/dist/declarations/src/fields/types/integer/index.d.ts +20 -0
  207. package/dist/declarations/src/fields/types/integer/index.d.ts.map +1 -0
  208. package/dist/declarations/src/fields/types/integer/views/index.d.ts +23 -0
  209. package/dist/declarations/src/fields/types/integer/views/index.d.ts.map +1 -0
  210. package/dist/declarations/src/fields/types/json/index.d.ts +25 -0
  211. package/dist/declarations/src/fields/types/json/index.d.ts.map +1 -0
  212. package/dist/declarations/src/fields/types/json/views/index.d.ts +9 -0
  213. package/dist/declarations/src/fields/types/json/views/index.d.ts.map +1 -0
  214. package/dist/declarations/src/fields/types/multiselect/index.d.ts +50 -0
  215. package/dist/declarations/src/fields/types/multiselect/index.d.ts.map +1 -0
  216. package/dist/declarations/src/fields/types/multiselect/views/index.d.ts +26 -0
  217. package/dist/declarations/src/fields/types/multiselect/views/index.d.ts.map +1 -0
  218. package/dist/declarations/src/fields/types/password/index.d.ts +49 -0
  219. package/dist/declarations/src/fields/types/password/index.d.ts.map +1 -0
  220. package/dist/declarations/src/fields/types/password/views/index.d.ts +47 -0
  221. package/dist/declarations/src/fields/types/password/views/index.d.ts.map +1 -0
  222. package/dist/declarations/src/fields/types/relationship/index.d.ts +113 -0
  223. package/dist/declarations/src/fields/types/relationship/index.d.ts.map +1 -0
  224. package/dist/declarations/src/fields/types/relationship/views/ComboboxMany.d.ts +26 -0
  225. package/dist/declarations/src/fields/types/relationship/views/ComboboxMany.d.ts.map +1 -0
  226. package/dist/declarations/src/fields/types/relationship/views/ComboboxSingle.d.ts +24 -0
  227. package/dist/declarations/src/fields/types/relationship/views/ComboboxSingle.d.ts.map +1 -0
  228. package/dist/declarations/src/fields/types/relationship/views/index.d.ts +27 -0
  229. package/dist/declarations/src/fields/types/relationship/views/index.d.ts.map +1 -0
  230. package/dist/declarations/src/fields/types/relationship/views/types.d.ts +39 -0
  231. package/dist/declarations/src/fields/types/relationship/views/types.d.ts.map +1 -0
  232. package/dist/declarations/src/fields/types/select/index.d.ts +42 -0
  233. package/dist/declarations/src/fields/types/select/index.d.ts.map +1 -0
  234. package/dist/declarations/src/fields/types/select/views/index.d.ts +32 -0
  235. package/dist/declarations/src/fields/types/select/views/index.d.ts.map +1 -0
  236. package/dist/declarations/src/fields/types/text/index.d.ts +58 -0
  237. package/dist/declarations/src/fields/types/text/index.d.ts.map +1 -0
  238. package/dist/declarations/src/fields/types/text/views/index.d.ts +36 -0
  239. package/dist/declarations/src/fields/types/text/views/index.d.ts.map +1 -0
  240. package/dist/declarations/src/fields/types/timestamp/index.d.ts +19 -0
  241. package/dist/declarations/src/fields/types/timestamp/index.d.ts.map +1 -0
  242. package/dist/declarations/src/fields/types/timestamp/views/index.d.ts +14 -0
  243. package/dist/declarations/src/fields/types/timestamp/views/index.d.ts.map +1 -0
  244. package/dist/declarations/src/fields/types/timestamp/views/utils.d.ts +14 -0
  245. package/dist/declarations/src/fields/types/timestamp/views/utils.d.ts.map +1 -0
  246. package/dist/declarations/src/fields/types/virtual/index.d.ts +40 -0
  247. package/dist/declarations/src/fields/types/virtual/index.d.ts.map +1 -0
  248. package/dist/declarations/src/fields/types/virtual/views/index.d.ts +7 -0
  249. package/dist/declarations/src/fields/types/virtual/views/index.d.ts.map +1 -0
  250. package/dist/declarations/src/graphql-ts.d.ts +5 -0
  251. package/dist/declarations/src/graphql-ts.d.ts.map +1 -0
  252. package/dist/declarations/src/helpers.d.ts +121 -0
  253. package/dist/declarations/src/helpers.d.ts.map +1 -0
  254. package/dist/declarations/src/index.d.ts +6 -0
  255. package/dist/declarations/src/index.d.ts.map +1 -0
  256. package/dist/declarations/src/lib/admin-meta.d.ts +71 -0
  257. package/dist/declarations/src/lib/admin-meta.d.ts.map +1 -0
  258. package/dist/declarations/src/lib/core/access-control.d.ts +39 -0
  259. package/dist/declarations/src/lib/core/access-control.d.ts.map +1 -0
  260. package/dist/declarations/src/lib/core/initialise-lists.d.ts +131 -0
  261. package/dist/declarations/src/lib/core/initialise-lists.d.ts.map +1 -0
  262. package/dist/declarations/src/lib/core/resolve-relationships.d.ts +30 -0
  263. package/dist/declarations/src/lib/core/resolve-relationships.d.ts.map +1 -0
  264. package/dist/declarations/src/lib/core/where-inputs.d.ts +15 -0
  265. package/dist/declarations/src/lib/core/where-inputs.d.ts.map +1 -0
  266. package/dist/declarations/src/lib/express.d.ts +10 -0
  267. package/dist/declarations/src/lib/express.d.ts.map +1 -0
  268. package/dist/declarations/src/lib/migrations.d.ts +13 -0
  269. package/dist/declarations/src/lib/migrations.d.ts.map +1 -0
  270. package/dist/declarations/src/lib/system.d.ts +35 -0
  271. package/dist/declarations/src/lib/system.d.ts.map +1 -0
  272. package/dist/declarations/src/schema.d.ts +40 -0
  273. package/dist/declarations/src/schema.d.ts.map +1 -0
  274. package/dist/declarations/src/scripts/cli.d.ts +11 -0
  275. package/dist/declarations/src/scripts/cli.d.ts.map +1 -0
  276. package/dist/declarations/src/scripts/index.d.ts +2 -0
  277. package/dist/declarations/src/scripts/index.d.ts.map +1 -0
  278. package/dist/declarations/src/scripts/utils.d.ts +7 -0
  279. package/dist/declarations/src/scripts/utils.d.ts.map +1 -0
  280. package/dist/declarations/src/session.d.ts +86 -0
  281. package/dist/declarations/src/session.d.ts.map +1 -0
  282. package/dist/declarations/src/testing.d.ts +2 -0
  283. package/dist/declarations/src/testing.d.ts.map +1 -0
  284. package/dist/declarations/src/types/admin-meta.d.ts +190 -0
  285. package/dist/declarations/src/types/admin-meta.d.ts.map +1 -0
  286. package/dist/declarations/src/types/config/access-control.d.ts +108 -0
  287. package/dist/declarations/src/types/config/access-control.d.ts.map +1 -0
  288. package/dist/declarations/src/types/config/fields.d.ts +67 -0
  289. package/dist/declarations/src/types/config/fields.d.ts.map +1 -0
  290. package/dist/declarations/src/types/config/hooks.d.ts +441 -0
  291. package/dist/declarations/src/types/config/hooks.d.ts.map +1 -0
  292. package/dist/declarations/src/types/config/index.d.ts +283 -0
  293. package/dist/declarations/src/types/config/index.d.ts.map +1 -0
  294. package/dist/declarations/src/types/config/lists.d.ts +430 -0
  295. package/dist/declarations/src/types/config/lists.d.ts.map +1 -0
  296. package/dist/declarations/src/types/context.d.ts +458 -0
  297. package/dist/declarations/src/types/context.d.ts.map +1 -0
  298. package/dist/declarations/src/types/core.d.ts +9 -0
  299. package/dist/declarations/src/types/core.d.ts.map +1 -0
  300. package/dist/declarations/src/types/index.d.ts +9 -0
  301. package/dist/declarations/src/types/index.d.ts.map +1 -0
  302. package/dist/declarations/src/types/next-fields.d.ts +308 -0
  303. package/dist/declarations/src/types/next-fields.d.ts.map +1 -0
  304. package/dist/declarations/src/types/prisma.d.ts +13 -0
  305. package/dist/declarations/src/types/prisma.d.ts.map +1 -0
  306. package/dist/declarations/src/types/schema/g.d.ts +7 -0
  307. package/dist/declarations/src/types/schema/g.d.ts.map +1 -0
  308. package/dist/declarations/src/types/schema/gWithContext.d.ts +12 -0
  309. package/dist/declarations/src/types/schema/gWithContext.d.ts.map +1 -0
  310. package/dist/declarations/src/types/schema/index.d.ts +4 -0
  311. package/dist/declarations/src/types/schema/index.d.ts.map +1 -0
  312. package/dist/declarations/src/types/schema/legacy-alias.d.ts +28 -0
  313. package/dist/declarations/src/types/schema/scalars.d.ts +22 -0
  314. package/dist/declarations/src/types/schema/scalars.d.ts.map +1 -0
  315. package/dist/declarations/src/types/session.d.ts +28 -0
  316. package/dist/declarations/src/types/session.d.ts.map +1 -0
  317. package/dist/declarations/src/types/type-info.d.ts +35 -0
  318. package/dist/declarations/src/types/type-info.d.ts.map +1 -0
  319. package/dist/declarations/src/types/utils.d.ts +78 -0
  320. package/dist/declarations/src/types/utils.d.ts.map +1 -0
  321. package/dist/declarations/types/dist/nixxie-cms-core-types.cjs.d.ts +2 -0
  322. package/dist/express-6743b918.esm.js +476 -0
  323. package/dist/express-e9ed9a7d.cjs.js +495 -0
  324. package/dist/filters-8c8616f9.esm.js +89 -0
  325. package/dist/filters-b3e5eb50.cjs.js +96 -0
  326. package/dist/index-24b78415.esm.js +419 -0
  327. package/dist/index-ac01583b.cjs.js +425 -0
  328. package/dist/migrations-996e66a0.esm.js +76 -0
  329. package/dist/migrations-ab2e0fd4.cjs.js +78 -0
  330. package/dist/next-fields-49c025ef.cjs.js +251 -0
  331. package/dist/next-fields-9bf04ed8.esm.js +241 -0
  332. package/dist/nixxie-cms-core.cjs.d.ts +2 -0
  333. package/dist/nixxie-cms-core.cjs.js +522 -0
  334. package/dist/nixxie-cms-core.esm.js +504 -0
  335. package/dist/non-null-graphql-17b83ddc.cjs.js +72 -0
  336. package/dist/non-null-graphql-5315718c.esm.js +67 -0
  337. package/dist/pick-5fe45878.cjs.js +71 -0
  338. package/dist/pick-b7ef3115.esm.js +68 -0
  339. package/dist/resolve-hooks-17aafd37.esm.js +2026 -0
  340. package/dist/resolve-hooks-66fe8a8e.cjs.js +2043 -0
  341. package/dist/system-48c5f6df.cjs.js +4283 -0
  342. package/dist/system-dfec2f0a.esm.js +4273 -0
  343. package/dist/useCreateItem-1be4987e.cjs.js +160 -0
  344. package/dist/useCreateItem-1f94d252.esm.js +157 -0
  345. package/dist/useFilter-0b5a1ee6.esm.js +118 -0
  346. package/dist/useFilter-1a4e6900.cjs.js +120 -0
  347. package/dist/utils-0cc426c8.esm.js +19 -0
  348. package/dist/utils-1b632a8f.cjs.js +21 -0
  349. package/dist/utils-230cddb1.cjs.js +150 -0
  350. package/dist/utils-5e1d4d28.esm.js +138 -0
  351. package/dist/utils-b031e11c.cjs.js +49 -0
  352. package/dist/utils-e74e3527.cjs.js +87 -0
  353. package/dist/utils-ef2cd0f4.esm.js +80 -0
  354. package/dist/utils-f9556354.esm.js +41 -0
  355. package/fields/dist/nixxie-cms-core-fields.cjs.d.ts +2 -0
  356. package/fields/dist/nixxie-cms-core-fields.cjs.js +1808 -0
  357. package/fields/dist/nixxie-cms-core-fields.esm.js +1785 -0
  358. package/fields/package.json +4 -0
  359. package/fields/types/bigInt/views/dist/nixxie-cms-core-fields-types-bigInt-views.cjs.d.ts +2 -0
  360. package/fields/types/bigInt/views/dist/nixxie-cms-core-fields-types-bigInt-views.cjs.js +258 -0
  361. package/fields/types/bigInt/views/dist/nixxie-cms-core-fields-types-bigInt-views.esm.js +253 -0
  362. package/fields/types/bigInt/views/package.json +4 -0
  363. package/fields/types/bytes/dist/nixxie-cms-core-fields-types-bytes.cjs.d.ts +2 -0
  364. package/fields/types/bytes/dist/nixxie-cms-core-fields-types-bytes.cjs.js +221 -0
  365. package/fields/types/bytes/dist/nixxie-cms-core-fields-types-bytes.esm.js +216 -0
  366. package/fields/types/bytes/package.json +4 -0
  367. package/fields/types/bytes/views/dist/nixxie-cms-core-fields-types-bytes-views.cjs.d.ts +2 -0
  368. package/fields/types/bytes/views/dist/nixxie-cms-core-fields-types-bytes-views.cjs.js +239 -0
  369. package/fields/types/bytes/views/dist/nixxie-cms-core-fields-types-bytes-views.esm.js +234 -0
  370. package/fields/types/bytes/views/package.json +4 -0
  371. package/fields/types/calendarDay/views/dist/nixxie-cms-core-fields-types-calendarDay-views.cjs.d.ts +2 -0
  372. package/fields/types/calendarDay/views/dist/nixxie-cms-core-fields-types-calendarDay-views.cjs.js +147 -0
  373. package/fields/types/calendarDay/views/dist/nixxie-cms-core-fields-types-calendarDay-views.esm.js +141 -0
  374. package/fields/types/calendarDay/views/package.json +4 -0
  375. package/fields/types/checkbox/views/dist/nixxie-cms-core-fields-types-checkbox-views.cjs.d.ts +2 -0
  376. package/fields/types/checkbox/views/dist/nixxie-cms-core-fields-types-checkbox-views.cjs.js +126 -0
  377. package/fields/types/checkbox/views/dist/nixxie-cms-core-fields-types-checkbox-views.esm.js +120 -0
  378. package/fields/types/checkbox/views/package.json +4 -0
  379. package/fields/types/decimal/views/dist/nixxie-cms-core-fields-types-decimal-views.cjs.d.ts +2 -0
  380. package/fields/types/decimal/views/dist/nixxie-cms-core-fields-types-decimal-views.cjs.js +248 -0
  381. package/fields/types/decimal/views/dist/nixxie-cms-core-fields-types-decimal-views.esm.js +239 -0
  382. package/fields/types/decimal/views/package.json +4 -0
  383. package/fields/types/file/utils/package.json +4 -0
  384. package/fields/types/file/views/dist/nixxie-cms-core-fields-types-file-views.cjs.d.ts +2 -0
  385. package/fields/types/file/views/dist/nixxie-cms-core-fields-types-file-views.cjs.js +86 -0
  386. package/fields/types/file/views/dist/nixxie-cms-core-fields-types-file-views.esm.js +81 -0
  387. package/fields/types/file/views/package.json +4 -0
  388. package/fields/types/float/views/dist/nixxie-cms-core-fields-types-float-views.cjs.d.ts +2 -0
  389. package/fields/types/float/views/dist/nixxie-cms-core-fields-types-float-views.cjs.js +237 -0
  390. package/fields/types/float/views/dist/nixxie-cms-core-fields-types-float-views.esm.js +232 -0
  391. package/fields/types/float/views/package.json +4 -0
  392. package/fields/types/image/utils/dist/nixxie-cms-core-fields-types-image-utils.cjs.d.ts +2 -0
  393. package/fields/types/image/utils/dist/nixxie-cms-core-fields-types-image-utils.cjs.js +7 -0
  394. package/fields/types/image/utils/dist/nixxie-cms-core-fields-types-image-utils.esm.js +3 -0
  395. package/fields/types/image/utils/package.json +4 -0
  396. package/fields/types/image/views/dist/nixxie-cms-core-fields-types-image-views.cjs.d.ts +2 -0
  397. package/fields/types/image/views/dist/nixxie-cms-core-fields-types-image-views.cjs.js +361 -0
  398. package/fields/types/image/views/dist/nixxie-cms-core-fields-types-image-views.esm.js +354 -0
  399. package/fields/types/image/views/package.json +4 -0
  400. package/fields/types/integer/views/dist/nixxie-cms-core-fields-types-integer-views.cjs.d.ts +2 -0
  401. package/fields/types/integer/views/dist/nixxie-cms-core-fields-types-integer-views.cjs.js +254 -0
  402. package/fields/types/integer/views/dist/nixxie-cms-core-fields-types-integer-views.esm.js +249 -0
  403. package/fields/types/integer/views/package.json +4 -0
  404. package/fields/types/json/views/dist/nixxie-cms-core-fields-types-json-views.cjs.d.ts +2 -0
  405. package/fields/types/json/views/dist/nixxie-cms-core-fields-types-json-views.cjs.js +83 -0
  406. package/fields/types/json/views/dist/nixxie-cms-core-fields-types-json-views.esm.js +77 -0
  407. package/fields/types/json/views/package.json +4 -0
  408. package/fields/types/multiselect/views/dist/nixxie-cms-core-fields-types-multiselect-views.cjs.d.ts +2 -0
  409. package/fields/types/multiselect/views/dist/nixxie-cms-core-fields-types-multiselect-views.cjs.js +147 -0
  410. package/fields/types/multiselect/views/dist/nixxie-cms-core-fields-types-multiselect-views.esm.js +141 -0
  411. package/fields/types/multiselect/views/package.json +4 -0
  412. package/fields/types/password/dist/nixxie-cms-core-fields-types-password.cjs.d.ts +2 -0
  413. package/fields/types/password/dist/nixxie-cms-core-fields-types-password.cjs.js +206 -0
  414. package/fields/types/password/dist/nixxie-cms-core-fields-types-password.esm.js +196 -0
  415. package/fields/types/password/package.json +4 -0
  416. package/fields/types/password/views/dist/nixxie-cms-core-fields-types-password-views.cjs.d.ts +2 -0
  417. package/fields/types/password/views/dist/nixxie-cms-core-fields-types-password-views.cjs.js +330 -0
  418. package/fields/types/password/views/dist/nixxie-cms-core-fields-types-password-views.esm.js +320 -0
  419. package/fields/types/password/views/package.json +4 -0
  420. package/fields/types/relationship/views/RelationshipSelect/package.json +4 -0
  421. package/fields/types/relationship/views/dist/nixxie-cms-core-fields-types-relationship-views.cjs.d.ts +2 -0
  422. package/fields/types/relationship/views/dist/nixxie-cms-core-fields-types-relationship-views.cjs.js +1213 -0
  423. package/fields/types/relationship/views/dist/nixxie-cms-core-fields-types-relationship-views.esm.js +1201 -0
  424. package/fields/types/relationship/views/package.json +4 -0
  425. package/fields/types/select/views/dist/nixxie-cms-core-fields-types-select-views.cjs.d.ts +2 -0
  426. package/fields/types/select/views/dist/nixxie-cms-core-fields-types-select-views.cjs.js +422 -0
  427. package/fields/types/select/views/dist/nixxie-cms-core-fields-types-select-views.esm.js +416 -0
  428. package/fields/types/select/views/package.json +4 -0
  429. package/fields/types/text/views/dist/nixxie-cms-core-fields-types-text-views.cjs.d.ts +2 -0
  430. package/fields/types/text/views/dist/nixxie-cms-core-fields-types-text-views.cjs.js +316 -0
  431. package/fields/types/text/views/dist/nixxie-cms-core-fields-types-text-views.esm.js +311 -0
  432. package/fields/types/text/views/package.json +4 -0
  433. package/fields/types/timestamp/views/dist/nixxie-cms-core-fields-types-timestamp-views.cjs.d.ts +2 -0
  434. package/fields/types/timestamp/views/dist/nixxie-cms-core-fields-types-timestamp-views.cjs.js +285 -0
  435. package/fields/types/timestamp/views/dist/nixxie-cms-core-fields-types-timestamp-views.esm.js +279 -0
  436. package/fields/types/timestamp/views/package.json +4 -0
  437. package/fields/types/virtual/views/dist/nixxie-cms-core-fields-types-virtual-views.cjs.d.ts +2 -0
  438. package/fields/types/virtual/views/dist/nixxie-cms-core-fields-types-virtual-views.cjs.js +54 -0
  439. package/fields/types/virtual/views/dist/nixxie-cms-core-fields-types-virtual-views.esm.js +48 -0
  440. package/fields/types/virtual/views/package.json +4 -0
  441. package/graphql-ts/dist/nixxie-cms-core-graphql-ts.cjs.d.ts +2 -0
  442. package/graphql-ts/dist/nixxie-cms-core-graphql-ts.cjs.js +45 -0
  443. package/graphql-ts/dist/nixxie-cms-core-graphql-ts.esm.js +2 -0
  444. package/graphql-ts/package.json +4 -0
  445. package/package.json +339 -0
  446. package/schema/package.json +4 -0
  447. package/scripts/cli/dist/nixxie-cms-core-scripts-cli.cjs.d.ts +2 -0
  448. package/scripts/cli/dist/nixxie-cms-core-scripts-cli.cjs.js +1607 -0
  449. package/scripts/cli/dist/nixxie-cms-core-scripts-cli.esm.js +1586 -0
  450. package/scripts/cli/package.json +4 -0
  451. package/scripts/dist/nixxie-cms-core-scripts.cjs.d.ts +2 -0
  452. package/scripts/dist/nixxie-cms-core-scripts.cjs.js +73 -0
  453. package/scripts/dist/nixxie-cms-core-scripts.esm.js +71 -0
  454. package/scripts/package.json +4 -0
  455. package/session/dist/nixxie-cms-core-session.cjs.d.ts +2 -0
  456. package/session/dist/nixxie-cms-core-session.cjs.js +157 -0
  457. package/session/dist/nixxie-cms-core-session.esm.js +129 -0
  458. package/session/package.json +4 -0
  459. package/src/___internal-do-not-use-will-break-in-patch/admin-ui/id-field-view.tsx +167 -0
  460. package/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/App/index.tsx +22 -0
  461. package/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/CreateItemPage/index.tsx +71 -0
  462. package/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/HomePage/index.tsx +333 -0
  463. package/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ItemPage/common.tsx +358 -0
  464. package/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ItemPage/index.tsx +483 -0
  465. package/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ListPage/FilterAdd.tsx +221 -0
  466. package/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ListPage/PaginationControls.tsx +170 -0
  467. package/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ListPage/Tag.tsx +72 -0
  468. package/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ListPage/index.tsx +1006 -0
  469. package/src/___internal-do-not-use-will-break-in-patch/admin-ui/pages/NoAccessPage/index.tsx +24 -0
  470. package/src/___internal-do-not-use-will-break-in-patch/artifacts.ts +5 -0
  471. package/src/access.ts +25 -0
  472. package/src/admin-ui/admin-meta-graphql.ts +168 -0
  473. package/src/admin-ui/apollo.tsx +35 -0
  474. package/src/admin-ui/components/CellContainer.tsx +6 -0
  475. package/src/admin-ui/components/CommandPalette.tsx +431 -0
  476. package/src/admin-ui/components/Container.tsx +14 -0
  477. package/src/admin-ui/components/CreateButtonLink.tsx +46 -0
  478. package/src/admin-ui/components/CreateItemDialog.tsx +56 -0
  479. package/src/admin-ui/components/EmptyState.tsx +52 -0
  480. package/src/admin-ui/components/Errors.tsx +130 -0
  481. package/src/admin-ui/components/GraphQLErrorNotice.tsx +78 -0
  482. package/src/admin-ui/components/InlineCode.tsx +17 -0
  483. package/src/admin-ui/components/Logo.tsx +70 -0
  484. package/src/admin-ui/components/Navigation.tsx +385 -0
  485. package/src/admin-ui/components/NullableFieldWrapper.tsx +72 -0
  486. package/src/admin-ui/components/PageContainer.tsx +310 -0
  487. package/src/admin-ui/components/WelcomeDialog.tsx +119 -0
  488. package/src/admin-ui/components/index.ts +23 -0
  489. package/src/admin-ui/context.tsx +338 -0
  490. package/src/admin-ui/image.tsx +2 -0
  491. package/src/admin-ui/index.tsx +1 -0
  492. package/src/admin-ui/router.tsx +24 -0
  493. package/src/admin-ui/system/generateAdminUI.ts +155 -0
  494. package/src/admin-ui/system/index.ts +1 -0
  495. package/src/admin-ui/templates/app.ts +60 -0
  496. package/src/admin-ui/templates/create-item.ts +5 -0
  497. package/src/admin-ui/templates/home.ts +2 -0
  498. package/src/admin-ui/templates/index.ts +53 -0
  499. package/src/admin-ui/templates/item.tsx +5 -0
  500. package/src/admin-ui/templates/list.tsx +5 -0
  501. package/src/admin-ui/templates/next-config.ts +16 -0
  502. package/src/admin-ui/templates/no-access.ts +7 -0
  503. package/src/admin-ui/utils/Fields.tsx +241 -0
  504. package/src/admin-ui/utils/actionData.ts +36 -0
  505. package/src/admin-ui/utils/filters.ts +148 -0
  506. package/src/admin-ui/utils/index.ts +10 -0
  507. package/src/admin-ui/utils/pick.ts +12 -0
  508. package/src/admin-ui/utils/useCreateItem.ts +171 -0
  509. package/src/admin-ui/utils/usePreventNavigation.tsx +31 -0
  510. package/src/admin-ui/utils/utils.tsx +127 -0
  511. package/src/artifacts.ts +110 -0
  512. package/src/context.ts +1 -0
  513. package/src/fields/filters/enum-filter.ts +77 -0
  514. package/src/fields/filters/index.ts +1 -0
  515. package/src/fields/filters/internal.ts +89 -0
  516. package/src/fields/filters/providers/mysql.ts +450 -0
  517. package/src/fields/filters/providers/postgresql.ts +448 -0
  518. package/src/fields/filters/providers/sqlite.ts +442 -0
  519. package/src/fields/index.ts +34 -0
  520. package/src/fields/non-null-graphql.ts +115 -0
  521. package/src/fields/resolve-hooks.ts +61 -0
  522. package/src/fields/types/bigInt/index.ts +181 -0
  523. package/src/fields/types/bigInt/views/index.tsx +254 -0
  524. package/src/fields/types/bytes/index.ts +275 -0
  525. package/src/fields/types/bytes/views/index.tsx +190 -0
  526. package/src/fields/types/calendarDay/index.ts +194 -0
  527. package/src/fields/types/calendarDay/views/index.tsx +144 -0
  528. package/src/fields/types/checkbox/index.ts +76 -0
  529. package/src/fields/types/checkbox/views/index.tsx +97 -0
  530. package/src/fields/types/decimal/index.ts +182 -0
  531. package/src/fields/types/decimal/views/index.tsx +215 -0
  532. package/src/fields/types/file/index.ts +168 -0
  533. package/src/fields/types/file/views/Field.tsx +300 -0
  534. package/src/fields/types/file/views/index.tsx +74 -0
  535. package/src/fields/types/float/index.ts +133 -0
  536. package/src/fields/types/float/views/index.tsx +215 -0
  537. package/src/fields/types/image/index.ts +244 -0
  538. package/src/fields/types/image/internal-utils.ts +58 -0
  539. package/src/fields/types/image/utils.ts +1 -0
  540. package/src/fields/types/image/views/Field.tsx +295 -0
  541. package/src/fields/types/image/views/index.tsx +92 -0
  542. package/src/fields/types/integer/index.ts +156 -0
  543. package/src/fields/types/integer/views/index.tsx +255 -0
  544. package/src/fields/types/json/index.ts +77 -0
  545. package/src/fields/types/json/views/index.tsx +76 -0
  546. package/src/fields/types/multiselect/index.ts +212 -0
  547. package/src/fields/types/multiselect/views/index.tsx +151 -0
  548. package/src/fields/types/password/index.ts +241 -0
  549. package/src/fields/types/password/views/index.tsx +342 -0
  550. package/src/fields/types/relationship/index.ts +381 -0
  551. package/src/fields/types/relationship/views/ComboboxMany.tsx +110 -0
  552. package/src/fields/types/relationship/views/ComboboxSingle.tsx +115 -0
  553. package/src/fields/types/relationship/views/ContextualActions.tsx +139 -0
  554. package/src/fields/types/relationship/views/RelationshipTable.tsx +190 -0
  555. package/src/fields/types/relationship/views/index.tsx +492 -0
  556. package/src/fields/types/relationship/views/types.ts +46 -0
  557. package/src/fields/types/relationship/views/useApolloQuery.ts +185 -0
  558. package/src/fields/types/relationship/views/useFilter.tsx +109 -0
  559. package/src/fields/types/select/index.ts +226 -0
  560. package/src/fields/types/select/views/SegmentedControl.tsx +83 -0
  561. package/src/fields/types/select/views/index.tsx +318 -0
  562. package/src/fields/types/text/index.ts +207 -0
  563. package/src/fields/types/text/views/index.tsx +273 -0
  564. package/src/fields/types/timestamp/index.ts +116 -0
  565. package/src/fields/types/timestamp/views/__tests__/index.tsx +68 -0
  566. package/src/fields/types/timestamp/views/__tests__/utils.tsx +16 -0
  567. package/src/fields/types/timestamp/views/index.tsx +262 -0
  568. package/src/fields/types/timestamp/views/utils.ts +22 -0
  569. package/src/fields/types/virtual/index.ts +108 -0
  570. package/src/fields/types/virtual/views/index.tsx +53 -0
  571. package/src/graphql-ts.ts +32 -0
  572. package/src/helpers.ts +316 -0
  573. package/src/index.ts +20 -0
  574. package/src/lib/admin-meta-graphql.ts +407 -0
  575. package/src/lib/admin-meta.ts +369 -0
  576. package/src/lib/coerceAndValidateForGraphQLInput.ts +29 -0
  577. package/src/lib/context/api.ts +99 -0
  578. package/src/lib/context/createContext.ts +161 -0
  579. package/src/lib/context/graphql.ts +300 -0
  580. package/src/lib/core/access-control.ts +434 -0
  581. package/src/lib/core/field-assertions.ts +118 -0
  582. package/src/lib/core/filter-order-access.ts +48 -0
  583. package/src/lib/core/graphql-errors.ts +76 -0
  584. package/src/lib/core/hooks.ts +111 -0
  585. package/src/lib/core/initialise-lists.ts +1097 -0
  586. package/src/lib/core/mutations/index.ts +917 -0
  587. package/src/lib/core/mutations/nested-mutation-many-input-resolvers.ts +145 -0
  588. package/src/lib/core/mutations/nested-mutation-one-input-resolvers.ts +71 -0
  589. package/src/lib/core/prisma-schema-printer.ts +256 -0
  590. package/src/lib/core/queries/index.ts +66 -0
  591. package/src/lib/core/queries/output-field.ts +178 -0
  592. package/src/lib/core/queries/resolvers.ts +258 -0
  593. package/src/lib/core/resolve-relationships.ts +303 -0
  594. package/src/lib/core/utils.ts +56 -0
  595. package/src/lib/core/where-inputs.ts +130 -0
  596. package/src/lib/express.ts +109 -0
  597. package/src/lib/graphql.ts +83 -0
  598. package/src/lib/id-field.ts +214 -0
  599. package/src/lib/middleware.ts +68 -0
  600. package/src/lib/migrations.ts +90 -0
  601. package/src/lib/otel.ts +43 -0
  602. package/src/lib/prompts.ts +29 -0
  603. package/src/lib/system.ts +207 -0
  604. package/src/lib/telemetry.ts +342 -0
  605. package/src/lib/typescript-schema-printer.ts +227 -0
  606. package/src/lib/utils.ts +21 -0
  607. package/src/pkg-dir.ts +6 -0
  608. package/src/schema.ts +233 -0
  609. package/src/scripts/build.ts +64 -0
  610. package/src/scripts/cli.ts +124 -0
  611. package/src/scripts/dev.ts +452 -0
  612. package/src/scripts/esbuild.ts +120 -0
  613. package/src/scripts/index.ts +20 -0
  614. package/src/scripts/migrate.ts +214 -0
  615. package/src/scripts/prisma.ts +49 -0
  616. package/src/scripts/start.ts +76 -0
  617. package/src/scripts/telemetry.ts +37 -0
  618. package/src/scripts/utils.ts +22 -0
  619. package/src/session.ts +168 -0
  620. package/src/testing.ts +23 -0
  621. package/src/types/admin-meta.ts +218 -0
  622. package/src/types/config/access-control.ts +186 -0
  623. package/src/types/config/fields.ts +96 -0
  624. package/src/types/config/hooks.ts +529 -0
  625. package/src/types/config/index.ts +333 -0
  626. package/src/types/config/lists.ts +565 -0
  627. package/src/types/context.ts +530 -0
  628. package/src/types/core.ts +16 -0
  629. package/src/types/index.ts +8 -0
  630. package/src/types/next-fields.ts +499 -0
  631. package/src/types/prisma.ts +16 -0
  632. package/src/types/schema/g.ts +5 -0
  633. package/src/types/schema/gWithContext.ts +20 -0
  634. package/src/types/schema/index.ts +4 -0
  635. package/src/types/schema/legacy-alias.d.ts +28 -0
  636. package/src/types/schema/legacy-alias.js +1 -0
  637. package/src/types/schema/scalars.ts +220 -0
  638. package/src/types/session.ts +26 -0
  639. package/src/types/telemetry.ts +51 -0
  640. package/src/types/type-info.ts +38 -0
  641. package/src/types/type-tests.ts +21 -0
  642. package/src/types/utils.ts +108 -0
  643. package/static/admin-error.html +53 -0
  644. package/static/dev-loading.html +146 -0
  645. package/static/favicon.ico +0 -0
  646. package/static/favicon.svg +4 -0
  647. package/system/package.json +4 -0
  648. package/testing/dist/nixxie-cms-core-testing.cjs.d.ts +2 -0
  649. package/testing/dist/nixxie-cms-core-testing.cjs.js +29 -0
  650. package/testing/dist/nixxie-cms-core-testing.esm.js +21 -0
  651. package/testing/package.json +4 -0
  652. package/tests/conditional-filters.test.ts +326 -0
  653. package/tests/telemetry.test.ts +361 -0
  654. package/tsconfig.json +20 -0
  655. package/types/dist/nixxie-cms-core-types.cjs.d.ts +2 -0
  656. package/types/dist/nixxie-cms-core-types.cjs.js +29 -0
  657. package/types/dist/nixxie-cms-core-types.esm.js +9 -0
  658. package/types/package.json +4 -0
@@ -0,0 +1,1144 @@
1
+ 'use strict';
2
+
3
+ var NextHead = require('next/head');
4
+ var react = require('react');
5
+ var style = require('@keystar/ui/style');
6
+ var NextLink = require('next/link');
7
+ var adminUi_context_dist_nixxieCmsCoreAdminUiContext = require('./context-e7a45152.cjs.js');
8
+ var jsxRuntime = require('react/jsx-runtime');
9
+ var router = require('next/router');
10
+
11
+ function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
12
+
13
+ var NextHead__default = /*#__PURE__*/_interopDefault(NextHead);
14
+ var NextLink__default = /*#__PURE__*/_interopDefault(NextLink);
15
+
16
+ function Logo() {
17
+ var _adminConfig$componen;
18
+ const {
19
+ adminConfig
20
+ } = adminUi_context_dist_nixxieCmsCoreAdminUiContext.useNixxie();
21
+ if (adminConfig !== null && adminConfig !== void 0 && (_adminConfig$componen = adminConfig.components) !== null && _adminConfig$componen !== void 0 && _adminConfig$componen.Logo) return /*#__PURE__*/jsxRuntime.jsx(adminConfig.components.Logo, {});
22
+ return /*#__PURE__*/jsxRuntime.jsx(DefaultLogo, {});
23
+ }
24
+ function DefaultLogo() {
25
+ return /*#__PURE__*/jsxRuntime.jsxs(NextLink__default["default"], {
26
+ href: "/",
27
+ className: style.css({
28
+ display: 'flex',
29
+ alignItems: 'center',
30
+ gap: '9px',
31
+ textDecoration: 'none',
32
+ outline: 0,
33
+ flexShrink: 0,
34
+ '&:focus-visible': {
35
+ outline: '2px solid #000',
36
+ outlineOffset: 3,
37
+ borderRadius: 4
38
+ }
39
+ }),
40
+ children: [/*#__PURE__*/jsxRuntime.jsx("span", {
41
+ className: style.css({
42
+ display: 'inline-flex',
43
+ alignItems: 'center',
44
+ justifyContent: 'center',
45
+ width: 28,
46
+ height: 28,
47
+ borderRadius: 6,
48
+ backgroundColor: '#000000',
49
+ flexShrink: 0
50
+ }),
51
+ children: /*#__PURE__*/jsxRuntime.jsx("svg", {
52
+ width: "13",
53
+ height: "13",
54
+ viewBox: "0 0 14 14",
55
+ fill: "none",
56
+ children: /*#__PURE__*/jsxRuntime.jsx("path", {
57
+ d: "M2.5 11V3L11.5 11V3",
58
+ stroke: "white",
59
+ strokeWidth: "1.8",
60
+ strokeLinecap: "round",
61
+ strokeLinejoin: "round"
62
+ })
63
+ })
64
+ }), /*#__PURE__*/jsxRuntime.jsx("span", {
65
+ className: style.css({
66
+ fontSize: 14,
67
+ fontWeight: 600,
68
+ letterSpacing: '-0.03em',
69
+ color: '#0a0a0a',
70
+ lineHeight: 1,
71
+ fontFamily: "'Inter', -apple-system, BlinkMacSystemFont, sans-serif"
72
+ }),
73
+ children: "Nixxie"
74
+ })]
75
+ });
76
+ }
77
+
78
+ function getHrefFromList(list) {
79
+ return `/${list.path}${list.isSingleton ? '/1' : ''}`;
80
+ }
81
+
82
+ // ================================================================
83
+ // Nav Item — minimal, text-only, precise
84
+ // ================================================================
85
+
86
+ function NavItem({
87
+ href,
88
+ children,
89
+ onClick,
90
+ indent
91
+ }) {
92
+ const router$1 = router.useRouter();
93
+ const segment = href.split('/')[1];
94
+ const isActive = router$1.pathname === href || segment && router$1.pathname.split('/')[1] === segment && href !== '/';
95
+ return /*#__PURE__*/jsxRuntime.jsxs("a", {
96
+ href: href,
97
+ onClick: e => {
98
+ e.preventDefault();
99
+ onClick === null || onClick === void 0 || onClick();
100
+ router$1.push(href);
101
+ },
102
+ "aria-current": isActive ? 'page' : undefined,
103
+ className: style.css({
104
+ position: 'relative',
105
+ display: 'flex',
106
+ alignItems: 'center',
107
+ paddingInline: indent ? '32px 16px' : '16px',
108
+ paddingBlock: '7px',
109
+ fontSize: 13,
110
+ fontWeight: isActive ? 500 : 400,
111
+ color: isActive ? '#0a0a0a' : '#636363',
112
+ backgroundColor: isActive ? '#f5f5f5' : 'transparent',
113
+ textDecoration: 'none',
114
+ borderRadius: '0 6px 6px 0',
115
+ marginRight: '12px',
116
+ lineHeight: '1.4',
117
+ cursor: 'pointer',
118
+ userSelect: 'none',
119
+ transition: 'color 120ms, background-color 120ms',
120
+ '&:hover': {
121
+ color: '#0a0a0a',
122
+ backgroundColor: '#f5f5f5'
123
+ }
124
+ }),
125
+ children: [isActive && /*#__PURE__*/jsxRuntime.jsx("span", {
126
+ className: style.css({
127
+ position: 'absolute',
128
+ left: 0,
129
+ top: '20%',
130
+ bottom: '20%',
131
+ width: 2,
132
+ borderRadius: '0 2px 2px 0',
133
+ backgroundColor: '#000000'
134
+ })
135
+ }), /*#__PURE__*/jsxRuntime.jsx("span", {
136
+ className: style.css({
137
+ overflow: 'hidden',
138
+ textOverflow: 'ellipsis',
139
+ whiteSpace: 'nowrap'
140
+ }),
141
+ children: children
142
+ })]
143
+ });
144
+ }
145
+
146
+ // ================================================================
147
+ // Section label
148
+ // ================================================================
149
+
150
+ function SectionLabel({
151
+ children,
152
+ action
153
+ }) {
154
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
155
+ className: style.css({
156
+ display: 'flex',
157
+ alignItems: 'center',
158
+ justifyContent: 'space-between',
159
+ paddingInline: '16px 12px',
160
+ paddingBlock: '12px 4px'
161
+ }),
162
+ children: [/*#__PURE__*/jsxRuntime.jsx("span", {
163
+ className: style.css({
164
+ fontSize: 10,
165
+ fontWeight: 600,
166
+ letterSpacing: '0.10em',
167
+ textTransform: 'uppercase',
168
+ color: '#b8b8b8'
169
+ }),
170
+ children: children
171
+ }), action]
172
+ });
173
+ }
174
+
175
+ // ================================================================
176
+ // Divider
177
+ // ================================================================
178
+
179
+ function NavDivider() {
180
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
181
+ className: style.css({
182
+ height: 1,
183
+ marginInline: '16px',
184
+ marginBlock: '6px',
185
+ backgroundColor: '#f2f2f2'
186
+ })
187
+ });
188
+ }
189
+
190
+ // ================================================================
191
+ // Search shortcut — Cmd+K trigger
192
+ // ================================================================
193
+
194
+ function SearchTrigger({
195
+ onClick
196
+ }) {
197
+ return /*#__PURE__*/jsxRuntime.jsxs("button", {
198
+ onClick: onClick,
199
+ className: style.css({
200
+ display: 'flex',
201
+ alignItems: 'center',
202
+ gap: 8,
203
+ width: 'calc(100% - 24px)',
204
+ marginInline: '12px',
205
+ marginBottom: '8px',
206
+ paddingInline: '10px',
207
+ paddingBlock: '7px',
208
+ borderRadius: 6,
209
+ border: '1px solid #ebebeb',
210
+ backgroundColor: '#f5f5f5',
211
+ color: '#a3a3a3',
212
+ fontSize: 12.5,
213
+ cursor: 'pointer',
214
+ textAlign: 'left',
215
+ transition: 'border-color 140ms, background 140ms, color 140ms',
216
+ '&:hover': {
217
+ borderColor: '#dedede',
218
+ backgroundColor: '#efefef',
219
+ color: '#737373'
220
+ },
221
+ '&:focus-visible': {
222
+ outline: '2px solid #000',
223
+ outlineOffset: 2
224
+ }
225
+ }),
226
+ children: [/*#__PURE__*/jsxRuntime.jsxs("svg", {
227
+ width: "12",
228
+ height: "12",
229
+ viewBox: "0 0 12 12",
230
+ fill: "none",
231
+ style: {
232
+ flexShrink: 0
233
+ },
234
+ children: [/*#__PURE__*/jsxRuntime.jsx("circle", {
235
+ cx: "5",
236
+ cy: "5",
237
+ r: "3.5",
238
+ stroke: "currentColor",
239
+ strokeWidth: "1.25"
240
+ }), /*#__PURE__*/jsxRuntime.jsx("path", {
241
+ d: "M8 8L10.5 10.5",
242
+ stroke: "currentColor",
243
+ strokeWidth: "1.25",
244
+ strokeLinecap: "round"
245
+ })]
246
+ }), /*#__PURE__*/jsxRuntime.jsx("span", {
247
+ className: style.css({
248
+ flex: 1
249
+ }),
250
+ children: "Search\u2026"
251
+ }), /*#__PURE__*/jsxRuntime.jsx("kbd", {
252
+ className: style.css({
253
+ fontSize: 10.5,
254
+ color: '#c8c8c8',
255
+ fontFamily: 'inherit',
256
+ letterSpacing: '0.02em'
257
+ }),
258
+ children: "\u2318K"
259
+ })]
260
+ });
261
+ }
262
+
263
+ // ================================================================
264
+ // List filter — inline nav search
265
+ // ================================================================
266
+
267
+ function NavSearch({
268
+ value,
269
+ onChange
270
+ }) {
271
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
272
+ className: style.css({
273
+ paddingInline: '16px 12px',
274
+ paddingBottom: '4px'
275
+ }),
276
+ children: /*#__PURE__*/jsxRuntime.jsx("input", {
277
+ type: "search",
278
+ value: value,
279
+ onChange: e => onChange(e.target.value),
280
+ placeholder: "Filter\u2026",
281
+ className: style.css({
282
+ width: '100%',
283
+ paddingInline: '10px',
284
+ paddingBlock: '5px',
285
+ fontSize: 12.5,
286
+ border: '1px solid #ebebeb',
287
+ borderRadius: 5,
288
+ backgroundColor: '#f5f5f5',
289
+ color: '#0a0a0a',
290
+ outline: 'none',
291
+ boxSizing: 'border-box',
292
+ transition: 'border-color 140ms',
293
+ '&:focus': {
294
+ borderColor: '#b0b0b0'
295
+ },
296
+ '&::placeholder': {
297
+ color: '#c8c8c8'
298
+ },
299
+ '&::-webkit-search-cancel-button': {
300
+ display: 'none'
301
+ }
302
+ })
303
+ })
304
+ });
305
+ }
306
+
307
+ // ================================================================
308
+ // Collections section
309
+ // ================================================================
310
+
311
+ function CollectionsSection({
312
+ lists,
313
+ onNavItemClick
314
+ }) {
315
+ const [search, setSearch] = react.useState('');
316
+ const filtered = search.trim() ? lists.filter(l => l.label.toLowerCase().includes(search.toLowerCase())) : lists;
317
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
318
+ children: [/*#__PURE__*/jsxRuntime.jsx(SectionLabel, {
319
+ children: "Collections"
320
+ }), lists.length > 6 && /*#__PURE__*/jsxRuntime.jsx(NavSearch, {
321
+ value: search,
322
+ onChange: setSearch
323
+ }), filtered.length === 0 ? /*#__PURE__*/jsxRuntime.jsx("p", {
324
+ className: style.css({
325
+ margin: '4px 16px',
326
+ fontSize: 12.5,
327
+ color: '#c8c8c8'
328
+ }),
329
+ children: "No results"
330
+ }) : filtered.map(list => /*#__PURE__*/jsxRuntime.jsxs(NavItem, {
331
+ href: getHrefFromList(list),
332
+ onClick: onNavItemClick,
333
+ children: [list.label, list.isSingleton && /*#__PURE__*/jsxRuntime.jsx("span", {
334
+ className: style.css({
335
+ marginLeft: 6,
336
+ fontSize: 10,
337
+ fontWeight: 500,
338
+ color: '#c8c8c8',
339
+ letterSpacing: '0.04em',
340
+ textTransform: 'uppercase'
341
+ }),
342
+ children: "Single"
343
+ })]
344
+ }, list.key))]
345
+ });
346
+ }
347
+
348
+ // ================================================================
349
+ // Root Navigation
350
+ // ================================================================
351
+
352
+ function Navigation({
353
+ onNavItemClick,
354
+ onCmdK
355
+ }) {
356
+ var _adminConfig$componen;
357
+ const {
358
+ adminConfig,
359
+ lists: allLists,
360
+ apiPath
361
+ } = adminUi_context_dist_nixxieCmsCoreAdminUiContext.useNixxie();
362
+ const visibleLists = Object.values(allLists).filter(x => !x.hideNavigation);
363
+ if (adminConfig !== null && adminConfig !== void 0 && (_adminConfig$componen = adminConfig.components) !== null && _adminConfig$componen !== void 0 && _adminConfig$componen.Navigation) {
364
+ return /*#__PURE__*/jsxRuntime.jsx(adminConfig.components.Navigation, {
365
+ lists: visibleLists
366
+ });
367
+ }
368
+ return /*#__PURE__*/jsxRuntime.jsxs("nav", {
369
+ "aria-label": "Main navigation",
370
+ className: style.css({
371
+ display: 'flex',
372
+ flexDirection: 'column',
373
+ height: '100%'
374
+ }),
375
+ children: [/*#__PURE__*/jsxRuntime.jsx("div", {
376
+ className: style.css({
377
+ paddingTop: '10px'
378
+ }),
379
+ children: /*#__PURE__*/jsxRuntime.jsx(SearchTrigger, {
380
+ onClick: onCmdK
381
+ })
382
+ }), /*#__PURE__*/jsxRuntime.jsx(NavItem, {
383
+ href: "/",
384
+ onClick: onNavItemClick,
385
+ children: "Dashboard"
386
+ }), /*#__PURE__*/jsxRuntime.jsx(NavDivider, {}), /*#__PURE__*/jsxRuntime.jsxs("div", {
387
+ className: style.css({
388
+ flex: 1,
389
+ overflowY: 'auto',
390
+ overflowX: 'hidden',
391
+ paddingBottom: '8px'
392
+ }),
393
+ children: [visibleLists.length > 0 ? /*#__PURE__*/jsxRuntime.jsx(CollectionsSection, {
394
+ lists: visibleLists,
395
+ onNavItemClick: onNavItemClick
396
+ }) : /*#__PURE__*/jsxRuntime.jsx("p", {
397
+ className: style.css({
398
+ margin: '8px 16px',
399
+ fontSize: 12.5,
400
+ color: '#c8c8c8'
401
+ }),
402
+ children: "No collections"
403
+ }), process.env.NODE_ENV !== 'production' && apiPath && /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
404
+ children: [/*#__PURE__*/jsxRuntime.jsx(NavDivider, {}), /*#__PURE__*/jsxRuntime.jsx(SectionLabel, {
405
+ children: "Developer"
406
+ }), /*#__PURE__*/jsxRuntime.jsx(NavItem, {
407
+ href: apiPath,
408
+ onClick: onNavItemClick,
409
+ children: "API Explorer"
410
+ })]
411
+ })]
412
+ })]
413
+ });
414
+ }
415
+
416
+ // ================================================================
417
+ // Legacy public exports (used by @nixxie-cms/auth and custom navigations)
418
+ // ================================================================
419
+
420
+ function NavList({
421
+ children
422
+ }) {
423
+ return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
424
+ children: children
425
+ });
426
+ }
427
+ function NavContainer({
428
+ children
429
+ }) {
430
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
431
+ className: style.css({
432
+ display: 'flex',
433
+ flexDirection: 'column',
434
+ height: '100%',
435
+ paddingBlock: '8px'
436
+ }),
437
+ children: children
438
+ });
439
+ }
440
+ function NavFooter({
441
+ children
442
+ }) {
443
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
444
+ className: style.css({
445
+ paddingInline: '12px',
446
+ paddingBlock: '10px',
447
+ borderTop: '1px solid #f2f2f2',
448
+ marginTop: 'auto'
449
+ }),
450
+ children: children
451
+ });
452
+ }
453
+
454
+ /** @deprecated */
455
+ function DeveloperResourcesMenu() {
456
+ return null;
457
+ }
458
+
459
+ function useCommands() {
460
+ const {
461
+ lists
462
+ } = adminUi_context_dist_nixxieCmsCoreAdminUiContext.useNixxie();
463
+ return react.useMemo(() => {
464
+ const cmds = [{
465
+ id: 'nav-dashboard',
466
+ label: 'Go to Dashboard',
467
+ category: 'Navigate',
468
+ icon: '◼',
469
+ href: '/'
470
+ }];
471
+ for (const list of Object.values(lists)) {
472
+ if (list.hideNavigation) continue;
473
+ cmds.push({
474
+ id: `nav-${list.key}`,
475
+ label: list.label,
476
+ description: `Open ${list.label} list`,
477
+ category: 'Navigate',
478
+ icon: '≡',
479
+ href: getHrefFromList(list)
480
+ });
481
+ if (!list.hideCreate && !list.isSingleton) {
482
+ cmds.push({
483
+ id: `create-${list.key}`,
484
+ label: `New ${list.singular}`,
485
+ description: `Create a new ${list.singular.toLowerCase()}`,
486
+ category: 'Create',
487
+ icon: '+',
488
+ href: `/${list.path}/create`
489
+ });
490
+ }
491
+ }
492
+ return cmds;
493
+ }, [lists]);
494
+ }
495
+ function CommandPalette({
496
+ isOpen,
497
+ onClose
498
+ }) {
499
+ const router$1 = router.useRouter();
500
+ const [query, setQuery] = react.useState('');
501
+ const [activeIndex, setActiveIndex] = react.useState(0);
502
+ const inputRef = react.useRef(null);
503
+ const listRef = react.useRef(null);
504
+ const commands = useCommands();
505
+ const filtered = react.useMemo(() => {
506
+ if (!query.trim()) return commands;
507
+ const q = query.toLowerCase();
508
+ return commands.filter(c => {
509
+ var _c$description;
510
+ return c.label.toLowerCase().includes(q) || ((_c$description = c.description) === null || _c$description === void 0 ? void 0 : _c$description.toLowerCase().includes(q)) || c.category.toLowerCase().includes(q);
511
+ });
512
+ }, [commands, query]);
513
+
514
+ // Group by category
515
+ const grouped = react.useMemo(() => {
516
+ const map = new Map();
517
+ for (const cmd of filtered) {
518
+ if (!map.has(cmd.category)) map.set(cmd.category, []);
519
+ map.get(cmd.category).push(cmd);
520
+ }
521
+ return map;
522
+ }, [filtered]);
523
+
524
+ // Flat list for keyboard navigation
525
+ const flatList = react.useMemo(() => filtered, [filtered]);
526
+ react.useEffect(() => {
527
+ if (isOpen) {
528
+ setQuery('');
529
+ setActiveIndex(0);
530
+ setTimeout(() => {
531
+ var _inputRef$current;
532
+ return (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();
533
+ }, 10);
534
+ }
535
+ }, [isOpen]);
536
+ react.useEffect(() => {
537
+ setActiveIndex(0);
538
+ }, [query]);
539
+
540
+ // Scroll active item into view
541
+ react.useEffect(() => {
542
+ var _listRef$current;
543
+ const el = (_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : _listRef$current.querySelector(`[data-active="true"]`);
544
+ el === null || el === void 0 || el.scrollIntoView({
545
+ block: 'nearest'
546
+ });
547
+ }, [activeIndex]);
548
+ function runCommand(cmd) {
549
+ onClose();
550
+ if (cmd.href) {
551
+ router$1.push(cmd.href);
552
+ } else if (cmd.action) {
553
+ cmd.action();
554
+ }
555
+ }
556
+ function onKeyDown(e) {
557
+ if (e.key === 'ArrowDown') {
558
+ e.preventDefault();
559
+ setActiveIndex(i => Math.min(i + 1, flatList.length - 1));
560
+ } else if (e.key === 'ArrowUp') {
561
+ e.preventDefault();
562
+ setActiveIndex(i => Math.max(i - 1, 0));
563
+ } else if (e.key === 'Enter') {
564
+ e.preventDefault();
565
+ const cmd = flatList[activeIndex];
566
+ if (cmd) runCommand(cmd);
567
+ } else if (e.key === 'Escape') {
568
+ onClose();
569
+ }
570
+ }
571
+
572
+ // Pre-compute flat index for each command ID
573
+ const cmdFlatIndex = react.useMemo(() => {
574
+ const map = new Map();
575
+ filtered.forEach((cmd, i) => map.set(cmd.id, i));
576
+ return map;
577
+ }, [filtered]);
578
+ if (!isOpen) return null;
579
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
580
+ children: [/*#__PURE__*/jsxRuntime.jsx("div", {
581
+ onClick: onClose,
582
+ className: style.css({
583
+ position: 'fixed',
584
+ inset: 0,
585
+ backgroundColor: 'rgba(0,0,0,0.45)',
586
+ zIndex: 200,
587
+ backdropFilter: 'blur(3px)'
588
+ })
589
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
590
+ role: "dialog",
591
+ "aria-modal": "true",
592
+ "aria-label": "Command palette",
593
+ className: style.css({
594
+ position: 'fixed',
595
+ top: '14vh',
596
+ left: '50%',
597
+ transform: 'translateX(-50%)',
598
+ width: '90vw',
599
+ maxWidth: 560,
600
+ maxHeight: '62vh',
601
+ display: 'flex',
602
+ flexDirection: 'column',
603
+ backgroundColor: '#ffffff',
604
+ borderRadius: 10,
605
+ boxShadow: '0 24px 64px rgba(0,0,0,0.22), 0 0 0 1px rgba(0,0,0,0.07)',
606
+ zIndex: 201,
607
+ overflow: 'hidden'
608
+ }),
609
+ children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
610
+ className: style.css({
611
+ display: 'flex',
612
+ alignItems: 'center',
613
+ gap: 10,
614
+ padding: '12px 16px',
615
+ borderBottom: '1px solid #f0f0f0'
616
+ }),
617
+ children: [/*#__PURE__*/jsxRuntime.jsxs("svg", {
618
+ width: "15",
619
+ height: "15",
620
+ viewBox: "0 0 15 15",
621
+ fill: "none",
622
+ style: {
623
+ flexShrink: 0,
624
+ color: '#a3a3a3'
625
+ },
626
+ children: [/*#__PURE__*/jsxRuntime.jsx("circle", {
627
+ cx: "6.5",
628
+ cy: "6.5",
629
+ r: "4.5",
630
+ stroke: "currentColor",
631
+ strokeWidth: "1.4"
632
+ }), /*#__PURE__*/jsxRuntime.jsx("line", {
633
+ x1: "9.9",
634
+ y1: "9.9",
635
+ x2: "13.2",
636
+ y2: "13.2",
637
+ stroke: "currentColor",
638
+ strokeWidth: "1.4",
639
+ strokeLinecap: "round"
640
+ })]
641
+ }), /*#__PURE__*/jsxRuntime.jsx("input", {
642
+ ref: inputRef,
643
+ value: query,
644
+ onChange: e => setQuery(e.target.value),
645
+ onKeyDown: onKeyDown,
646
+ placeholder: "Search commands, lists, actions\u2026",
647
+ className: style.css({
648
+ flex: 1,
649
+ border: 'none',
650
+ outline: 'none',
651
+ fontSize: 14.5,
652
+ color: '#0a0a0a',
653
+ background: 'transparent',
654
+ fontFamily: "'Inter', -apple-system, BlinkMacSystemFont, sans-serif",
655
+ '&::placeholder': {
656
+ color: '#b8b8b8'
657
+ }
658
+ })
659
+ }), /*#__PURE__*/jsxRuntime.jsx("kbd", {
660
+ className: style.css({
661
+ display: 'inline-flex',
662
+ alignItems: 'center',
663
+ gap: 2,
664
+ padding: '2px 7px',
665
+ backgroundColor: '#f5f5f5',
666
+ border: '1px solid #e8e8e8',
667
+ borderRadius: 5,
668
+ fontSize: 11,
669
+ color: '#a3a3a3',
670
+ fontFamily: 'inherit',
671
+ flexShrink: 0
672
+ }),
673
+ children: "Esc"
674
+ })]
675
+ }), /*#__PURE__*/jsxRuntime.jsx("ul", {
676
+ ref: listRef,
677
+ role: "listbox",
678
+ className: style.css({
679
+ flex: 1,
680
+ overflowY: 'auto',
681
+ padding: '6px 0',
682
+ margin: 0,
683
+ listStyle: 'none',
684
+ '&::-webkit-scrollbar': {
685
+ width: 4
686
+ },
687
+ '&::-webkit-scrollbar-thumb': {
688
+ background: '#e8e8e8',
689
+ borderRadius: 4
690
+ }
691
+ }),
692
+ children: grouped.size === 0 ? /*#__PURE__*/jsxRuntime.jsxs("li", {
693
+ className: style.css({
694
+ padding: '28px 16px',
695
+ textAlign: 'center',
696
+ color: '#a3a3a3',
697
+ fontSize: 13.5
698
+ }),
699
+ children: ["No results for \u201C", query, "\u201D"]
700
+ }) : Array.from(grouped.entries()).map(([category, items]) => /*#__PURE__*/jsxRuntime.jsxs("li", {
701
+ role: "none",
702
+ children: [/*#__PURE__*/jsxRuntime.jsx("p", {
703
+ className: style.css({
704
+ margin: 0,
705
+ padding: '8px 16px 3px',
706
+ fontSize: 10,
707
+ fontWeight: 600,
708
+ letterSpacing: '0.10em',
709
+ textTransform: 'uppercase',
710
+ color: '#b8b8b8'
711
+ }),
712
+ children: category
713
+ }), /*#__PURE__*/jsxRuntime.jsx("ul", {
714
+ role: "group",
715
+ className: style.css({
716
+ listStyle: 'none',
717
+ margin: 0,
718
+ padding: 0
719
+ }),
720
+ children: items.map(cmd => {
721
+ var _cmdFlatIndex$get;
722
+ const idx = (_cmdFlatIndex$get = cmdFlatIndex.get(cmd.id)) !== null && _cmdFlatIndex$get !== void 0 ? _cmdFlatIndex$get : 0;
723
+ const isActive = idx === activeIndex;
724
+ return /*#__PURE__*/jsxRuntime.jsxs("li", {
725
+ role: "option",
726
+ "aria-selected": isActive,
727
+ "data-active": isActive,
728
+ onClick: () => runCommand(cmd),
729
+ onMouseEnter: () => setActiveIndex(idx),
730
+ className: style.css({
731
+ display: 'flex',
732
+ alignItems: 'center',
733
+ gap: 10,
734
+ padding: '7px 16px',
735
+ cursor: 'pointer',
736
+ backgroundColor: isActive ? '#0a0a0a' : 'transparent',
737
+ transition: 'background 100ms',
738
+ '&:hover': {
739
+ backgroundColor: isActive ? '#0a0a0a' : '#f5f5f5'
740
+ }
741
+ }),
742
+ children: [/*#__PURE__*/jsxRuntime.jsx("span", {
743
+ className: style.css({
744
+ display: 'inline-flex',
745
+ alignItems: 'center',
746
+ justifyContent: 'center',
747
+ width: 28,
748
+ height: 28,
749
+ borderRadius: 6,
750
+ backgroundColor: isActive ? '#2a2a2a' : '#f0f0f0',
751
+ fontSize: 12,
752
+ fontWeight: 500,
753
+ color: isActive ? '#ffffff' : '#636363',
754
+ flexShrink: 0,
755
+ transition: 'background 100ms, color 100ms',
756
+ fontFamily: 'monospace'
757
+ }),
758
+ children: cmd.icon
759
+ }), /*#__PURE__*/jsxRuntime.jsxs("span", {
760
+ className: style.css({
761
+ flex: 1,
762
+ minWidth: 0
763
+ }),
764
+ children: [/*#__PURE__*/jsxRuntime.jsx("span", {
765
+ className: style.css({
766
+ display: 'block',
767
+ fontSize: 13.5,
768
+ fontWeight: 500,
769
+ color: isActive ? '#ffffff' : '#0a0a0a',
770
+ whiteSpace: 'nowrap',
771
+ overflow: 'hidden',
772
+ textOverflow: 'ellipsis',
773
+ transition: 'color 100ms'
774
+ }),
775
+ children: cmd.label
776
+ }), cmd.description && /*#__PURE__*/jsxRuntime.jsx("span", {
777
+ className: style.css({
778
+ display: 'block',
779
+ fontSize: 12,
780
+ color: isActive ? 'rgba(255,255,255,0.5)' : '#a3a3a3',
781
+ whiteSpace: 'nowrap',
782
+ overflow: 'hidden',
783
+ textOverflow: 'ellipsis',
784
+ transition: 'color 100ms'
785
+ }),
786
+ children: cmd.description
787
+ })]
788
+ }), isActive && /*#__PURE__*/jsxRuntime.jsx("kbd", {
789
+ className: style.css({
790
+ fontSize: 11,
791
+ color: 'rgba(255,255,255,0.6)',
792
+ background: '#2a2a2a',
793
+ border: '1px solid #3a3a3a',
794
+ borderRadius: 4,
795
+ padding: '2px 6px',
796
+ fontFamily: 'inherit',
797
+ flexShrink: 0
798
+ }),
799
+ children: "\u21B5"
800
+ })]
801
+ }, cmd.id);
802
+ })
803
+ })]
804
+ }, category))
805
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
806
+ className: style.css({
807
+ display: 'flex',
808
+ alignItems: 'center',
809
+ gap: 14,
810
+ padding: '8px 16px',
811
+ borderTop: '1px solid #f0f0f0',
812
+ fontSize: 11,
813
+ color: '#b8b8b8'
814
+ }),
815
+ children: [/*#__PURE__*/jsxRuntime.jsxs("span", {
816
+ children: [/*#__PURE__*/jsxRuntime.jsx("kbd", {
817
+ className: style.css({
818
+ fontFamily: 'inherit'
819
+ }),
820
+ children: "\u2191\u2193"
821
+ }), " navigate"]
822
+ }), /*#__PURE__*/jsxRuntime.jsxs("span", {
823
+ children: [/*#__PURE__*/jsxRuntime.jsx("kbd", {
824
+ className: style.css({
825
+ fontFamily: 'inherit'
826
+ }),
827
+ children: "\u21B5"
828
+ }), " open"]
829
+ }), /*#__PURE__*/jsxRuntime.jsxs("span", {
830
+ children: [/*#__PURE__*/jsxRuntime.jsx("kbd", {
831
+ className: style.css({
832
+ fontFamily: 'inherit'
833
+ }),
834
+ children: "Esc"
835
+ }), " close"]
836
+ }), /*#__PURE__*/jsxRuntime.jsxs("span", {
837
+ style: {
838
+ marginInlineStart: 'auto'
839
+ },
840
+ children: [/*#__PURE__*/jsxRuntime.jsx("kbd", {
841
+ className: style.css({
842
+ fontFamily: 'inherit'
843
+ }),
844
+ children: "\u2318K"
845
+ }), " toggle"]
846
+ })]
847
+ })]
848
+ })]
849
+ });
850
+ }
851
+
852
+ const SIDEBAR_WIDTH = 256;
853
+ const TOPBAR_HEIGHT = 52;
854
+ function PageWrapper(props) {
855
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
856
+ className: style.css({
857
+ display: 'flex',
858
+ height: '100vh',
859
+ overflow: 'hidden',
860
+ backgroundColor: '#fafafa',
861
+ fontFamily: "'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif"
862
+ }),
863
+ ...props
864
+ });
865
+ }
866
+
867
+ // ---- Mobile overlay ----
868
+ function Backdrop({
869
+ isVisible,
870
+ onClick
871
+ }) {
872
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
873
+ onClick: onClick,
874
+ "aria-hidden": !isVisible,
875
+ className: style.css({
876
+ position: 'fixed',
877
+ inset: 0,
878
+ backgroundColor: 'rgba(10,10,10,0.35)',
879
+ zIndex: 40,
880
+ transition: 'opacity 200ms',
881
+ opacity: isVisible ? 1 : 0,
882
+ pointerEvents: isVisible ? 'auto' : 'none',
883
+ backdropFilter: 'blur(2px)',
884
+ '@media (min-width: 768px)': {
885
+ display: 'none'
886
+ }
887
+ })
888
+ });
889
+ }
890
+
891
+ // ---- Sidebar — pure white, precise ----
892
+ function Sidebar({
893
+ isOpen,
894
+ onClose,
895
+ onCmdK
896
+ }) {
897
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
898
+ children: [/*#__PURE__*/jsxRuntime.jsx(Backdrop, {
899
+ isVisible: isOpen,
900
+ onClick: onClose
901
+ }), /*#__PURE__*/jsxRuntime.jsxs("aside", {
902
+ className: style.css({
903
+ position: 'fixed',
904
+ top: 0,
905
+ left: 0,
906
+ bottom: 0,
907
+ width: SIDEBAR_WIDTH,
908
+ zIndex: 50,
909
+ display: 'flex',
910
+ flexDirection: 'column',
911
+ backgroundColor: '#ffffff',
912
+ borderRight: '1px solid #ebebeb',
913
+ transform: isOpen ? 'translateX(0)' : `translateX(-${SIDEBAR_WIDTH}px)`,
914
+ transition: 'transform 220ms cubic-bezier(0.4,0,0.2,1)',
915
+ '@media (min-width: 768px)': {
916
+ position: 'relative',
917
+ transform: 'translateX(0)',
918
+ flexShrink: 0
919
+ }
920
+ }),
921
+ children: [/*#__PURE__*/jsxRuntime.jsx("div", {
922
+ className: style.css({
923
+ display: 'flex',
924
+ alignItems: 'center',
925
+ height: TOPBAR_HEIGHT,
926
+ paddingInline: '16px',
927
+ borderBottom: '1px solid #f2f2f2',
928
+ flexShrink: 0
929
+ }),
930
+ children: /*#__PURE__*/jsxRuntime.jsx(Logo, {})
931
+ }), /*#__PURE__*/jsxRuntime.jsx("div", {
932
+ className: style.css({
933
+ flex: 1,
934
+ overflowY: 'auto',
935
+ overflowX: 'hidden',
936
+ WebkitOverflowScrolling: 'touch',
937
+ '&::-webkit-scrollbar': {
938
+ width: 3
939
+ },
940
+ '&::-webkit-scrollbar-thumb': {
941
+ background: '#ebebeb',
942
+ borderRadius: 3
943
+ }
944
+ }),
945
+ children: /*#__PURE__*/jsxRuntime.jsx(Navigation, {
946
+ onNavItemClick: onClose,
947
+ onCmdK: onCmdK
948
+ })
949
+ })]
950
+ })]
951
+ });
952
+ }
953
+
954
+ // ---- Top bar ----
955
+ function TopBar({
956
+ header,
957
+ onMenuClick,
958
+ isSidebarOpen
959
+ }) {
960
+ return /*#__PURE__*/jsxRuntime.jsxs("header", {
961
+ className: style.css({
962
+ display: 'flex',
963
+ alignItems: 'center',
964
+ height: TOPBAR_HEIGHT,
965
+ paddingInline: '24px',
966
+ gap: '14px',
967
+ backgroundColor: '#ffffff',
968
+ borderBottom: '1px solid #ebebeb',
969
+ flexShrink: 0,
970
+ zIndex: 30
971
+ }),
972
+ children: [/*#__PURE__*/jsxRuntime.jsx("button", {
973
+ onClick: onMenuClick,
974
+ "aria-label": isSidebarOpen ? 'Close menu' : 'Open menu',
975
+ "aria-expanded": isSidebarOpen,
976
+ className: style.css({
977
+ display: 'inline-flex',
978
+ alignItems: 'center',
979
+ justifyContent: 'center',
980
+ width: 32,
981
+ height: 32,
982
+ borderRadius: 6,
983
+ border: '1px solid #ebebeb',
984
+ background: 'transparent',
985
+ cursor: 'pointer',
986
+ flexShrink: 0,
987
+ color: '#a3a3a3',
988
+ transition: 'color 130ms, background 130ms',
989
+ '&:hover': {
990
+ background: '#f5f5f5',
991
+ color: '#0a0a0a'
992
+ },
993
+ '@media (min-width: 768px)': {
994
+ display: 'none'
995
+ }
996
+ }),
997
+ children: /*#__PURE__*/jsxRuntime.jsx("svg", {
998
+ width: "15",
999
+ height: "15",
1000
+ viewBox: "0 0 15 15",
1001
+ fill: "none",
1002
+ children: isSidebarOpen ? /*#__PURE__*/jsxRuntime.jsx("path", {
1003
+ d: "M3 3L12 12M12 3L3 12",
1004
+ stroke: "currentColor",
1005
+ strokeWidth: "1.4",
1006
+ strokeLinecap: "round"
1007
+ }) : /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
1008
+ children: [/*#__PURE__*/jsxRuntime.jsx("line", {
1009
+ x1: "2",
1010
+ y1: "4.5",
1011
+ x2: "13",
1012
+ y2: "4.5",
1013
+ stroke: "currentColor",
1014
+ strokeWidth: "1.4",
1015
+ strokeLinecap: "round"
1016
+ }), /*#__PURE__*/jsxRuntime.jsx("line", {
1017
+ x1: "2",
1018
+ y1: "7.5",
1019
+ x2: "13",
1020
+ y2: "7.5",
1021
+ stroke: "currentColor",
1022
+ strokeWidth: "1.4",
1023
+ strokeLinecap: "round"
1024
+ }), /*#__PURE__*/jsxRuntime.jsx("line", {
1025
+ x1: "2",
1026
+ y1: "10.5",
1027
+ x2: "13",
1028
+ y2: "10.5",
1029
+ stroke: "currentColor",
1030
+ strokeWidth: "1.4",
1031
+ strokeLinecap: "round"
1032
+ })]
1033
+ })
1034
+ })
1035
+ }), /*#__PURE__*/jsxRuntime.jsx("div", {
1036
+ className: style.css({
1037
+ display: 'flex',
1038
+ alignItems: 'center',
1039
+ justifyContent: 'space-between',
1040
+ flex: 1,
1041
+ minWidth: 0,
1042
+ gap: '12px'
1043
+ }),
1044
+ children: header
1045
+ })]
1046
+ });
1047
+ }
1048
+
1049
+ // ---- Main content area ----
1050
+ function MainContent(props) {
1051
+ return /*#__PURE__*/jsxRuntime.jsx("main", {
1052
+ className: style.css({
1053
+ flex: 1,
1054
+ display: 'flex',
1055
+ flexDirection: 'column',
1056
+ overflow: 'hidden',
1057
+ minWidth: 0,
1058
+ minHeight: 0
1059
+ }),
1060
+ ...props
1061
+ });
1062
+ }
1063
+ function ContentScroller(props) {
1064
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
1065
+ "data-nixxie-content": "",
1066
+ className: style.css({
1067
+ flex: 1,
1068
+ overflowY: 'auto',
1069
+ overflowX: 'hidden',
1070
+ WebkitOverflowScrolling: 'touch',
1071
+ '&::-webkit-scrollbar': {
1072
+ width: 5
1073
+ },
1074
+ '&::-webkit-scrollbar-thumb': {
1075
+ background: '#e8e8e8',
1076
+ borderRadius: 4
1077
+ },
1078
+ '&::-webkit-scrollbar-thumb:hover': {
1079
+ background: '#d4d4d4'
1080
+ }
1081
+ }),
1082
+ ...props
1083
+ });
1084
+ }
1085
+
1086
+ // ---- Public API ----
1087
+
1088
+ function PageContainer({
1089
+ children,
1090
+ header,
1091
+ title
1092
+ }) {
1093
+ const [isSidebarOpen, setSidebarOpen] = react.useState(false);
1094
+ const [cmdOpen, setCmdOpen] = react.useState(false);
1095
+ react.useEffect(() => {
1096
+ function onResize() {
1097
+ if (window.innerWidth >= 768) setSidebarOpen(false);
1098
+ }
1099
+ window.addEventListener('resize', onResize);
1100
+ return () => window.removeEventListener('resize', onResize);
1101
+ }, []);
1102
+ react.useEffect(() => {
1103
+ function onKeyDown(e) {
1104
+ if ((e.metaKey || e.ctrlKey) && e.key === 'k') {
1105
+ e.preventDefault();
1106
+ setCmdOpen(v => !v);
1107
+ }
1108
+ }
1109
+ window.addEventListener('keydown', onKeyDown);
1110
+ return () => window.removeEventListener('keydown', onKeyDown);
1111
+ }, []);
1112
+ return /*#__PURE__*/jsxRuntime.jsxs(PageWrapper, {
1113
+ children: [/*#__PURE__*/jsxRuntime.jsx(NextHead__default["default"], {
1114
+ children: /*#__PURE__*/jsxRuntime.jsx("title", {
1115
+ children: title ? `Nixxie – ${title}` : 'Nixxie'
1116
+ }, "title")
1117
+ }), /*#__PURE__*/jsxRuntime.jsx(Sidebar, {
1118
+ isOpen: isSidebarOpen,
1119
+ onClose: () => setSidebarOpen(false),
1120
+ onCmdK: () => setCmdOpen(v => !v)
1121
+ }), /*#__PURE__*/jsxRuntime.jsxs(MainContent, {
1122
+ children: [/*#__PURE__*/jsxRuntime.jsx(TopBar, {
1123
+ header: header,
1124
+ onMenuClick: () => setSidebarOpen(v => !v),
1125
+ isSidebarOpen: isSidebarOpen
1126
+ }), /*#__PURE__*/jsxRuntime.jsx(ContentScroller, {
1127
+ children: children
1128
+ })]
1129
+ }), /*#__PURE__*/jsxRuntime.jsx(CommandPalette, {
1130
+ isOpen: cmdOpen,
1131
+ onClose: () => setCmdOpen(false)
1132
+ })]
1133
+ });
1134
+ }
1135
+
1136
+ exports.DeveloperResourcesMenu = DeveloperResourcesMenu;
1137
+ exports.Logo = Logo;
1138
+ exports.NavContainer = NavContainer;
1139
+ exports.NavFooter = NavFooter;
1140
+ exports.NavItem = NavItem;
1141
+ exports.NavList = NavList;
1142
+ exports.PageContainer = PageContainer;
1143
+ exports.PageWrapper = PageWrapper;
1144
+ exports.getHrefFromList = getHrefFromList;