@ampless/admin 0.2.0-alpha.1 → 0.2.0-alpha.11

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 (44) hide show
  1. package/dist/api/index.d.ts +1 -1
  2. package/dist/chunk-2ITWLRYF.js +38 -0
  3. package/dist/chunk-4YEBIBFG.js +48 -0
  4. package/dist/chunk-5OIPGVGG.js +198 -0
  5. package/dist/chunk-7IJDOT2K.js +1197 -0
  6. package/dist/chunk-7IR4F7GA.js +6 -0
  7. package/dist/chunk-BFZODSUT.js +71 -0
  8. package/dist/chunk-BYLCQYEQ.js +21 -0
  9. package/dist/chunk-GDQC5X46.js +250 -0
  10. package/dist/chunk-OFHKZNZS.js +33 -0
  11. package/dist/{chunk-TJR3ALRJ.js → chunk-OPQ3SAZJ.js} +75 -66
  12. package/dist/chunk-QVUTNQZH.js +21 -0
  13. package/dist/chunk-TZWSXAHD.js +32 -0
  14. package/dist/chunk-UOU7KQLR.js +149 -0
  15. package/dist/chunk-VXEVLHGL.js +10 -0
  16. package/dist/chunk-XHWECTED.js +1125 -0
  17. package/dist/chunk-XXJDT6FF.js +335 -0
  18. package/dist/chunk-XZQRPXKN.js +41 -0
  19. package/dist/components/admin-dashboard.d.ts +10 -0
  20. package/dist/components/admin-dashboard.js +9 -0
  21. package/dist/components/edit-post-view.d.ts +9 -0
  22. package/dist/components/edit-post-view.js +14 -0
  23. package/dist/components/index.d.ts +32 -19
  24. package/dist/components/index.js +33 -15
  25. package/dist/components/login-view.d.ts +5 -0
  26. package/dist/components/login-view.js +9 -0
  27. package/dist/components/media-view.d.ts +5 -0
  28. package/dist/components/media-view.js +12 -0
  29. package/dist/components/new-post-view.d.ts +5 -0
  30. package/dist/components/new-post-view.js +14 -0
  31. package/dist/components/posts-list-view.d.ts +5 -0
  32. package/dist/components/posts-list-view.js +11 -0
  33. package/dist/components/users-list-view.d.ts +7 -0
  34. package/dist/components/users-list-view.js +9 -0
  35. package/dist/{i18n-ByHM_Bho.d.ts → i18n-DzXXcIQQ.d.ts} +110 -1
  36. package/dist/index.d.ts +2 -2
  37. package/dist/index.js +7 -3
  38. package/dist/lib/theme-actions.d.ts +17 -0
  39. package/dist/lib/theme-actions.js +7 -0
  40. package/dist/metafile-esm.json +1 -0
  41. package/dist/pages/index.d.ts +49 -15
  42. package/dist/pages/index.js +114 -658
  43. package/package.json +10 -9
  44. package/dist/chunk-T2RSMFOI.js +0 -2074
@@ -32,9 +32,12 @@ var sidebar = {
32
32
  posts: "Posts",
33
33
  media: "Media",
34
34
  sites: "Sites",
35
+ users: "Users",
35
36
  viewSite: "View site",
36
37
  signOut: "Sign out",
37
- site: "Site"
38
+ site: "Site",
39
+ openMenu: "Open menu",
40
+ closeMenu: "Close menu"
38
41
  };
