@kywi-software/core 0.1.0 → 0.2.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.
- package/dist/admin/app.d.ts +69 -0
- package/dist/admin/app.d.ts.map +1 -0
- package/dist/admin/app.js +98 -0
- package/dist/admin/app.js.map +1 -0
- package/dist/admin/chrome.d.ts +37 -0
- package/dist/admin/chrome.d.ts.map +1 -0
- package/dist/admin/chrome.js +162 -0
- package/dist/admin/chrome.js.map +1 -0
- package/dist/admin/context.d.ts +58 -0
- package/dist/admin/context.d.ts.map +1 -0
- package/dist/admin/context.js +31 -0
- package/dist/admin/context.js.map +1 -0
- package/dist/admin/index.d.ts +9 -1
- package/dist/admin/index.d.ts.map +1 -1
- package/dist/admin/index.js +12 -0
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/nav.d.ts +21 -1
- package/dist/admin/nav.d.ts.map +1 -1
- package/dist/admin/nav.js +45 -88
- package/dist/admin/nav.js.map +1 -1
- package/dist/admin/primitives.d.ts +52 -0
- package/dist/admin/primitives.d.ts.map +1 -0
- package/dist/admin/primitives.js +78 -0
- package/dist/admin/primitives.js.map +1 -0
- package/dist/admin/registry.d.ts +130 -0
- package/dist/admin/registry.d.ts.map +1 -0
- package/dist/admin/registry.js +456 -0
- package/dist/admin/registry.js.map +1 -0
- package/dist/admin/server.d.ts +154 -0
- package/dist/admin/server.d.ts.map +1 -0
- package/dist/admin/server.js +121 -0
- package/dist/admin/server.js.map +1 -0
- package/dist/admin/shell.d.ts +27 -1
- package/dist/admin/shell.d.ts.map +1 -1
- package/dist/admin/shell.js +10 -4
- package/dist/admin/shell.js.map +1 -1
- package/dist/admin/styles/admin.css +24 -0
- package/dist/admin/surface-matcher.d.ts +51 -0
- package/dist/admin/surface-matcher.d.ts.map +1 -0
- package/dist/admin/surface-matcher.js +181 -0
- package/dist/admin/surface-matcher.js.map +1 -0
- package/dist/admin/surfaces/approvals/approvals-data.d.ts +17 -0
- package/dist/admin/surfaces/approvals/approvals-data.d.ts.map +1 -0
- package/dist/admin/surfaces/approvals/approvals-data.js +55 -0
- package/dist/admin/surfaces/approvals/approvals-data.js.map +1 -0
- package/dist/admin/surfaces/approvals/approvals-index.d.ts +3 -0
- package/dist/admin/surfaces/approvals/approvals-index.d.ts.map +1 -0
- package/dist/admin/surfaces/approvals/approvals-index.js +75 -0
- package/dist/admin/surfaces/approvals/approvals-index.js.map +1 -0
- package/dist/admin/surfaces/audiences/audiences-data.d.ts +107 -0
- package/dist/admin/surfaces/audiences/audiences-data.d.ts.map +1 -0
- package/dist/admin/surfaces/audiences/audiences-data.js +216 -0
- package/dist/admin/surfaces/audiences/audiences-data.js.map +1 -0
- package/dist/admin/surfaces/audiences/audiences-detail.d.ts +3 -0
- package/dist/admin/surfaces/audiences/audiences-detail.d.ts.map +1 -0
- package/dist/admin/surfaces/audiences/audiences-detail.js +78 -0
- package/dist/admin/surfaces/audiences/audiences-detail.js.map +1 -0
- package/dist/admin/surfaces/audiences/audiences-edit.d.ts +3 -0
- package/dist/admin/surfaces/audiences/audiences-edit.d.ts.map +1 -0
- package/dist/admin/surfaces/audiences/audiences-edit.js +55 -0
- package/dist/admin/surfaces/audiences/audiences-edit.js.map +1 -0
- package/dist/admin/surfaces/audiences/audiences-fields.d.ts +3 -0
- package/dist/admin/surfaces/audiences/audiences-fields.d.ts.map +1 -0
- package/dist/admin/surfaces/audiences/audiences-fields.js +56 -0
- package/dist/admin/surfaces/audiences/audiences-fields.js.map +1 -0
- package/dist/admin/surfaces/audiences/audiences-list.d.ts +3 -0
- package/dist/admin/surfaces/audiences/audiences-list.d.ts.map +1 -0
- package/dist/admin/surfaces/audiences/audiences-list.js +50 -0
- package/dist/admin/surfaces/audiences/audiences-list.js.map +1 -0
- package/dist/admin/surfaces/audiences/audiences-new.d.ts +3 -0
- package/dist/admin/surfaces/audiences/audiences-new.d.ts.map +1 -0
- package/dist/admin/surfaces/audiences/audiences-new.js +54 -0
- package/dist/admin/surfaces/audiences/audiences-new.js.map +1 -0
- package/dist/admin/surfaces/audiences/audiences-preview-tokens.d.ts +3 -0
- package/dist/admin/surfaces/audiences/audiences-preview-tokens.d.ts.map +1 -0
- package/dist/admin/surfaces/audiences/audiences-preview-tokens.js +123 -0
- package/dist/admin/surfaces/audiences/audiences-preview-tokens.js.map +1 -0
- package/dist/admin/surfaces/audiences/audiences-selfid-widget.d.ts +3 -0
- package/dist/admin/surfaces/audiences/audiences-selfid-widget.d.ts.map +1 -0
- package/dist/admin/surfaces/audiences/audiences-selfid-widget.js +50 -0
- package/dist/admin/surfaces/audiences/audiences-selfid-widget.js.map +1 -0
- package/dist/admin/surfaces/audiences/audiences-test.d.ts +3 -0
- package/dist/admin/surfaces/audiences/audiences-test.d.ts.map +1 -0
- package/dist/admin/surfaces/audiences/audiences-test.js +39 -0
- package/dist/admin/surfaces/audiences/audiences-test.js.map +1 -0
- package/dist/admin/surfaces/audiences/states.d.ts +10 -0
- package/dist/admin/surfaces/audiences/states.d.ts.map +1 -0
- package/dist/admin/surfaces/audiences/states.js +11 -0
- package/dist/admin/surfaces/audiences/states.js.map +1 -0
- package/dist/admin/surfaces/changesets/changesets-data.d.ts +35 -0
- package/dist/admin/surfaces/changesets/changesets-data.d.ts.map +1 -0
- package/dist/admin/surfaces/changesets/changesets-data.js +151 -0
- package/dist/admin/surfaces/changesets/changesets-data.js.map +1 -0
- package/dist/admin/surfaces/changesets/changesets-detail.d.ts +3 -0
- package/dist/admin/surfaces/changesets/changesets-detail.d.ts.map +1 -0
- package/dist/admin/surfaces/changesets/changesets-detail.js +84 -0
- package/dist/admin/surfaces/changesets/changesets-detail.js.map +1 -0
- package/dist/admin/surfaces/changesets/changesets-index.d.ts +3 -0
- package/dist/admin/surfaces/changesets/changesets-index.d.ts.map +1 -0
- package/dist/admin/surfaces/changesets/changesets-index.js +62 -0
- package/dist/admin/surfaces/changesets/changesets-index.js.map +1 -0
- package/dist/admin/surfaces/comments/comment-moderation.d.ts +18 -0
- package/dist/admin/surfaces/comments/comment-moderation.d.ts.map +1 -0
- package/dist/admin/surfaces/comments/comment-moderation.js +36 -0
- package/dist/admin/surfaces/comments/comment-moderation.js.map +1 -0
- package/dist/admin/surfaces/comments/comments-data.d.ts +23 -0
- package/dist/admin/surfaces/comments/comments-data.d.ts.map +1 -0
- package/dist/admin/surfaces/comments/comments-data.js +81 -0
- package/dist/admin/surfaces/comments/comments-data.js.map +1 -0
- package/dist/admin/surfaces/comments/comments-index.d.ts +3 -0
- package/dist/admin/surfaces/comments/comments-index.d.ts.map +1 -0
- package/dist/admin/surfaces/comments/comments-index.js +73 -0
- package/dist/admin/surfaces/comments/comments-index.js.map +1 -0
- package/dist/admin/surfaces/content/content-edit.d.ts +3 -0
- package/dist/admin/surfaces/content/content-edit.d.ts.map +1 -0
- package/dist/admin/surfaces/content/content-edit.js +321 -0
- package/dist/admin/surfaces/content/content-edit.js.map +1 -0
- package/dist/admin/surfaces/content/content-index.d.ts +3 -0
- package/dist/admin/surfaces/content/content-index.d.ts.map +1 -0
- package/dist/admin/surfaces/content/content-index.js +21 -0
- package/dist/admin/surfaces/content/content-index.js.map +1 -0
- package/dist/admin/surfaces/content/content-list.d.ts +3 -0
- package/dist/admin/surfaces/content/content-list.d.ts.map +1 -0
- package/dist/admin/surfaces/content/content-list.js +70 -0
- package/dist/admin/surfaces/content/content-list.js.map +1 -0
- package/dist/admin/surfaces/content/content-new.d.ts +3 -0
- package/dist/admin/surfaces/content/content-new.d.ts.map +1 -0
- package/dist/admin/surfaces/content/content-new.js +109 -0
- package/dist/admin/surfaces/content/content-new.js.map +1 -0
- package/dist/admin/surfaces/content/content-translation-bar.d.ts +12 -0
- package/dist/admin/surfaces/content/content-translation-bar.d.ts.map +1 -0
- package/dist/admin/surfaces/content/content-translation-bar.js +65 -0
- package/dist/admin/surfaces/content/content-translation-bar.js.map +1 -0
- package/dist/admin/surfaces/content/runtime-content-types.d.ts +41 -0
- package/dist/admin/surfaces/content/runtime-content-types.d.ts.map +1 -0
- package/dist/admin/surfaces/content/runtime-content-types.js +51 -0
- package/dist/admin/surfaces/content/runtime-content-types.js.map +1 -0
- package/dist/admin/surfaces/contentTree/content-tree.d.ts +3 -0
- package/dist/admin/surfaces/contentTree/content-tree.d.ts.map +1 -0
- package/dist/admin/surfaces/contentTree/content-tree.js +179 -0
- package/dist/admin/surfaces/contentTree/content-tree.js.map +1 -0
- package/dist/admin/surfaces/contentTree/move-to-picker.d.ts +12 -0
- package/dist/admin/surfaces/contentTree/move-to-picker.d.ts.map +1 -0
- package/dist/admin/surfaces/contentTree/move-to-picker.js +77 -0
- package/dist/admin/surfaces/contentTree/move-to-picker.js.map +1 -0
- package/dist/admin/surfaces/contentTypes/content-types-designer.d.ts +3 -0
- package/dist/admin/surfaces/contentTypes/content-types-designer.d.ts.map +1 -0
- package/dist/admin/surfaces/contentTypes/content-types-designer.js +260 -0
- package/dist/admin/surfaces/contentTypes/content-types-designer.js.map +1 -0
- package/dist/admin/surfaces/contentTypes/content-types-list.d.ts +3 -0
- package/dist/admin/surfaces/contentTypes/content-types-list.d.ts.map +1 -0
- package/dist/admin/surfaces/contentTypes/content-types-list.js +69 -0
- package/dist/admin/surfaces/contentTypes/content-types-list.js.map +1 -0
- package/dist/admin/surfaces/dashboard/dashboard-index.d.ts +3 -0
- package/dist/admin/surfaces/dashboard/dashboard-index.d.ts.map +1 -0
- package/dist/admin/surfaces/dashboard/dashboard-index.js +100 -0
- package/dist/admin/surfaces/dashboard/dashboard-index.js.map +1 -0
- package/dist/admin/surfaces/experiments/experiments-data.d.ts +12 -0
- package/dist/admin/surfaces/experiments/experiments-data.d.ts.map +1 -0
- package/dist/admin/surfaces/experiments/experiments-data.js +89 -0
- package/dist/admin/surfaces/experiments/experiments-data.js.map +1 -0
- package/dist/admin/surfaces/experiments/experiments-detail.d.ts +3 -0
- package/dist/admin/surfaces/experiments/experiments-detail.d.ts.map +1 -0
- package/dist/admin/surfaces/experiments/experiments-detail.js +87 -0
- package/dist/admin/surfaces/experiments/experiments-detail.js.map +1 -0
- package/dist/admin/surfaces/experiments/experiments-list.d.ts +3 -0
- package/dist/admin/surfaces/experiments/experiments-list.d.ts.map +1 -0
- package/dist/admin/surfaces/experiments/experiments-list.js +37 -0
- package/dist/admin/surfaces/experiments/experiments-list.js.map +1 -0
- package/dist/admin/surfaces/experiments/experiments-new.d.ts +3 -0
- package/dist/admin/surfaces/experiments/experiments-new.d.ts.map +1 -0
- package/dist/admin/surfaces/experiments/experiments-new.js +33 -0
- package/dist/admin/surfaces/experiments/experiments-new.js.map +1 -0
- package/dist/admin/surfaces/experiments/states.d.ts +10 -0
- package/dist/admin/surfaces/experiments/states.d.ts.map +1 -0
- package/dist/admin/surfaces/experiments/states.js +11 -0
- package/dist/admin/surfaces/experiments/states.js.map +1 -0
- package/dist/admin/surfaces/extensions/extensions-data.d.ts +59 -0
- package/dist/admin/surfaces/extensions/extensions-data.d.ts.map +1 -0
- package/dist/admin/surfaces/extensions/extensions-data.js +71 -0
- package/dist/admin/surfaces/extensions/extensions-data.js.map +1 -0
- package/dist/admin/surfaces/extensions/extensions-import-export.d.ts +3 -0
- package/dist/admin/surfaces/extensions/extensions-import-export.d.ts.map +1 -0
- package/dist/admin/surfaces/extensions/extensions-import-export.js +77 -0
- package/dist/admin/surfaces/extensions/extensions-import-export.js.map +1 -0
- package/dist/admin/surfaces/extensions/extensions-list.d.ts +3 -0
- package/dist/admin/surfaces/extensions/extensions-list.d.ts.map +1 -0
- package/dist/admin/surfaces/extensions/extensions-list.js +106 -0
- package/dist/admin/surfaces/extensions/extensions-list.js.map +1 -0
- package/dist/admin/surfaces/extensions/form-modal.d.ts +17 -0
- package/dist/admin/surfaces/extensions/form-modal.d.ts.map +1 -0
- package/dist/admin/surfaces/extensions/form-modal.js +27 -0
- package/dist/admin/surfaces/extensions/form-modal.js.map +1 -0
- package/dist/admin/surfaces/feeds/feed-editor.d.ts +8 -0
- package/dist/admin/surfaces/feeds/feed-editor.d.ts.map +1 -0
- package/dist/admin/surfaces/feeds/feed-editor.js +120 -0
- package/dist/admin/surfaces/feeds/feed-editor.js.map +1 -0
- package/dist/admin/surfaces/feeds/feeds-data.d.ts +35 -0
- package/dist/admin/surfaces/feeds/feeds-data.d.ts.map +1 -0
- package/dist/admin/surfaces/feeds/feeds-data.js +81 -0
- package/dist/admin/surfaces/feeds/feeds-data.js.map +1 -0
- package/dist/admin/surfaces/feeds/feeds-detail.d.ts +3 -0
- package/dist/admin/surfaces/feeds/feeds-detail.d.ts.map +1 -0
- package/dist/admin/surfaces/feeds/feeds-detail.js +36 -0
- package/dist/admin/surfaces/feeds/feeds-detail.js.map +1 -0
- package/dist/admin/surfaces/feeds/feeds-list.d.ts +3 -0
- package/dist/admin/surfaces/feeds/feeds-list.d.ts.map +1 -0
- package/dist/admin/surfaces/feeds/feeds-list.js +49 -0
- package/dist/admin/surfaces/feeds/feeds-list.js.map +1 -0
- package/dist/admin/surfaces/feeds/feeds-new.d.ts +3 -0
- package/dist/admin/surfaces/feeds/feeds-new.d.ts.map +1 -0
- package/dist/admin/surfaces/feeds/feeds-new.js +7 -0
- package/dist/admin/surfaces/feeds/feeds-new.js.map +1 -0
- package/dist/admin/surfaces/forms/form-editor.d.ts +5 -0
- package/dist/admin/surfaces/forms/form-editor.d.ts.map +1 -0
- package/dist/admin/surfaces/forms/form-editor.js +59 -0
- package/dist/admin/surfaces/forms/form-editor.js.map +1 -0
- package/dist/admin/surfaces/forms/forms-data.d.ts +52 -0
- package/dist/admin/surfaces/forms/forms-data.d.ts.map +1 -0
- package/dist/admin/surfaces/forms/forms-data.js +106 -0
- package/dist/admin/surfaces/forms/forms-data.js.map +1 -0
- package/dist/admin/surfaces/forms/forms-edit.d.ts +3 -0
- package/dist/admin/surfaces/forms/forms-edit.d.ts.map +1 -0
- package/dist/admin/surfaces/forms/forms-edit.js +40 -0
- package/dist/admin/surfaces/forms/forms-edit.js.map +1 -0
- package/dist/admin/surfaces/forms/forms-list.d.ts +3 -0
- package/dist/admin/surfaces/forms/forms-list.d.ts.map +1 -0
- package/dist/admin/surfaces/forms/forms-list.js +53 -0
- package/dist/admin/surfaces/forms/forms-list.js.map +1 -0
- package/dist/admin/surfaces/forms/forms-new.d.ts +3 -0
- package/dist/admin/surfaces/forms/forms-new.d.ts.map +1 -0
- package/dist/admin/surfaces/forms/forms-new.js +7 -0
- package/dist/admin/surfaces/forms/forms-new.js.map +1 -0
- package/dist/admin/surfaces/forms/forms-submissions.d.ts +3 -0
- package/dist/admin/surfaces/forms/forms-submissions.d.ts.map +1 -0
- package/dist/admin/surfaces/forms/forms-submissions.js +125 -0
- package/dist/admin/surfaces/forms/forms-submissions.js.map +1 -0
- package/dist/admin/surfaces/layouts/layout-editor-client.d.ts +8 -0
- package/dist/admin/surfaces/layouts/layout-editor-client.d.ts.map +1 -0
- package/dist/admin/surfaces/layouts/layout-editor-client.js +77 -0
- package/dist/admin/surfaces/layouts/layout-editor-client.js.map +1 -0
- package/dist/admin/surfaces/layouts/layouts-data.d.ts +53 -0
- package/dist/admin/surfaces/layouts/layouts-data.d.ts.map +1 -0
- package/dist/admin/surfaces/layouts/layouts-data.js +61 -0
- package/dist/admin/surfaces/layouts/layouts-data.js.map +1 -0
- package/dist/admin/surfaces/layouts/layouts-detail.d.ts +3 -0
- package/dist/admin/surfaces/layouts/layouts-detail.d.ts.map +1 -0
- package/dist/admin/surfaces/layouts/layouts-detail.js +38 -0
- package/dist/admin/surfaces/layouts/layouts-detail.js.map +1 -0
- package/dist/admin/surfaces/layouts/layouts-list.d.ts +3 -0
- package/dist/admin/surfaces/layouts/layouts-list.d.ts.map +1 -0
- package/dist/admin/surfaces/layouts/layouts-list.js +62 -0
- package/dist/admin/surfaces/layouts/layouts-list.js.map +1 -0
- package/dist/admin/surfaces/layouts/layouts-new.d.ts +3 -0
- package/dist/admin/surfaces/layouts/layouts-new.d.ts.map +1 -0
- package/dist/admin/surfaces/layouts/layouts-new.js +7 -0
- package/dist/admin/surfaces/layouts/layouts-new.js.map +1 -0
- package/dist/admin/surfaces/login.d.ts +20 -0
- package/dist/admin/surfaces/login.d.ts.map +1 -0
- package/dist/admin/surfaces/login.js +92 -0
- package/dist/admin/surfaces/login.js.map +1 -0
- package/dist/admin/surfaces/media/library.d.ts +3 -0
- package/dist/admin/surfaces/media/library.d.ts.map +1 -0
- package/dist/admin/surfaces/media/library.js +7 -0
- package/dist/admin/surfaces/media/library.js.map +1 -0
- package/dist/admin/surfaces/media/media-client.d.ts +4 -0
- package/dist/admin/surfaces/media/media-client.d.ts.map +1 -0
- package/dist/admin/surfaces/media/media-client.js +203 -0
- package/dist/admin/surfaces/media/media-client.js.map +1 -0
- package/dist/admin/surfaces/media/upload.d.ts +3 -0
- package/dist/admin/surfaces/media/upload.d.ts.map +1 -0
- package/dist/admin/surfaces/media/upload.js +7 -0
- package/dist/admin/surfaces/media/upload.js.map +1 -0
- package/dist/admin/surfaces/plugins/plugins-data.d.ts +37 -0
- package/dist/admin/surfaces/plugins/plugins-data.d.ts.map +1 -0
- package/dist/admin/surfaces/plugins/plugins-data.js +31 -0
- package/dist/admin/surfaces/plugins/plugins-data.js.map +1 -0
- package/dist/admin/surfaces/plugins/plugins-index.d.ts +3 -0
- package/dist/admin/surfaces/plugins/plugins-index.d.ts.map +1 -0
- package/dist/admin/surfaces/plugins/plugins-index.js +72 -0
- package/dist/admin/surfaces/plugins/plugins-index.js.map +1 -0
- package/dist/admin/surfaces/search/search-index.d.ts +3 -0
- package/dist/admin/surfaces/search/search-index.d.ts.map +1 -0
- package/dist/admin/surfaces/search/search-index.js +76 -0
- package/dist/admin/surfaces/search/search-index.js.map +1 -0
- package/dist/admin/surfaces/settings/admin-features.d.ts +3 -0
- package/dist/admin/surfaces/settings/admin-features.d.ts.map +1 -0
- package/dist/admin/surfaces/settings/admin-features.js +138 -0
- package/dist/admin/surfaces/settings/admin-features.js.map +1 -0
- package/dist/admin/surfaces/settings/settings-ax.d.ts +3 -0
- package/dist/admin/surfaces/settings/settings-ax.d.ts.map +1 -0
- package/dist/admin/surfaces/settings/settings-ax.js +63 -0
- package/dist/admin/surfaces/settings/settings-ax.js.map +1 -0
- package/dist/admin/surfaces/settings/settings-cache.d.ts +3 -0
- package/dist/admin/surfaces/settings/settings-cache.d.ts.map +1 -0
- package/dist/admin/surfaces/settings/settings-cache.js +64 -0
- package/dist/admin/surfaces/settings/settings-cache.js.map +1 -0
- package/dist/admin/surfaces/settings/settings-email.d.ts +3 -0
- package/dist/admin/surfaces/settings/settings-email.d.ts.map +1 -0
- package/dist/admin/surfaces/settings/settings-email.js +89 -0
- package/dist/admin/surfaces/settings/settings-email.js.map +1 -0
- package/dist/admin/surfaces/settings/settings-general.d.ts +3 -0
- package/dist/admin/surfaces/settings/settings-general.d.ts.map +1 -0
- package/dist/admin/surfaces/settings/settings-general.js +91 -0
- package/dist/admin/surfaces/settings/settings-general.js.map +1 -0
- package/dist/admin/surfaces/settings/settings-site.d.ts +3 -0
- package/dist/admin/surfaces/settings/settings-site.d.ts.map +1 -0
- package/dist/admin/surfaces/settings/settings-site.js +14 -0
- package/dist/admin/surfaces/settings/settings-site.js.map +1 -0
- package/dist/admin/surfaces/settings/settings-sites.d.ts +3 -0
- package/dist/admin/surfaces/settings/settings-sites.d.ts.map +1 -0
- package/dist/admin/surfaces/settings/settings-sites.js +134 -0
- package/dist/admin/surfaces/settings/settings-sites.js.map +1 -0
- package/dist/admin/surfaces/settings/states.d.ts +33 -0
- package/dist/admin/surfaces/settings/states.d.ts.map +1 -0
- package/dist/admin/surfaces/settings/states.js +33 -0
- package/dist/admin/surfaces/settings/states.js.map +1 -0
- package/dist/admin/surfaces/taxonomy/categories.d.ts +3 -0
- package/dist/admin/surfaces/taxonomy/categories.d.ts.map +1 -0
- package/dist/admin/surfaces/taxonomy/categories.js +162 -0
- package/dist/admin/surfaces/taxonomy/categories.js.map +1 -0
- package/dist/admin/surfaces/taxonomy/tags.d.ts +3 -0
- package/dist/admin/surfaces/taxonomy/tags.d.ts.map +1 -0
- package/dist/admin/surfaces/taxonomy/tags.js +112 -0
- package/dist/admin/surfaces/taxonomy/tags.js.map +1 -0
- package/dist/admin/surfaces/taxonomy/taxonomy-ui.d.ts +39 -0
- package/dist/admin/surfaces/taxonomy/taxonomy-ui.d.ts.map +1 -0
- package/dist/admin/surfaces/taxonomy/taxonomy-ui.js +66 -0
- package/dist/admin/surfaces/taxonomy/taxonomy-ui.js.map +1 -0
- package/dist/admin/surfaces/translations/states.d.ts +10 -0
- package/dist/admin/surfaces/translations/states.d.ts.map +1 -0
- package/dist/admin/surfaces/translations/states.js +11 -0
- package/dist/admin/surfaces/translations/states.js.map +1 -0
- package/dist/admin/surfaces/translations/translations-index.d.ts +3 -0
- package/dist/admin/surfaces/translations/translations-index.d.ts.map +1 -0
- package/dist/admin/surfaces/translations/translations-index.js +99 -0
- package/dist/admin/surfaces/translations/translations-index.js.map +1 -0
- package/dist/admin/surfaces/trash/trash-index.d.ts +3 -0
- package/dist/admin/surfaces/trash/trash-index.d.ts.map +1 -0
- package/dist/admin/surfaces/trash/trash-index.js +96 -0
- package/dist/admin/surfaces/trash/trash-index.js.map +1 -0
- package/dist/admin/surfaces/users/users-data.d.ts +51 -0
- package/dist/admin/surfaces/users/users-data.d.ts.map +1 -0
- package/dist/admin/surfaces/users/users-data.js +60 -0
- package/dist/admin/surfaces/users/users-data.js.map +1 -0
- package/dist/admin/surfaces/users/users-detail.d.ts +3 -0
- package/dist/admin/surfaces/users/users-detail.d.ts.map +1 -0
- package/dist/admin/surfaces/users/users-detail.js +148 -0
- package/dist/admin/surfaces/users/users-detail.js.map +1 -0
- package/dist/admin/surfaces/users/users-groups.d.ts +3 -0
- package/dist/admin/surfaces/users/users-groups.d.ts.map +1 -0
- package/dist/admin/surfaces/users/users-groups.js +136 -0
- package/dist/admin/surfaces/users/users-groups.js.map +1 -0
- package/dist/admin/surfaces/users/users-list.d.ts +3 -0
- package/dist/admin/surfaces/users/users-list.d.ts.map +1 -0
- package/dist/admin/surfaces/users/users-list.js +119 -0
- package/dist/admin/surfaces/users/users-list.js.map +1 -0
- package/dist/admin/surfaces/users/users-new.d.ts +3 -0
- package/dist/admin/surfaces/users/users-new.d.ts.map +1 -0
- package/dist/admin/surfaces/users/users-new.js +78 -0
- package/dist/admin/surfaces/users/users-new.js.map +1 -0
- package/dist/admin/surfaces/users/users-permissions.d.ts +3 -0
- package/dist/admin/surfaces/users/users-permissions.d.ts.map +1 -0
- package/dist/admin/surfaces/users/users-permissions.js +135 -0
- package/dist/admin/surfaces/users/users-permissions.js.map +1 -0
- package/dist/admin/surfaces/webServices/api-keys.d.ts +3 -0
- package/dist/admin/surfaces/webServices/api-keys.d.ts.map +1 -0
- package/dist/admin/surfaces/webServices/api-keys.js +65 -0
- package/dist/admin/surfaces/webServices/api-keys.js.map +1 -0
- package/dist/admin/surfaces/webServices/oauth.d.ts +3 -0
- package/dist/admin/surfaces/webServices/oauth.d.ts.map +1 -0
- package/dist/admin/surfaces/webServices/oauth.js +75 -0
- package/dist/admin/surfaces/webServices/oauth.js.map +1 -0
- package/dist/admin/surfaces/webServices/secret-reveal-modal.d.ts +8 -0
- package/dist/admin/surfaces/webServices/secret-reveal-modal.d.ts.map +1 -0
- package/dist/admin/surfaces/webServices/secret-reveal-modal.js +30 -0
- package/dist/admin/surfaces/webServices/secret-reveal-modal.js.map +1 -0
- package/dist/admin/surfaces/webServices/web-services-data.d.ts +38 -0
- package/dist/admin/surfaces/webServices/web-services-data.d.ts.map +1 -0
- package/dist/admin/surfaces/webServices/web-services-data.js +52 -0
- package/dist/admin/surfaces/webServices/web-services-data.js.map +1 -0
- package/dist/api/admin-features-routes.d.ts +10 -0
- package/dist/api/admin-features-routes.d.ts.map +1 -0
- package/dist/api/admin-features-routes.js +61 -0
- package/dist/api/admin-features-routes.js.map +1 -0
- package/dist/api/graphql/resolvers.d.ts +6 -6
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +2 -0
- package/dist/api/index.js.map +1 -1
- package/dist/config/define.d.ts +22 -1
- package/dist/config/define.d.ts.map +1 -1
- package/dist/config/define.js +44 -0
- package/dist/config/define.js.map +1 -1
- package/dist/config/parse.d.ts.map +1 -1
- package/dist/config/parse.js +8 -2
- package/dist/config/parse.js.map +1 -1
- package/dist/config/types.d.ts +60 -1
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +20 -1
- package/dist/config/types.js.map +1 -1
- package/dist/config/validate.d.ts.map +1 -1
- package/dist/config/validate.js +60 -0
- package/dist/config/validate.js.map +1 -1
- package/dist/db/admin-features-queries.d.ts +29 -0
- package/dist/db/admin-features-queries.d.ts.map +1 -0
- package/dist/db/admin-features-queries.js +46 -0
- package/dist/db/admin-features-queries.js.map +1 -0
- package/dist/db/analytics-queries.d.ts +2 -2
- package/dist/db/audit-queries.d.ts +3 -3
- package/dist/db/category-queries.d.ts +6 -6
- package/dist/db/changeset-audit-queries.d.ts +2 -2
- package/dist/db/changeset-queries.d.ts +8 -8
- package/dist/db/extension-queries.d.ts +17 -17
- package/dist/db/feed-queries.d.ts +6 -6
- package/dist/db/media-queries.d.ts +12 -12
- package/dist/db/site-admin-queries.d.ts +1 -1
- package/dist/db/site-queries.d.ts +3 -3
- package/dist/db/tag-queries.d.ts +4 -4
- package/dist/db/webhook-queries.d.ts +8 -8
- package/dist/db/workflow-queries.d.ts +5 -5
- package/dist/experiments/schema.d.ts +1 -1
- package/dist/host-client/index.d.ts +1 -0
- package/dist/host-client/index.d.ts.map +1 -1
- package/dist/host-client/index.js +4 -0
- package/dist/host-client/index.js.map +1 -1
- package/dist/host-client/json.d.ts +36 -0
- package/dist/host-client/json.d.ts.map +1 -0
- package/dist/host-client/json.js +106 -0
- package/dist/host-client/json.js.map +1 -0
- package/dist/layout/modules-extended.d.ts.map +1 -1
- package/dist/layout/modules-extended.js +9 -8
- package/dist/layout/modules-extended.js.map +1 -1
- package/dist/layout/modules.js +5 -5
- package/dist/layout/modules.js.map +1 -1
- package/dist/schema/base.d.ts +1 -1
- package/dist/scope/breadcrumbs.d.ts.map +1 -1
- package/dist/scope/breadcrumbs.js +4 -1
- package/dist/scope/breadcrumbs.js.map +1 -1
- package/dist/scope/head-foot.d.ts +12 -4
- package/dist/scope/head-foot.d.ts.map +1 -1
- package/dist/scope/head-foot.js +14 -6
- package/dist/scope/head-foot.js.map +1 -1
- package/dist/scope/jsonld.d.ts.map +1 -1
- package/dist/scope/jsonld.js +1 -11
- package/dist/scope/jsonld.js.map +1 -1
- package/dist/scope/kywi-form.d.ts.map +1 -1
- package/dist/scope/kywi-form.js +3 -3
- package/dist/scope/kywi-form.js.map +1 -1
- package/dist/scope/kywi-wizard-form.d.ts.map +1 -1
- package/dist/scope/kywi-wizard-form.js +3 -3
- package/dist/scope/kywi-wizard-form.js.map +1 -1
- package/dist/scope/rendering.d.ts.map +1 -1
- package/dist/scope/rendering.js +7 -6
- package/dist/scope/rendering.js.map +1 -1
- package/dist/util/jsonld.d.ts +13 -0
- package/dist/util/jsonld.d.ts.map +1 -0
- package/dist/util/jsonld.js +15 -0
- package/dist/util/jsonld.js.map +1 -0
- package/dist/util/sanitize.d.ts +6 -0
- package/dist/util/sanitize.d.ts.map +1 -0
- package/dist/util/sanitize.js +156 -0
- package/dist/util/sanitize.js.map +1 -0
- package/package.json +12 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings-sites.d.ts","sourceRoot":"","sources":["../../../../src/admin/surfaces/settings/settings-sites.tsx"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAsCrD,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,MAAM,EAAE,YAAY,2CAkHhE"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
/**
|
|
4
|
+
* `settings.sites` surface — the multi-site CRUD table with a typed-confirmation
|
|
5
|
+
* delete, ported verbatim from `apps/reference/app/admin/settings/sites/page.tsx`
|
|
6
|
+
* (0.2.0 T12). Markup / classes / copy unchanged; wiring substitutions (plan
|
|
7
|
+
* §1.3):
|
|
8
|
+
* - `adminFetch` → `useAdminContext().fetch` (the top surface and each dialog
|
|
9
|
+
* read it from context)
|
|
10
|
+
* - the module-level `THEME_OPTIONS = kywiConfig.themes.map(...)` → the theme
|
|
11
|
+
* list read off `useAdminContext().runtime` and threaded into the form dialog
|
|
12
|
+
* as a `themeOptions` prop
|
|
13
|
+
* `AdminShellWrapper` is gone — chrome is rendered once by `KywiAdminApp` (T14).
|
|
14
|
+
*
|
|
15
|
+
* The theme dropdown's option list comes from the site's configured `themes`,
|
|
16
|
+
* now carried on the secret-free `AdminRuntimeConfig` projection under
|
|
17
|
+
* `overview.themes` (admin/server.ts) and read via `runtimeThemeOptions` below.
|
|
18
|
+
*
|
|
19
|
+
* The last-site delete guard (Delete disabled when `sites.length <= 1`) and the
|
|
20
|
+
* type-the-name confirmation are preserved exactly.
|
|
21
|
+
*/
|
|
22
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
23
|
+
import { useAdminContext } from '../../context.js';
|
|
24
|
+
import { LoadingState, ErrorState } from './states.js';
|
|
25
|
+
/** Read the configured theme names off the runtime projection's `overview.themes`. */
|
|
26
|
+
function runtimeThemeOptions(runtime) {
|
|
27
|
+
const themes = runtime?.overview?.themes;
|
|
28
|
+
return (themes ?? []).map(t => t.name);
|
|
29
|
+
}
|
|
30
|
+
function emptyForm(themeOptions) {
|
|
31
|
+
return { name: '', domain: '', defaultLocale: 'en', theme: themeOptions[0] ?? 'default' };
|
|
32
|
+
}
|
|
33
|
+
export default function SettingsSitesSurface(_props) {
|
|
34
|
+
const { fetch: adminFetch, runtime } = useAdminContext();
|
|
35
|
+
const themeOptions = runtimeThemeOptions(runtime);
|
|
36
|
+
const [sites, setSites] = useState([]);
|
|
37
|
+
const [loading, setLoading] = useState(true);
|
|
38
|
+
const [error, setError] = useState(null);
|
|
39
|
+
const [dialog, setDialog] = useState(null);
|
|
40
|
+
const load = useCallback(async () => {
|
|
41
|
+
setLoading(true);
|
|
42
|
+
setError(null);
|
|
43
|
+
try {
|
|
44
|
+
const res = await adminFetch('/api/v1/sites');
|
|
45
|
+
if (!res.ok)
|
|
46
|
+
throw new Error(`Failed to load sites (${res.status})`);
|
|
47
|
+
const body = await res.json();
|
|
48
|
+
setSites((body.data ?? []));
|
|
49
|
+
}
|
|
50
|
+
catch (e) {
|
|
51
|
+
setError(e instanceof Error ? e.message : 'Failed to load sites');
|
|
52
|
+
}
|
|
53
|
+
finally {
|
|
54
|
+
setLoading(false);
|
|
55
|
+
}
|
|
56
|
+
}, [adminFetch]);
|
|
57
|
+
useEffect(() => { load(); }, [load]);
|
|
58
|
+
const closeAndReload = useCallback(async () => {
|
|
59
|
+
setDialog(null);
|
|
60
|
+
await load();
|
|
61
|
+
}, [load]);
|
|
62
|
+
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "kywi-admin-page-header", children: [_jsx("h1", { children: "Sites" }), _jsx("button", { type: "button", className: "kywi-btn kywi-btn-primary", onClick: () => setDialog({ kind: 'create' }), children: "New site" })] }), loading ? (_jsx(LoadingState, { label: "Loading sites\u2026" })) : error ? (_jsx(ErrorState, { message: error, onRetry: load })) : sites.length === 0 ? (_jsxs("div", { className: "kywi-empty-state", children: [_jsx("p", { children: "No sites yet." }), _jsx("button", { type: "button", className: "kywi-btn kywi-btn-primary", onClick: () => setDialog({ kind: 'create' }), children: "Create your first site" })] })) : (_jsx("div", { style: { overflowX: 'auto' }, children: _jsxs("table", { className: "kywi-table kywi-admin-table", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { children: "Name" }), _jsx("th", { children: "Domain" }), _jsx("th", { children: "Slug" }), _jsx("th", { children: "Locale" }), _jsx("th", { children: "Theme" }), _jsx("th", { style: { textAlign: 'right' }, children: "Actions" })] }) }), _jsx("tbody", { children: sites.map(site => (_jsxs("tr", { children: [_jsx("td", { children: site.name }), _jsx("td", { style: { fontFamily: 'var(--kywi-font-mono)' }, children: site.domain }), _jsx("td", { style: { fontFamily: 'var(--kywi-font-mono)' }, children: site.slug }), _jsx("td", { children: site.defaultLocale }), _jsx("td", { children: site.theme }), _jsxs("td", { style: { textAlign: 'right', whiteSpace: 'nowrap' }, children: [_jsx("button", { type: "button", className: "kywi-btn kywi-btn-secondary kywi-btn-sm", onClick: () => setDialog({ kind: 'edit', site }), children: "Edit" }), ' ', _jsx("button", { type: "button", className: "kywi-btn kywi-btn-danger kywi-btn-sm", onClick: () => setDialog({ kind: 'delete', site }), disabled: sites.length <= 1, title: sites.length <= 1 ? 'Cannot delete the only site' : undefined, children: "Delete" })] })] }, site.id))) })] }) })), dialog?.kind === 'create' && (_jsx(SiteFormDialog, { title: "New site", mode: "create", themeOptions: themeOptions, onClose: () => setDialog(null), onSaved: closeAndReload })), dialog?.kind === 'edit' && (_jsx(SiteFormDialog, { title: "Edit site", mode: "edit", site: dialog.site, themeOptions: themeOptions, onClose: () => setDialog(null), onSaved: closeAndReload })), dialog?.kind === 'delete' && (_jsx(DeleteSiteDialog, { site: dialog.site, onClose: () => setDialog(null), onDeleted: closeAndReload }))] }));
|
|
63
|
+
}
|
|
64
|
+
// ─── Create / Edit dialog ──────────────────────────────────────────────────────
|
|
65
|
+
function SiteFormDialog({ title, mode, site, themeOptions, onClose, onSaved, }) {
|
|
66
|
+
const { fetch: adminFetch } = useAdminContext();
|
|
67
|
+
const [form, setForm] = useState(site
|
|
68
|
+
? { name: site.name, domain: site.domain, defaultLocale: site.defaultLocale, theme: site.theme }
|
|
69
|
+
: emptyForm(themeOptions));
|
|
70
|
+
const [submitting, setSubmitting] = useState(false);
|
|
71
|
+
const [err, setErr] = useState(null);
|
|
72
|
+
const set = (patch) => setForm(prev => ({ ...prev, ...patch }));
|
|
73
|
+
const submit = async (e) => {
|
|
74
|
+
e.preventDefault();
|
|
75
|
+
setSubmitting(true);
|
|
76
|
+
setErr(null);
|
|
77
|
+
try {
|
|
78
|
+
const url = mode === 'create' ? '/api/v1/sites' : `/api/v1/sites/${site.id}`;
|
|
79
|
+
const method = mode === 'create' ? 'POST' : 'PUT';
|
|
80
|
+
const res = await adminFetch(url, {
|
|
81
|
+
method,
|
|
82
|
+
headers: { 'Content-Type': 'application/json' },
|
|
83
|
+
body: JSON.stringify({
|
|
84
|
+
name: form.name.trim(),
|
|
85
|
+
domain: form.domain.trim(),
|
|
86
|
+
defaultLocale: form.defaultLocale.trim() || 'en',
|
|
87
|
+
theme: form.theme,
|
|
88
|
+
}),
|
|
89
|
+
});
|
|
90
|
+
if (!res.ok) {
|
|
91
|
+
const body = await res.json().catch(() => null);
|
|
92
|
+
throw new Error(body?.error?.message ?? `${mode === 'create' ? 'Create' : 'Update'} failed (${res.status})`);
|
|
93
|
+
}
|
|
94
|
+
onSaved();
|
|
95
|
+
}
|
|
96
|
+
catch (e2) {
|
|
97
|
+
setErr(e2 instanceof Error ? e2.message : 'Save failed');
|
|
98
|
+
setSubmitting(false);
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
return (_jsx(ModalShell, { title: title, onClose: onClose, children: _jsxs("form", { onSubmit: submit, children: [err && _jsx(ErrorState, { message: err }), _jsxs("div", { className: "kywi-form-field", children: [_jsx("label", { className: "kywi-label", htmlFor: "site-name", children: "Name" }), _jsx("input", { id: "site-name", className: "kywi-input", type: "text", required: true, value: form.name, onChange: e => set({ name: e.target.value }) })] }), _jsxs("div", { className: "kywi-form-field", children: [_jsx("label", { className: "kywi-label", htmlFor: "site-domain", children: "Domain" }), _jsx("input", { id: "site-domain", className: "kywi-input", type: "text", required: true, value: form.domain, onChange: e => set({ domain: e.target.value }), placeholder: "example.com" })] }), _jsxs("div", { className: "kywi-form-field", children: [_jsx("label", { className: "kywi-label", htmlFor: "site-locale", children: "Default locale" }), _jsx("input", { id: "site-locale", className: "kywi-input", type: "text", value: form.defaultLocale, onChange: e => set({ defaultLocale: e.target.value }), placeholder: "en" })] }), _jsxs("div", { className: "kywi-form-field", children: [_jsx("label", { className: "kywi-label", htmlFor: "site-theme", children: "Theme" }), _jsx("select", { id: "site-theme", className: "kywi-input", value: form.theme, onChange: e => set({ theme: e.target.value }), children: themeOptions.map(t => _jsx("option", { value: t, children: t }, t)) })] }), mode === 'edit' && site && (_jsxs("div", { className: "kywi-form-field", children: [_jsx("label", { className: "kywi-label", htmlFor: "site-slug", children: "Slug" }), _jsx("input", { id: "site-slug", className: "kywi-input", type: "text", value: site.slug, readOnly: true }), _jsx("p", { className: "kywi-field-hint", children: "The slug is immutable \u2014 it is the site\u2019s stable identifier used for site resolution. Changing it would break existing links and domain routing." })] })), _jsxs("div", { className: "kywi-form-actions", children: [_jsx("button", { type: "button", className: "kywi-btn kywi-btn-secondary", onClick: onClose, disabled: submitting, children: "Cancel" }), _jsx("button", { type: "submit", className: "kywi-btn kywi-btn-primary", disabled: submitting, children: submitting ? 'Saving…' : mode === 'create' ? 'Create site' : 'Save changes' })] })] }) }));
|
|
102
|
+
}
|
|
103
|
+
// ─── Delete dialog (typed confirmation) ─────────────────────────────────────────
|
|
104
|
+
function DeleteSiteDialog({ site, onClose, onDeleted, }) {
|
|
105
|
+
const { fetch: adminFetch } = useAdminContext();
|
|
106
|
+
const [confirm, setConfirm] = useState('');
|
|
107
|
+
const [submitting, setSubmitting] = useState(false);
|
|
108
|
+
const [err, setErr] = useState(null);
|
|
109
|
+
const matches = confirm.trim() === site.name;
|
|
110
|
+
const del = async () => {
|
|
111
|
+
if (!matches)
|
|
112
|
+
return;
|
|
113
|
+
setSubmitting(true);
|
|
114
|
+
setErr(null);
|
|
115
|
+
try {
|
|
116
|
+
const res = await adminFetch(`/api/v1/sites/${site.id}`, { method: 'DELETE' });
|
|
117
|
+
if (!res.ok) {
|
|
118
|
+
const body = await res.json().catch(() => null);
|
|
119
|
+
throw new Error(body?.error?.message ?? `Delete failed (${res.status})`);
|
|
120
|
+
}
|
|
121
|
+
onDeleted();
|
|
122
|
+
}
|
|
123
|
+
catch (e) {
|
|
124
|
+
setErr(e instanceof Error ? e.message : 'Delete failed');
|
|
125
|
+
setSubmitting(false);
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
return (_jsxs(ModalShell, { title: "Delete site", onClose: onClose, children: [err && _jsx(ErrorState, { message: err }), _jsxs("p", { style: { color: 'var(--kywi-text-muted)', marginBottom: 'var(--kywi-space-4)' }, children: ["This permanently deletes ", _jsx("strong", { children: site.name }), " and cannot be undone. All of the site\u2019s content, media, and settings will be removed. To confirm, type the site name below."] }), _jsxs("div", { className: "kywi-form-field", children: [_jsx("label", { className: "kywi-label", htmlFor: "delete-confirm", children: "Site name" }), _jsx("input", { id: "delete-confirm", className: "kywi-input", type: "text", value: confirm, onChange: e => setConfirm(e.target.value), placeholder: site.name, autoComplete: "off" })] }), _jsxs("div", { className: "kywi-form-actions", children: [_jsx("button", { type: "button", className: "kywi-btn kywi-btn-secondary", onClick: onClose, disabled: submitting, children: "Cancel" }), _jsx("button", { type: "button", className: "kywi-btn kywi-btn-danger", onClick: del, disabled: !matches || submitting, children: submitting ? 'Deleting…' : 'Delete site' })] })] }));
|
|
129
|
+
}
|
|
130
|
+
// ─── Modal shell (reuses the submission-detail modal styling) ───────────────────
|
|
131
|
+
function ModalShell({ title, onClose, children, }) {
|
|
132
|
+
return (_jsx("div", { className: "kywi-submission-detail-backdrop", role: "dialog", "aria-modal": "true", "aria-label": title, onClick: onClose, children: _jsxs("div", { className: "kywi-submission-detail-modal", onClick: e => e.stopPropagation(), children: [_jsxs("div", { className: "kywi-submission-detail-header", children: [_jsx("h2", { className: "kywi-submission-detail-title", children: title }), _jsx("button", { type: "button", className: "kywi-btn kywi-btn-ghost kywi-btn-sm", onClick: onClose, "aria-label": "Close", children: "\u2715" })] }), children] }) }));
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=settings-sites.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings-sites.js","sourceRoot":"","sources":["../../../../src/admin/surfaces/settings/settings-sites.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Shared presentational states + helpers for the Settings suite (0.2.0 T12).
|
|
4
|
+
* Ported verbatim from `apps/reference/app/admin/settings/states.tsx`. The
|
|
5
|
+
* `LoadingState`/`ErrorState` here are byte-identical to the core primitives;
|
|
6
|
+
* they are kept in this settings-local module (alongside the settings-specific
|
|
7
|
+
* `SuccessFlash`/`ConfigNote`/`DefList`/`DefRow`) so the whole Settings suite
|
|
8
|
+
* imports its chrome from one place, exactly as the reference did.
|
|
9
|
+
*/
|
|
10
|
+
export declare function LoadingState({ label }: {
|
|
11
|
+
label?: string;
|
|
12
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export declare function ErrorState({ message, onRetry }: {
|
|
14
|
+
message: string;
|
|
15
|
+
onRetry?: () => void;
|
|
16
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export declare function SuccessFlash({ message }: {
|
|
18
|
+
message: string;
|
|
19
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
/** Callout signalling a value is defined in kywi.config.ts and read-only at runtime. */
|
|
21
|
+
export declare function ConfigNote({ children }: {
|
|
22
|
+
children: React.ReactNode;
|
|
23
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
export declare function DefList({ children }: {
|
|
25
|
+
children: React.ReactNode;
|
|
26
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
export declare function DefRow({ term, children, mono, muted, }: {
|
|
28
|
+
term: string;
|
|
29
|
+
children: React.ReactNode;
|
|
30
|
+
mono?: boolean;
|
|
31
|
+
muted?: boolean;
|
|
32
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
//# sourceMappingURL=states.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"states.d.ts","sourceRoot":"","sources":["../../../../src/admin/surfaces/settings/states.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB;;;;;;;GAOG;AAEH,wBAAgB,YAAY,CAAC,EAAE,KAAkB,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,2CAOtE;AAED,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,2CAWzF;AAED,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,2CAO5D;AAED,wFAAwF;AACxF,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,2CAOrE;AAED,wBAAgB,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,2CAElE;AAED,wBAAgB,MAAM,CAAC,EACrB,IAAI,EACJ,QAAQ,EACR,IAAY,EACZ,KAAa,GACd,EAAE;IACD,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,2CAUA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
/**
|
|
4
|
+
* Shared presentational states + helpers for the Settings suite (0.2.0 T12).
|
|
5
|
+
* Ported verbatim from `apps/reference/app/admin/settings/states.tsx`. The
|
|
6
|
+
* `LoadingState`/`ErrorState` here are byte-identical to the core primitives;
|
|
7
|
+
* they are kept in this settings-local module (alongside the settings-specific
|
|
8
|
+
* `SuccessFlash`/`ConfigNote`/`DefList`/`DefRow`) so the whole Settings suite
|
|
9
|
+
* imports its chrome from one place, exactly as the reference did.
|
|
10
|
+
*/
|
|
11
|
+
export function LoadingState({ label = 'Loading…' }) {
|
|
12
|
+
return (_jsxs("div", { className: "kywi-admin-loading", role: "status", "aria-live": "polite", children: [_jsx("span", { className: "kywi-spinner", "aria-hidden": "true" }), _jsx("span", { children: label })] }));
|
|
13
|
+
}
|
|
14
|
+
export function ErrorState({ message, onRetry }) {
|
|
15
|
+
return (_jsxs("div", { className: "kywi-admin-error", role: "alert", children: [_jsx("p", { className: "kywi-admin-error-message", children: message }), onRetry && (_jsx("button", { type: "button", className: "kywi-btn kywi-btn-secondary", onClick: onRetry, children: "Try again" }))] }));
|
|
16
|
+
}
|
|
17
|
+
export function SuccessFlash({ message }) {
|
|
18
|
+
return (_jsxs("div", { className: "kywi-settings-success", role: "status", "aria-live": "polite", children: [_jsx("span", { "aria-hidden": "true", children: "\u2713" }), _jsx("span", { children: message })] }));
|
|
19
|
+
}
|
|
20
|
+
/** Callout signalling a value is defined in kywi.config.ts and read-only at runtime. */
|
|
21
|
+
export function ConfigNote({ children }) {
|
|
22
|
+
return (_jsxs("div", { className: "kywi-settings-note", children: [_jsx("span", { "aria-hidden": "true", children: "\u24D8" }), _jsx("span", { children: children })] }));
|
|
23
|
+
}
|
|
24
|
+
export function DefList({ children }) {
|
|
25
|
+
return _jsx("dl", { className: "kywi-def-list", children: children });
|
|
26
|
+
}
|
|
27
|
+
export function DefRow({ term, children, mono = false, muted = false, }) {
|
|
28
|
+
const cls = ['kywi-def-val', mono ? 'kywi-def-val--mono' : '', muted ? 'kywi-def-val--muted' : '']
|
|
29
|
+
.filter(Boolean)
|
|
30
|
+
.join(' ');
|
|
31
|
+
return (_jsxs("div", { className: "kywi-def-row", children: [_jsx("dt", { className: "kywi-def-term", children: term }), _jsx("dd", { className: cls, children: children })] }));
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=states.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"states.js","sourceRoot":"","sources":["../../../../src/admin/surfaces/settings/states.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAGZ;;;;;;;GAOG;AAEH,MAAM,UAAU,YAAY,CAAC,EAAE,KAAK,GAAG,UAAU,EAAsB;IACrE,OAAO,CACL,eAAK,SAAS,EAAC,oBAAoB,EAAC,IAAI,EAAC,QAAQ,eAAW,QAAQ,aAClE,eAAM,SAAS,EAAC,cAAc,iBAAa,MAAM,GAAG,EACpD,yBAAO,KAAK,GAAQ,IAChB,CACP,CAAA;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAE,OAAO,EAAE,OAAO,EAA6C;IACxF,OAAO,CACL,eAAK,SAAS,EAAC,kBAAkB,EAAC,IAAI,EAAC,OAAO,aAC5C,YAAG,SAAS,EAAC,0BAA0B,YAAE,OAAO,GAAK,EACpD,OAAO,IAAI,CACV,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,6BAA6B,EAAC,OAAO,EAAE,OAAO,0BAErE,CACV,IACG,CACP,CAAA;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAE,OAAO,EAAuB;IAC3D,OAAO,CACL,eAAK,SAAS,EAAC,uBAAuB,EAAC,IAAI,EAAC,QAAQ,eAAW,QAAQ,aACrE,8BAAkB,MAAM,uBAAS,EACjC,yBAAO,OAAO,GAAQ,IAClB,CACP,CAAA;AACH,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,UAAU,CAAC,EAAE,QAAQ,EAAiC;IACpE,OAAO,CACL,eAAK,SAAS,EAAC,oBAAoB,aACjC,8BAAkB,MAAM,uBAAS,EACjC,yBAAO,QAAQ,GAAQ,IACnB,CACP,CAAA;AACH,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,EAAE,QAAQ,EAAiC;IACjE,OAAO,aAAI,SAAS,EAAC,eAAe,YAAE,QAAQ,GAAM,CAAA;AACtD,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,EACrB,IAAI,EACJ,QAAQ,EACR,IAAI,GAAG,KAAK,EACZ,KAAK,GAAG,KAAK,GAMd;IACC,MAAM,GAAG,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/F,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAA;IACZ,OAAO,CACL,eAAK,SAAS,EAAC,cAAc,aAC3B,aAAI,SAAS,EAAC,eAAe,YAAE,IAAI,GAAM,EACzC,aAAI,SAAS,EAAE,GAAG,YAAG,QAAQ,GAAM,IAC/B,CACP,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../../../src/admin/surfaces/taxonomy/categories.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AA8NrD,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,MAAM,EAAE,YAAY,2CAkL7D"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
/**
|
|
4
|
+
* `taxonomy.categories` surface — the Categories tree manager, ported verbatim
|
|
5
|
+
* from `apps/reference/app/admin/categories/page.tsx` (0.2.0 T11). Markup / copy
|
|
6
|
+
* / inline styles are unchanged; the wiring substitutions (plan §1.3) are: the
|
|
7
|
+
* shared taxonomy atoms now import from the co-located `./taxonomy-ui` (whose
|
|
8
|
+
* `apiGet`/`apiSend` source the host-client JSON layer), and `AdminShellWrapper`
|
|
9
|
+
* is gone — chrome is rendered once by `KywiAdminApp` (T14).
|
|
10
|
+
*/
|
|
11
|
+
import { useCallback, useEffect, useMemo, useState } from 'react';
|
|
12
|
+
import { apiGet, apiSend, slugify, Loading, ErrorBox, EmptyState, Modal, ConfirmDialog, } from './taxonomy-ui.js';
|
|
13
|
+
/** Build a parent→children tree from the flat category list. */
|
|
14
|
+
function buildTree(rows) {
|
|
15
|
+
const byId = new Map();
|
|
16
|
+
for (const row of rows)
|
|
17
|
+
byId.set(row.id, { ...row, children: [] });
|
|
18
|
+
const roots = [];
|
|
19
|
+
for (const node of byId.values()) {
|
|
20
|
+
if (node.parentId && byId.has(node.parentId))
|
|
21
|
+
byId.get(node.parentId).children.push(node);
|
|
22
|
+
else
|
|
23
|
+
roots.push(node);
|
|
24
|
+
}
|
|
25
|
+
const sort = (list) => {
|
|
26
|
+
list.sort((a, b) => a.sortOrder - b.sortOrder || a.name.localeCompare(b.name));
|
|
27
|
+
list.forEach((n) => sort(n.children));
|
|
28
|
+
};
|
|
29
|
+
sort(roots);
|
|
30
|
+
return roots;
|
|
31
|
+
}
|
|
32
|
+
function CategoryForm({ form, busy, error, onChange, onSubmit, onClose, }) {
|
|
33
|
+
const title = form.mode === 'edit'
|
|
34
|
+
? 'Rename category'
|
|
35
|
+
: form.parentName
|
|
36
|
+
? `New child of “${form.parentName}”`
|
|
37
|
+
: 'New category';
|
|
38
|
+
return (_jsx(Modal, { title: title, onClose: onClose, children: _jsxs("form", { onSubmit: (e) => {
|
|
39
|
+
e.preventDefault();
|
|
40
|
+
onSubmit();
|
|
41
|
+
}, children: [_jsxs("div", { className: "kywi-form-field", children: [_jsxs("label", { className: "kywi-label", htmlFor: "category-name", children: ["Name ", _jsx("span", { className: "kywi-required", children: "*" })] }), _jsx("input", { id: "category-name", className: "kywi-input", type: "text", value: form.name, placeholder: "e.g. News", onChange: (e) => {
|
|
42
|
+
const name = e.target.value;
|
|
43
|
+
onChange({
|
|
44
|
+
name,
|
|
45
|
+
...(form.slugTouched ? {} : { slug: slugify(name) }),
|
|
46
|
+
});
|
|
47
|
+
} })] }), _jsxs("div", { className: "kywi-form-field", children: [_jsxs("label", { className: "kywi-label", htmlFor: "category-slug", children: ["Slug ", _jsx("span", { className: "kywi-required", children: "*" })] }), _jsx("input", { id: "category-slug", className: "kywi-input", type: "text", value: form.slug, placeholder: "news", onChange: (e) => onChange({ slug: e.target.value, slugTouched: true }) })] }), error && (_jsx("p", { className: "kywi-admin-error-message", role: "alert", style: { marginTop: 'var(--kywi-space-2)' }, children: error })), _jsxs("div", { className: "kywi-admin-form-actions", children: [_jsx("button", { type: "button", className: "kywi-btn kywi-btn-secondary", onClick: onClose, disabled: busy, children: "Cancel" }), _jsx("button", { type: "submit", className: "kywi-btn kywi-btn-primary", disabled: busy || !form.name.trim() || !form.slug.trim(), children: busy ? 'Saving…' : form.mode === 'edit' ? 'Save' : 'Create' })] })] }) }));
|
|
48
|
+
}
|
|
49
|
+
// ── Tree node ────────────────────────────────────────────────────────────────
|
|
50
|
+
function CategoryTreeNode({ node, onAddChild, onRename, onDelete, }) {
|
|
51
|
+
return (_jsxs("div", { className: "kywi-category-node", "data-testid": "category-node", children: [_jsxs("div", { className: "kywi-category-row", children: [_jsxs("span", { className: "kywi-category-row-main", children: [_jsx("span", { className: "kywi-category-name", children: node.name }), _jsxs("code", { className: "kywi-category-slug", children: ["/", node.slug] }), !node.isActive && (_jsx("span", { className: "kywi-status-badge kywi-status-inactive", children: "Inactive" }))] }), _jsxs("span", { className: "kywi-category-row-actions", children: [_jsx("button", { type: "button", className: "kywi-btn kywi-btn-ghost kywi-btn-xs", "aria-label": `Add child to ${node.name}`, onClick: () => onAddChild(node), children: "Add child" }), _jsx("button", { type: "button", className: "kywi-btn kywi-btn-ghost kywi-btn-xs", "aria-label": `Rename ${node.name}`, onClick: () => onRename(node), children: "Rename" }), _jsx("button", { type: "button", className: "kywi-btn kywi-btn-ghost kywi-btn-xs kywi-ctx-danger", "aria-label": `Delete ${node.name}`, onClick: () => onDelete(node), children: "Delete" })] })] }), node.children.length > 0 && (_jsx("div", { className: "kywi-category-children", children: node.children.map((child) => (_jsx(CategoryTreeNode, { node: child, onAddChild: onAddChild, onRename: onRename, onDelete: onDelete }, child.id))) }))] }));
|
|
52
|
+
}
|
|
53
|
+
// ── Page ───────────────────────────────────────────────────────────────────────
|
|
54
|
+
const EMPTY_FORM = {
|
|
55
|
+
mode: 'create',
|
|
56
|
+
parentId: null,
|
|
57
|
+
parentName: null,
|
|
58
|
+
name: '',
|
|
59
|
+
slug: '',
|
|
60
|
+
slugTouched: false,
|
|
61
|
+
};
|
|
62
|
+
export default function CategoriesSurface(_props) {
|
|
63
|
+
const [rows, setRows] = useState([]);
|
|
64
|
+
const [loading, setLoading] = useState(true);
|
|
65
|
+
const [error, setError] = useState(null);
|
|
66
|
+
const [form, setForm] = useState(null);
|
|
67
|
+
const [formBusy, setFormBusy] = useState(false);
|
|
68
|
+
const [formError, setFormError] = useState(null);
|
|
69
|
+
const [deleting, setDeleting] = useState(null);
|
|
70
|
+
const [deleteBusy, setDeleteBusy] = useState(false);
|
|
71
|
+
const load = useCallback(async () => {
|
|
72
|
+
setLoading(true);
|
|
73
|
+
setError(null);
|
|
74
|
+
try {
|
|
75
|
+
setRows(await apiGet('/api/v1/categories'));
|
|
76
|
+
}
|
|
77
|
+
catch (e) {
|
|
78
|
+
setError(e instanceof Error ? e.message : 'Failed to load categories');
|
|
79
|
+
}
|
|
80
|
+
finally {
|
|
81
|
+
setLoading(false);
|
|
82
|
+
}
|
|
83
|
+
}, []);
|
|
84
|
+
useEffect(() => {
|
|
85
|
+
load();
|
|
86
|
+
}, [load]);
|
|
87
|
+
const tree = useMemo(() => buildTree(rows), [rows]);
|
|
88
|
+
// ── Create / rename ──────────────────────────────────────────────────────
|
|
89
|
+
const openCreate = () => {
|
|
90
|
+
setFormError(null);
|
|
91
|
+
setForm({ ...EMPTY_FORM });
|
|
92
|
+
};
|
|
93
|
+
const openAddChild = (n) => {
|
|
94
|
+
setFormError(null);
|
|
95
|
+
setForm({ ...EMPTY_FORM, parentId: n.id, parentName: n.name });
|
|
96
|
+
};
|
|
97
|
+
const openRename = (n) => {
|
|
98
|
+
setFormError(null);
|
|
99
|
+
setForm({ mode: 'edit', id: n.id, name: n.name, slug: n.slug, slugTouched: true });
|
|
100
|
+
};
|
|
101
|
+
const submitForm = useCallback(async () => {
|
|
102
|
+
if (!form)
|
|
103
|
+
return;
|
|
104
|
+
setFormBusy(true);
|
|
105
|
+
setFormError(null);
|
|
106
|
+
try {
|
|
107
|
+
if (form.mode === 'edit') {
|
|
108
|
+
await apiSend(`/api/v1/categories/${form.id}`, 'PUT', {
|
|
109
|
+
name: form.name.trim(),
|
|
110
|
+
slug: form.slug.trim(),
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
await apiSend('/api/v1/categories', 'POST', {
|
|
115
|
+
name: form.name.trim(),
|
|
116
|
+
slug: form.slug.trim(),
|
|
117
|
+
...(form.parentId ? { parentId: form.parentId } : {}),
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
setForm(null);
|
|
121
|
+
await load();
|
|
122
|
+
}
|
|
123
|
+
catch (e) {
|
|
124
|
+
setFormError(e instanceof Error ? e.message : 'Save failed');
|
|
125
|
+
}
|
|
126
|
+
finally {
|
|
127
|
+
setFormBusy(false);
|
|
128
|
+
}
|
|
129
|
+
}, [form, load]);
|
|
130
|
+
// ── Delete (with content-count warning) ──────────────────────────────────
|
|
131
|
+
const openDelete = useCallback(async (node) => {
|
|
132
|
+
setDeleting({ node, count: null });
|
|
133
|
+
try {
|
|
134
|
+
const content = await apiGet(`/api/v1/categories/${node.id}/content`);
|
|
135
|
+
setDeleting({ node, count: Array.isArray(content) ? content.length : 0 });
|
|
136
|
+
}
|
|
137
|
+
catch {
|
|
138
|
+
// Count is a courtesy warning; if it fails, still allow the delete.
|
|
139
|
+
setDeleting({ node, count: 0 });
|
|
140
|
+
}
|
|
141
|
+
}, []);
|
|
142
|
+
const confirmDelete = useCallback(async () => {
|
|
143
|
+
if (!deleting)
|
|
144
|
+
return;
|
|
145
|
+
setDeleteBusy(true);
|
|
146
|
+
setError(null);
|
|
147
|
+
try {
|
|
148
|
+
await apiSend(`/api/v1/categories/${deleting.node.id}`, 'DELETE');
|
|
149
|
+
setDeleting(null);
|
|
150
|
+
await load();
|
|
151
|
+
}
|
|
152
|
+
catch (e) {
|
|
153
|
+
setError(e instanceof Error ? e.message : 'Delete failed');
|
|
154
|
+
setDeleting(null);
|
|
155
|
+
}
|
|
156
|
+
finally {
|
|
157
|
+
setDeleteBusy(false);
|
|
158
|
+
}
|
|
159
|
+
}, [deleting, load]);
|
|
160
|
+
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "kywi-admin-page-header", children: [_jsx("h1", { children: "Categories" }), _jsx("button", { type: "button", className: "kywi-btn kywi-btn-primary", onClick: openCreate, children: "New category" })] }), loading ? (_jsx(Loading, { label: "Loading categories\u2026" })) : error ? (_jsx(ErrorBox, { message: error, onRetry: load })) : tree.length === 0 ? (_jsxs(EmptyState, { children: [_jsx("p", { children: "No categories yet." }), _jsx("p", { className: "kywi-text-muted", children: "Categories organise content into a browsable hierarchy. Create your first one to get started." }), _jsx("button", { type: "button", className: "kywi-btn kywi-btn-primary", onClick: openCreate, children: "New category" })] })) : (_jsx("div", { className: "kywi-category-tree", "data-testid": "category-tree", children: tree.map((node) => (_jsx(CategoryTreeNode, { node: node, onAddChild: openAddChild, onRename: openRename, onDelete: openDelete }, node.id))) })), form && (_jsx(CategoryForm, { form: form, busy: formBusy, error: formError, onChange: (patch) => setForm((prev) => (prev ? { ...prev, ...patch } : prev)), onSubmit: submitForm, onClose: () => setForm(null) })), deleting && (_jsx(ConfirmDialog, { title: `Delete “${deleting.node.name}”?`, message: _jsxs(_Fragment, { children: [_jsxs("p", { children: ["This permanently removes the category", deleting.node.children.length > 0 && (_jsxs(_Fragment, { children: [" and re-parents its ", deleting.node.children.length, " child categor", deleting.node.children.length === 1 ? 'y' : 'ies'] })), "."] }), deleting.count === null ? (_jsx("p", { className: "kywi-text-muted", children: "Checking assigned content\u2026" })) : deleting.count > 0 ? (_jsxs("p", { className: "kywi-admin-callout kywi-admin-callout-info", children: [deleting.count, " content item", deleting.count === 1 ? ' is' : 's are', " assigned to this category and will be unassigned."] })) : (_jsx("p", { className: "kywi-text-muted", children: "No content is assigned to this category." }))] }), busy: deleteBusy, onConfirm: confirmDelete, onCancel: () => setDeleting(null) }))] }));
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=categories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"categories.js","sourceRoot":"","sources":["../../../../src/admin/surfaces/taxonomy/categories.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../../../src/admin/surfaces/taxonomy/tags.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AA+GrD,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,MAAM,EAAE,YAAY,2CAmNvD"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
/**
|
|
4
|
+
* `taxonomy.tags` surface — the Tags table manager, ported verbatim from
|
|
5
|
+
* `apps/reference/app/admin/tags/page.tsx` (0.2.0 T11). Markup / copy / inline
|
|
6
|
+
* styles are unchanged; the wiring substitutions (plan §1.3) are: the shared
|
|
7
|
+
* taxonomy atoms now import from the co-located `./taxonomy-ui` (whose
|
|
8
|
+
* `apiGet`/`apiSend` source the host-client JSON layer), and `AdminShellWrapper`
|
|
9
|
+
* is gone — chrome is rendered once by `KywiAdminApp` (T14).
|
|
10
|
+
*/
|
|
11
|
+
import { useCallback, useEffect, useMemo, useState } from 'react';
|
|
12
|
+
import { apiGet, apiSend, slugify, Loading, ErrorBox, EmptyState, Modal, ConfirmDialog, } from './taxonomy-ui.js';
|
|
13
|
+
// ── Create / rename modal ──────────────────────────────────────────────────────
|
|
14
|
+
function TagForm({ form, busy, error, onChange, onSubmit, onClose, }) {
|
|
15
|
+
return (_jsx(Modal, { title: form.mode === 'edit' ? 'Rename tag' : 'New tag', onClose: onClose, children: _jsxs("form", { onSubmit: (e) => {
|
|
16
|
+
e.preventDefault();
|
|
17
|
+
onSubmit();
|
|
18
|
+
}, children: [_jsxs("div", { className: "kywi-form-field", children: [_jsxs("label", { className: "kywi-label", htmlFor: "tag-label", children: ["Label ", _jsx("span", { className: "kywi-required", children: "*" })] }), _jsx("input", { id: "tag-label", className: "kywi-input", type: "text", value: form.label, placeholder: "e.g. React", onChange: (e) => {
|
|
19
|
+
const label = e.target.value;
|
|
20
|
+
onChange({ label, ...(form.slugTouched ? {} : { slug: slugify(label) }) });
|
|
21
|
+
} })] }), _jsxs("div", { className: "kywi-form-field", children: [_jsxs("label", { className: "kywi-label", htmlFor: "tag-slug", children: ["Slug ", _jsx("span", { className: "kywi-required", children: "*" })] }), _jsx("input", { id: "tag-slug", className: "kywi-input", type: "text", value: form.slug, placeholder: "react", onChange: (e) => onChange({ slug: e.target.value, slugTouched: true }) })] }), error && (_jsx("p", { className: "kywi-admin-error-message", role: "alert", style: { marginTop: 'var(--kywi-space-2)' }, children: error })), _jsxs("div", { className: "kywi-admin-form-actions", children: [_jsx("button", { type: "button", className: "kywi-btn kywi-btn-secondary", onClick: onClose, disabled: busy, children: "Cancel" }), _jsx("button", { type: "submit", className: "kywi-btn kywi-btn-primary", disabled: busy || !form.label.trim() || !form.slug.trim(), children: busy ? 'Saving…' : form.mode === 'edit' ? 'Save' : 'Create' })] })] }) }));
|
|
22
|
+
}
|
|
23
|
+
// ── Page ───────────────────────────────────────────────────────────────────────
|
|
24
|
+
export default function TagsSurface(_props) {
|
|
25
|
+
const [tags, setTags] = useState([]);
|
|
26
|
+
const [loading, setLoading] = useState(true);
|
|
27
|
+
const [error, setError] = useState(null);
|
|
28
|
+
const [search, setSearch] = useState('');
|
|
29
|
+
const [form, setForm] = useState(null);
|
|
30
|
+
const [formBusy, setFormBusy] = useState(false);
|
|
31
|
+
const [formError, setFormError] = useState(null);
|
|
32
|
+
const [deleting, setDeleting] = useState(null);
|
|
33
|
+
const [deleteBusy, setDeleteBusy] = useState(false);
|
|
34
|
+
const load = useCallback(async () => {
|
|
35
|
+
setLoading(true);
|
|
36
|
+
setError(null);
|
|
37
|
+
try {
|
|
38
|
+
setTags(await apiGet('/api/v1/tags'));
|
|
39
|
+
}
|
|
40
|
+
catch (e) {
|
|
41
|
+
setError(e instanceof Error ? e.message : 'Failed to load tags');
|
|
42
|
+
}
|
|
43
|
+
finally {
|
|
44
|
+
setLoading(false);
|
|
45
|
+
}
|
|
46
|
+
}, []);
|
|
47
|
+
useEffect(() => {
|
|
48
|
+
load();
|
|
49
|
+
}, [load]);
|
|
50
|
+
const filtered = useMemo(() => {
|
|
51
|
+
const q = search.trim().toLowerCase();
|
|
52
|
+
if (!q)
|
|
53
|
+
return tags;
|
|
54
|
+
return tags.filter((t) => `${t.label} ${t.slug}`.toLowerCase().includes(q));
|
|
55
|
+
}, [tags, search]);
|
|
56
|
+
const openCreate = () => {
|
|
57
|
+
setFormError(null);
|
|
58
|
+
setForm({ mode: 'create', label: '', slug: '', slugTouched: false });
|
|
59
|
+
};
|
|
60
|
+
const openRename = (t) => {
|
|
61
|
+
setFormError(null);
|
|
62
|
+
setForm({ mode: 'edit', id: t.id, label: t.label, slug: t.slug, slugTouched: true });
|
|
63
|
+
};
|
|
64
|
+
const submitForm = useCallback(async () => {
|
|
65
|
+
if (!form)
|
|
66
|
+
return;
|
|
67
|
+
setFormBusy(true);
|
|
68
|
+
setFormError(null);
|
|
69
|
+
try {
|
|
70
|
+
if (form.mode === 'edit') {
|
|
71
|
+
await apiSend(`/api/v1/tags/${form.id}`, 'PUT', {
|
|
72
|
+
label: form.label.trim(),
|
|
73
|
+
slug: form.slug.trim(),
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
await apiSend('/api/v1/tags', 'POST', {
|
|
78
|
+
label: form.label.trim(),
|
|
79
|
+
slug: form.slug.trim(),
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
setForm(null);
|
|
83
|
+
await load();
|
|
84
|
+
}
|
|
85
|
+
catch (e) {
|
|
86
|
+
setFormError(e instanceof Error ? e.message : 'Save failed');
|
|
87
|
+
}
|
|
88
|
+
finally {
|
|
89
|
+
setFormBusy(false);
|
|
90
|
+
}
|
|
91
|
+
}, [form, load]);
|
|
92
|
+
const confirmDelete = useCallback(async () => {
|
|
93
|
+
if (!deleting)
|
|
94
|
+
return;
|
|
95
|
+
setDeleteBusy(true);
|
|
96
|
+
setError(null);
|
|
97
|
+
try {
|
|
98
|
+
await apiSend(`/api/v1/tags/${deleting.id}`, 'DELETE');
|
|
99
|
+
setDeleting(null);
|
|
100
|
+
await load();
|
|
101
|
+
}
|
|
102
|
+
catch (e) {
|
|
103
|
+
setError(e instanceof Error ? e.message : 'Delete failed');
|
|
104
|
+
setDeleting(null);
|
|
105
|
+
}
|
|
106
|
+
finally {
|
|
107
|
+
setDeleteBusy(false);
|
|
108
|
+
}
|
|
109
|
+
}, [deleting, load]);
|
|
110
|
+
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "kywi-admin-page-header", children: [_jsx("h1", { children: "Tags" }), _jsx("button", { type: "button", className: "kywi-btn kywi-btn-primary", onClick: openCreate, children: "New tag" })] }), loading ? (_jsx(Loading, { label: "Loading tags\u2026" })) : error ? (_jsx(ErrorBox, { message: error, onRetry: load })) : tags.length === 0 ? (_jsxs(EmptyState, { children: [_jsx("p", { children: "No tags yet." }), _jsx("p", { className: "kywi-text-muted", children: "Tags are lightweight, non-hierarchical labels for content. Create your first one to get started." }), _jsx("button", { type: "button", className: "kywi-btn kywi-btn-primary", onClick: openCreate, children: "New tag" })] })) : (_jsxs(_Fragment, { children: [_jsx("div", { className: "kywi-admin-toolbar", children: _jsx("input", { type: "search", className: "kywi-admin-list-search", placeholder: "Search tags\u2026", "aria-label": "Search tags", value: search, onChange: (e) => setSearch(e.target.value) }) }), _jsx("div", { className: "kywi-table-scroll", children: _jsxs("table", { className: "kywi-admin-table", "data-testid": "tags-table", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { scope: "col", children: "Label" }), _jsx("th", { scope: "col", children: "Slug" }), _jsx("th", { scope: "col", children: "Usage" }), _jsx("th", { scope: "col", className: "kywi-col-actions", children: "Actions" })] }) }), _jsxs("tbody", { children: [filtered.map((t) => (_jsxs("tr", { "data-testid": "tag-row", children: [_jsx("td", { children: t.label }), _jsx("td", { children: _jsxs("code", { className: "kywi-category-slug", children: ["/", t.slug] }) }), _jsx("td", { children: t.usageCount }), _jsx("td", { className: "kywi-col-actions", children: _jsxs("span", { className: "kywi-related-actions", children: [_jsx("button", { type: "button", className: "kywi-btn kywi-btn-ghost kywi-btn-xs", "aria-label": `Rename ${t.label}`, onClick: () => openRename(t), children: "Rename" }), _jsx("button", { type: "button", className: "kywi-btn kywi-btn-ghost kywi-btn-xs kywi-ctx-danger", "aria-label": `Delete ${t.label}`, onClick: () => setDeleting(t), children: "Delete" })] }) })] }, t.id))), filtered.length === 0 && (_jsx("tr", { children: _jsxs("td", { colSpan: 4, className: "kywi-text-muted", style: { textAlign: 'center' }, children: ["No tags match \u201C", search, "\u201D."] }) }))] })] }) })] })), form && (_jsx(TagForm, { form: form, busy: formBusy, error: formError, onChange: (patch) => setForm((prev) => (prev ? { ...prev, ...patch } : prev)), onSubmit: submitForm, onClose: () => setForm(null) })), deleting && (_jsx(ConfirmDialog, { title: `Delete “${deleting.label}”?`, message: _jsxs(_Fragment, { children: [_jsx("p", { children: "This permanently removes the tag." }), deleting.usageCount > 0 ? (_jsxs("p", { className: "kywi-admin-callout kywi-admin-callout-info", children: ["This tag is used on ", deleting.usageCount, " content item", deleting.usageCount === 1 ? '' : 's', "; those references will be removed."] })) : (_jsx("p", { className: "kywi-text-muted", children: "This tag is not used on any content." }))] }), busy: deleteBusy, onConfirm: confirmDelete, onCancel: () => setDeleting(null) }))] }));
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=tags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../../../src/admin/surfaces/taxonomy/tags.tsx"],"names":[],"mappings":"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"}
|