@endora-commerce/mod-cms 0.0.0-stage → 0.100.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/LICENSE +21 -0
- package/README.md +65 -2
- package/dist/admin/api/cms-client.d.ts +77 -0
- package/dist/admin/api/cms-client.d.ts.map +1 -0
- package/dist/admin/api/cms-client.js +162 -0
- package/dist/admin/api/cms-client.js.map +1 -0
- package/dist/admin/components/AdminCatalogPreviewProvider.d.ts +6 -0
- package/dist/admin/components/AdminCatalogPreviewProvider.d.ts.map +1 -0
- package/dist/admin/components/AdminCatalogPreviewProvider.js +74 -0
- package/dist/admin/components/AdminCatalogPreviewProvider.js.map +1 -0
- package/dist/admin/components/AdminCmsAssetProvider.d.ts +9 -0
- package/dist/admin/components/AdminCmsAssetProvider.d.ts.map +1 -0
- package/dist/admin/components/AdminCmsAssetProvider.js +50 -0
- package/dist/admin/components/AdminCmsAssetProvider.js.map +1 -0
- package/dist/admin/components/BackgroundFields.d.ts +4 -0
- package/dist/admin/components/BackgroundFields.d.ts.map +1 -0
- package/dist/admin/components/BackgroundFields.js +40 -0
- package/dist/admin/components/BackgroundFields.js.map +1 -0
- package/dist/admin/components/ButtonLinkFields.d.ts +6 -0
- package/dist/admin/components/ButtonLinkFields.d.ts.map +1 -0
- package/dist/admin/components/ButtonLinkFields.js +127 -0
- package/dist/admin/components/ButtonLinkFields.js.map +1 -0
- package/dist/admin/components/CarouselPreviewNav.d.ts +12 -0
- package/dist/admin/components/CarouselPreviewNav.d.ts.map +1 -0
- package/dist/admin/components/CarouselPreviewNav.js +31 -0
- package/dist/admin/components/CarouselPreviewNav.js.map +1 -0
- package/dist/admin/components/CmsContentEditorLayout.d.ts +12 -0
- package/dist/admin/components/CmsContentEditorLayout.d.ts.map +1 -0
- package/dist/admin/components/CmsContentEditorLayout.js +9 -0
- package/dist/admin/components/CmsContentEditorLayout.js.map +1 -0
- package/dist/admin/components/ComponentDragHandle.d.ts +6 -0
- package/dist/admin/components/ComponentDragHandle.d.ts.map +1 -0
- package/dist/admin/components/ComponentDragHandle.js +119 -0
- package/dist/admin/components/ComponentDragHandle.js.map +1 -0
- package/dist/admin/components/ContentSliderActionBarExtras.d.ts +6 -0
- package/dist/admin/components/ContentSliderActionBarExtras.d.ts.map +1 -0
- package/dist/admin/components/ContentSliderActionBarExtras.js +109 -0
- package/dist/admin/components/ContentSliderActionBarExtras.js.map +1 -0
- package/dist/admin/components/HookBlockAttachmentsPanel.d.ts +9 -0
- package/dist/admin/components/HookBlockAttachmentsPanel.d.ts.map +1 -0
- package/dist/admin/components/HookBlockAttachmentsPanel.js +137 -0
- package/dist/admin/components/HookBlockAttachmentsPanel.js.map +1 -0
- package/dist/admin/components/PageBuilderActionBar.d.ts +10 -0
- package/dist/admin/components/PageBuilderActionBar.d.ts.map +1 -0
- package/dist/admin/components/PageBuilderActionBar.js +118 -0
- package/dist/admin/components/PageBuilderActionBar.js.map +1 -0
- package/dist/admin/components/PageBuilderDrawer.d.ts +16 -0
- package/dist/admin/components/PageBuilderDrawer.d.ts.map +1 -0
- package/dist/admin/components/PageBuilderDrawer.js +53 -0
- package/dist/admin/components/PageBuilderDrawer.js.map +1 -0
- package/dist/admin/components/PageBuilderEditor.d.ts +45 -0
- package/dist/admin/components/PageBuilderEditor.d.ts.map +1 -0
- package/dist/admin/components/PageBuilderEditor.js +632 -0
- package/dist/admin/components/PageBuilderEditor.js.map +1 -0
- package/dist/admin/components/PuckActionGuard.d.ts +12 -0
- package/dist/admin/components/PuckActionGuard.d.ts.map +1 -0
- package/dist/admin/components/PuckActionGuard.js +30 -0
- package/dist/admin/components/PuckActionGuard.js.map +1 -0
- package/dist/admin/components/RowLayoutPicker.d.ts +8 -0
- package/dist/admin/components/RowLayoutPicker.d.ts.map +1 -0
- package/dist/admin/components/RowLayoutPicker.js +17 -0
- package/dist/admin/components/RowLayoutPicker.js.map +1 -0
- package/dist/admin/components/SliderPreviewActionBarExtras.d.ts +6 -0
- package/dist/admin/components/SliderPreviewActionBarExtras.d.ts.map +1 -0
- package/dist/admin/components/SliderPreviewActionBarExtras.js +32 -0
- package/dist/admin/components/SliderPreviewActionBarExtras.js.map +1 -0
- package/dist/admin/components/admin-catalog-preview-map.d.ts +17 -0
- package/dist/admin/components/admin-catalog-preview-map.d.ts.map +1 -0
- package/dist/admin/components/admin-catalog-preview-map.js +18 -0
- package/dist/admin/components/admin-catalog-preview-map.js.map +1 -0
- package/dist/admin/components/build-viewports.d.ts +23 -0
- package/dist/admin/components/build-viewports.d.ts.map +1 -0
- package/dist/admin/components/build-viewports.js +23 -0
- package/dist/admin/components/build-viewports.js.map +1 -0
- package/dist/admin/components/cms-template-layout.d.ts +16 -0
- package/dist/admin/components/cms-template-layout.d.ts.map +1 -0
- package/dist/admin/components/cms-template-layout.js +53 -0
- package/dist/admin/components/cms-template-layout.js.map +1 -0
- package/dist/admin/components/page-builder-i18n.d.ts +27 -0
- package/dist/admin/components/page-builder-i18n.d.ts.map +1 -0
- package/dist/admin/components/page-builder-i18n.js +34 -0
- package/dist/admin/components/page-builder-i18n.js.map +1 -0
- package/dist/admin/components/puck-safe.d.ts +10 -0
- package/dist/admin/components/puck-safe.d.ts.map +1 -0
- package/dist/admin/components/puck-safe.js +22 -0
- package/dist/admin/components/puck-safe.js.map +1 -0
- package/dist/admin/components/scope-utils.d.ts +4 -0
- package/dist/admin/components/scope-utils.d.ts.map +1 -0
- package/dist/admin/components/scope-utils.js +7 -0
- package/dist/admin/components/scope-utils.js.map +1 -0
- package/dist/admin/editors/BlockEditor.d.ts +9 -0
- package/dist/admin/editors/BlockEditor.d.ts.map +1 -0
- package/dist/admin/editors/BlockEditor.js +217 -0
- package/dist/admin/editors/BlockEditor.js.map +1 -0
- package/dist/admin/editors/PageEditor.d.ts +9 -0
- package/dist/admin/editors/PageEditor.d.ts.map +1 -0
- package/dist/admin/editors/PageEditor.js +316 -0
- package/dist/admin/editors/PageEditor.js.map +1 -0
- package/dist/admin/editors/TemplateEditor.d.ts +9 -0
- package/dist/admin/editors/TemplateEditor.d.ts.map +1 -0
- package/dist/admin/editors/TemplateEditor.js +180 -0
- package/dist/admin/editors/TemplateEditor.js.map +1 -0
- package/dist/admin/index.d.ts +38 -0
- package/dist/admin/index.d.ts.map +1 -0
- package/dist/admin/index.js +144 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/admin/pages/BlocksListPage.d.ts +9 -0
- package/dist/admin/pages/BlocksListPage.d.ts.map +1 -0
- package/dist/admin/pages/BlocksListPage.js +47 -0
- package/dist/admin/pages/BlocksListPage.js.map +1 -0
- package/dist/admin/pages/HooksPage.d.ts +9 -0
- package/dist/admin/pages/HooksPage.d.ts.map +1 -0
- package/dist/admin/pages/HooksPage.js +41 -0
- package/dist/admin/pages/HooksPage.js.map +1 -0
- package/dist/admin/pages/PagesListPage.d.ts +9 -0
- package/dist/admin/pages/PagesListPage.d.ts.map +1 -0
- package/dist/admin/pages/PagesListPage.js +51 -0
- package/dist/admin/pages/PagesListPage.js.map +1 -0
- package/dist/admin/pages/TemplatesListPage.d.ts +9 -0
- package/dist/admin/pages/TemplatesListPage.d.ts.map +1 -0
- package/dist/admin/pages/TemplatesListPage.js +47 -0
- package/dist/admin/pages/TemplatesListPage.js.map +1 -0
- package/dist/admin-ui/index.d.ts +90 -0
- package/dist/admin-ui/index.d.ts.map +1 -0
- package/dist/admin-ui/index.js +89 -0
- package/dist/admin-ui/index.js.map +1 -0
- package/dist/backend/cli/block-names.d.ts +92 -0
- package/dist/backend/cli/block-names.d.ts.map +1 -0
- package/dist/backend/cli/block-names.js +132 -0
- package/dist/backend/cli/block-names.js.map +1 -0
- package/dist/backend/entities/cms-block.entity.d.ts +20 -0
- package/dist/backend/entities/cms-block.entity.d.ts.map +1 -0
- package/dist/backend/entities/cms-block.entity.js +77 -0
- package/dist/backend/entities/cms-block.entity.js.map +1 -0
- package/dist/backend/entities/cms-hook-block-attachment.entity.d.ts +15 -0
- package/dist/backend/entities/cms-hook-block-attachment.entity.d.ts.map +1 -0
- package/dist/backend/entities/cms-hook-block-attachment.entity.js +46 -0
- package/dist/backend/entities/cms-hook-block-attachment.entity.js.map +1 -0
- package/dist/backend/entities/cms-hook.entity.d.ts +20 -0
- package/dist/backend/entities/cms-hook.entity.d.ts.map +1 -0
- package/dist/backend/entities/cms-hook.entity.js +73 -0
- package/dist/backend/entities/cms-hook.entity.js.map +1 -0
- package/dist/backend/entities/cms-page.entity.d.ts +43 -0
- package/dist/backend/entities/cms-page.entity.d.ts.map +1 -0
- package/dist/backend/entities/cms-page.entity.js +140 -0
- package/dist/backend/entities/cms-page.entity.js.map +1 -0
- package/dist/backend/entities/cms-template.entity.d.ts +20 -0
- package/dist/backend/entities/cms-template.entity.d.ts.map +1 -0
- package/dist/backend/entities/cms-template.entity.js +73 -0
- package/dist/backend/entities/cms-template.entity.js.map +1 -0
- package/dist/backend/index.d.ts +157 -0
- package/dist/backend/index.d.ts.map +1 -0
- package/dist/backend/index.js +317 -0
- package/dist/backend/index.js.map +1 -0
- package/dist/backend/plugin.d.ts +81 -0
- package/dist/backend/plugin.d.ts.map +1 -0
- package/dist/backend/plugin.js +81 -0
- package/dist/backend/plugin.js.map +1 -0
- package/dist/backend/routes.admin.d.ts +19 -0
- package/dist/backend/routes.admin.d.ts.map +1 -0
- package/dist/backend/routes.admin.js +164 -0
- package/dist/backend/routes.admin.js.map +1 -0
- package/dist/backend/routes.storefront.d.ts +6 -0
- package/dist/backend/routes.storefront.d.ts.map +1 -0
- package/dist/backend/routes.storefront.js +89 -0
- package/dist/backend/routes.storefront.js.map +1 -0
- package/dist/backend/services/asset-embed-resolver.d.ts +17 -0
- package/dist/backend/services/asset-embed-resolver.d.ts.map +1 -0
- package/dist/backend/services/asset-embed-resolver.js +40 -0
- package/dist/backend/services/asset-embed-resolver.js.map +1 -0
- package/dist/backend/services/asset-references.d.ts +4 -0
- package/dist/backend/services/asset-references.d.ts.map +1 -0
- package/dist/backend/services/asset-references.js +55 -0
- package/dist/backend/services/asset-references.js.map +1 -0
- package/dist/backend/services/cms-block-read-port.d.ts +27 -0
- package/dist/backend/services/cms-block-read-port.d.ts.map +1 -0
- package/dist/backend/services/cms-block-read-port.js +50 -0
- package/dist/backend/services/cms-block-read-port.js.map +1 -0
- package/dist/backend/services/cms-block-seed-port.d.ts +31 -0
- package/dist/backend/services/cms-block-seed-port.d.ts.map +1 -0
- package/dist/backend/services/cms-block-seed-port.js +68 -0
- package/dist/backend/services/cms-block-seed-port.js.map +1 -0
- package/dist/backend/services/cms-block-service.d.ts +38 -0
- package/dist/backend/services/cms-block-service.d.ts.map +1 -0
- package/dist/backend/services/cms-block-service.js +218 -0
- package/dist/backend/services/cms-block-service.js.map +1 -0
- package/dist/backend/services/cms-cache.d.ts +54 -0
- package/dist/backend/services/cms-cache.d.ts.map +1 -0
- package/dist/backend/services/cms-cache.js +113 -0
- package/dist/backend/services/cms-cache.js.map +1 -0
- package/dist/backend/services/cms-hook-service.d.ts +35 -0
- package/dist/backend/services/cms-hook-service.d.ts.map +1 -0
- package/dist/backend/services/cms-hook-service.js +216 -0
- package/dist/backend/services/cms-hook-service.js.map +1 -0
- package/dist/backend/services/cms-language-reference.d.ts +11 -0
- package/dist/backend/services/cms-language-reference.d.ts.map +1 -0
- package/dist/backend/services/cms-language-reference.js +26 -0
- package/dist/backend/services/cms-language-reference.js.map +1 -0
- package/dist/backend/services/cms-page-read-port.d.ts +23 -0
- package/dist/backend/services/cms-page-read-port.d.ts.map +1 -0
- package/dist/backend/services/cms-page-read-port.js +54 -0
- package/dist/backend/services/cms-page-read-port.js.map +1 -0
- package/dist/backend/services/cms-page-service.d.ts +104 -0
- package/dist/backend/services/cms-page-service.d.ts.map +1 -0
- package/dist/backend/services/cms-page-service.js +468 -0
- package/dist/backend/services/cms-page-service.js.map +1 -0
- package/dist/backend/services/cms-reference-registry.d.ts +30 -0
- package/dist/backend/services/cms-reference-registry.d.ts.map +1 -0
- package/dist/backend/services/cms-reference-registry.js +98 -0
- package/dist/backend/services/cms-reference-registry.js.map +1 -0
- package/dist/backend/services/cms-template-service.d.ts +37 -0
- package/dist/backend/services/cms-template-service.d.ts.map +1 -0
- package/dist/backend/services/cms-template-service.js +205 -0
- package/dist/backend/services/cms-template-service.js.map +1 -0
- package/dist/backend/services/content-tree-walker.d.ts +7 -0
- package/dist/backend/services/content-tree-walker.d.ts.map +1 -0
- package/dist/backend/services/content-tree-walker.js +89 -0
- package/dist/backend/services/content-tree-walker.js.map +1 -0
- package/dist/backend/services/page-builder-registry.d.ts +120 -0
- package/dist/backend/services/page-builder-registry.d.ts.map +1 -0
- package/dist/backend/services/page-builder-registry.js +220 -0
- package/dist/backend/services/page-builder-registry.js.map +1 -0
- package/dist/backend/services/seed-hooks.d.ts +22 -0
- package/dist/backend/services/seed-hooks.d.ts.map +1 -0
- package/dist/backend/services/seed-hooks.js +94 -0
- package/dist/backend/services/seed-hooks.js.map +1 -0
- package/dist/backend/services/storefront-resolver.d.ts +71 -0
- package/dist/backend/services/storefront-resolver.d.ts.map +1 -0
- package/dist/backend/services/storefront-resolver.js +329 -0
- package/dist/backend/services/storefront-resolver.js.map +1 -0
- package/dist/manifest.d.ts +225 -0
- package/dist/manifest.d.ts.map +1 -0
- package/dist/manifest.js +695 -0
- package/dist/manifest.js.map +1 -0
- package/dist/migrations/20260425T162418_cms_pages_init.d.ts +10 -0
- package/dist/migrations/20260425T162418_cms_pages_init.d.ts.map +1 -0
- package/dist/migrations/20260425T162418_cms_pages_init.js +30 -0
- package/dist/migrations/20260425T162418_cms_pages_init.js.map +1 -0
- package/dist/migrations/20260505T130214_cms_init.d.ts +28 -0
- package/dist/migrations/20260505T130214_cms_init.d.ts.map +1 -0
- package/dist/migrations/20260505T130214_cms_init.js +332 -0
- package/dist/migrations/20260505T130214_cms_init.js.map +1 -0
- package/dist/migrations/20260903T101741_cms_namespace_block_names.d.ts +6 -0
- package/dist/migrations/20260903T101741_cms_namespace_block_names.d.ts.map +1 -0
- package/dist/migrations/20260903T101741_cms_namespace_block_names.js +60 -0
- package/dist/migrations/20260903T101741_cms_namespace_block_names.js.map +1 -0
- package/dist/migrations/20260912T094733_cms_sales_channel_cms_pages.d.ts +27 -0
- package/dist/migrations/20260912T094733_cms_sales_channel_cms_pages.d.ts.map +1 -0
- package/dist/migrations/20260912T094733_cms_sales_channel_cms_pages.js +44 -0
- package/dist/migrations/20260912T094733_cms_sales_channel_cms_pages.js.map +1 -0
- package/dist/migrations/20260912T125709_cms_page_body_asset_ref_index.d.ts +32 -0
- package/dist/migrations/20260912T125709_cms_page_body_asset_ref_index.d.ts.map +1 -0
- package/dist/migrations/20260912T125709_cms_page_body_asset_ref_index.js +36 -0
- package/dist/migrations/20260912T125709_cms_page_body_asset_ref_index.js.map +1 -0
- package/dist/migrations/index.d.ts +31 -0
- package/dist/migrations/index.d.ts.map +1 -0
- package/dist/migrations/index.js +37 -0
- package/dist/migrations/index.js.map +1 -0
- package/docs/cms/extending-page-builder.md +256 -0
- package/docs/cms/index.md +233 -0
- package/i18n/en.json +231 -0
- package/i18n/pl.json +231 -0
- package/package.json +125 -3
- package/tailwind.css +16 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Endora sp. z o.o. and the Endora Commerce contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,3 +1,66 @@
|
|
|
1
|
-
|
|
1
|
+
<!-- Generated by `pnpm --filter backend run manifests:generate`. Delete this line to take the file over; a README without it is never regenerated. -->
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
# @endora-commerce/mod-cms
|
|
4
|
+
|
|
5
|
+
Pages, blocks, templates, and hooks for content management.
|
|
6
|
+
|
|
7
|
+
## What this is
|
|
8
|
+
|
|
9
|
+
An **Endora Commerce module package**. Its module id is `cms` — the identity of record in the platform's registries, in its migrations and in its setting, permission and translation codes.
|
|
10
|
+
|
|
11
|
+
A module is not imported by application code. The platform discovers the extension packages an instance has installed, reads the manifest on the root subpath and composes the module from it, so installing this package and starting the instance is the whole integration.
|
|
12
|
+
|
|
13
|
+
## Entry points
|
|
14
|
+
|
|
15
|
+
| Import | Contents |
|
|
16
|
+
| --- | --- |
|
|
17
|
+
| `@endora-commerce/mod-cms` | the module manifest — its id, version, dependencies, settings and activation |
|
|
18
|
+
| `@endora-commerce/mod-cms/admin` | the Admin UI contribution: the screens, navigation and palette actions it adds |
|
|
19
|
+
| `@endora-commerce/mod-cms/admin-ui` | React components this module publishes for another module’s admin screens |
|
|
20
|
+
| `@endora-commerce/mod-cms/backend` | the composition root the platform calls, with the entities, services, routes and workers it registers |
|
|
21
|
+
| `@endora-commerce/mod-cms/migrations` | the module’s own schema migrations, in the order the platform runs them |
|
|
22
|
+
| `@endora-commerce/mod-cms/tailwind.css` | the Tailwind source declaration for the admin code above |
|
|
23
|
+
|
|
24
|
+
## Depends on
|
|
25
|
+
|
|
26
|
+
Everything below is a **peer** dependency, so the application resolves exactly one copy of each — two copies of a host or of React are a runtime failure rather than a type error. An entry marked *optional* is needed only by the layers that use it.
|
|
27
|
+
|
|
28
|
+
**Endora packages**
|
|
29
|
+
|
|
30
|
+
- `@endora-commerce/admin-kit` — *optional*
|
|
31
|
+
- `@endora-commerce/cms-components` — *optional*
|
|
32
|
+
- `@endora-commerce/contracts`
|
|
33
|
+
- `@endora-commerce/page-builder-admin` — *optional*
|
|
34
|
+
- `@endora-commerce/page-builder-core`
|
|
35
|
+
- `@endora-commerce/platform`
|
|
36
|
+
|
|
37
|
+
**Third-party**
|
|
38
|
+
|
|
39
|
+
- `@measured/puck` ^0 — *optional*
|
|
40
|
+
- `@mikro-orm/core` ^6
|
|
41
|
+
- `@mikro-orm/migrations` ^6
|
|
42
|
+
- `@mikro-orm/postgresql` ^6
|
|
43
|
+
- `fastify` ^5
|
|
44
|
+
- `ioredis` ^5
|
|
45
|
+
- `lucide-react` ^1 — *optional*
|
|
46
|
+
- `react` ^19 — *optional*
|
|
47
|
+
- `react-dom` ^19 — *optional*
|
|
48
|
+
- `react-router-dom` ^7 — *optional*
|
|
49
|
+
- `zod` ^4
|
|
50
|
+
|
|
51
|
+
## What the tarball carries
|
|
52
|
+
|
|
53
|
+
- `dist/` — the compiled JavaScript and its type declarations
|
|
54
|
+
- `i18n/` — the translation bundles this package ships (`en`, `pl`), loaded by the platform
|
|
55
|
+
- `docs/` — the package’s own pages in the Endora Commerce documentation site
|
|
56
|
+
- `tailwind.css` — the Tailwind source declaration
|
|
57
|
+
|
|
58
|
+
## Install
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
pnpm add @endora-commerce/mod-cms
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Licence
|
|
65
|
+
|
|
66
|
+
MIT — the text is in `LICENSE`, beside this file.
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type { CmsPageBuilderDescriptor, CmsBlockDetail, CmsBlockSummary, CmsHookDetail, CmsHookSummary, CmsPageDetail, CmsPageSummary, CmsTemplateDetail, CmsTemplateSummary, CmsHookAttachmentRequest, CreateCmsBlockRequest, CreateCmsHookRequest, CreateCmsPageRequest, CreateCmsTemplateRequest, PatchCmsBlockRequest, PatchCmsHookRequest, PatchCmsPageRequest, PatchCmsTemplateRequest, PutCmsPageContentRequest, PutCmsColorPaletteRequest, CmsColorPaletteEntry, CmsReservedSegmentsResponse } from '@endora-commerce/contracts';
|
|
2
|
+
export type { CmsPageBuilderDescriptor, CmsBlockDetail, CmsBlockSummary, CmsHookDetail, CmsHookSummary, CmsPageDetail, CmsPageSummary, CmsTemplateDetail, CmsTemplateSummary, CmsHookAttachmentRequest, CreateCmsBlockRequest, CreateCmsHookRequest, CreateCmsPageRequest, CreateCmsTemplateRequest, PatchCmsBlockRequest, PatchCmsHookRequest, PatchCmsPageRequest, PatchCmsTemplateRequest, PutCmsPageContentRequest, PutCmsColorPaletteRequest, CmsColorPaletteEntry, CmsReservedSegmentsResponse, };
|
|
3
|
+
export interface ListPagesQuery {
|
|
4
|
+
q?: string;
|
|
5
|
+
salesChannelId?: string;
|
|
6
|
+
language?: string;
|
|
7
|
+
status?: 'draft' | 'published' | 'archived';
|
|
8
|
+
active?: boolean;
|
|
9
|
+
cursor?: string;
|
|
10
|
+
limit?: number;
|
|
11
|
+
}
|
|
12
|
+
export interface ListPagesResponse {
|
|
13
|
+
data: CmsPageSummary[];
|
|
14
|
+
nextCursor: string | null;
|
|
15
|
+
}
|
|
16
|
+
export interface ListBlocksResponse {
|
|
17
|
+
data: CmsBlockSummary[];
|
|
18
|
+
nextCursor: string | null;
|
|
19
|
+
}
|
|
20
|
+
export interface ListHooksResponse {
|
|
21
|
+
data: CmsHookSummary[];
|
|
22
|
+
nextCursor: string | null;
|
|
23
|
+
}
|
|
24
|
+
export interface ListTemplatesResponse {
|
|
25
|
+
data: CmsTemplateSummary[];
|
|
26
|
+
nextCursor: string | null;
|
|
27
|
+
}
|
|
28
|
+
export declare const cmsClient: {
|
|
29
|
+
listPages(query?: ListPagesQuery): Promise<ListPagesResponse>;
|
|
30
|
+
createPage(body: CreateCmsPageRequest): Promise<CmsPageDetail>;
|
|
31
|
+
getPage(id: string): Promise<CmsPageDetail>;
|
|
32
|
+
patchPage(id: string, body: PatchCmsPageRequest): Promise<CmsPageDetail>;
|
|
33
|
+
putPageContent(id: string, language: string, body: PutCmsPageContentRequest): Promise<CmsPageDetail>;
|
|
34
|
+
publishPage(id: string): Promise<CmsPageDetail>;
|
|
35
|
+
archivePage(id: string): Promise<CmsPageDetail>;
|
|
36
|
+
unarchivePage(id: string): Promise<CmsPageDetail>;
|
|
37
|
+
deletePage(id: string): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* The deployment's reserved first path segments (feature 105, FR-033).
|
|
40
|
+
*
|
|
41
|
+
* The **same** value the backend's save-time refusal enforces, read through
|
|
42
|
+
* this module's own endpoint rather than the settings API, which is gated
|
|
43
|
+
* `settings:read`: a content editor who holds `cms.write` and not that would
|
|
44
|
+
* otherwise get a warning that silently never fires.
|
|
45
|
+
*/
|
|
46
|
+
getReservedSlugSegments(): Promise<string[]>;
|
|
47
|
+
getPageBuilderConfig(): Promise<CmsPageBuilderDescriptor>;
|
|
48
|
+
putColorPalette(body: PutCmsColorPaletteRequest): Promise<{
|
|
49
|
+
entries: CmsColorPaletteEntry[];
|
|
50
|
+
}>;
|
|
51
|
+
listBlocks(): Promise<ListBlocksResponse>;
|
|
52
|
+
createBlock(body: CreateCmsBlockRequest): Promise<CmsBlockDetail>;
|
|
53
|
+
getBlock(id: string): Promise<CmsBlockDetail>;
|
|
54
|
+
patchBlock(id: string, body: PatchCmsBlockRequest): Promise<CmsBlockDetail>;
|
|
55
|
+
putBlockContent(id: string, language: string, body: PutCmsPageContentRequest): Promise<CmsBlockDetail>;
|
|
56
|
+
deleteBlock(id: string): Promise<void>;
|
|
57
|
+
listTemplates(query?: {
|
|
58
|
+
salesChannelId?: string;
|
|
59
|
+
}): Promise<ListTemplatesResponse>;
|
|
60
|
+
createTemplate(body: CreateCmsTemplateRequest): Promise<CmsTemplateDetail>;
|
|
61
|
+
getTemplate(id: string): Promise<CmsTemplateDetail>;
|
|
62
|
+
patchTemplate(id: string, body: PatchCmsTemplateRequest): Promise<CmsTemplateDetail>;
|
|
63
|
+
putTemplateContent(id: string, language: string, body: PutCmsPageContentRequest): Promise<CmsTemplateDetail>;
|
|
64
|
+
deleteTemplate(id: string): Promise<void>;
|
|
65
|
+
listHooks(query?: {
|
|
66
|
+
salesChannelId?: string;
|
|
67
|
+
}): Promise<ListHooksResponse>;
|
|
68
|
+
createHook(body: CreateCmsHookRequest): Promise<CmsHookDetail>;
|
|
69
|
+
getHook(id: string): Promise<CmsHookDetail>;
|
|
70
|
+
patchHook(id: string, body: PatchCmsHookRequest): Promise<CmsHookDetail>;
|
|
71
|
+
deleteHook(id: string): Promise<void>;
|
|
72
|
+
listHookAttachments(id: string): Promise<CmsHookDetail["attachments"]>;
|
|
73
|
+
addHookAttachment(id: string, body: CmsHookAttachmentRequest): Promise<CmsHookDetail["attachments"]>;
|
|
74
|
+
reorderHookAttachment(id: string, blockId: string, position: number): Promise<CmsHookDetail["attachments"]>;
|
|
75
|
+
removeHookAttachment(id: string, blockId: string): Promise<void>;
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=cms-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cms-client.d.ts","sourceRoot":"","sources":["../../../src/admin/api/cms-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { apiClient } from '@endora-commerce/admin-kit/lib';
|
|
2
|
+
function pageQuery(query) {
|
|
3
|
+
const params = new URLSearchParams();
|
|
4
|
+
if (query.q)
|
|
5
|
+
params.set('q', query.q);
|
|
6
|
+
if (query.salesChannelId)
|
|
7
|
+
params.set('salesChannelId', query.salesChannelId);
|
|
8
|
+
if (query.language)
|
|
9
|
+
params.set('language', query.language);
|
|
10
|
+
if (query.status)
|
|
11
|
+
params.set('status', query.status);
|
|
12
|
+
if (query.active !== undefined)
|
|
13
|
+
params.set('active', String(query.active));
|
|
14
|
+
if (query.cursor)
|
|
15
|
+
params.set('cursor', query.cursor);
|
|
16
|
+
if (query.limit !== undefined)
|
|
17
|
+
params.set('limit', String(query.limit));
|
|
18
|
+
const out = params.toString();
|
|
19
|
+
return out ? `?${out}` : '';
|
|
20
|
+
}
|
|
21
|
+
export const cmsClient = {
|
|
22
|
+
listPages(query = {}) {
|
|
23
|
+
return apiClient.get(`/api/v1/admin/cms/pages${pageQuery(query)}`);
|
|
24
|
+
},
|
|
25
|
+
async createPage(body) {
|
|
26
|
+
const out = await apiClient.post('/api/v1/admin/cms/pages', body);
|
|
27
|
+
return out.data;
|
|
28
|
+
},
|
|
29
|
+
async getPage(id) {
|
|
30
|
+
const out = await apiClient.get(`/api/v1/admin/cms/pages/${encodeURIComponent(id)}`);
|
|
31
|
+
return out.data;
|
|
32
|
+
},
|
|
33
|
+
async patchPage(id, body) {
|
|
34
|
+
const out = await apiClient.patch(`/api/v1/admin/cms/pages/${encodeURIComponent(id)}`, body);
|
|
35
|
+
return out.data;
|
|
36
|
+
},
|
|
37
|
+
async putPageContent(id, language, body) {
|
|
38
|
+
const out = await apiClient.put(`/api/v1/admin/cms/pages/${encodeURIComponent(id)}/content/${encodeURIComponent(language)}`, body);
|
|
39
|
+
return out.data;
|
|
40
|
+
},
|
|
41
|
+
async publishPage(id) {
|
|
42
|
+
const out = await apiClient.post(`/api/v1/admin/cms/pages/${encodeURIComponent(id)}/publish`, {});
|
|
43
|
+
return out.data;
|
|
44
|
+
},
|
|
45
|
+
async archivePage(id) {
|
|
46
|
+
const out = await apiClient.post(`/api/v1/admin/cms/pages/${encodeURIComponent(id)}/archive`, {});
|
|
47
|
+
return out.data;
|
|
48
|
+
},
|
|
49
|
+
async unarchivePage(id) {
|
|
50
|
+
const out = await apiClient.post(`/api/v1/admin/cms/pages/${encodeURIComponent(id)}/unarchive`, {});
|
|
51
|
+
return out.data;
|
|
52
|
+
},
|
|
53
|
+
async deletePage(id) {
|
|
54
|
+
await apiClient.delete(`/api/v1/admin/cms/pages/${encodeURIComponent(id)}`);
|
|
55
|
+
},
|
|
56
|
+
/**
|
|
57
|
+
* The deployment's reserved first path segments (feature 105, FR-033).
|
|
58
|
+
*
|
|
59
|
+
* The **same** value the backend's save-time refusal enforces, read through
|
|
60
|
+
* this module's own endpoint rather than the settings API, which is gated
|
|
61
|
+
* `settings:read`: a content editor who holds `cms.write` and not that would
|
|
62
|
+
* otherwise get a warning that silently never fires.
|
|
63
|
+
*/
|
|
64
|
+
async getReservedSlugSegments() {
|
|
65
|
+
const out = await apiClient.get('/api/v1/admin/cms/pages/reserved-segments');
|
|
66
|
+
return out.data.segments;
|
|
67
|
+
},
|
|
68
|
+
async getPageBuilderConfig() {
|
|
69
|
+
const out = await apiClient.get('/api/v1/admin/cms/page-builder/config');
|
|
70
|
+
return out.data;
|
|
71
|
+
},
|
|
72
|
+
async putColorPalette(body) {
|
|
73
|
+
const out = await apiClient.put('/api/v1/admin/cms/page-builder/color-palette', body);
|
|
74
|
+
return out.data;
|
|
75
|
+
},
|
|
76
|
+
listBlocks() {
|
|
77
|
+
return apiClient.get('/api/v1/admin/cms/blocks');
|
|
78
|
+
},
|
|
79
|
+
async createBlock(body) {
|
|
80
|
+
const out = await apiClient.post('/api/v1/admin/cms/blocks', body);
|
|
81
|
+
return out.data;
|
|
82
|
+
},
|
|
83
|
+
async getBlock(id) {
|
|
84
|
+
const out = await apiClient.get(`/api/v1/admin/cms/blocks/${encodeURIComponent(id)}`);
|
|
85
|
+
return out.data;
|
|
86
|
+
},
|
|
87
|
+
async patchBlock(id, body) {
|
|
88
|
+
const out = await apiClient.patch(`/api/v1/admin/cms/blocks/${encodeURIComponent(id)}`, body);
|
|
89
|
+
return out.data;
|
|
90
|
+
},
|
|
91
|
+
async putBlockContent(id, language, body) {
|
|
92
|
+
const out = await apiClient.put(`/api/v1/admin/cms/blocks/${encodeURIComponent(id)}/content/${encodeURIComponent(language)}`, body);
|
|
93
|
+
return out.data;
|
|
94
|
+
},
|
|
95
|
+
async deleteBlock(id) {
|
|
96
|
+
await apiClient.delete(`/api/v1/admin/cms/blocks/${encodeURIComponent(id)}`);
|
|
97
|
+
},
|
|
98
|
+
listTemplates(query = {}) {
|
|
99
|
+
const params = new URLSearchParams();
|
|
100
|
+
if (query.salesChannelId)
|
|
101
|
+
params.set('salesChannelId', query.salesChannelId);
|
|
102
|
+
const qs = params.toString();
|
|
103
|
+
return apiClient.get(`/api/v1/admin/cms/templates${qs ? `?${qs}` : ''}`);
|
|
104
|
+
},
|
|
105
|
+
async createTemplate(body) {
|
|
106
|
+
const out = await apiClient.post('/api/v1/admin/cms/templates', body);
|
|
107
|
+
return out.data;
|
|
108
|
+
},
|
|
109
|
+
async getTemplate(id) {
|
|
110
|
+
const out = await apiClient.get(`/api/v1/admin/cms/templates/${encodeURIComponent(id)}`);
|
|
111
|
+
return out.data;
|
|
112
|
+
},
|
|
113
|
+
async patchTemplate(id, body) {
|
|
114
|
+
const out = await apiClient.patch(`/api/v1/admin/cms/templates/${encodeURIComponent(id)}`, body);
|
|
115
|
+
return out.data;
|
|
116
|
+
},
|
|
117
|
+
async putTemplateContent(id, language, body) {
|
|
118
|
+
const out = await apiClient.put(`/api/v1/admin/cms/templates/${encodeURIComponent(id)}/content/${encodeURIComponent(language)}`, body);
|
|
119
|
+
return out.data;
|
|
120
|
+
},
|
|
121
|
+
async deleteTemplate(id) {
|
|
122
|
+
await apiClient.delete(`/api/v1/admin/cms/templates/${encodeURIComponent(id)}`);
|
|
123
|
+
},
|
|
124
|
+
listHooks(query = {}) {
|
|
125
|
+
const params = new URLSearchParams();
|
|
126
|
+
if (query.salesChannelId)
|
|
127
|
+
params.set('salesChannelId', query.salesChannelId);
|
|
128
|
+
const qs = params.toString();
|
|
129
|
+
return apiClient.get(`/api/v1/admin/cms/hooks${qs ? `?${qs}` : ''}`);
|
|
130
|
+
},
|
|
131
|
+
async createHook(body) {
|
|
132
|
+
const out = await apiClient.post('/api/v1/admin/cms/hooks', body);
|
|
133
|
+
return out.data;
|
|
134
|
+
},
|
|
135
|
+
async getHook(id) {
|
|
136
|
+
const out = await apiClient.get(`/api/v1/admin/cms/hooks/${encodeURIComponent(id)}`);
|
|
137
|
+
return out.data;
|
|
138
|
+
},
|
|
139
|
+
async patchHook(id, body) {
|
|
140
|
+
const out = await apiClient.patch(`/api/v1/admin/cms/hooks/${encodeURIComponent(id)}`, body);
|
|
141
|
+
return out.data;
|
|
142
|
+
},
|
|
143
|
+
async deleteHook(id) {
|
|
144
|
+
await apiClient.delete(`/api/v1/admin/cms/hooks/${encodeURIComponent(id)}`);
|
|
145
|
+
},
|
|
146
|
+
async listHookAttachments(id) {
|
|
147
|
+
const out = await apiClient.get(`/api/v1/admin/cms/hooks/${encodeURIComponent(id)}/attachments`);
|
|
148
|
+
return out.data;
|
|
149
|
+
},
|
|
150
|
+
async addHookAttachment(id, body) {
|
|
151
|
+
const out = await apiClient.post(`/api/v1/admin/cms/hooks/${encodeURIComponent(id)}/attachments`, body);
|
|
152
|
+
return out.data;
|
|
153
|
+
},
|
|
154
|
+
async reorderHookAttachment(id, blockId, position) {
|
|
155
|
+
const out = await apiClient.patch(`/api/v1/admin/cms/hooks/${encodeURIComponent(id)}/attachments/${encodeURIComponent(blockId)}`, { position });
|
|
156
|
+
return out.data;
|
|
157
|
+
},
|
|
158
|
+
async removeHookAttachment(id, blockId) {
|
|
159
|
+
await apiClient.delete(`/api/v1/admin/cms/hooks/${encodeURIComponent(id)}/attachments/${encodeURIComponent(blockId)}`);
|
|
160
|
+
},
|
|
161
|
+
};
|
|
162
|
+
//# sourceMappingURL=cms-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cms-client.js","sourceRoot":"","sources":["../../../src/admin/api/cms-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
export { mapAdminProductToCmsSummary, pickAdminLocalizedName } from './admin-catalog-preview-map.js';
|
|
3
|
+
export declare function AdminCatalogPreviewProvider({ children }: {
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
}): React.ReactElement;
|
|
6
|
+
//# sourceMappingURL=AdminCatalogPreviewProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdminCatalogPreviewProvider.d.ts","sourceRoot":"","sources":["../../../src/admin/components/AdminCatalogPreviewProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAW,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAShD,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAkGrG,wBAAgB,2BAA2B,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,GAAG,KAAK,CAAC,YAAY,CAGrG"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useMemo } from 'react';
|
|
4
|
+
import { CatalogPreviewProvider as CmsCatalogPreviewProvider } from '@endora-commerce/cms-components';
|
|
5
|
+
import { apiClient } from '@endora-commerce/admin-kit/lib';
|
|
6
|
+
import { mapAdminProductToCmsSummary, pickAdminLocalizedName, } from './admin-catalog-preview-map.js';
|
|
7
|
+
export { mapAdminProductToCmsSummary, pickAdminLocalizedName } from './admin-catalog-preview-map.js';
|
|
8
|
+
function buildCategoryTree(categories) {
|
|
9
|
+
const byParent = new Map();
|
|
10
|
+
for (const cat of categories) {
|
|
11
|
+
const key = cat.parentCategoryId;
|
|
12
|
+
const list = byParent.get(key) ?? [];
|
|
13
|
+
list.push(cat);
|
|
14
|
+
byParent.set(key, list);
|
|
15
|
+
}
|
|
16
|
+
for (const list of byParent.values()) {
|
|
17
|
+
list.sort((a, b) => a.sortOrder - b.sortOrder || a.slug.localeCompare(b.slug));
|
|
18
|
+
}
|
|
19
|
+
const toNode = (cat) => ({
|
|
20
|
+
id: cat.id,
|
|
21
|
+
name: pickAdminLocalizedName(cat.name, cat.slug),
|
|
22
|
+
slug: cat.slug,
|
|
23
|
+
sortOrder: cat.sortOrder,
|
|
24
|
+
productCount: 0,
|
|
25
|
+
children: (byParent.get(cat.id) ?? []).map(toNode),
|
|
26
|
+
});
|
|
27
|
+
return (byParent.get(null) ?? []).map(toNode);
|
|
28
|
+
}
|
|
29
|
+
async function fetchAdminProducts(params) {
|
|
30
|
+
const search = new URLSearchParams();
|
|
31
|
+
search.set('page', String(params.page ?? 0));
|
|
32
|
+
search.set('pageSize', String(params.pageSize ?? 20));
|
|
33
|
+
if (params.q?.trim())
|
|
34
|
+
search.set('q', params.q.trim());
|
|
35
|
+
if (params.categorySlug?.trim())
|
|
36
|
+
search.set('categorySlug', params.categorySlug.trim());
|
|
37
|
+
const res = await apiClient.get(`/api/v1/admin/catalog/products?${search.toString()}`);
|
|
38
|
+
return res.data;
|
|
39
|
+
}
|
|
40
|
+
function createAdminCatalogPreviewApi() {
|
|
41
|
+
return {
|
|
42
|
+
async fetchProductsBySlugs(slugs) {
|
|
43
|
+
if (slugs.length === 0)
|
|
44
|
+
return [];
|
|
45
|
+
const unique = [...new Set(slugs)];
|
|
46
|
+
const found = await Promise.all(unique.map(async (slug) => {
|
|
47
|
+
const rows = await fetchAdminProducts({ q: slug, pageSize: 10 });
|
|
48
|
+
return rows.find((p) => p.slug === slug) ?? null;
|
|
49
|
+
}));
|
|
50
|
+
const bySlug = new Map(found.filter(Boolean).map((p) => [p.slug, mapAdminProductToCmsSummary(p)]));
|
|
51
|
+
return slugs.map((slug) => bySlug.get(slug)).filter(Boolean);
|
|
52
|
+
},
|
|
53
|
+
async fetchProductsList(query) {
|
|
54
|
+
const limit = query.limit ?? 12;
|
|
55
|
+
// Admin list is not sales-channel-scoped (unlike the public catalog). Use it for
|
|
56
|
+
// category and search previews so editors see products without channel membership.
|
|
57
|
+
const rows = await fetchAdminProducts({
|
|
58
|
+
...(query.categorySlug ? { categorySlug: query.categorySlug } : {}),
|
|
59
|
+
...(query.q ? { q: query.q } : {}),
|
|
60
|
+
pageSize: limit,
|
|
61
|
+
});
|
|
62
|
+
return rows.map(mapAdminProductToCmsSummary);
|
|
63
|
+
},
|
|
64
|
+
async fetchCategoryTree() {
|
|
65
|
+
const res = await apiClient.get('/api/v1/admin/catalog/categories');
|
|
66
|
+
return buildCategoryTree(res.data);
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
export function AdminCatalogPreviewProvider({ children }) {
|
|
71
|
+
const api = useMemo(() => createAdminCatalogPreviewApi(), []);
|
|
72
|
+
return _jsx(CmsCatalogPreviewProvider, { api: api, children: children });
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=AdminCatalogPreviewProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdminCatalogPreviewProvider.js","sourceRoot":"","sources":["../../../src/admin/components/AdminCatalogPreviewProvider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,OAAO,EAAkB,MAAM,OAAO,CAAC;AAEhD,OAAO,EAAE,sBAAsB,IAAI,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AACtG,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAiBrG,SAAS,iBAAiB,CAAC,UAA2B;IACpD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkC,CAAC;IAC3D,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,GAAG,CAAC,gBAAgB,CAAC;QACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,GAAkB,EAAmB,EAAE,CAAC,CAAC;QACvD,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,IAAI,EAAE,sBAAsB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC;QAChD,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,YAAY,EAAE,CAAC;QACf,QAAQ,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;KACnD,CAAC,CAAC;IAEH,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,MAKjC;IACC,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC;IACtD,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE;QAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,IAAI,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE;QAAE,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;IACxF,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,GAAG,CAC7B,kCAAkC,MAAM,CAAC,QAAQ,EAAE,EAAE,CACtD,CAAC;IACF,OAAO,GAAG,CAAC,IAAI,CAAC;AAClB,CAAC;AAED,SAAS,4BAA4B;IACnC,OAAO;QACL,KAAK,CAAC,oBAAoB,CAAC,KAAe;YACxC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YACnC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;gBACxB,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;gBACjE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC;YACnD,CAAC,CAAC,CACH,CAAC;YACF,MAAM,MAAM,GAAG,IAAI,GAAG,CACpB,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAE,CAAC,CAAC,CAAC,CAC7E,CAAC;YACF,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAwB,CAAC;QACtF,CAAC;QAED,KAAK,CAAC,iBAAiB,CAAC,KAIvB;YACC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;YAChC,iFAAiF;YACjF,mFAAmF;YACnF,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC;gBACpC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClC,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,KAAK,CAAC,iBAAiB;YACrB,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,GAAG,CAA4B,kCAAkC,CAAC,CAAC;YAC/F,OAAO,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,EAAE,QAAQ,EAA2B;IAC/E,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,4BAA4B,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9D,OAAO,KAAC,yBAAyB,IAAC,GAAG,EAAE,GAAG,YAAG,QAAQ,GAA6B,CAAC;AACrF,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import type { Data } from '@measured/puck';
|
|
3
|
+
import { type CmsRenderEmbeds } from '@endora-commerce/cms-components';
|
|
4
|
+
export declare function AdminCmsAssetProvider({ embeds, data, children, }: {
|
|
5
|
+
embeds: CmsRenderEmbeds;
|
|
6
|
+
data: Data;
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
}): React.ReactElement;
|
|
9
|
+
//# sourceMappingURL=AdminCmsAssetProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdminCmsAssetProvider.d.ts","sourceRoot":"","sources":["../../../src/admin/components/AdminCmsAssetProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACrE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAmC,KAAK,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAIxG,wBAAgB,qBAAqB,CAAC,EACpC,MAAM,EACN,IAAI,EACJ,QAAQ,GACT,EAAE;IACD,MAAM,EAAE,eAAe,CAAC;IACxB,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,SAAS,CAAC;CACrB,GAAG,KAAK,CAAC,YAAY,CAqDrB"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useEffect, useMemo, useState } from 'react';
|
|
4
|
+
import { CmsRenderProvider, walkAssetIds } from '@endora-commerce/cms-components';
|
|
5
|
+
import { fetchAssetDetail } from '@endora-commerce/admin-kit/components';
|
|
6
|
+
import { apiBaseUrl, toAbsoluteAssetUrl } from '@endora-commerce/admin-kit/lib';
|
|
7
|
+
export function AdminCmsAssetProvider({ embeds, data, children, }) {
|
|
8
|
+
const [assets, setAssets] = useState({});
|
|
9
|
+
const assetIds = useMemo(() => Array.from(walkAssetIds(data)).sort().join(','), [data]);
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
const ids = assetIds.length > 0 ? assetIds.split(',') : [];
|
|
12
|
+
if (ids.length === 0) {
|
|
13
|
+
setAssets({});
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
let cancelled = false;
|
|
17
|
+
void (async () => {
|
|
18
|
+
const entries = await Promise.all(ids.map(async (id) => {
|
|
19
|
+
try {
|
|
20
|
+
const detail = await fetchAssetDetail(id);
|
|
21
|
+
return [
|
|
22
|
+
id,
|
|
23
|
+
{
|
|
24
|
+
url: toAbsoluteAssetUrl(detail.url),
|
|
25
|
+
mimeType: detail.mimeType,
|
|
26
|
+
filename: detail.filename,
|
|
27
|
+
label: detail.label ?? null,
|
|
28
|
+
},
|
|
29
|
+
];
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
}));
|
|
35
|
+
if (cancelled)
|
|
36
|
+
return;
|
|
37
|
+
const next = {};
|
|
38
|
+
for (const entry of entries) {
|
|
39
|
+
if (entry)
|
|
40
|
+
next[entry[0]] = entry[1];
|
|
41
|
+
}
|
|
42
|
+
setAssets(next);
|
|
43
|
+
})();
|
|
44
|
+
return () => {
|
|
45
|
+
cancelled = true;
|
|
46
|
+
};
|
|
47
|
+
}, [assetIds]);
|
|
48
|
+
return (_jsx(CmsRenderProvider, { embeds: embeds, assets: assets, mediaBaseUrl: apiBaseUrl.replace(/\/+$/, ''), children: children }));
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=AdminCmsAssetProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdminCmsAssetProvider.js","sourceRoot":"","sources":["../../../src/admin/components/AdminCmsAssetProvider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAErE,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAwB,MAAM,iCAAiC,CAAC;AACxG,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEhF,MAAM,UAAU,qBAAqB,CAAC,EACpC,MAAM,EACN,IAAI,EACJ,QAAQ,GAKT;IACC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAElC,EAAE,CAAC,CAAC;IAEN,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAExF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,SAAS,CAAC,EAAE,CAAC,CAAC;YACd,OAAO;QACT,CAAC;QAED,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,KAAK,CAAC,KAAK,IAAmB,EAAE;YAC9B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;gBACnB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,EAAE,CAAC,CAAC;oBAC1C,OAAO;wBACL,EAAE;wBACF;4BACE,GAAG,EAAE,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC;4BACnC,QAAQ,EAAE,MAAM,CAAC,QAAQ;4BACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;4BACzB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI;yBAC5B;qBACO,CAAC;gBACb,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC,CAAC,CACH,CAAC;YACF,IAAI,SAAS;gBAAE,OAAO;YACtB,MAAM,IAAI,GACR,EAAE,CAAC;YACL,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,KAAK;oBAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACvC,CAAC;YACD,SAAS,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO,GAAS,EAAE;YAChB,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO,CACL,KAAC,iBAAiB,IAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,YAC5F,QAAQ,GACS,CACrB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Field } from '@measured/puck';
|
|
2
|
+
import type { BackgroundValue } from '@endora-commerce/page-builder-core';
|
|
3
|
+
export declare function createAdminBackgroundField(): Field<BackgroundValue, Record<string, unknown>>;
|
|
4
|
+
//# sourceMappingURL=BackgroundFields.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BackgroundFields.d.ts","sourceRoot":"","sources":["../../../src/admin/components/BackgroundFields.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAG5C,OAAO,KAAK,EAAkB,eAAe,EAAmB,MAAM,oCAAoC,CAAC;AAqL3G,wBAAgB,0BAA0B,IAAI,KAAK,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAa5F"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useMemo } from 'react';
|
|
4
|
+
import { FieldLabel } from '@measured/puck';
|
|
5
|
+
import { createColorField } from '@endora-commerce/page-builder-core';
|
|
6
|
+
import { createImageAssetField, createImageUrlField, createVideoAssetField, inputClassName } from '@endora-commerce/page-builder-admin';
|
|
7
|
+
const KIND_OPTIONS = [
|
|
8
|
+
{ label: 'None', value: 'none' },
|
|
9
|
+
{ label: 'Solid color', value: 'solid' },
|
|
10
|
+
{ label: 'Gradient', value: 'gradient' },
|
|
11
|
+
{ label: 'Image', value: 'image' },
|
|
12
|
+
{ label: 'Video', value: 'video' },
|
|
13
|
+
];
|
|
14
|
+
const SOURCE_OPTIONS = [
|
|
15
|
+
{ label: 'URL', value: 'url' },
|
|
16
|
+
{ label: 'Asset library', value: 'library' },
|
|
17
|
+
];
|
|
18
|
+
const SOLID_COLOR_FIELD = createColorField({ label: 'Color' });
|
|
19
|
+
const GRADIENT_FROM_FIELD = createColorField({ label: 'Gradient from' });
|
|
20
|
+
const GRADIENT_TO_FIELD = createColorField({ label: 'Gradient to' });
|
|
21
|
+
const IMAGE_URL_FIELD = createImageUrlField('Image URL');
|
|
22
|
+
const IMAGE_ASSET_FIELD = createImageAssetField('Image');
|
|
23
|
+
const VIDEO_URL_FIELD = createImageUrlField('Video URL');
|
|
24
|
+
const VIDEO_ASSET_FIELD = createVideoAssetField('Video');
|
|
25
|
+
function mergeBackground(value, patch) {
|
|
26
|
+
return { kind: 'none', ...value, ...patch };
|
|
27
|
+
}
|
|
28
|
+
function AdminBackgroundFieldControl({ value, onChange, readOnly, label, }) {
|
|
29
|
+
const current = useMemo(() => ({ kind: 'none', ...value }), [value]);
|
|
30
|
+
const set = (patch) => onChange(mergeBackground(current, patch));
|
|
31
|
+
return (_jsx(FieldLabel, { label: label, ...(readOnly === true ? { readOnly: true } : {}), children: _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx("select", { className: inputClassName, disabled: readOnly === true, value: current.kind, onChange: (e) => set({ kind: e.target.value }), children: KIND_OPTIONS.map((opt) => (_jsx("option", { value: opt.value, children: opt.label }, opt.value))) }), current.kind === 'solid' ? (_jsx(SOLID_COLOR_FIELD.render, { field: SOLID_COLOR_FIELD, id: "pb-bg-solid", name: "background.color", value: current.color ?? 'transparent', onChange: (color) => set({ color: color ?? 'transparent' }), ...(readOnly === true ? { readOnly: true } : {}) })) : null, current.kind === 'gradient' ? (_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(GRADIENT_FROM_FIELD.render, { field: GRADIENT_FROM_FIELD, id: "pb-bg-gradient-from", name: "background.gradientFrom", value: current.gradientFrom ?? '#ffffff', onChange: (color) => set({ gradientFrom: color ?? '#ffffff' }), ...(readOnly === true ? { readOnly: true } : {}) }), _jsx(GRADIENT_TO_FIELD.render, { field: GRADIENT_TO_FIELD, id: "pb-bg-gradient-to", name: "background.gradientTo", value: current.gradientTo ?? '#334155', onChange: (color) => set({ gradientTo: color ?? '#334155' }), ...(readOnly === true ? { readOnly: true } : {}) }), _jsx(FieldLabel, { label: "Angle (deg)", ...(readOnly === true ? { readOnly: true } : {}), children: _jsx("input", { type: "number", className: inputClassName, readOnly: readOnly === true, min: 0, max: 360, value: current.gradientAngle ?? 135, onChange: (e) => set({ gradientAngle: Number(e.target.value) }) }) })] })) : null, current.kind === 'image' ? (_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(FieldLabel, { label: "Image source", ...(readOnly === true ? { readOnly: true } : {}), children: _jsx("select", { className: inputClassName, disabled: readOnly === true, value: current.imageSource ?? 'url', onChange: (e) => set({ imageSource: e.target.value }), children: SOURCE_OPTIONS.map((opt) => (_jsx("option", { value: opt.value, children: opt.label }, opt.value))) }) }), current.imageSource === 'library' ? (_jsx(IMAGE_ASSET_FIELD.render, { field: IMAGE_ASSET_FIELD, id: "pb-bg-image-asset", name: "background.imageAssetId", value: current.imageAssetId ?? '', onChange: (assetId) => set({ imageAssetId: assetId }), ...(readOnly === true ? { readOnly: true } : {}) })) : (_jsx(IMAGE_URL_FIELD.render, { field: IMAGE_URL_FIELD, id: "pb-bg-image-url", name: "background.imageUrl", value: current.imageUrl ?? '', onChange: (url) => set({ imageUrl: url }), ...(readOnly === true ? { readOnly: true } : {}) }))] })) : null, current.kind === 'video' ? (_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(FieldLabel, { label: "Video source", ...(readOnly === true ? { readOnly: true } : {}), children: _jsx("select", { className: inputClassName, disabled: readOnly === true, value: current.videoSource ?? 'url', onChange: (e) => set({ videoSource: e.target.value }), children: SOURCE_OPTIONS.map((opt) => (_jsx("option", { value: opt.value, children: opt.label }, opt.value))) }) }), current.videoSource === 'library' ? (_jsx(VIDEO_ASSET_FIELD.render, { field: VIDEO_ASSET_FIELD, id: "pb-bg-video-asset", name: "background.videoAssetId", value: current.videoAssetId ?? '', onChange: (assetId) => set({ videoAssetId: assetId }), ...(readOnly === true ? { readOnly: true } : {}) })) : (_jsx(VIDEO_URL_FIELD.render, { field: VIDEO_URL_FIELD, id: "pb-bg-video-url", name: "background.videoUrl", value: current.videoUrl ?? '', onChange: (url) => set({ videoUrl: url }), ...(readOnly === true ? { readOnly: true } : {}) }))] })) : null] }) }));
|
|
32
|
+
}
|
|
33
|
+
export function createAdminBackgroundField() {
|
|
34
|
+
return {
|
|
35
|
+
type: 'custom',
|
|
36
|
+
label: 'Background',
|
|
37
|
+
render: ({ value, onChange, readOnly, field }) => (_jsx(AdminBackgroundFieldControl, { value: value, onChange: onChange, ...(readOnly === true ? { readOnly: true } : {}), label: field.label ?? 'Background' })),
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=BackgroundFields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BackgroundFields.js","sourceRoot":"","sources":["../../../src/admin/components/BackgroundFields.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonLinkFields.d.ts","sourceRoot":"","sources":["../../../src/admin/components/ButtonLinkFields.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAmO5C,wBAAgB,yBAAyB,CAAC,OAAO,CAAC,EAAE;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAczC"}
|