39
42
  var dashboard = {
40
43
  title: "Dashboard",
@@ -74,6 +77,20 @@ var posts = {
74
77
  tagsPlaceholder: "comma, separated, tags",
75
78
  tagsHint: "Used to group posts on tag pages (e.g. /tag/tech).",
76
79
  status: "Status",
80
+ noLayout: "No layout",
81
+ noLayoutHint: "Serve this post as bare HTML — no theme header, footer, or root layout. The body is returned as the entire response. Best paired with format: HTML when the body contains a full <!DOCTYPE html>…</html> document.",
82
+ formatStaticLabel: "Static (zip / file bundle)",
83
+ "static": {
84
+ pick: "Pick a .zip or one or more files",
85
+ pickHint: "Bundle assets must reference each other with relative paths only (no leading /). The zip's contents are extracted into a directory under your post slug and served verbatim — no theme chrome.",
86
+ currentBundle: "Current bundle: {count} files (entry: {entrypoint})",
87
+ pendingBundle: "Pending upload: {count} files, {size}",
88
+ issuesTitle: "{count} validation issue(s)",
89
+ issuesHint: "Fix the listed paths and re-upload. Absolute (/foo) and protocol-relative (//cdn.example/foo) references break under the bundle's URL prefix.",
90
+ emptyBundle: "No usable files found in the selection.",
91
+ noBundle: "Pick a bundle before saving.",
92
+ previewHint: "Static bundles render as the served HTML at /<slug>/. Preview by saving and visiting the public URL."
93
+ },
77
94
  saveChanges: "Save changes",
78
95
  createPost: "Create post",
79
96
  "delete": "Delete",
@@ -145,6 +162,25 @@ var sites = {
145
162
  label: "Site"
146
163
  }
147
164
  };
165
+ var users = {
166
+ list: {
167
+ title: "Users",
168
+ description: "Promote signed-up users to admin or editor. Sign-ups always start with no role and must be granted access here.",
169
+ columnEmail: "Email",
170
+ columnRole: "Role",
171
+ columnActions: "Actions",
172
+ save: "Save",
173
+ saving: "Saving...",
174
+ saved: "Saved.",
175
+ cannotEditSelf: "You cannot change your own role.",
176
+ empty: "No users yet.",
177
+ loading: "Loading users...",
178
+ error: "Failed to load users",
179
+ roleAdmin: "Admin",
180
+ roleEditor: "Editor",
181
+ roleNone: "None"
182
+ }
183
+ };
148
184
  var theme = {
149
185
  title: "Theme",
150
186
  activeLabel: "Active theme",
@@ -231,6 +267,7 @@ var en = {
231
267
  media: media,
232
268
  mediaPicker: mediaPicker,
233
269
  sites: sites,
270
+ users: users,
234
271
  theme: theme,
235
272
  editor: editor,
236
273
  auth: auth,
@@ -278,9 +315,12 @@ declare const dictionaries: {
278
315
  posts: string;
279
316
  media: string;
280
317
  sites: string;
318
+ users: string;
281
319
  viewSite: string;
282
320
  signOut: string;
283
321
  site: string;
322
+ openMenu: string;
323
+ closeMenu: string;
284
324
  };
285
325
  dashboard: {
286
326
  title: string;
@@ -320,6 +360,20 @@ declare const dictionaries: {
320
360
  tagsPlaceholder: string;
321
361
  tagsHint: string;
322
362
  status: string;
363
+ noLayout: string;
364
+ noLayoutHint: string;
365
+ formatStaticLabel: string;
366
+ static: {
367
+ pick: string;
368
+ pickHint: string;
369
+ currentBundle: string;
370
+ pendingBundle: string;
371
+ issuesTitle: string;
372
+ issuesHint: string;
373
+ emptyBundle: string;
374
+ noBundle: string;
375
+ previewHint: string;
376
+ };
323
377
  saveChanges: string;
324
378
  createPost: string;
325
379
  delete: string;
@@ -391,6 +445,25 @@ declare const dictionaries: {
391
445
  label: string;
392
446
  };
393
447
  };
448
+ users: {
449
+ list: {
450
+ title: string;
451
+ description: string;
452
+ columnEmail: string;
453
+ columnRole: string;
454
+ columnActions: string;
455
+ save: string;
456
+ saving: string;
457
+ saved: string;
458
+ cannotEditSelf: string;
459
+ empty: string;
460
+ loading: string;
461
+ error: string;
462
+ roleAdmin: string;
463
+ roleEditor: string;
464
+ roleNone: string;
465
+ };
466
+ };
394
467
  theme: {
395
468
  title: string;
396
469
  activeLabel: string;
@@ -511,9 +584,12 @@ declare const dictionaries: {
511
584
  posts: string;
512
585
  media: string;
513
586
  sites: string;
587
+ users: string;
514
588
  viewSite: string;
515
589
  signOut: string;
516
590
  site: string;
591
+ openMenu: string;
592
+ closeMenu: string;
517
593
  };
518
594
  dashboard: {
519
595
  title: string;
@@ -553,6 +629,20 @@ declare const dictionaries: {
553
629
  tagsPlaceholder: string;
554
630
  tagsHint: string;
555
631
  status: string;
632
+ noLayout: string;
633
+ noLayoutHint: string;
634
+ formatStaticLabel: string;
635
+ static: {
636
+ pick: string;
637
+ pickHint: string;
638
+ currentBundle: string;
639
+ pendingBundle: string;
640
+ issuesTitle: string;
641
+ issuesHint: string;
642
+ emptyBundle: string;
643
+ noBundle: string;
644
+ previewHint: string;
645
+ };
556
646
  saveChanges: string;
557
647
  createPost: string;
558
648
  delete: string;
@@ -624,6 +714,25 @@ declare const dictionaries: {
624
714
  label: string;
625
715
  };
626
716
  };
717
+ users: {
718
+ list: {
719
+ title: string;
720
+ description: string;
721
+ columnEmail: string;
722
+ columnRole: string;
723
+ columnActions: string;
724
+ save: string;
725
+ saving: string;
726
+ saved: string;
727
+ cannotEditSelf: string;
728
+ empty: string;
729
+ loading: string;
730
+ error: string;
731
+ roleAdmin: string;
732
+ roleEditor: string;
733
+ roleNone: string;
734
+ };
735
+ };
627
736
  theme: {
628
737
  title: string;
629
738
  activeLabel: string;
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Config } from 'ampless';
2
2
  import { AmplessOutputs, EffectiveSiteSettings, EffectiveThemeConfig, Ampless } from '@ampless/runtime';
3
- import { L as Locale, D as Dictionary } from './i18n-ByHM_Bho.js';
4
- export { A as AdminLocaleStrings, g as getDictionary, r as resolveLocale, t as translate } from './i18n-ByHM_Bho.js';
3
+ import { L as Locale, D as Dictionary } from './i18n-DzXXcIQQ.js';
4
+ export { A as AdminLocaleStrings, g as getDictionary, r as resolveLocale, t as translate } from './i18n-DzXXcIQQ.js';
5
5
  import * as _aws_amplify_adapter_nextjs from '@aws-amplify/adapter-nextjs';
6
6
 
7
7
  /**
package/dist/index.js CHANGED
@@ -1,10 +1,14 @@
1
1
  import {
2
- ADMIN_SITE_COOKIE,
3
- createMedia,
2
+ ADMIN_SITE_COOKIE
3
+ } from "./chunk-7IR4F7GA.js";
4
+ import {
5
+ createMedia
6
+ } from "./chunk-2ITWLRYF.js";
7
+ import {
4
8
  getDictionary,
5
9
  resolveLocale,
6
10
  translate
7
- } from "./chunk-TJR3ALRJ.js";
11
+ } from "./chunk-OPQ3SAZJ.js";
8
12
 
9
13
  // src/lib/admin-site.ts
10
14
  import { cookies } from "next/headers";
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Force-invalidate the Next.js fetch cache for a site's settings JSON.
3
+ * Used by the admin theme switcher: writes to KvStore propagate to S3
4
+ * via the trusted processor (~5-10s), and without this call the
5
+ * `revalidate: 60` on the public-side fetch would keep serving the old
6
+ * cached response for up to a minute after the rebuild.
7
+ *
8
+ * The cache tag matches the one used in `theme-active.ts` and
9
+ * `theme-config.ts` (in `@ampless/runtime`): `site-settings:{siteId}`.
10
+ *
11
+ * Uses `updateTag` (Next 16+) — the read-your-own-writes variant of
12
+ * the old `revalidateTag`, which is the right semantics inside a
13
+ * server action (this entire module is `'use server'`).
14
+ */
15
+ declare function invalidateSiteSettingsCache(siteId: string): Promise<void>;
16
+
17
+ export { invalidateSiteSettingsCache };
@@ -0,0 +1,7 @@
1
+ "use server";
2
+ import {
3
+ invalidateSiteSettingsCache
4
+ } from "../chunk-VXEVLHGL.js";
5
+ export {
6
+ invalidateSiteSettingsCache
7
+ };
@@ -0,0 +1 @@
1
+ {"inputs":{"src/locales/en.json":{"bytes":9501,"imports":[]},"src/locales/ja.json":{"bytes":11939,"imports":[]},"src/lib/i18n.ts":{"bytes":2935,"imports":[{"path":"src/locales/en.json","kind":"import-statement","original":"../locales/en.json"},{"path":"src/locales/ja.json","kind":"import-statement","original":"../locales/ja.json"}],"format":"esm"},"src/lib/media.ts":{"bytes":3109,"imports":[],"format":"esm"},"src/lib/admin-site-cookie.ts":{"bytes":420,"imports":[],"format":"esm"},"src/lib/admin-site.ts":{"bytes":1353,"imports":[{"path":"next/headers","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"src/lib/admin-site-cookie.ts","kind":"import-statement","original":"./admin-site-cookie.js"}],"format":"esm"},"src/lib/amplify-server.ts":{"bytes":593,"imports":[{"path":"@aws-amplify/adapter-nextjs","kind":"import-statement","external":true}],"format":"esm"},"src/lib/auth-server.ts":{"bytes":1678,"imports":[{"path":"next/headers","kind":"import-statement","external":true},{"path":"aws-amplify/auth/server","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":5110,"imports":[{"path":"src/lib/i18n.ts","kind":"import-statement","original":"./lib/i18n.js"},{"path":"src/lib/media.ts","kind":"import-statement","original":"./lib/media.js"},{"path":"src/lib/admin-site.ts","kind":"import-statement","original":"./lib/admin-site.js"},{"path":"src/lib/amplify-server.ts","kind":"import-statement","original":"./lib/amplify-server.js"},{"path":"src/lib/auth-server.ts","kind":"import-statement","original":"./lib/auth-server.js"},{"path":"src/lib/i18n.ts","kind":"import-statement","original":"./lib/i18n.js"}],"format":"esm"},"src/api/media-proxy.ts":{"bytes":2196,"imports":[{"path":"next/server","kind":"import-statement","external":true},{"path":"next/headers","kind":"import-statement","external":true},{"path":"aws-amplify/storage/server","kind":"import-statement","external":true}],"format":"esm"},"src/api/index.ts":{"bytes":562,"imports":[{"path":"src/api/media-proxy.ts","kind":"import-statement","original":"./media-proxy.js"}],"format":"esm"},"src/components/i18n-provider.tsx":{"bytes":1526,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/lib/i18n.ts","kind":"import-statement","original":"../lib/i18n.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/admin-dashboard.tsx":{"bytes":2256,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"next/link","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/lib/admin-site-client.ts":{"bytes":1745,"imports":[{"path":"ampless","kind":"import-statement","external":true},{"path":"src/lib/admin-site-cookie.ts","kind":"import-statement","original":"./admin-site-cookie.js"},{"path":"src/lib/admin-site-cookie.ts","kind":"import-statement","original":"./admin-site-cookie.js"}],"format":"esm"},"src/lib/upload.ts":{"bytes":1490,"imports":[{"path":"aws-amplify/storage","kind":"import-statement","external":true},{"path":"ampless/media","kind":"import-statement","external":true},{"path":"src/lib/media.ts","kind":"import-statement","original":"./media.js"}],"format":"esm"},"src/components/image-upload-dialog.tsx":{"bytes":14701,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"react-image-crop","kind":"import-statement","external":true},{"path":"react-image-crop/dist/ReactCrop.css","kind":"import-statement","external":true},{"path":"ampless/media","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/lib/admin-config-client.ts":{"bytes":626,"imports":[],"format":"esm"},"src/components/media-picker.tsx":{"bytes":5261,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"aws-amplify/storage","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/lib/media.ts","kind":"import-statement","original":"../lib/media.js"},{"path":"src/lib/upload.ts","kind":"import-statement","original":"../lib/upload.js"},{"path":"src/components/image-upload-dialog.tsx","kind":"import-statement","original":"./image-upload-dialog.js"},{"path":"src/lib/admin-config-client.ts","kind":"import-statement","original":"../lib/admin-config-client.js"},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/editor/toolbar.tsx":{"bytes":3072,"imports":[{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/media-picker.tsx","kind":"import-statement","original":"../components/media-picker.js"},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"../components/i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/editor/image-bubble-menu.tsx":{"bytes":2716,"imports":[{"path":"@tiptap/react","kind":"import-statement","external":true},{"path":"@tiptap/react/menus","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"../components/i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/editor/tiptap-editor.tsx":{"bytes":2323,"imports":[{"path":"@tiptap/react","kind":"import-statement","external":true},{"path":"@tiptap/starter-kit","kind":"import-statement","external":true},{"path":"@tiptap/extension-link","kind":"import-statement","external":true},{"path":"@tiptap/extension-image","kind":"import-statement","external":true},{"path":"src/editor/toolbar.tsx","kind":"import-statement","original":"./toolbar.js"},{"path":"src/editor/image-bubble-menu.tsx","kind":"import-statement","original":"./image-bubble-menu.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/lib/static-bundle.ts":{"bytes":12989,"imports":[{"path":"jszip","kind":"import-statement","external":true},{"path":"aws-amplify/storage","kind":"import-statement","external":true}],"format":"esm"},"src/components/static-uploader.tsx":{"bytes":8959,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/lib/static-bundle.ts","kind":"import-statement","original":"../lib/static-bundle.js"},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/post-form.tsx":{"bytes":19879,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime","kind":"import-statement","external":true},{"path":"src/lib/admin-site-client.ts","kind":"import-statement","original":"../lib/admin-site-client.js"},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/editor/tiptap-editor.tsx","kind":"import-statement","original":"../editor/tiptap-editor.js"},{"path":"src/components/media-picker.tsx","kind":"import-statement","original":"./media-picker.js"},{"path":"src/components/static-uploader.tsx","kind":"import-statement","original":"./static-uploader.js"},{"path":"src/lib/static-bundle.ts","kind":"import-statement","original":"../lib/static-bundle.js"},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/edit-post-view.tsx":{"bytes":1190,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"src/lib/admin-site-client.ts","kind":"import-statement","original":"../lib/admin-site-client.js"},{"path":"src/components/post-form.tsx","kind":"import-statement","original":"./post-form.js"},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/lib/amplify-client.ts":{"bytes":612,"imports":[{"path":"aws-amplify","kind":"import-statement","external":true}],"format":"esm"},"src/lib/posts-provider.ts":{"bytes":12504,"imports":[{"path":"aws-amplify/api","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true}],"format":"esm"},"src/lib/kv-provider.ts":{"bytes":4538,"imports":[{"path":"aws-amplify/api","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true}],"format":"esm"},"src/components/admin-providers.tsx":{"bytes":1777,"imports":[{"path":"src/lib/amplify-client.ts","kind":"import-statement","original":"../lib/amplify-client.js"},{"path":"src/lib/posts-provider.ts","kind":"import-statement","original":"../lib/posts-provider.js"},{"path":"src/lib/kv-provider.ts","kind":"import-statement","original":"../lib/kv-provider.js"},{"path":"src/lib/admin-site-client.ts","kind":"import-statement","original":"../lib/admin-site-client.js"},{"path":"src/lib/admin-config-client.ts","kind":"import-statement","original":"../lib/admin-config-client.js"},{"path":"src/lib/media.ts","kind":"import-statement","original":"../lib/media.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/lib/theme-actions.ts":{"bytes":858,"imports":[{"path":"next/cache","kind":"import-statement","external":true}],"format":"esm"},"src/components/sidebar.tsx":{"bytes":5411,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"next/link","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"aws-amplify/auth","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/site-selector.tsx":{"bytes":1324,"imports":[{"path":"next/navigation","kind":"import-statement","external":true},{"path":"src/lib/admin-site-client.ts","kind":"import-statement","original":"../lib/admin-site-client.js"},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/site-settings-form.tsx":{"bytes":6542,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/theme-settings-form.tsx":{"bytes":21046,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/lib/theme-actions.ts","kind":"import-statement","original":"../lib/theme-actions.js"},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/media-uploader.tsx":{"bytes":10866,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"aws-amplify/storage","kind":"import-statement","external":true},{"path":"ampless/media","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"src/lib/media.ts","kind":"import-statement","original":"../lib/media.js"},{"path":"src/lib/admin-config-client.ts","kind":"import-statement","original":"../lib/admin-config-client.js"},{"path":"src/components/image-upload-dialog.tsx","kind":"import-statement","original":"./image-upload-dialog.js"},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/index.ts":{"bytes":1841,"imports":[{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"src/components/admin-providers.tsx","kind":"import-statement","original":"./admin-providers.js"},{"path":"src/lib/admin-site-client.ts","kind":"import-statement","original":"../lib/admin-site-client.js"},{"path":"src/lib/media.ts","kind":"import-statement","original":"../lib/media.js"},{"path":"src/lib/upload.ts","kind":"import-statement","original":"../lib/upload.js"},{"path":"src/lib/theme-actions.ts","kind":"import-statement","original":"../lib/theme-actions.js"},{"path":"src/components/sidebar.tsx","kind":"import-statement","original":"./sidebar.js"},{"path":"src/components/site-selector.tsx","kind":"import-statement","original":"./site-selector.js"},{"path":"src/components/post-form.tsx","kind":"import-statement","original":"./post-form.js"},{"path":"src/components/site-settings-form.tsx","kind":"import-statement","original":"./site-settings-form.js"},{"path":"src/components/theme-settings-form.tsx","kind":"import-statement","original":"./theme-settings-form.js"},{"path":"src/components/media-uploader.tsx","kind":"import-statement","original":"./media-uploader.js"},{"path":"src/components/media-picker.tsx","kind":"import-statement","original":"./media-picker.js"},{"path":"src/components/image-upload-dialog.tsx","kind":"import-statement","original":"./image-upload-dialog.js"}],"format":"esm"},"src/components/login-view.tsx":{"bytes":7062,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"aws-amplify/auth","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/media-view.tsx":{"bytes":351,"imports":[{"path":"src/components/media-uploader.tsx","kind":"import-statement","original":"./media-uploader.js"},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/new-post-view.tsx":{"bytes":346,"imports":[{"path":"src/components/post-form.tsx","kind":"import-statement","original":"./post-form.js"},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/posts-list-view.tsx":{"bytes":3331,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"next/link","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"src/lib/admin-site-client.ts","kind":"import-statement","original":"../lib/admin-site-client.js"},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/components/users-list-view.tsx":{"bytes":7042,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"aws-amplify/api","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"./i18n-provider.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/pages/admin-layout.tsx":{"bytes":2699,"imports":[{"path":"next/navigation","kind":"import-statement","external":true},{"path":"src/components/i18n-provider.tsx","kind":"import-statement","original":"../components/i18n-provider.js"},{"path":"src/components/sidebar.tsx","kind":"import-statement","original":"../components/sidebar.js"},{"path":"src/components/site-selector.tsx","kind":"import-statement","original":"../components/site-selector.js"},{"path":"src/components/admin-providers.tsx","kind":"import-statement","original":"../components/admin-providers.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/pages/dashboard.tsx":{"bytes":448,"imports":[{"path":"src/components/admin-dashboard.tsx","kind":"import-statement","original":"../components/admin-dashboard.js"}],"format":"esm"},"src/pages/posts-list.tsx":{"bytes":382,"imports":[{"path":"src/components/posts-list-view.tsx","kind":"import-statement","original":"../components/posts-list-view.js"}],"format":"esm"},"src/pages/post-new.tsx":{"bytes":385,"imports":[{"path":"src/components/new-post-view.tsx","kind":"import-statement","original":"../components/new-post-view.js"}],"format":"esm"},"src/pages/post-edit.tsx":{"bytes":390,"imports":[{"path":"src/components/edit-post-view.tsx","kind":"import-statement","original":"../components/edit-post-view.js"}],"format":"esm"},"src/pages/media.tsx":{"bytes":381,"imports":[{"path":"src/components/media-view.tsx","kind":"import-statement","original":"../components/media-view.js"}],"format":"esm"},"src/pages/sites-list.tsx":{"bytes":2742,"imports":[{"path":"next/link","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/pages/site-edit.tsx":{"bytes":2441,"imports":[{"path":"next/link","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"src/components/site-settings-form.tsx","kind":"import-statement","original":"../components/site-settings-form.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/pages/site-theme.tsx":{"bytes":2246,"imports":[{"path":"next/link","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"src/components/theme-settings-form.tsx","kind":"import-statement","original":"../components/theme-settings-form.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/pages/users-list.tsx":{"bytes":647,"imports":[{"path":"next/navigation","kind":"import-statement","external":true},{"path":"src/components/users-list-view.tsx","kind":"import-statement","original":"../components/users-list-view.js"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/pages/login.tsx":{"bytes":400,"imports":[{"path":"src/components/login-view.tsx","kind":"import-statement","original":"../components/login-view.js"}],"format":"esm"},"src/pages/index.ts":{"bytes":1392,"imports":[{"path":"src/pages/admin-layout.tsx","kind":"import-statement","original":"./admin-layout.js"},{"path":"src/pages/dashboard.tsx","kind":"import-statement","original":"./dashboard.js"},{"path":"src/pages/posts-list.tsx","kind":"import-statement","original":"./posts-list.js"},{"path":"src/pages/post-new.tsx","kind":"import-statement","original":"./post-new.js"},{"path":"src/pages/post-edit.tsx","kind":"import-statement","original":"./post-edit.js"},{"path":"src/pages/media.tsx","kind":"import-statement","original":"./media.js"},{"path":"src/pages/sites-list.tsx","kind":"import-statement","original":"./sites-list.js"},{"path":"src/pages/site-edit.tsx","kind":"import-statement","original":"./site-edit.js"},{"path":"src/pages/site-theme.tsx","kind":"import-statement","original":"./site-theme.js"},{"path":"src/pages/users-list.tsx","kind":"import-statement","original":"./users-list.js"},{"path":"src/pages/login.tsx","kind":"import-statement","original":"./login.js"}],"format":"esm"}},"outputs":{"dist/components/posts-list-view.js":{"imports":[{"path":"dist/chunk-BFZODSUT.js","kind":"import-statement"},{"path":"dist/chunk-TZWSXAHD.js","kind":"import-statement"},{"path":"dist/chunk-7IR4F7GA.js","kind":"import-statement"},{"path":"dist/chunk-OFHKZNZS.js","kind":"import-statement"},{"path":"dist/chunk-OPQ3SAZJ.js","kind":"import-statement"}],"exports":["PostsList"],"entryPoint":"src/components/posts-list-view.tsx","inputs":{},"bytes":214},"dist/components/users-list-view.js":{"imports":[{"path":"dist/chunk-UOU7KQLR.js","kind":"import-statement"},{"path":"dist/chunk-OFHKZNZS.js","kind":"import-statement"},{"path":"dist/chunk-OPQ3SAZJ.js","kind":"import-statement"}],"exports":["UsersListView"],"entryPoint":"src/components/users-list-view.tsx","inputs":{},"bytes":160},"dist/lib/theme-actions.js":{"imports":[{"path":"dist/chunk-VXEVLHGL.js","kind":"import-statement"}],"exports":["invalidateSiteSettingsCache"],"entryPoint":"src/lib/theme-actions.ts","inputs":{},"bytes":126},"dist/pages/index.js":{"imports":[{"path":"dist/chunk-BFZODSUT.js","kind":"import-statement"},{"path":"dist/chunk-UOU7KQLR.js","kind":"import-statement"},{"path":"dist/chunk-4YEBIBFG.js","kind":"import-statement"},{"path":"dist/chunk-XZQRPXKN.js","kind":"import-statement"},{"path":"dist/chunk-XHWECTED.js","kind":"import-statement"},{"path":"dist/chunk-VXEVLHGL.js","kind":"import-statement"},{"path":"dist/chunk-5OIPGVGG.js","kind":"import-statement"},{"path":"dist/chunk-BYLCQYEQ.js","kind":"import-statement"},{"path":"dist/chunk-GDQC5X46.js","kind":"import-statement"},{"path":"dist/chunk-QVUTNQZH.js","kind":"import-statement"},{"path":"dist/chunk-7IJDOT2K.js","kind":"import-statement"},{"path":"dist/chunk-TZWSXAHD.js","kind":"import-statement"},{"path":"dist/chunk-7IR4F7GA.js","kind":"import-statement"},{"path":"dist/chunk-XXJDT6FF.js","kind":"import-statement"},{"path":"dist/chunk-2ITWLRYF.js","kind":"import-statement"},{"path":"dist/chunk-OFHKZNZS.js","kind":"import-statement"},{"path":"dist/chunk-OPQ3SAZJ.js","kind":"import-statement"},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"next/link","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"next/link","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"next/link","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["createAdminDashboardPage","createAdminLayout","createEditPostPage","createLoginPage","createMediaPage","createNewPostPage","createPostsListPage","createSiteEditPage","createSiteThemePage","createSitesListPage","createUsersListPage"],"entryPoint":"src/pages/index.ts","inputs":{"src/pages/admin-layout.tsx":{"bytesInOutput":1373},"src/pages/index.ts":{"bytesInOutput":0},"src/pages/dashboard.tsx":{"bytesInOutput":71},"src/pages/posts-list.tsx":{"bytesInOutput":61},"src/pages/post-new.tsx":{"bytesInOutput":61},"src/pages/post-edit.tsx":{"bytesInOutput":63},"src/pages/media.tsx":{"bytesInOutput":57},"src/pages/sites-list.tsx":{"bytesInOutput":2701},"src/pages/site-edit.tsx":{"bytesInOutput":2341},"src/pages/site-theme.tsx":{"bytesInOutput":1782},"src/pages/users-list.tsx":{"bytesInOutput":404},"src/pages/login.tsx":{"bytesInOutput":57}},"bytes":10338},"dist/chunk-BFZODSUT.js":{"imports":[{"path":"dist/chunk-TZWSXAHD.js","kind":"import-statement"},{"path":"dist/chunk-OFHKZNZS.js","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"next/link","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["PostsList"],"inputs":{"src/components/posts-list-view.tsx":{"bytesInOutput":3277}},"bytes":3454},"dist/chunk-UOU7KQLR.js":{"imports":[{"path":"dist/chunk-OFHKZNZS.js","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"aws-amplify/api","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["UsersListView"],"inputs":{"src/components/users-list-view.tsx":{"bytesInOutput":5995}},"bytes":6109},"dist/index.js":{"imports":[{"path":"dist/chunk-7IR4F7GA.js","kind":"import-statement"},{"path":"dist/chunk-2ITWLRYF.js","kind":"import-statement"},{"path":"dist/chunk-OPQ3SAZJ.js","kind":"import-statement"},{"path":"next/headers","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@aws-amplify/adapter-nextjs","kind":"import-statement","external":true},{"path":"next/headers","kind":"import-statement","external":true},{"path":"aws-amplify/auth/server","kind":"import-statement","external":true}],"exports":["createAdmin","getDictionary","resolveLocale","translate"],"entryPoint":"src/index.ts","inputs":{"src/lib/admin-site.ts":{"bytesInOutput":732},"src/lib/amplify-server.ts":{"bytesInOutput":164},"src/lib/auth-server.ts":{"bytesInOutput":1165},"src/index.ts":{"bytesInOutput":1312}},"bytes":3743},"dist/api/index.js":{"imports":[{"path":"next/server","kind":"import-statement","external":true},{"path":"next/headers","kind":"import-statement","external":true},{"path":"aws-amplify/storage/server","kind":"import-statement","external":true}],"exports":["createMediaProxyRoute"],"entryPoint":"src/api/index.ts","inputs":{"src/api/media-proxy.ts":{"bytesInOutput":1318},"src/api/index.ts":{"bytesInOutput":0}},"bytes":1380},"dist/components/admin-dashboard.js":{"imports":[{"path":"dist/chunk-4YEBIBFG.js","kind":"import-statement"},{"path":"dist/chunk-OFHKZNZS.js","kind":"import-statement"},{"path":"dist/chunk-OPQ3SAZJ.js","kind":"import-statement"}],"exports":["AdminDashboard"],"entryPoint":"src/components/admin-dashboard.tsx","inputs":{},"bytes":162},"dist/chunk-4YEBIBFG.js":{"imports":[{"path":"dist/chunk-OFHKZNZS.js","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"next/link","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["AdminDashboard"],"inputs":{"src/components/admin-dashboard.tsx":{"bytesInOutput":2444}},"bytes":2559},"dist/components/edit-post-view.js":{"imports":[{"path":"dist/chunk-XZQRPXKN.js","kind":"import-statement"},{"path":"dist/chunk-7IJDOT2K.js","kind":"import-statement"},{"path":"dist/chunk-TZWSXAHD.js","kind":"import-statement"},{"path":"dist/chunk-7IR4F7GA.js","kind":"import-statement"},{"path":"dist/chunk-XXJDT6FF.js","kind":"import-statement"},{"path":"dist/chunk-2ITWLRYF.js","kind":"import-statement"},{"path":"dist/chunk-OFHKZNZS.js","kind":"import-statement"},{"path":"dist/chunk-OPQ3SAZJ.js","kind":"import-statement"}],"exports":["EditPostPage"],"entryPoint":"src/components/edit-post-view.tsx","inputs":{},"bytes":313},"dist/chunk-XZQRPXKN.js":{"imports":[{"path":"dist/chunk-7IJDOT2K.js","kind":"import-statement"},{"path":"dist/chunk-TZWSXAHD.js","kind":"import-statement"},{"path":"dist/chunk-OFHKZNZS.js","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["EditPostPage"],"inputs":{"src/components/edit-post-view.tsx":{"bytesInOutput":1084}},"bytes":1313},"dist/components/index.js":{"imports":[{"path":"dist/chunk-XHWECTED.js","kind":"import-statement"},{"path":"dist/chunk-VXEVLHGL.js","kind":"import-statement"},{"path":"dist/chunk-GDQC5X46.js","kind":"import-statement"},{"path":"dist/chunk-7IJDOT2K.js","kind":"import-statement"},{"path":"dist/chunk-TZWSXAHD.js","kind":"import-statement"},{"path":"dist/chunk-7IR4F7GA.js","kind":"import-statement"},{"path":"dist/chunk-XXJDT6FF.js","kind":"import-statement"},{"path":"dist/chunk-2ITWLRYF.js","kind":"import-statement"},{"path":"dist/chunk-OFHKZNZS.js","kind":"import-statement"},{"path":"dist/chunk-OPQ3SAZJ.js","kind":"import-statement"}],"exports":["ADMIN_SITE_COOKIE","AdminProviders","I18nProvider","ImageUploadDialog","MediaPicker","MediaUploader","PostForm","Sidebar","SiteSelector","SiteSettingsForm","ThemeSettingsForm","invalidateSiteSettingsCache","publicMediaUrl","readAdminSiteIdFromCookie","sanitizeName","setAdminCmsConfig","setAdminMediaContext","uploadProcessedImage","useLocale","useT"],"entryPoint":"src/components/index.ts","inputs":{"src/components/index.ts":{"bytesInOutput":0}},"bytes":1137},"dist/chunk-XHWECTED.js":{"imports":[{"path":"dist/chunk-VXEVLHGL.js","kind":"import-statement"},{"path":"dist/chunk-TZWSXAHD.js","kind":"import-statement"},{"path":"dist/chunk-7IR4F7GA.js","kind":"import-statement"},{"path":"dist/chunk-XXJDT6FF.js","kind":"import-statement"},{"path":"dist/chunk-2ITWLRYF.js","kind":"import-statement"},{"path":"dist/chunk-OFHKZNZS.js","kind":"import-statement"},{"path":"aws-amplify","kind":"import-statement","external":true},{"path":"aws-amplify/api","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"aws-amplify/api","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"next/link","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"aws-amplify/auth","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["AdminProviders","Sidebar","SiteSelector","SiteSettingsForm","ThemeSettingsForm"],"inputs":{"src/lib/amplify-client.ts":{"bytesInOutput":194},"src/lib/posts-provider.ts":{"bytesInOutput":7000},"src/lib/kv-provider.ts":{"bytesInOutput":2282},"src/components/admin-providers.tsx":{"bytesInOutput":369},"src/components/sidebar.tsx":{"bytesInOutput":5385},"src/components/site-selector.tsx":{"bytesInOutput":950},"src/components/site-settings-form.tsx":{"bytesInOutput":6930},"src/components/theme-settings-form.tsx":{"bytesInOutput":16747}},"bytes":40607},"dist/chunk-VXEVLHGL.js":{"imports":[{"path":"next/cache","kind":"import-statement","external":true}],"exports":["invalidateSiteSettingsCache"],"inputs":{"src/lib/theme-actions.ts":{"bytesInOutput":135}},"bytes":206},"dist/components/login-view.js":{"imports":[{"path":"dist/chunk-5OIPGVGG.js","kind":"import-statement"},{"path":"dist/chunk-OFHKZNZS.js","kind":"import-statement"},{"path":"dist/chunk-OPQ3SAZJ.js","kind":"import-statement"}],"exports":["LoginPage"],"entryPoint":"src/components/login-view.tsx","inputs":{},"bytes":152},"dist/chunk-5OIPGVGG.js":{"imports":[{"path":"dist/chunk-OFHKZNZS.js","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"aws-amplify/auth","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["LoginPage"],"inputs":{"src/components/login-view.tsx":{"bytesInOutput":6967}},"bytes":7072},"dist/components/media-view.js":{"imports":[{"path":"dist/chunk-BYLCQYEQ.js","kind":"import-statement"},{"path":"dist/chunk-GDQC5X46.js","kind":"import-statement"},{"path":"dist/chunk-XXJDT6FF.js","kind":"import-statement"},{"path":"dist/chunk-2ITWLRYF.js","kind":"import-statement"},{"path":"dist/chunk-OFHKZNZS.js","kind":"import-statement"},{"path":"dist/chunk-OPQ3SAZJ.js","kind":"import-statement"}],"exports":["MediaPage"],"entryPoint":"src/components/media-view.tsx","inputs":{},"bytes":245},"dist/chunk-BYLCQYEQ.js":{"imports":[{"path":"dist/chunk-GDQC5X46.js","kind":"import-statement"},{"path":"dist/chunk-OFHKZNZS.js","kind":"import-statement"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["MediaPage"],"inputs":{"src/components/media-view.tsx":{"bytesInOutput":358}},"bytes":518},"dist/chunk-GDQC5X46.js":{"imports":[{"path":"dist/chunk-XXJDT6FF.js","kind":"import-statement"},{"path":"dist/chunk-2ITWLRYF.js","kind":"import-statement"},{"path":"dist/chunk-OFHKZNZS.js","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"aws-amplify/storage","kind":"import-statement","external":true},{"path":"ampless/media","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["MediaUploader"],"inputs":{"src/components/media-uploader.tsx":{"bytesInOutput":8980}},"bytes":9238},"dist/components/new-post-view.js":{"imports":[{"path":"dist/chunk-QVUTNQZH.js","kind":"import-statement"},{"path":"dist/chunk-7IJDOT2K.js","kind":"import-statement"},{"path":"dist/chunk-TZWSXAHD.js","kind":"import-statement"},{"path":"dist/chunk-7IR4F7GA.js","kind":"import-statement"},{"path":"dist/chunk-XXJDT6FF.js","kind":"import-statement"},{"path":"dist/chunk-2ITWLRYF.js","kind":"import-statement"},{"path":"dist/chunk-OFHKZNZS.js","kind":"import-statement"},{"path":"dist/chunk-OPQ3SAZJ.js","kind":"import-statement"}],"exports":["NewPostPage"],"entryPoint":"src/components/new-post-view.tsx","inputs":{},"bytes":311},"dist/chunk-QVUTNQZH.js":{"imports":[{"path":"dist/chunk-7IJDOT2K.js","kind":"import-statement"},{"path":"dist/chunk-OFHKZNZS.js","kind":"import-statement"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["NewPostPage"],"inputs":{"src/components/new-post-view.tsx":{"bytesInOutput":363}},"bytes":523},"dist/chunk-7IJDOT2K.js":{"imports":[{"path":"dist/chunk-TZWSXAHD.js","kind":"import-statement"},{"path":"dist/chunk-XXJDT6FF.js","kind":"import-statement"},{"path":"dist/chunk-2ITWLRYF.js","kind":"import-statement"},{"path":"dist/chunk-OFHKZNZS.js","kind":"import-statement"},{"path":"aws-amplify/storage","kind":"import-statement","external":true},{"path":"ampless/media","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"aws-amplify/storage","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"next/navigation","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"ampless","kind":"import-statement","external":true},{"path":"@ampless/runtime","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"@tiptap/react","kind":"import-statement","external":true},{"path":"@tiptap/starter-kit","kind":"import-statement","external":true},{"path":"@tiptap/extension-link","kind":"import-statement","external":true},{"path":"@tiptap/extension-image","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"@tiptap/react/menus","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"lucide-react","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"jszip","kind":"import-statement","external":true},{"path":"aws-amplify/storage","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["MediaPicker","PostForm","sanitizeName","uploadProcessedImage"],"inputs":{"src/lib/upload.ts":{"bytesInOutput":807},"src/components/media-picker.tsx":{"bytesInOutput":4988},"src/components/post-form.tsx":{"bytesInOutput":17036},"src/editor/tiptap-editor.tsx":{"bytesInOutput":1547},"src/editor/toolbar.tsx":{"bytesInOutput":3038},"src/editor/image-bubble-menu.tsx":{"bytesInOutput":2901},"src/components/static-uploader.tsx":{"bytesInOutput":7717},"src/lib/static-bundle.ts":{"bytesInOutput":7192}},"bytes":45924},"dist/chunk-TZWSXAHD.js":{"imports":[{"path":"dist/chunk-7IR4F7GA.js","kind":"import-statement"},{"path":"ampless","kind":"import-statement","external":true}],"exports":["readAdminSiteIdFromCookie","setAdminCmsConfig"],"inputs":{"src/lib/admin-site-client.ts":{"bytesInOutput":642}},"bytes":796},"dist/chunk-7IR4F7GA.js":{"imports":[],"exports":["ADMIN_SITE_COOKIE"],"inputs":{"src/lib/admin-site-cookie.ts":{"bytesInOutput":41}},"bytes":106},"dist/chunk-XXJDT6FF.js":{"imports":[{"path":"dist/chunk-OFHKZNZS.js","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"react-image-crop","kind":"import-statement","external":true},{"path":"react-image-crop/dist/ReactCrop.css","kind":"import-statement","external":true},{"path":"ampless/media","kind":"import-statement","external":true},{"path":"@ampless/runtime/ui","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["ImageUploadDialog","getMediaProcessingDefaults","setAdminCmsConfigClient"],"inputs":{"src/components/image-upload-dialog.tsx":{"bytesInOutput":12823},"src/lib/admin-config-client.ts":{"bytesInOutput":170}},"bytes":13207},"dist/chunk-2ITWLRYF.js":{"imports":[],"exports":["createMedia","publicMediaUrl","setAdminMediaContext"],"inputs":{"src/lib/media.ts":{"bytesInOutput":1326}},"bytes":1415},"dist/chunk-OFHKZNZS.js":{"imports":[{"path":"dist/chunk-OPQ3SAZJ.js","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["I18nProvider","useLocale","useT"],"inputs":{"src/components/i18n-provider.tsx":{"bytesInOutput":785}},"bytes":922},"dist/chunk-OPQ3SAZJ.js":{"imports":[],"exports":["getDictionary","resolveLocale","translate"],"inputs":{"src/locales/en.json":{"bytesInOutput":9080},"src/locales/ja.json":{"bytesInOutput":17571},"src/lib/i18n.ts":{"bytesInOutput":1146}},"bytes":27923}}}
@@ -1,8 +1,14 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { Admin } from '../index.js';
3
+ import { AdminDashboard } from '../components/admin-dashboard.js';
4
+ import { PostsList } from '../components/posts-list-view.js';
5
+ import { NewPostPage } from '../components/new-post-view.js';
6
+ import { EditPostPage } from '../components/edit-post-view.js';
7
+ import { MediaPage } from '../components/media-view.js';
3
8
  import { ThemeManifest } from 'ampless';
9
+ import { LoginPage } from '../components/login-view.js';
4
10
  import '@ampless/runtime';
5
- import '../i18n-ByHM_Bho.js';
11
+ import '../i18n-DzXXcIQQ.js';
6
12
  import '@aws-amplify/adapter-nextjs';
7
13
 
8
14
  /**
@@ -19,28 +25,44 @@ declare function createAdminLayout(admin: Admin): ({ children }: {
19
25
  children: React.ReactNode;
20
26
  }) => Promise<react_jsx_runtime.JSX.Element>;
21
27
 
22
- declare function AdminDashboard(): react_jsx_runtime.JSX.Element;
23
28
  /**
24
- * Admin home / dashboard. Lists post counts. Marked client-side because
25
- * it reads from the AppSync client directly (no server-rendered query
26
- * yet listed posts come from Amplify SDK at mount time).
29
+ * Admin home / dashboard. Lists post counts. The view is a client
30
+ * component (`AdminDashboard`) this factory module stays server-side
31
+ * so `@ampless/admin/pages` can be imported from Server Components, and
32
+ * the `'use client'` boundary is preserved at the cross-file reference.
27
33
  */
28
34
  declare function createAdminDashboardPage(_admin: unknown): typeof AdminDashboard;
29
35
 
30
- declare function PostsList(): react_jsx_runtime.JSX.Element;
36
+ /**
37
+ * Posts list. The view is a client component — this factory module
38
+ * stays server-side so `@ampless/admin/pages` can be imported from
39
+ * Server Components and the `'use client'` boundary is preserved at
40
+ * the cross-file reference.
41
+ */
31
42
  declare function createPostsListPage(_admin: unknown): typeof PostsList;
32
43
 
33
- declare function NewPostPage(): react_jsx_runtime.JSX.Element;
44
+ /**
45
+ * New post page. The view is a client component — this factory module
46
+ * stays server-side so `@ampless/admin/pages` can be imported from
47
+ * Server Components and the `'use client'` boundary is preserved at
48
+ * the cross-file reference.
49
+ */
34
50
  declare function createNewPostPage(_admin: unknown): typeof NewPostPage;
35
51
 
36
- declare function EditPostPage({ params }: {
37
- params: Promise<{
38
- postId: string;
39
- }>;
40
- }): react_jsx_runtime.JSX.Element;
52
+ /**
53
+ * Edit post page. The view is a client component — this factory module
54
+ * stays server-side so `@ampless/admin/pages` can be imported from
55
+ * Server Components and the `'use client'` boundary is preserved at
56
+ * the cross-file reference.
57
+ */
41
58
  declare function createEditPostPage(_admin: unknown): typeof EditPostPage;
42
59
 
43
- declare function MediaPage(): react_jsx_runtime.JSX.Element;
60
+ /**
61
+ * Media library page. The view is a client component — this factory
62
+ * module stays server-side so `@ampless/admin/pages` can be imported
63
+ * from Server Components and the `'use client'` boundary is preserved
64
+ * at the cross-file reference.
65
+ */
44
66
  declare function createMediaPage(_admin: unknown): typeof MediaPage;
45
67
 
46
68
  /**
@@ -84,7 +106,19 @@ interface ThemeListEntry {
84
106
  */
85
107
  declare function createSiteThemePage(admin: Admin, themeList: ReadonlyArray<ThemeListEntry>): ({ params }: Props) => Promise<react_jsx_runtime.JSX.Element>;
86
108
 
87
- declare function LoginPage(): react_jsx_runtime.JSX.Element;
109
+ /**
110
+ * Admin-only user management page. Second-layer authz gate (the
111
+ * layout factory already shuts out non-editor sessions, but `editor`
112
+ * has no business here — Cognito group changes belong to admin).
113
+ */
114
+ declare function createUsersListPage(admin: Admin): () => Promise<react_jsx_runtime.JSX.Element>;
115
+
116
+ /**
117
+ * Login / sign-up / reset password page. The view is a client component
118
+ * — this factory module stays server-side so `@ampless/admin/pages` can
119
+ * be imported from Server Components and the `'use client'` boundary is
120
+ * preserved at the cross-file reference.
121
+ */
88
122
  declare function createLoginPage(_admin: unknown): typeof LoginPage;
89
123
 
90
- export { createAdminDashboardPage, createAdminLayout, createEditPostPage, createLoginPage, createMediaPage, createNewPostPage, createPostsListPage, createSiteEditPage, createSiteThemePage, createSitesListPage };
124
+ export { createAdminDashboardPage, createAdminLayout, createEditPostPage, createLoginPage, createMediaPage, createNewPostPage, createPostsListPage, createSiteEditPage, createSiteThemePage, createSitesListPage, createUsersListPage };