@kywi-software/core 0.14.0 → 0.15.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/AGENT-PATTERNS.md +153 -17
- package/README.md +38 -12
- package/dist/admin/chrome.d.ts.map +1 -1
- package/dist/admin/chrome.js +6 -7
- package/dist/admin/chrome.js.map +1 -1
- package/dist/admin/field-components.d.ts.map +1 -1
- package/dist/admin/field-components.js +27 -1
- package/dist/admin/field-components.js.map +1 -1
- package/dist/admin/form-helpers.d.ts.map +1 -1
- package/dist/admin/form-helpers.js +6 -1
- package/dist/admin/form-helpers.js.map +1 -1
- package/dist/admin/layout-editor/chrome-env.d.ts +35 -0
- package/dist/admin/layout-editor/chrome-env.d.ts.map +1 -0
- package/dist/admin/layout-editor/chrome-env.js +13 -0
- package/dist/admin/layout-editor/chrome-env.js.map +1 -0
- package/dist/admin/layout-editor/component-actions.d.ts +58 -7
- package/dist/admin/layout-editor/component-actions.d.ts.map +1 -1
- package/dist/admin/layout-editor/component-actions.js +131 -5
- package/dist/admin/layout-editor/component-actions.js.map +1 -1
- package/dist/admin/layout-editor/component-fork.d.ts +4 -4
- package/dist/admin/layout-editor/component-fork.d.ts.map +1 -1
- package/dist/admin/layout-editor/component-fork.js +76 -10
- package/dist/admin/layout-editor/component-fork.js.map +1 -1
- package/dist/admin/layout-editor/component-picker-field.d.ts +17 -3
- package/dist/admin/layout-editor/component-picker-field.d.ts.map +1 -1
- package/dist/admin/layout-editor/component-picker-field.js +5 -2
- package/dist/admin/layout-editor/component-picker-field.js.map +1 -1
- package/dist/admin/layout-editor/drag-feedback.d.ts +25 -1
- package/dist/admin/layout-editor/drag-feedback.d.ts.map +1 -1
- package/dist/admin/layout-editor/drag-feedback.js +9 -0
- package/dist/admin/layout-editor/drag-feedback.js.map +1 -1
- package/dist/admin/layout-editor/drag-utils.d.ts +103 -5
- package/dist/admin/layout-editor/drag-utils.d.ts.map +1 -1
- package/dist/admin/layout-editor/drag-utils.js +131 -4
- package/dist/admin/layout-editor/drag-utils.js.map +1 -1
- package/dist/admin/layout-editor/editor-canvas.d.ts +11 -0
- package/dist/admin/layout-editor/editor-canvas.d.ts.map +1 -1
- package/dist/admin/layout-editor/editor-canvas.js +134 -20
- package/dist/admin/layout-editor/editor-canvas.js.map +1 -1
- package/dist/admin/layout-editor/editor-dialog.d.ts +58 -3
- package/dist/admin/layout-editor/editor-dialog.d.ts.map +1 -1
- package/dist/admin/layout-editor/editor-dialog.js +71 -9
- package/dist/admin/layout-editor/editor-dialog.js.map +1 -1
- package/dist/admin/layout-editor/editor-state.d.ts +119 -0
- package/dist/admin/layout-editor/editor-state.d.ts.map +1 -1
- package/dist/admin/layout-editor/editor-state.js +188 -6
- package/dist/admin/layout-editor/editor-state.js.map +1 -1
- package/dist/admin/layout-editor/editor-toolbar.d.ts +10 -1
- package/dist/admin/layout-editor/editor-toolbar.d.ts.map +1 -1
- package/dist/admin/layout-editor/editor-toolbar.js +2 -2
- package/dist/admin/layout-editor/editor-toolbar.js.map +1 -1
- package/dist/admin/layout-editor/editor.css +216 -8
- package/dist/admin/layout-editor/inline-text.d.ts +15 -1
- package/dist/admin/layout-editor/inline-text.d.ts.map +1 -1
- package/dist/admin/layout-editor/inline-text.js +30 -2
- package/dist/admin/layout-editor/inline-text.js.map +1 -1
- package/dist/admin/layout-editor/layout-editor.d.ts +21 -16
- package/dist/admin/layout-editor/layout-editor.d.ts.map +1 -1
- package/dist/admin/layout-editor/layout-editor.js +40 -17
- package/dist/admin/layout-editor/layout-editor.js.map +1 -1
- package/dist/admin/layout-editor/linked-component-notes.d.ts +88 -0
- package/dist/admin/layout-editor/linked-component-notes.d.ts.map +1 -0
- package/dist/admin/layout-editor/linked-component-notes.js +88 -0
- package/dist/admin/layout-editor/linked-component-notes.js.map +1 -0
- package/dist/admin/layout-editor/module-overlay.d.ts +23 -4
- package/dist/admin/layout-editor/module-overlay.d.ts.map +1 -1
- package/dist/admin/layout-editor/module-overlay.js +56 -10
- package/dist/admin/layout-editor/module-overlay.js.map +1 -1
- package/dist/admin/layout-editor/module-variant-container-config.d.ts.map +1 -1
- package/dist/admin/layout-editor/module-variant-container-config.js +9 -2
- package/dist/admin/layout-editor/module-variant-container-config.js.map +1 -1
- package/dist/admin/layout-editor/module-variant-container-panel.d.ts +75 -0
- package/dist/admin/layout-editor/module-variant-container-panel.d.ts.map +1 -0
- package/dist/admin/layout-editor/module-variant-container-panel.js +29 -0
- package/dist/admin/layout-editor/module-variant-container-panel.js.map +1 -0
- package/dist/admin/layout-editor/node-lookup.d.ts.map +1 -1
- package/dist/admin/layout-editor/node-lookup.js +33 -3
- package/dist/admin/layout-editor/node-lookup.js.map +1 -1
- package/dist/admin/layout-editor/overlay-shell.d.ts.map +1 -1
- package/dist/admin/layout-editor/overlay-shell.js +19 -4
- package/dist/admin/layout-editor/overlay-shell.js.map +1 -1
- package/dist/admin/layout-editor/props-panel.d.ts +28 -11
- package/dist/admin/layout-editor/props-panel.d.ts.map +1 -1
- package/dist/admin/layout-editor/props-panel.js +75 -125
- package/dist/admin/layout-editor/props-panel.js.map +1 -1
- package/dist/admin/layout-editor/section-variant-container-config.d.ts.map +1 -1
- package/dist/admin/layout-editor/section-variant-container-config.js +11 -2
- package/dist/admin/layout-editor/section-variant-container-config.js.map +1 -1
- package/dist/admin/layout-editor/use-chrome-flip.d.ts +99 -11
- package/dist/admin/layout-editor/use-chrome-flip.d.ts.map +1 -1
- package/dist/admin/layout-editor/use-chrome-flip.js +268 -97
- package/dist/admin/layout-editor/use-chrome-flip.js.map +1 -1
- package/dist/admin/layout-editor/use-component-connect.d.ts +13 -0
- package/dist/admin/layout-editor/use-component-connect.d.ts.map +1 -1
- package/dist/admin/layout-editor/use-component-connect.js +116 -20
- package/dist/admin/layout-editor/use-component-connect.js.map +1 -1
- package/dist/admin/layout-editor/use-component-fork.d.ts +49 -19
- package/dist/admin/layout-editor/use-component-fork.d.ts.map +1 -1
- package/dist/admin/layout-editor/use-component-fork.js +28 -19
- package/dist/admin/layout-editor/use-component-fork.js.map +1 -1
- package/dist/admin/layout-editor/use-component-library.d.ts +4 -4
- package/dist/admin/layout-editor/use-component-library.d.ts.map +1 -1
- package/dist/admin/layout-editor/use-component-library.js +1 -1
- package/dist/admin/layout-editor/use-component-library.js.map +1 -1
- package/dist/admin/layout-editor/use-editor-dnd.d.ts +10 -0
- package/dist/admin/layout-editor/use-editor-dnd.d.ts.map +1 -1
- package/dist/admin/layout-editor/use-editor-dnd.js +234 -14
- package/dist/admin/layout-editor/use-editor-dnd.js.map +1 -1
- package/dist/admin/layout-editor/variant-container-config.d.ts.map +1 -1
- package/dist/admin/layout-editor/variant-container-config.js +1 -1
- package/dist/admin/layout-editor/variant-container-config.js.map +1 -1
- package/dist/admin/layout-editor/variant-editor.d.ts +16 -15
- package/dist/admin/layout-editor/variant-editor.d.ts.map +1 -1
- package/dist/admin/layout-editor/variant-editor.js +16 -5
- package/dist/admin/layout-editor/variant-editor.js.map +1 -1
- package/dist/admin/primitives.d.ts.map +1 -1
- package/dist/admin/primitives.js +1 -1
- package/dist/admin/primitives.js.map +1 -1
- package/dist/admin/registry.d.ts +12 -0
- package/dist/admin/registry.d.ts.map +1 -1
- package/dist/admin/registry.js +12 -0
- package/dist/admin/registry.js.map +1 -1
- package/dist/admin/server.d.ts +10 -1
- package/dist/admin/server.d.ts.map +1 -1
- package/dist/admin/server.js +4 -1
- package/dist/admin/server.js.map +1 -1
- package/dist/admin/site-switcher.d.ts +16 -3
- package/dist/admin/site-switcher.d.ts.map +1 -1
- package/dist/admin/site-switcher.js +18 -3
- package/dist/admin/site-switcher.js.map +1 -1
- package/dist/admin/styles/admin.css +0 -3
- package/dist/admin/surface-matcher.d.ts +6 -2
- package/dist/admin/surface-matcher.d.ts.map +1 -1
- package/dist/admin/surface-matcher.js +42 -5
- package/dist/admin/surface-matcher.js.map +1 -1
- package/dist/admin/surfaces/components/components-data.d.ts +31 -11
- package/dist/admin/surfaces/components/components-data.d.ts.map +1 -1
- package/dist/admin/surfaces/components/components-data.js +17 -4
- package/dist/admin/surfaces/components/components-data.js.map +1 -1
- package/dist/admin/surfaces/components/components-list.d.ts.map +1 -1
- package/dist/admin/surfaces/components/components-list.js +20 -7
- package/dist/admin/surfaces/components/components-list.js.map +1 -1
- package/dist/admin/surfaces/components/definition-canvas.d.ts +11 -3
- package/dist/admin/surfaces/components/definition-canvas.d.ts.map +1 -1
- package/dist/admin/surfaces/components/definition-canvas.js +138 -17
- package/dist/admin/surfaces/components/definition-canvas.js.map +1 -1
- package/dist/admin/surfaces/dashboard/dashboard-index.d.ts.map +1 -1
- package/dist/admin/surfaces/dashboard/dashboard-index.js +2 -2
- package/dist/admin/surfaces/dashboard/dashboard-index.js.map +1 -1
- package/dist/admin/surfaces/layouts/layout-editor-client.d.ts.map +1 -1
- package/dist/admin/surfaces/layouts/layout-editor-client.js +12 -11
- package/dist/admin/surfaces/layouts/layout-editor-client.js.map +1 -1
- package/dist/admin/surfaces/menus/menu-editor.d.ts.map +1 -1
- package/dist/admin/surfaces/menus/menu-editor.js +17 -4
- package/dist/admin/surfaces/menus/menu-editor.js.map +1 -1
- package/dist/admin/surfaces/menus/menu-tree.d.ts +18 -4
- package/dist/admin/surfaces/menus/menu-tree.d.ts.map +1 -1
- package/dist/admin/surfaces/menus/menu-tree.js +18 -3
- package/dist/admin/surfaces/menus/menu-tree.js.map +1 -1
- package/dist/admin/surfaces/menus/menus-data.d.ts +18 -0
- package/dist/admin/surfaces/menus/menus-data.d.ts.map +1 -1
- package/dist/admin/surfaces/menus/menus-data.js +4 -0
- package/dist/admin/surfaces/menus/menus-data.js.map +1 -1
- package/dist/admin/surfaces/menus/menus-list.d.ts.map +1 -1
- package/dist/admin/surfaces/menus/menus-list.js +2 -12
- package/dist/admin/surfaces/menus/menus-list.js.map +1 -1
- package/dist/admin/surfaces/users/users-data.d.ts +14 -0
- package/dist/admin/surfaces/users/users-data.d.ts.map +1 -1
- package/dist/admin/surfaces/users/users-data.js +19 -0
- package/dist/admin/surfaces/users/users-data.js.map +1 -1
- package/dist/admin/surfaces/users/users-detail.d.ts.map +1 -1
- package/dist/admin/surfaces/users/users-detail.js +40 -4
- package/dist/admin/surfaces/users/users-detail.js.map +1 -1
- package/dist/admin/surfaces/users/users-new.d.ts.map +1 -1
- package/dist/admin/surfaces/users/users-new.js +8 -5
- package/dist/admin/surfaces/users/users-new.js.map +1 -1
- package/dist/admin/user-form.d.ts +10 -1
- package/dist/admin/user-form.d.ts.map +1 -1
- package/dist/admin/user-form.js +2 -2
- package/dist/admin/user-form.js.map +1 -1
- package/dist/api/admin-features-routes.js +2 -2
- package/dist/api/admin-features-routes.js.map +1 -1
- package/dist/api/audience-preview-routes.d.ts +7 -0
- package/dist/api/audience-preview-routes.d.ts.map +1 -1
- package/dist/api/audience-preview-routes.js +4 -4
- package/dist/api/audience-preview-routes.js.map +1 -1
- package/dist/api/audience-routes.d.ts +7 -0
- package/dist/api/audience-routes.d.ts.map +1 -1
- package/dist/api/audience-routes.js +21 -15
- package/dist/api/audience-routes.js.map +1 -1
- package/dist/api/audience-runtime-routes.d.ts +6 -0
- package/dist/api/audience-runtime-routes.d.ts.map +1 -1
- package/dist/api/audience-runtime-routes.js +38 -3
- package/dist/api/audience-runtime-routes.js.map +1 -1
- package/dist/api/auth-routes.d.ts.map +1 -1
- package/dist/api/auth-routes.js +10 -4
- package/dist/api/auth-routes.js.map +1 -1
- package/dist/api/auth.d.ts +1 -0
- package/dist/api/auth.d.ts.map +1 -1
- package/dist/api/auth.js +43 -3
- package/dist/api/auth.js.map +1 -1
- package/dist/api/bulk-routes.d.ts.map +1 -1
- package/dist/api/bulk-routes.js +7 -7
- package/dist/api/bulk-routes.js.map +1 -1
- package/dist/api/category-routes.js +3 -3
- package/dist/api/category-routes.js.map +1 -1
- package/dist/api/comment-routes.js +8 -8
- package/dist/api/comment-routes.js.map +1 -1
- package/dist/api/component-routes.d.ts +25 -0
- package/dist/api/component-routes.d.ts.map +1 -1
- package/dist/api/component-routes.js +41 -16
- package/dist/api/component-routes.js.map +1 -1
- package/dist/api/content-routes.js +13 -13
- package/dist/api/content-routes.js.map +1 -1
- package/dist/api/dashboard-routes.js +1 -1
- package/dist/api/dashboard-routes.js.map +1 -1
- package/dist/api/experiment-routes.d.ts +7 -0
- package/dist/api/experiment-routes.d.ts.map +1 -1
- package/dist/api/experiment-routes.js +8 -8
- package/dist/api/experiment-routes.js.map +1 -1
- package/dist/api/experiment-runtime-routes.d.ts +6 -0
- package/dist/api/experiment-runtime-routes.d.ts.map +1 -1
- package/dist/api/experiment-runtime-routes.js +47 -11
- package/dist/api/experiment-runtime-routes.js.map +1 -1
- package/dist/api/feed-routes.d.ts +2 -2
- package/dist/api/feed-routes.js +3 -3
- package/dist/api/feed-routes.js.map +1 -1
- package/dist/api/form-routes.js +4 -4
- package/dist/api/form-routes.js.map +1 -1
- package/dist/api/graphql/resolvers.d.ts +1 -1
- package/dist/api/graphql/resolvers.d.ts.map +1 -1
- package/dist/api/graphql/resolvers.js +68 -33
- package/dist/api/graphql/resolvers.js.map +1 -1
- package/dist/api/group-routes.js +6 -6
- package/dist/api/group-routes.js.map +1 -1
- package/dist/api/index.d.ts +1 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +39 -6
- package/dist/api/index.js.map +1 -1
- package/dist/api/layout-routes.d.ts.map +1 -1
- package/dist/api/layout-routes.js +27 -3
- package/dist/api/layout-routes.js.map +1 -1
- package/dist/api/media-routes.d.ts.map +1 -1
- package/dist/api/media-routes.js +50 -26
- package/dist/api/media-routes.js.map +1 -1
- package/dist/api/menu-routes.d.ts +9 -1
- package/dist/api/menu-routes.d.ts.map +1 -1
- package/dist/api/menu-routes.js +44 -10
- package/dist/api/menu-routes.js.map +1 -1
- package/dist/api/nav-routes.d.ts +6 -0
- package/dist/api/nav-routes.d.ts.map +1 -1
- package/dist/api/nav-routes.js +24 -3
- package/dist/api/nav-routes.js.map +1 -1
- package/dist/api/openapi.d.ts.map +1 -1
- package/dist/api/openapi.js +68 -33
- package/dist/api/openapi.js.map +1 -1
- package/dist/api/search-routes.js +2 -2
- package/dist/api/search-routes.js.map +1 -1
- package/dist/api/section-template-routes.d.ts.map +1 -1
- package/dist/api/section-template-routes.js +35 -18
- package/dist/api/section-template-routes.js.map +1 -1
- package/dist/api/site-admin-routes.d.ts +10 -1
- package/dist/api/site-admin-routes.d.ts.map +1 -1
- package/dist/api/site-admin-routes.js +21 -1
- package/dist/api/site-admin-routes.js.map +1 -1
- package/dist/api/site-context.d.ts +35 -5
- package/dist/api/site-context.d.ts.map +1 -1
- package/dist/api/site-context.js +21 -6
- package/dist/api/site-context.js.map +1 -1
- package/dist/api/tag-routes.js +3 -3
- package/dist/api/tag-routes.js.map +1 -1
- package/dist/api/translation-routes.js +5 -5
- package/dist/api/translation-routes.js.map +1 -1
- package/dist/api/user-routes.d.ts.map +1 -1
- package/dist/api/user-routes.js +134 -19
- package/dist/api/user-routes.js.map +1 -1
- package/dist/api/webhook-routes.js +5 -5
- package/dist/api/webhook-routes.js.map +1 -1
- package/dist/api/workflow-routes.js +8 -8
- package/dist/api/workflow-routes.js.map +1 -1
- package/dist/audiences/collectors/identity.d.ts +14 -1
- package/dist/audiences/collectors/identity.d.ts.map +1 -1
- package/dist/audiences/collectors/identity.js +16 -3
- package/dist/audiences/collectors/identity.js.map +1 -1
- package/dist/audiences/collectors/index.d.ts +12 -2
- package/dist/audiences/collectors/index.d.ts.map +1 -1
- package/dist/audiences/collectors/index.js +16 -5
- package/dist/audiences/collectors/index.js.map +1 -1
- package/dist/audiences/collectors/pinned-audience.d.ts +28 -2
- package/dist/audiences/collectors/pinned-audience.d.ts.map +1 -1
- package/dist/audiences/collectors/pinned-audience.js +35 -5
- package/dist/audiences/collectors/pinned-audience.js.map +1 -1
- package/dist/audiences/collectors/utm.d.ts +15 -1
- package/dist/audiences/collectors/utm.d.ts.map +1 -1
- package/dist/audiences/collectors/utm.js +16 -2
- package/dist/audiences/collectors/utm.js.map +1 -1
- package/dist/audiences/consent-config.d.ts +21 -0
- package/dist/audiences/consent-config.d.ts.map +1 -0
- package/dist/audiences/consent-config.js +15 -0
- package/dist/audiences/consent-config.js.map +1 -0
- package/dist/audiences/consent-startup.d.ts +39 -0
- package/dist/audiences/consent-startup.d.ts.map +1 -0
- package/dist/audiences/consent-startup.js +105 -0
- package/dist/audiences/consent-startup.js.map +1 -0
- package/dist/audiences/consent.d.ts +192 -0
- package/dist/audiences/consent.d.ts.map +1 -0
- package/dist/audiences/consent.js +322 -0
- package/dist/audiences/consent.js.map +1 -0
- package/dist/audiences/engine.d.ts +7 -0
- package/dist/audiences/engine.d.ts.map +1 -1
- package/dist/audiences/engine.js +6 -2
- package/dist/audiences/engine.js.map +1 -1
- package/dist/audiences/index.d.ts +3 -0
- package/dist/audiences/index.d.ts.map +1 -1
- package/dist/audiences/index.js +6 -0
- package/dist/audiences/index.js.map +1 -1
- package/dist/audiences/server-eval.d.ts +13 -1
- package/dist/audiences/server-eval.d.ts.map +1 -1
- package/dist/audiences/server-eval.js +18 -2
- package/dist/audiences/server-eval.js.map +1 -1
- package/dist/audiences/ssr.d.ts +18 -1
- package/dist/audiences/ssr.d.ts.map +1 -1
- package/dist/audiences/ssr.js +18 -1
- package/dist/audiences/ssr.js.map +1 -1
- package/dist/audiences/utm-persistence.d.ts +20 -7
- package/dist/audiences/utm-persistence.d.ts.map +1 -1
- package/dist/audiences/utm-persistence.js +20 -7
- package/dist/audiences/utm-persistence.js.map +1 -1
- package/dist/auth/roles.d.ts +11 -0
- package/dist/auth/roles.d.ts.map +1 -1
- package/dist/auth/roles.js +13 -0
- package/dist/auth/roles.js.map +1 -1
- package/dist/auth/tokens.d.ts +7 -0
- package/dist/auth/tokens.d.ts.map +1 -1
- package/dist/auth/tokens.js +24 -2
- package/dist/auth/tokens.js.map +1 -1
- package/dist/config/types.d.ts +43 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js.map +1 -1
- package/dist/config/validate.d.ts.map +1 -1
- package/dist/config/validate.js +3 -0
- package/dist/config/validate.js.map +1 -1
- package/dist/db/apply-snapshot.d.ts +18 -0
- package/dist/db/apply-snapshot.d.ts.map +1 -1
- package/dist/db/apply-snapshot.js +41 -16
- package/dist/db/apply-snapshot.js.map +1 -1
- package/dist/db/component-instance-queries.d.ts +79 -19
- package/dist/db/component-instance-queries.d.ts.map +1 -1
- package/dist/db/component-instance-queries.js +266 -83
- package/dist/db/component-instance-queries.js.map +1 -1
- package/dist/db/component-queries.d.ts +1 -16
- package/dist/db/component-queries.d.ts.map +1 -1
- package/dist/db/component-queries.js +7 -56
- package/dist/db/component-queries.js.map +1 -1
- package/dist/db/content-queries.d.ts.map +1 -1
- package/dist/db/content-queries.js +1 -2
- package/dist/db/content-queries.js.map +1 -1
- package/dist/db/extension-queries.d.ts +2 -2
- package/dist/db/feed-queries.d.ts +3 -3
- package/dist/db/index.d.ts +1 -0
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/index.js +1 -0
- package/dist/db/index.js.map +1 -1
- package/dist/db/layout-queries.d.ts +2 -1
- package/dist/db/layout-queries.d.ts.map +1 -1
- package/dist/db/layout-queries.js +3 -3
- package/dist/db/layout-queries.js.map +1 -1
- package/dist/db/menu-queries.d.ts +69 -5
- package/dist/db/menu-queries.d.ts.map +1 -1
- package/dist/db/menu-queries.js +120 -13
- package/dist/db/menu-queries.js.map +1 -1
- package/dist/db/section-template-queries.d.ts +62 -0
- package/dist/db/section-template-queries.d.ts.map +1 -0
- package/dist/db/section-template-queries.js +178 -0
- package/dist/db/section-template-queries.js.map +1 -0
- package/dist/db/site-plugin-queries.d.ts +2 -2
- package/dist/db/tree-queries.d.ts.map +1 -1
- package/dist/db/tree-queries.js +5 -0
- package/dist/db/tree-queries.js.map +1 -1
- package/dist/db/webhook-queries.d.ts +3 -3
- package/dist/db/workflow-queries.d.ts.map +1 -1
- package/dist/db/workflow-queries.js +5 -20
- package/dist/db/workflow-queries.js.map +1 -1
- package/dist/experiments/runtime.d.ts +21 -3
- package/dist/experiments/runtime.d.ts.map +1 -1
- package/dist/experiments/runtime.js +21 -3
- package/dist/experiments/runtime.js.map +1 -1
- package/dist/layout/component-refs.d.ts +90 -2
- package/dist/layout/component-refs.d.ts.map +1 -1
- package/dist/layout/component-refs.js +293 -16
- package/dist/layout/component-refs.js.map +1 -1
- package/dist/layout/index.d.ts +4 -3
- package/dist/layout/index.d.ts.map +1 -1
- package/dist/layout/index.js +3 -2
- package/dist/layout/index.js.map +1 -1
- package/dist/layout/legacy-variant-container.d.ts +123 -0
- package/dist/layout/legacy-variant-container.d.ts.map +1 -0
- package/dist/layout/legacy-variant-container.js +397 -0
- package/dist/layout/legacy-variant-container.js.map +1 -0
- package/dist/layout/module-permissions.d.ts.map +1 -1
- package/dist/layout/module-permissions.js +25 -1
- package/dist/layout/module-permissions.js.map +1 -1
- package/dist/layout/modules-extended.d.ts +28 -1
- package/dist/layout/modules-extended.d.ts.map +1 -1
- package/dist/layout/modules-extended.js +73 -1
- package/dist/layout/modules-extended.js.map +1 -1
- package/dist/layout/modules.d.ts.map +1 -1
- package/dist/layout/modules.js +9 -1
- package/dist/layout/modules.js.map +1 -1
- package/dist/layout/personalization.d.ts +83 -0
- package/dist/layout/personalization.d.ts.map +1 -1
- package/dist/layout/personalization.js +250 -4
- package/dist/layout/personalization.js.map +1 -1
- package/dist/layout/registry.d.ts.map +1 -1
- package/dist/layout/registry.js +20 -0
- package/dist/layout/registry.js.map +1 -1
- package/dist/layout/renderer.d.ts +29 -2
- package/dist/layout/renderer.d.ts.map +1 -1
- package/dist/layout/renderer.js +23 -6
- package/dist/layout/renderer.js.map +1 -1
- package/dist/layout/types.d.ts +17 -0
- package/dist/layout/types.d.ts.map +1 -1
- package/dist/layout/types.js +7 -0
- package/dist/layout/types.js.map +1 -1
- package/dist/media/inline-risk.d.ts +26 -0
- package/dist/media/inline-risk.d.ts.map +1 -0
- package/dist/media/inline-risk.js +142 -0
- package/dist/media/inline-risk.js.map +1 -0
- package/dist/nav/builder.d.ts.map +1 -1
- package/dist/nav/builder.js +15 -3
- package/dist/nav/builder.js.map +1 -1
- package/dist/nav/index.d.ts +1 -1
- package/dist/nav/index.d.ts.map +1 -1
- package/dist/nav/index.js +1 -1
- package/dist/nav/index.js.map +1 -1
- package/dist/nav/menu-resolver.d.ts +11 -0
- package/dist/nav/menu-resolver.d.ts.map +1 -1
- package/dist/nav/menu-resolver.js +49 -9
- package/dist/nav/menu-resolver.js.map +1 -1
- package/dist/nav/paths.d.ts +37 -0
- package/dist/nav/paths.d.ts.map +1 -0
- package/dist/nav/paths.js +48 -0
- package/dist/nav/paths.js.map +1 -0
- package/dist/nav/types.d.ts +6 -0
- package/dist/nav/types.d.ts.map +1 -1
- package/dist/nav/url-resolver.d.ts +1 -5
- package/dist/nav/url-resolver.d.ts.map +1 -1
- package/dist/nav/url-resolver.js +6 -12
- package/dist/nav/url-resolver.js.map +1 -1
- package/dist/schema/base.d.ts +24 -4
- package/dist/schema/base.d.ts.map +1 -1
- package/dist/schema/base.js +17 -4
- package/dist/schema/base.js.map +1 -1
- package/dist/schema/components.d.ts +90 -9
- package/dist/schema/components.d.ts.map +1 -1
- package/dist/schema/components.js +113 -22
- package/dist/schema/components.js.map +1 -1
- package/dist/schema/mysql-tables.d.ts +5758 -48
- package/dist/schema/mysql-tables.d.ts.map +1 -1
- package/dist/schema/mysql-tables.js +620 -46
- package/dist/schema/mysql-tables.js.map +1 -1
- package/dist/scope/kywi-form.d.ts +11 -0
- package/dist/scope/kywi-form.d.ts.map +1 -1
- package/dist/scope/kywi-form.js +11 -1
- 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 +76 -2
- package/dist/scope/kywi-wizard-form.js.map +1 -1
- package/dist/scope/sticky-offset.d.ts +34 -13
- package/dist/scope/sticky-offset.d.ts.map +1 -1
- package/dist/scope/sticky-offset.js +236 -43
- package/dist/scope/sticky-offset.js.map +1 -1
- package/dist/site/styles.css +61 -15
- package/dist/versioning/scheduler.d.ts +28 -0
- package/dist/versioning/scheduler.d.ts.map +1 -1
- package/dist/versioning/scheduler.js +50 -3
- package/dist/versioning/scheduler.js.map +1 -1
- package/package.json +7 -2
|
@@ -2,12 +2,26 @@ export interface ComponentOption {
|
|
|
2
2
|
id: string;
|
|
3
3
|
name: string;
|
|
4
4
|
moduleType?: string | null;
|
|
5
|
+
/**
|
|
6
|
+
* Which `kywi_components.type` this row is (kywi-cms#170). Only the picker
|
|
7
|
+
* that offers more than one kind at a time reads it — the placeholder's, which
|
|
8
|
+
* lists module components alongside personalized-module ones because both are
|
|
9
|
+
* things an owner drops into a column. Every other caller filters by kind
|
|
10
|
+
* before building its options and can leave this off.
|
|
11
|
+
*/
|
|
12
|
+
kind?: string;
|
|
5
13
|
}
|
|
6
14
|
interface ComponentPickerFieldProps {
|
|
7
|
-
/**
|
|
15
|
+
/** Saved components to choose from (from the layout editor). */
|
|
8
16
|
components: ComponentOption[];
|
|
9
|
-
/**
|
|
10
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Called with the chosen component. `kind` is the row's own
|
|
19
|
+
* `kywi_components.type`, because the two kinds a column can hold are placed
|
|
20
|
+
* differently: a `module` component LINKS this placeholder node in place,
|
|
21
|
+
* while a `moduleVariantContainer` REPLACES it with a container placement
|
|
22
|
+
* (kywi-cms#170). The caller decides; this only reports what was picked.
|
|
23
|
+
*/
|
|
24
|
+
onSelect: (componentId: string, kind: string | undefined) => void;
|
|
11
25
|
}
|
|
12
26
|
/**
|
|
13
27
|
* Picker for connecting a placed `component` node to a saved reusable component
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-picker-field.d.ts","sourceRoot":"","sources":["../../../src/admin/layout-editor/component-picker-field.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"component-picker-field.d.ts","sourceRoot":"","sources":["../../../src/admin/layout-editor/component-picker-field.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,UAAU,yBAAyB;IACjC,gEAAgE;IAChE,UAAU,EAAE,eAAe,EAAE,CAAA;IAC7B;;;;;;OAMG;IACH,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAA;CAClE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,yBAAyB,2CAiCvF"}
|
|
@@ -10,7 +10,10 @@ export function ComponentPickerField({ components, onSelect }) {
|
|
|
10
10
|
if (components.length === 0) {
|
|
11
11
|
return (_jsx("div", { className: "kywi-editor-form-picker", children: _jsx("p", { className: "kywi-editor-form-picker-hint", children: "No saved components yet \u2014 select a module on the canvas and use \u201CSave as Component\u201D to create one, then insert it here." }) }));
|
|
12
12
|
}
|
|
13
|
-
return (_jsxs("div", { className: "kywi-editor-form-picker", children: [_jsx("label", { className: "kywi-editor-prop-label", htmlFor: "kywi-component-picker", children: "Component" }), _jsxs("select", { id: "kywi-component-picker", className: "kywi-editor-prop-input kywi-editor-form-picker-select", defaultValue: "", onChange: e => {
|
|
14
|
-
|
|
13
|
+
return (_jsxs("div", { className: "kywi-editor-form-picker", children: [_jsx("label", { className: "kywi-editor-prop-label", htmlFor: "kywi-component-picker", children: "Component" }), _jsxs("select", { id: "kywi-component-picker", className: "kywi-editor-prop-input kywi-editor-form-picker-select", defaultValue: "", onChange: e => {
|
|
14
|
+
const picked = components.find(c => c.id === e.target.value);
|
|
15
|
+
if (picked)
|
|
16
|
+
onSelect(picked.id, picked.kind);
|
|
17
|
+
}, children: [_jsx("option", { value: "", disabled: true, children: "\u2014 Select a component \u2014" }), components.map(c => (_jsxs("option", { value: c.id, children: [c.name, c.moduleType ? ` (${c.moduleType})` : '', c.kind === 'moduleVariantContainer' ? ' (personalized)' : ''] }, c.id)))] })] }));
|
|
15
18
|
}
|
|
16
19
|
//# sourceMappingURL=component-picker-field.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-picker-field.js","sourceRoot":"","sources":["../../../src/admin/layout-editor/component-picker-field.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;
|
|
1
|
+
{"version":3,"file":"component-picker-field.js","sourceRoot":"","sources":["../../../src/admin/layout-editor/component-picker-field.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AA8BZ;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAA6B;IACtF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,CACL,cAAK,SAAS,EAAC,yBAAyB,YACtC,YAAG,SAAS,EAAC,8BAA8B,uJAGvC,GACA,CACP,CAAA;IACH,CAAC;IACD,OAAO,CACL,eAAK,SAAS,EAAC,yBAAyB,aACtC,gBAAO,SAAS,EAAC,wBAAwB,EAAC,OAAO,EAAC,uBAAuB,0BAAkB,EAC3F,kBACE,EAAE,EAAC,uBAAuB,EAC1B,SAAS,EAAC,uDAAuD,EACjE,YAAY,EAAC,EAAE,EACf,QAAQ,EAAE,CAAC,CAAC,EAAE;oBACZ,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;oBAC5D,IAAI,MAAM;wBAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;gBAC9C,CAAC,aAED,iBAAQ,KAAK,EAAC,EAAE,EAAC,QAAQ,uDAAgC,EACxD,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CACnB,kBAAmB,KAAK,EAAE,CAAC,CAAC,EAAE,aAC3B,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,EAChD,CAAC,CAAC,IAAI,KAAK,wBAAwB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,KAFlD,CAAC,CAAC,EAAE,CAGR,CACV,CAAC,IACK,IACL,CACP,CAAA;AACH,CAAC"}
|
|
@@ -28,7 +28,13 @@ export interface ActiveDrag {
|
|
|
28
28
|
* `index` is the *measured* slot (see `resolveColumnDropIndex`), not the drop
|
|
29
29
|
* zone's declared one, so the indicator promises exactly what the drop delivers.
|
|
30
30
|
*/
|
|
31
|
-
export interface
|
|
31
|
+
export interface ColumnDropTarget {
|
|
32
|
+
/**
|
|
33
|
+
* Optional, and only on this member of the union: a target with no `kind` is
|
|
34
|
+
* a column target, which is what every caller before kywi-cms#171 built.
|
|
35
|
+
* `kind: 'arm'` is the discriminant that picks the other one out.
|
|
36
|
+
*/
|
|
37
|
+
kind?: 'column';
|
|
32
38
|
columnId: string;
|
|
33
39
|
/** Insertion index within the column: 0..nodes.length (length = append). */
|
|
34
40
|
index: number;
|
|
@@ -41,6 +47,24 @@ export interface DropTarget {
|
|
|
41
47
|
*/
|
|
42
48
|
label?: string;
|
|
43
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* The other kind of projected target (kywi-cms#171): ONE arm of a module-level
|
|
52
|
+
* variant container, whose module the drop would REPLACE.
|
|
53
|
+
*
|
|
54
|
+
* No index, and no line/placeholder geometry: the column's indicator is
|
|
55
|
+
* index-relative and means nothing inside an arm, which holds exactly one
|
|
56
|
+
* module. The arm zone draws a full-bleed outline over itself instead — see
|
|
57
|
+
* `ArmDropZone` in editor-canvas.tsx.
|
|
58
|
+
*/
|
|
59
|
+
export interface ArmDropTarget {
|
|
60
|
+
kind: 'arm';
|
|
61
|
+
containerId: string;
|
|
62
|
+
armId: string;
|
|
63
|
+
feedback: 'line' | 'placeholder';
|
|
64
|
+
/** The dragged module's label, so the affordance can name what would land. */
|
|
65
|
+
label?: string;
|
|
66
|
+
}
|
|
67
|
+
export type DropTarget = ColumnDropTarget | ArmDropTarget;
|
|
44
68
|
/**
|
|
45
69
|
* The projected drop target, published by the shell and read by the column that
|
|
46
70
|
* has to draw it. Context rather than props because the two shells own the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drag-feedback.d.ts","sourceRoot":"","sources":["../../../src/admin/layout-editor/drag-feedback.tsx"],"names":[],"mappings":"AACA,OAAO,KAAwB,MAAM,OAAO,CAAA;AAI5C;;;;;;;;;;;;;;;;GAgBG;AAEH,mFAAmF;AACnF,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,gFAAgF;IAChF,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;;;GAKG;AACH,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"drag-feedback.d.ts","sourceRoot":"","sources":["../../../src/admin/layout-editor/drag-feedback.tsx"],"names":[],"mappings":"AACA,OAAO,KAAwB,MAAM,OAAO,CAAA;AAI5C;;;;;;;;;;;;;;;;GAgBG;AAEH,mFAAmF;AACnF,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,gFAAgF;IAChF,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,GAAG,aAAa,CAAA;IAChC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,KAAK,CAAA;IACX,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,GAAG,aAAa,CAAA;IAChC,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,MAAM,UAAU,GAAG,gBAAgB,GAAG,aAAa,CAAA;AAEzD;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,kCAAyC,CAAA;AAEvE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,UAAU,EAAE,EAAE;IAAE,UAAU,EAAE,UAAU,GAAG,IAAI,CAAA;CAAE,4BAgDjF"}
|
|
@@ -38,6 +38,15 @@ export function PaletteDragGhost({ activeDrag }) {
|
|
|
38
38
|
if (typeof document === 'undefined')
|
|
39
39
|
return null;
|
|
40
40
|
return createPortal(_jsx(DragOverlay, { dropAnimation: null,
|
|
41
|
+
// dnd-kit positions its own wrapper `position: fixed; top: 0`, which is
|
|
42
|
+
// the exact shape the sticky-offset detector patches — and since
|
|
43
|
+
// kywi-cms#151 that detector watches for elements arriving mid-session,
|
|
44
|
+
// which is all this one ever does. Left unnamed it was offset by a bar
|
|
45
|
+
// height the moment a drag started, moving the ghost out from under the
|
|
46
|
+
// cursor and the drop with it. The class is only ever read by
|
|
47
|
+
// `EDITOR_CHROME_SELECTOR` in scope/sticky-offset.ts; there is no rule
|
|
48
|
+
// for it in any stylesheet.
|
|
49
|
+
className: "kywi-drag-overlay",
|
|
41
50
|
// Joins editor.css's `--kywi-z-overlay` tier contract (kywi-cms#124) from
|
|
42
51
|
// the outside: the ghost has to clear every editor tier including the
|
|
43
52
|
// template picker modal at +1, because it is the thing under the cursor.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drag-feedback.js","sourceRoot":"","sources":["../../../src/admin/layout-editor/drag-feedback.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AACZ,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"drag-feedback.js","sourceRoot":"","sources":["../../../src/admin/layout-editor/drag-feedback.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AACZ,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAyE3C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAoB,IAAI,CAAC,CAAA;AAEvE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAE,UAAU,EAAqC;IAChF,6EAA6E;IAC7E,0EAA0E;IAC1E,oEAAoE;IACpE,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO,IAAI,CAAA;IAEhD,OAAO,YAAY,CACjB,KAAC,WAAW,IACV,aAAa,EAAE,IAAI;QACnB,wEAAwE;QACxE,iEAAiE;QACjE,wEAAwE;QACxE,uEAAuE;QACvE,wEAAwE;QACxE,8DAA8D;QAC9D,uEAAuE;QACvE,4BAA4B;QAC5B,SAAS,EAAC,mBAAmB;QAC7B,0EAA0E;QAC1E,sEAAsE;QACtE,yEAAyE;QACzE,yEAAyE;QACzE,iDAAiD;QACjD,KAAK,EAAE,EAAE,MAAM,EAAE,uCAAuC,EAAE,YAEzD,UAAU,CAAC,CAAC,CAAC,CACZ,cACE,SAAS,EAAC,iBAAiB,EAC3B,KAAK,EAAE;gBACL,OAAO,EAAE,cAAc;gBACvB,OAAO,EAAE,UAAU;gBACnB,YAAY,EAAE,CAAC;gBACf,UAAU,EAAE,SAAS;gBACrB,KAAK,EAAE,SAAS;gBAChB,QAAQ,EAAE,EAAE;gBACZ,UAAU,EAAE,GAAG;gBACf,SAAS,EAAE,6BAA6B;gBACxC,MAAM,EAAE,UAAU;gBAClB,aAAa,EAAE,MAAM;gBACrB,UAAU,EAAE,QAAQ;aACrB,YAEA,UAAU,CAAC,KAAK,GACb,CACP,CAAC,CAAC,CAAC,IAAI,GACI,EACd,QAAQ,CAAC,IAAI,CACd,CAAA;AACH,CAAC"}
|
|
@@ -84,7 +84,8 @@ export declare const SECTION_TEMPLATES: SectionTemplate[];
|
|
|
84
84
|
* drop whose cursor has drifted just off the edge of the target.
|
|
85
85
|
* 3. nothing. A drop in dead space is a no-op, not a guess.
|
|
86
86
|
*
|
|
87
|
-
* Canvas drags keep `closestCenter
|
|
87
|
+
* Canvas drags keep `closestCenter`, so reordering is unchanged — with ONE
|
|
88
|
+
* exclusion added by kywi-cms#171, see `armsNeedThePointer` below.
|
|
88
89
|
*/
|
|
89
90
|
export declare const editorCollisionDetection: CollisionDetection;
|
|
90
91
|
/**
|
|
@@ -119,11 +120,52 @@ export declare function resolveColumnDropIndex(columnEl: Element | null, pointer
|
|
|
119
120
|
* `active`; column drop zones and existing canvas modules can appear as
|
|
120
121
|
* either `active` or `over`.
|
|
121
122
|
*/
|
|
123
|
+
export interface ArmRef {
|
|
124
|
+
containerId: string;
|
|
125
|
+
armId: string;
|
|
126
|
+
/** The arm's human label (`moduleArmLabel`), for announcements and dialog copy. */
|
|
127
|
+
label?: string;
|
|
128
|
+
/** The container's mode, so copy can say "personalized" / "A/B tested". */
|
|
129
|
+
containerMode?: 'personalization' | 'ab_test';
|
|
130
|
+
}
|
|
122
131
|
export interface EditorDragDatum {
|
|
123
132
|
source?: 'palette' | 'canvas';
|
|
124
133
|
moduleType?: string;
|
|
134
|
+
/**
|
|
135
|
+
* Present only when `moduleType` is the `moduleVariantContainer` sentinel
|
|
136
|
+
* (`ModuleVariantContainerBlock`'s own drag data, kywi-cms#169): which kind of
|
|
137
|
+
* container is being dragged, so the screen-reader announcement can say
|
|
138
|
+
* "personalized module" / "A/B tested module" instead of the raw internal
|
|
139
|
+
* type string a real module registry never defines a label for.
|
|
140
|
+
*/
|
|
141
|
+
containerMode?: 'personalization' | 'ab_test';
|
|
125
142
|
moduleId?: string;
|
|
126
143
|
instanceId?: string;
|
|
144
|
+
/**
|
|
145
|
+
* Present only on the sortable data of a module that IS a variant container's
|
|
146
|
+
* open arm (kywi-cms#171). It marks the ACTIVE side of a drag — "the thing
|
|
147
|
+
* being dragged is an arm's content" — which is what lets
|
|
148
|
+
* `resolveDragEndAction` tell an arm drag-out from an ordinary canvas reorder,
|
|
149
|
+
* even though an arm module also reports its CONTAINER's `columnId`/`index`
|
|
150
|
+
* (see below) so the middle of a container is not a dead zone.
|
|
151
|
+
*/
|
|
152
|
+
armOf?: ArmRef;
|
|
153
|
+
/**
|
|
154
|
+
* The OVER side of the same address (kywi-cms#171): "a drop here replaces this
|
|
155
|
+
* arm's module". Carried by the container's own `[data-kywi-arm-drop]` zone
|
|
156
|
+
* AND by the arm module's sortable, so whichever of the two nested droppables
|
|
157
|
+
* wins the collision the drop resolves to the same answer.
|
|
158
|
+
*
|
|
159
|
+
* `resolvePaletteDropSlot` short-circuits on this BEFORE reading `columnId`:
|
|
160
|
+
* an arm has no column index to measure, and the `columnId` an arm module
|
|
161
|
+
* reports is its container's.
|
|
162
|
+
*/
|
|
163
|
+
armContainerId?: string;
|
|
164
|
+
armId?: string;
|
|
165
|
+
/** The arm's human label, for the screen-reader announcement only. */
|
|
166
|
+
armLabel?: string;
|
|
167
|
+
/** The arm's container mode, so an announcement can name the right noun. */
|
|
168
|
+
armMode?: 'personalization' | 'ab_test';
|
|
127
169
|
/** The column a canvas module currently lives in, or a drop zone represents. */
|
|
128
170
|
columnId?: string;
|
|
129
171
|
/**
|
|
@@ -144,6 +186,21 @@ export interface PaletteDropSlot {
|
|
|
144
186
|
columnId: string;
|
|
145
187
|
index: number;
|
|
146
188
|
}
|
|
189
|
+
/**
|
|
190
|
+
* The other place a drop can land (kywi-cms#171): ONE arm of a module-level
|
|
191
|
+
* variant container, whose module the drop replaces.
|
|
192
|
+
*
|
|
193
|
+
* Deliberately index-free. `column.nodes` is the single index space and an arm
|
|
194
|
+
* module is not in it — the CONTAINER is — so there is nothing to measure a
|
|
195
|
+
* pointer against here, and a keyboard drag (which has no pointer at all) is
|
|
196
|
+
* unaffected for the same reason.
|
|
197
|
+
*/
|
|
198
|
+
export interface PaletteArmSlot {
|
|
199
|
+
armContainerId: string;
|
|
200
|
+
armId: string;
|
|
201
|
+
}
|
|
202
|
+
/** Narrow a resolved drop slot to the arm case. */
|
|
203
|
+
export declare function isArmSlot(slot: PaletteDropSlot | PaletteArmSlot): slot is PaletteArmSlot;
|
|
147
204
|
/**
|
|
148
205
|
* Resolve the slot a palette drag would drop into, from whatever it is
|
|
149
206
|
* currently over.
|
|
@@ -158,10 +215,51 @@ export interface PaletteDropSlot {
|
|
|
158
215
|
* canvas promises mid-drag is by construction what the release delivers.
|
|
159
216
|
*
|
|
160
217
|
* @returns null when there is nothing droppable under the drag, or the thing
|
|
161
|
-
* under it isn't part of a column (a section gutter, say) —
|
|
162
|
-
* no-op drop, and so also nothing to draw.
|
|
218
|
+
* under it isn't part of a column or an arm (a section gutter, say) —
|
|
219
|
+
* which is a no-op drop, and so also nothing to draw.
|
|
220
|
+
*/
|
|
221
|
+
export declare function resolvePaletteDropSlot(over: DragEndLike | null | undefined, pointerY: number | null | undefined): PaletteDropSlot | PaletteArmSlot | null;
|
|
222
|
+
/**
|
|
223
|
+
* A drop that cannot resolve to an action on its own (kywi-cms#171, owner
|
|
224
|
+
* decision D1): dragging an arm's module onto the page.
|
|
225
|
+
*
|
|
226
|
+
* The gesture is genuinely ambiguous — "promote this variant's content onto the
|
|
227
|
+
* page" and "this variant is finished, put its content back on the page" are
|
|
228
|
+
* both what an author reaching for it might mean, and they differ by whether
|
|
229
|
+
* the variant survives. Guessing either one silently deletes an audience's
|
|
230
|
+
* content or silently duplicates it, so the drop asks (see `ArmDropDialog`) and
|
|
231
|
+
* the answer becomes COPY_ARM_MODULE_TO_COLUMN or MOVE_ARM_MODULE_TO_COLUMN —
|
|
232
|
+
* one undo entry either way.
|
|
233
|
+
*
|
|
234
|
+
* Deliberately NOT an `EditorAction`: nothing may dispatch it.
|
|
235
|
+
*/
|
|
236
|
+
export interface ArmDragOutRequest {
|
|
237
|
+
type: 'ARM_DRAG_OUT_REQUEST';
|
|
238
|
+
containerId: string;
|
|
239
|
+
armId: string;
|
|
240
|
+
/** The arm's human label and the container's mode, for the dialog's copy. */
|
|
241
|
+
armLabel?: string;
|
|
242
|
+
containerMode?: 'personalization' | 'ab_test';
|
|
243
|
+
toColumnId: string;
|
|
244
|
+
toIndex: number;
|
|
245
|
+
}
|
|
246
|
+
/** What a drop resolves to: something to dispatch, or something to ask about. */
|
|
247
|
+
export type DragEndResolution = EditorAction | ArmDragOutRequest;
|
|
248
|
+
/**
|
|
249
|
+
* Which of the two arm drops that OPEN A DIALOG this is, or null for every drop
|
|
250
|
+
* that simply happens (kywi-cms#171 review).
|
|
251
|
+
*
|
|
252
|
+
* Exported and shared so the screen-reader announcement cannot disagree with
|
|
253
|
+
* what the drop actually did. `useEditorDnd` is handed `{ active, over }` twice
|
|
254
|
+
* over — once by its own `onDragEnd`, once by dnd-kit's announcement callback —
|
|
255
|
+
* and a second hand-written copy of these conditions in the second place would
|
|
256
|
+
* be a live-region that says "was dropped" while a modal is waiting for an
|
|
257
|
+
* answer.
|
|
163
258
|
*/
|
|
164
|
-
export
|
|
259
|
+
export type ArmDropQuestion = 'drag-out' | 'replace' | null;
|
|
260
|
+
export declare function classifyArmDrop(active: DragEndLike, over: DragEndLike | null | undefined): ArmDropQuestion;
|
|
261
|
+
/** Narrow a resolution to the one thing that is a question, not an action. */
|
|
262
|
+
export declare function isArmDragOutRequest(resolution: DragEndResolution | null | undefined): resolution is ArmDragOutRequest;
|
|
165
263
|
/**
|
|
166
264
|
* Optional context `resolveDragEndAction` uses to enrich the actions it
|
|
167
265
|
* resolves.
|
|
@@ -199,6 +297,6 @@ export interface ResolveDragContext {
|
|
|
199
297
|
* directly on an occupied module inserts the dragged module *before* it
|
|
200
298
|
* (pushing it down) instead of being swallowed.
|
|
201
299
|
*/
|
|
202
|
-
export declare function resolveDragEndAction(active: DragEndLike, over: DragEndLike | null | undefined, ctx?: ResolveDragContext):
|
|
300
|
+
export declare function resolveDragEndAction(active: DragEndLike, over: DragEndLike | null | undefined, ctx?: ResolveDragContext): DragEndResolution | null;
|
|
203
301
|
export {};
|
|
204
302
|
//# sourceMappingURL=drag-utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drag-utils.d.ts","sourceRoot":"","sources":["../../../src/admin/layout-editor/drag-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"drag-utils.d.ts","sourceRoot":"","sources":["../../../src/admin/layout-editor/drag-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -99,12 +99,13 @@ export const SECTION_TEMPLATES = [
|
|
|
99
99
|
* drop whose cursor has drifted just off the edge of the target.
|
|
100
100
|
* 3. nothing. A drop in dead space is a no-op, not a guess.
|
|
101
101
|
*
|
|
102
|
-
* Canvas drags keep `closestCenter
|
|
102
|
+
* Canvas drags keep `closestCenter`, so reordering is unchanged — with ONE
|
|
103
|
+
* exclusion added by kywi-cms#171, see `armsNeedThePointer` below.
|
|
103
104
|
*/
|
|
104
105
|
export const editorCollisionDetection = (args) => {
|
|
105
106
|
const source = args.active.data.current?.source;
|
|
106
107
|
if (source !== 'palette')
|
|
107
|
-
return closestCenter(args);
|
|
108
|
+
return armsNeedThePointer(closestCenter(args), pointerWithin(args));
|
|
108
109
|
const atPointer = pointerWithin(args);
|
|
109
110
|
if (atPointer.length > 0)
|
|
110
111
|
return atPointer;
|
|
@@ -114,6 +115,33 @@ export const editorCollisionDetection = (args) => {
|
|
|
114
115
|
// kywi-cms#134: no snap-to-distant-centre — a drop in a section gutter is a no-op.
|
|
115
116
|
return [];
|
|
116
117
|
};
|
|
118
|
+
/** Does this collision name an arm — a drop zone, or an arm's own module? */
|
|
119
|
+
function collidesWithArm(collision) {
|
|
120
|
+
const container = collision.data?.['droppableContainer'];
|
|
121
|
+
return Boolean(container?.data?.current?.armContainerId);
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* An arm may only win a CANVAS drag when the pointer is genuinely inside it
|
|
125
|
+
* (kywi-cms#171 review).
|
|
126
|
+
*
|
|
127
|
+
* `closestCenter` is the right algorithm for a reorder and it always names a
|
|
128
|
+
* winner however far away — which was harmless while every droppable meant
|
|
129
|
+
* "insert around here", and stopped being harmless the moment one of them meant
|
|
130
|
+
* "REPLACE this variant's content". A reorder released in the neighbourhood of a
|
|
131
|
+
* personalized module could resolve onto its arm purely on centre distance, and
|
|
132
|
+
* the author would be answering a destructive prompt about a variant they never
|
|
133
|
+
* aimed at. Exactly the kywi-cms#134 complaint — the editor moving things by
|
|
134
|
+
* itself — with a worse consequence.
|
|
135
|
+
*
|
|
136
|
+
* So arms are held to the palette drag's standard: the pointer has to be in
|
|
137
|
+
* them. Everything else `closestCenter` found is kept, in its own order, so the
|
|
138
|
+
* next-nearest droppable (the container itself, or the column) wins instead —
|
|
139
|
+
* which is the reorder the author was actually making.
|
|
140
|
+
*/
|
|
141
|
+
function armsNeedThePointer(byCentre, atPointer) {
|
|
142
|
+
const underPointer = new Set(atPointer.filter(collidesWithArm).map(c => c.id));
|
|
143
|
+
return byCentre.filter(c => !collidesWithArm(c) || underPointer.has(c.id));
|
|
144
|
+
}
|
|
117
145
|
// ── resolveColumnDropIndex ────────────────────────────────────
|
|
118
146
|
/**
|
|
119
147
|
* Where in a column a drop at `pointerY` belongs: the number of modules already
|
|
@@ -167,6 +195,10 @@ function resolveColumnDropIndexFromDocument(columnId, pointerY) {
|
|
|
167
195
|
const columnEl = Array.from(document.querySelectorAll('[data-kywi-column-drop]')).find(el => el.getAttribute('data-kywi-column-drop') === columnId) ?? null;
|
|
168
196
|
return resolveColumnDropIndex(columnEl, pointerY);
|
|
169
197
|
}
|
|
198
|
+
/** Narrow a resolved drop slot to the arm case. */
|
|
199
|
+
export function isArmSlot(slot) {
|
|
200
|
+
return 'armContainerId' in slot;
|
|
201
|
+
}
|
|
170
202
|
/**
|
|
171
203
|
* Resolve the slot a palette drag would drop into, from whatever it is
|
|
172
204
|
* currently over.
|
|
@@ -181,13 +213,21 @@ function resolveColumnDropIndexFromDocument(columnId, pointerY) {
|
|
|
181
213
|
* canvas promises mid-drag is by construction what the release delivers.
|
|
182
214
|
*
|
|
183
215
|
* @returns null when there is nothing droppable under the drag, or the thing
|
|
184
|
-
* under it isn't part of a column (a section gutter, say) —
|
|
185
|
-
* no-op drop, and so also nothing to draw.
|
|
216
|
+
* under it isn't part of a column or an arm (a section gutter, say) —
|
|
217
|
+
* which is a no-op drop, and so also nothing to draw.
|
|
186
218
|
*/
|
|
187
219
|
export function resolvePaletteDropSlot(over, pointerY) {
|
|
188
220
|
if (!over)
|
|
189
221
|
return null;
|
|
190
222
|
const overData = over.data.current;
|
|
223
|
+
// kywi-cms#171: an arm zone wins before any column measurement happens. It
|
|
224
|
+
// has no index space of its own, and the `columnId` an arm module carries is
|
|
225
|
+
// its CONTAINER's — reading it here would resolve an arm drop into "insert
|
|
226
|
+
// beside the container", which is the very drop the arm zone exists to
|
|
227
|
+
// distinguish from.
|
|
228
|
+
if (overData?.armContainerId && overData.armId) {
|
|
229
|
+
return { armContainerId: overData.armContainerId, armId: overData.armId };
|
|
230
|
+
}
|
|
191
231
|
const columnId = overData?.columnId;
|
|
192
232
|
if (!columnId)
|
|
193
233
|
return null;
|
|
@@ -195,6 +235,29 @@ export function resolvePaletteDropSlot(over, pointerY) {
|
|
|
195
235
|
const index = resolveColumnDropIndexFromDocument(columnId, pointerY) ?? declaredIndex;
|
|
196
236
|
return { columnId, index };
|
|
197
237
|
}
|
|
238
|
+
export function classifyArmDrop(active, over) {
|
|
239
|
+
if (!over)
|
|
240
|
+
return null;
|
|
241
|
+
const activeData = active.data.current;
|
|
242
|
+
const overData = over.data.current;
|
|
243
|
+
if (activeData?.source !== 'canvas')
|
|
244
|
+
return null;
|
|
245
|
+
const overIsArm = Boolean(overData?.armContainerId && overData.armId);
|
|
246
|
+
if (activeData.armOf) {
|
|
247
|
+
// Arm to arm is a no-op (D2), and a drag-out needs somewhere to land.
|
|
248
|
+
return !overIsArm && overData?.columnId ? 'drag-out' : null;
|
|
249
|
+
}
|
|
250
|
+
if (!overIsArm)
|
|
251
|
+
return null;
|
|
252
|
+
// A whole container into an arm is the nesting containers never do.
|
|
253
|
+
if (activeData.moduleType === 'moduleVariantContainer')
|
|
254
|
+
return null;
|
|
255
|
+
return activeData.moduleId ? 'replace' : null;
|
|
256
|
+
}
|
|
257
|
+
/** Narrow a resolution to the one thing that is a question, not an action. */
|
|
258
|
+
export function isArmDragOutRequest(resolution) {
|
|
259
|
+
return resolution?.type === 'ARM_DRAG_OUT_REQUEST';
|
|
260
|
+
}
|
|
198
261
|
/**
|
|
199
262
|
* Turn a dnd-kit `DragEndEvent`'s `active`/`over` pair into the editor action
|
|
200
263
|
* it implies, or `null` for a drop that doesn't resolve to anything (dropped
|
|
@@ -224,6 +287,23 @@ export function resolveDragEndAction(active, over, ctx) {
|
|
|
224
287
|
const slot = resolvePaletteDropSlot(over, ctx?.pointerY);
|
|
225
288
|
if (!moduleType || !slot)
|
|
226
289
|
return null;
|
|
290
|
+
// A palette drop onto an ARM replaces that arm's content rather than
|
|
291
|
+
// inserting beside it (kywi-cms#171). The arm keeps its identity — id,
|
|
292
|
+
// label, audience, weight — so the swap is a change of content, not of
|
|
293
|
+
// audience. Same minted id and registry seeding as the column case below,
|
|
294
|
+
// for the same reasons.
|
|
295
|
+
if (isArmSlot(slot)) {
|
|
296
|
+
const moduleId = generateId();
|
|
297
|
+
const props = ctx?.registry ? seedModuleDefaults(ctx.registry, moduleType) : undefined;
|
|
298
|
+
return {
|
|
299
|
+
type: 'SWAP_MODULE_VARIANT_ARM_TYPE',
|
|
300
|
+
containerId: slot.armContainerId,
|
|
301
|
+
armId: slot.armId,
|
|
302
|
+
moduleType,
|
|
303
|
+
moduleId,
|
|
304
|
+
...(props ? { props } : {}),
|
|
305
|
+
};
|
|
306
|
+
}
|
|
227
307
|
// kywi-cms#134: mint the id here (rather than in the reducer) so the
|
|
228
308
|
// caller knows the new module's id before dispatch and can auto-select
|
|
229
309
|
// it; seed props from the registry when one is supplied so the module
|
|
@@ -240,6 +320,53 @@ export function resolveDragEndAction(active, over, ctx) {
|
|
|
240
320
|
};
|
|
241
321
|
}
|
|
242
322
|
if (source === 'canvas') {
|
|
323
|
+
const overArm = overData?.armContainerId && overData.armId
|
|
324
|
+
? { containerId: overData.armContainerId, armId: overData.armId }
|
|
325
|
+
: null;
|
|
326
|
+
const armOf = activeData?.armOf;
|
|
327
|
+
// Both dialog-opening drops are classified in ONE place, which the
|
|
328
|
+
// announcement reads too (see `classifyArmDrop`).
|
|
329
|
+
const question = classifyArmDrop(active, over);
|
|
330
|
+
// 1. An ARM's module dragged out (kywi-cms#171). Checked first, because an
|
|
331
|
+
// arm module also reports its CONTAINER's columnId/index — the fallback
|
|
332
|
+
// branch below would read those and resolve a reorder of the container.
|
|
333
|
+
// Arm to arm resolves to nothing at all (owner decision D2): the gesture
|
|
334
|
+
// has no obvious meaning — swap? copy? move-and-empty the source? — and
|
|
335
|
+
// only one arm of a container is visible at a time, so it is reachable
|
|
336
|
+
// only across two containers. A no-op drop, drawn as no indicator.
|
|
337
|
+
if (armOf) {
|
|
338
|
+
if (question !== 'drag-out')
|
|
339
|
+
return null;
|
|
340
|
+
const toColumnId = overData?.columnId;
|
|
341
|
+
if (!toColumnId)
|
|
342
|
+
return null;
|
|
343
|
+
return {
|
|
344
|
+
type: 'ARM_DRAG_OUT_REQUEST',
|
|
345
|
+
containerId: armOf.containerId,
|
|
346
|
+
armId: armOf.armId,
|
|
347
|
+
...(armOf.label ? { armLabel: armOf.label } : {}),
|
|
348
|
+
...(armOf.containerMode ? { containerMode: armOf.containerMode } : {}),
|
|
349
|
+
toColumnId,
|
|
350
|
+
toIndex: overData?.index ?? 0,
|
|
351
|
+
};
|
|
352
|
+
}
|
|
353
|
+
// 2. A plain canvas module dropped INTO an arm. A whole CONTAINER dropped
|
|
354
|
+
// there is the nesting containers never do — the reducer refuses it, and
|
|
355
|
+
// `classifyArmDrop` refusing it here means no indicator promises it
|
|
356
|
+
// either.
|
|
357
|
+
if (overArm) {
|
|
358
|
+
if (question !== 'replace')
|
|
359
|
+
return null;
|
|
360
|
+
const moduleId = activeData?.moduleId;
|
|
361
|
+
if (!moduleId)
|
|
362
|
+
return null;
|
|
363
|
+
return {
|
|
364
|
+
type: 'MOVE_MODULE_INTO_ARM',
|
|
365
|
+
moduleId,
|
|
366
|
+
containerId: overArm.containerId,
|
|
367
|
+
armId: overArm.armId,
|
|
368
|
+
};
|
|
369
|
+
}
|
|
243
370
|
const fromColumnId = activeData?.columnId;
|
|
244
371
|
const fromIndex = activeData?.index;
|
|
245
372
|
const toColumnId = overData?.columnId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drag-utils.js","sourceRoot":"","sources":["../../../src/admin/layout-editor/drag-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAG/E,OAAO,EAAE,kBAAkB,EAAuB,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAkD9C,iEAAiE;AAEjE;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAC9B,UAAkB,GAAG,EACrB,WAAqC,GAAG,EAAE,GAAE,CAAC;IAE7C,IAAI,KAAK,GAAsB,MAAM,CAAC;IACtC,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,IAAI,OAAO,GAAyC,IAAI,CAAC;IAEzD,SAAS,UAAU;QACjB,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO;QACL,QAAQ;YACN,OAAO,KAAK,CAAC;QACf,CAAC;QAED,SAAS;YACP,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,SAAS,CAAC,SAAiB;YACzB,4CAA4C;YAC5C,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,KAAK,MAAM;gBAAE,OAAO;YAErD,UAAU,EAAE,CAAC;YACb,MAAM,GAAG,SAAS,CAAC;YACnB,KAAK,GAAG,MAAM,CAAC;YAEf,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBACxB,OAAO,GAAG,IAAI,CAAC;gBACf,KAAK,GAAG,aAAa,CAAC;gBACtB,QAAQ,CAAC,SAAS,CAAC,CAAC;YACtB,CAAC,EAAE,OAAO,CAAC,CAAC;QACd,CAAC;QAED,SAAS;YACP,UAAU,EAAE,CAAC;YACb,KAAK,GAAG,MAAM,CAAC;YACf,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;QAED,KAAK;YACH,UAAU,EAAE,CAAC;YACb,KAAK,GAAG,MAAM,CAAC;YACf,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;QAED,OAAO;YACL,UAAU,EAAE,CAAC;YACb,KAAK,GAAG,MAAM,CAAC;YACf,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,iEAAiE;AAEjE;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAsB;IAClD,EAAE,KAAK,EAAE,YAAY,EAAO,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE;IAC3C,EAAE,KAAK,EAAE,aAAa,EAAM,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAC7C,EAAE,KAAK,EAAE,QAAQ,EAAW,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;IAChD,EAAE,KAAK,EAAE,cAAc,EAAK,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAC7C,EAAE,KAAK,EAAE,eAAe,EAAI,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAC7C,EAAE,KAAK,EAAE,YAAY,EAAO,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAC7C,EAAE,KAAK,EAAE,UAAU,EAAS,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;CACpD,CAAC;AAEF,iEAAiE;AAEjE
|
|
1
|
+
{"version":3,"file":"drag-utils.js","sourceRoot":"","sources":["../../../src/admin/layout-editor/drag-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAG/E,OAAO,EAAE,kBAAkB,EAAuB,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAkD9C,iEAAiE;AAEjE;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAC9B,UAAkB,GAAG,EACrB,WAAqC,GAAG,EAAE,GAAE,CAAC;IAE7C,IAAI,KAAK,GAAsB,MAAM,CAAC;IACtC,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,IAAI,OAAO,GAAyC,IAAI,CAAC;IAEzD,SAAS,UAAU;QACjB,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO;QACL,QAAQ;YACN,OAAO,KAAK,CAAC;QACf,CAAC;QAED,SAAS;YACP,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,SAAS,CAAC,SAAiB;YACzB,4CAA4C;YAC5C,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,KAAK,MAAM;gBAAE,OAAO;YAErD,UAAU,EAAE,CAAC;YACb,MAAM,GAAG,SAAS,CAAC;YACnB,KAAK,GAAG,MAAM,CAAC;YAEf,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBACxB,OAAO,GAAG,IAAI,CAAC;gBACf,KAAK,GAAG,aAAa,CAAC;gBACtB,QAAQ,CAAC,SAAS,CAAC,CAAC;YACtB,CAAC,EAAE,OAAO,CAAC,CAAC;QACd,CAAC;QAED,SAAS;YACP,UAAU,EAAE,CAAC;YACb,KAAK,GAAG,MAAM,CAAC;YACf,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;QAED,KAAK;YACH,UAAU,EAAE,CAAC;YACb,KAAK,GAAG,MAAM,CAAC;YACf,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;QAED,OAAO;YACL,UAAU,EAAE,CAAC;YACb,KAAK,GAAG,MAAM,CAAC;YACf,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,iEAAiE;AAEjE;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAsB;IAClD,EAAE,KAAK,EAAE,YAAY,EAAO,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE;IAC3C,EAAE,KAAK,EAAE,aAAa,EAAM,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAC7C,EAAE,KAAK,EAAE,QAAQ,EAAW,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;IAChD,EAAE,KAAK,EAAE,cAAc,EAAK,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAC7C,EAAE,KAAK,EAAE,eAAe,EAAI,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAC7C,EAAE,KAAK,EAAE,YAAY,EAAO,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAC7C,EAAE,KAAK,EAAE,UAAU,EAAS,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;CACpD,CAAC;AAEF,iEAAiE;AAEjE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAuB,CAAC,IAAI,EAAE,EAAE;IACnE,MAAM,MAAM,GAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAA2C,EAAE,MAAM,CAAC;IACrF,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAE9F,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAE3C,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,YAAY,CAAC;IAEjD,mFAAmF;IACnF,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,6EAA6E;AAC7E,SAAS,eAAe,CAAC,SAAoB;IAC3C,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,oBAAoB,CAE1C,CAAC;IACd,OAAO,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAS,kBAAkB,CAAC,QAAqB,EAAE,SAAsB;IACvE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/E,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,iEAAiE;AAEjE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAwB,EAAE,QAAgB;IAC/E,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,uEAAuE;IACvE,4CAA4C;IAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC;QACpF,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC1C,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,kCAAkC,CACzC,QAAgB,EAChB,QAAmC;IAEnC,IAAI,QAAQ,IAAI,IAAI,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IACrE,MAAM,QAAQ,GACZ,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC,CAAC,IAAI,CACnE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,uBAAuB,CAAC,KAAK,QAAQ,CAC5D,IAAI,IAAI,CAAC;IACZ,OAAO,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AACpD,CAAC;AAkGD,mDAAmD;AACnD,MAAM,UAAU,SAAS,CAAC,IAAsC;IAC9D,OAAO,gBAAgB,IAAI,IAAI,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAoC,EACpC,QAAmC;IAEnC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAsC,CAAC;IAClE,2EAA2E;IAC3E,6EAA6E;IAC7E,2EAA2E;IAC3E,uEAAuE;IACvE,oBAAoB;IACpB,IAAI,QAAQ,EAAE,cAAc,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC/C,OAAO,EAAE,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC5E,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,EAAE,QAAQ,CAAC;IACpC,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,aAAa,GAAG,QAAQ,EAAE,KAAK,IAAI,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,kCAAkC,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,aAAa,CAAC;IACtF,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC7B,CAAC;AA2CD,MAAM,UAAU,eAAe,CAC7B,MAAmB,EACnB,IAAoC;IAEpC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAsC,CAAC;IACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAsC,CAAC;IAClE,IAAI,UAAU,EAAE,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACjD,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,EAAE,cAAc,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtE,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,sEAAsE;QACtE,OAAO,CAAC,SAAS,IAAI,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,CAAC;IACD,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,oEAAoE;IACpE,IAAI,UAAU,CAAC,UAAU,KAAK,wBAAwB;QAAE,OAAO,IAAI,CAAC;IACpE,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AAChD,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,mBAAmB,CACjC,UAAgD;IAEhD,OAAO,UAAU,EAAE,IAAI,KAAK,sBAAsB,CAAC;AACrD,CAAC;AAsBD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAmB,EACnB,IAAoC,EACpC,GAAwB;IAExB,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAsC,CAAC;IACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAsC,CAAC;IAClE,MAAM,MAAM,GAAG,UAAU,EAAE,MAAM,CAAC;IAElC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,UAAU,EAAE,UAAU,CAAC;QAC1C,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACtC,qEAAqE;QACrE,uEAAuE;QACvE,uEAAuE;QACvE,0EAA0E;QAC1E,wBAAwB;QACxB,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACvF,OAAO;gBACL,IAAI,EAAE,8BAA8B;gBACpC,WAAW,EAAE,IAAI,CAAC,cAAc;gBAChC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,UAAU;gBACV,QAAQ;gBACR,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5B,CAAC;QACJ,CAAC;QACD,qEAAqE;QACrE,uEAAuE;QACvE,sEAAsE;QACtE,kDAAkD;QAClD,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvF,OAAO;YACL,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU;YACV,QAAQ;YACR,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5B,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,OAAO,GACX,QAAQ,EAAE,cAAc,IAAI,QAAQ,CAAC,KAAK;YACxC,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,cAAc,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE;YACjE,CAAC,CAAC,IAAI,CAAC;QACX,MAAM,KAAK,GAAG,UAAU,EAAE,KAAK,CAAC;QAEhC,mEAAmE;QACnE,kDAAkD;QAClD,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAE/C,2EAA2E;QAC3E,2EAA2E;QAC3E,2EAA2E;QAC3E,4EAA4E;QAC5E,2EAA2E;QAC3E,0EAA0E;QAC1E,sEAAsE;QACtE,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,QAAQ,KAAK,UAAU;gBAAE,OAAO,IAAI,CAAC;YACzC,MAAM,UAAU,GAAG,QAAQ,EAAE,QAAQ,CAAC;YACtC,IAAI,CAAC,UAAU;gBAAE,OAAO,IAAI,CAAC;YAC7B,OAAO;gBACL,IAAI,EAAE,sBAAsB;gBAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,UAAU;gBACV,OAAO,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;aAC9B,CAAC;QACJ,CAAC;QAED,0EAA0E;QAC1E,4EAA4E;QAC5E,uEAAuE;QACvE,aAAa;QACb,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC;YACxC,MAAM,QAAQ,GAAG,UAAU,EAAE,QAAQ,CAAC;YACtC,IAAI,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAC3B,OAAO;gBACL,IAAI,EAAE,sBAAsB;gBAC5B,QAAQ;gBACR,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,UAAU,EAAE,QAAQ,CAAC;QAC1C,MAAM,SAAS,GAAG,UAAU,EAAE,KAAK,CAAC;QACpC,MAAM,UAAU,GAAG,QAAQ,EAAE,QAAQ,CAAC;QACtC,MAAM,OAAO,GAAG,QAAQ,EAAE,KAAK,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACzE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;IAC/E,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -69,6 +69,17 @@ interface EditorCanvasProps {
|
|
|
69
69
|
* only: the admin artboard's palette is an in-flow column.
|
|
70
70
|
*/
|
|
71
71
|
paletteOpen?: boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Whether the front editor's right properties rail is out (kywi-cms#166).
|
|
74
|
+
*
|
|
75
|
+
* The same problem on the other edge, and a worse one in practice: this rail
|
|
76
|
+
* opens itself the moment anything is selected, so it is out for as long as
|
|
77
|
+
* an owner is working — and a module-level variant container's badge and arm
|
|
78
|
+
* switcher float at the container's own `right: 0`, i.e. exactly underneath
|
|
79
|
+
* it on a full-width column. In-place only, for the same reason as
|
|
80
|
+
* `paletteOpen`.
|
|
81
|
+
*/
|
|
82
|
+
propsRailOpen?: boolean;
|
|
72
83
|
/** Inline text editing controller, only meaningful in in-place mode. */
|
|
73
84
|
inlineEdit?: InlineEditController | null;
|
|
74
85
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor-canvas.d.ts","sourceRoot":"","sources":["../../../src/admin/layout-editor/editor-canvas.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"editor-canvas.d.ts","sourceRoot":"","sources":["../../../src/admin/layout-editor/editor-canvas.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AA+BlE,OAAO,KAAK,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAG/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAIjE,oFAAoF;AACpF,KAAK,wBAAwB,GAAG,CAC9B,WAAW,EAAE,MAAM,KAChB;IAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAA;AAEjG;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAoB;IACnC,kDAAkD;IAClD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,8EAA8E;IAC9E,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,cAAc,EAAE,CACd,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,OAAO,GAAG,IAAI,KACnB,uBAAuB,GAAG,IAAI,CAAA;IACnC,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,KAAK,IAAI,CAAA;IAC7E,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB;;;;;OAKG;IACH,cAAc,EAAE,MAAM,IAAI,CAAA;CAC3B;AAED,UAAU,iBAAiB;IACzB,KAAK,EAAE,WAAW,CAAA;IAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;IACtC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC,CAAC,CAAA;IACzH,eAAe,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,4FAA4F;IAC5F,gBAAgB,CAAC,EAAE,wBAAwB,CAAA;IAC3C,sFAAsF;IACtF,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,wEAAwE;IACxE,UAAU,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAA;IACxC;;;;;;;;;OASG;IACH,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C;;;;;;;;;;;;;;;OAeG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B;AAotCD;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,+CAsHvB,CAAA"}
|